跟著小郭郭一起學 SQL Server-04 資料庫、資料表與資料(2)

我們這個世代被檢視的標準以及頻率往往高到讓我們忘了每一個小小的成就都值得喝采,因為這些小小的成就的累積,一切的偉大才變得可能

0812更新:我發現wordepress 在我貼上語法時會把單引號轉換成奇怪的符號,如果你的語法執行上有出現錯誤,請將文字前後的單引號刪除並重新輸入。

在上一次的內容中,我們介紹了系統資料庫,並且建立了一個自己的資料庫,
這次我們要做的則是建立屬於自己的資料表,請打開 New Query 後,複製下列文字並按下F5 執行:

USE [TEST001]
GO

CREATE TABLE [dbo].[Table_1](
[Student_NO] nvarchar (10) NOT NULL,
[Student_Name] nvarchar (50) NULL,
[Date_of_Birth] [date] NULL
) ON [PRIMARY]
GO

如果你在上一次建立資料庫時選擇用了其他名稱,就請把

USE [TEST001]
GO

中的 TEST001 換成你所建立的資料庫名稱。

在執行完成之後,在右鍵點選資料庫-Refresh 後,就可以在 Tables 項目看到新建好的資料表,並且在打開資料表底下的 Column,就可以看到所見的資料表裡的欄位。

這時應該就會有人發現我們的資料表前面多了一個奇怪的東西:dbo.

這個東西就是我們所說的 Schema,Schema 用於資料庫底下的資料表分群,而 dbo 是其中一個,也是預設的分群,它的完整名稱是DataBase Owner,在未來進行資料庫權限設定時,只要有人被賦予存取 dbo 這個 Schema 的權限,他就可以存取所有屬於 dbo 這個分群底下的所有資料表。


我們也可以建立屬於自己的 Schema,請點開 資料庫底下的 Security-Schema,並右鍵點選-New Schemas

並輸入自己想要輸入的 Schema 名稱後,點選OK

再對 Schemas 點選右鍵- Refresh 之後就可以看到 自己建立的 Schema 了。

這時請打開 New Query再複製並執行一次建立資料表的指令,只是這次將前面的 dbo 換成 新建的 Schema 名稱:

USE [TEST001]
GO

CREATE TABLE [Testschema1].[Table_1]
([Student_NO] nvarchar (10) NOT NULL,
[Student_Name] nvarchar (50) NULL,
[Date_of_Birth] [date] NULL)
ON [PRIMARY]
GO

我們就可以看到另一張同樣名稱,但分屬於不同 Schema的表。


在業界中,我們常講到的 Table Schema 則通常指的是一張資料表中的欄位名稱、資料型態、限制等等,這也是我們再接下來即將花相當長篇幅解釋的內容。

接下來我們則要寫入我們資料表中的第一筆資料,請在 New Query 中複製以下的指令後執行:

USE [TEST001]
GO

insert into [dbo].[Table_1] values (‘ST0001′,’Michael’,’2021/08/06′)

接下來請到 Object Explorer 中,對 [dbo].[Table_1] 點選右鍵- Select top 1000 rows

就會看到我們適才寫入的第一筆資料,而我們也可以看到最後一行的
[資料庫].[schema].[資料表] 架構:

So, Here’s the takeaway:

資料庫 (database) 中的資料 (data) 被儲存在資料表 (table) 中,這些資料表可以屬於同一資料庫中的不同 Schema,而透過執行個體 (instance) 就可以去管理這些資料。

從下次開始,我們會開始解釋資料表中的資料型態、資料限制以及如何透過 Primary key 、Foreign Key 等功能來建立資料庫關聯。

發表留言