主鍵是資料庫表的核心屬性,確保表中不存在完全相同的記錄,保證每筆資料的唯一性。建立主鍵主要有兩種方式:透過資料庫管理工具的圖形介面(GUI)操作,或使用 SQL 語句定義。以下將詳細說明這兩種方法的操作步驟。
在資料庫設計工具中輸入表結構後,按住 Ctrl 鍵同時選中多個欄位,然後點擊工具列上的「主鍵」按鈕(通常呈鑰匙圖示),即可將這些欄位設定為複合主鍵。
SQL 語句建立主鍵又分為兩種情況:在建表語句中直接定義,或在建表後透過 ALTER TABLE 修改表結構。
CREATE TABLE 表名 (
欄位名1 INT NOT NULL,
欄位名2 NVARCHAR(13) NOT NULL,
欄位名3 ...,
欄位名N ...,
PRIMARY KEY (欄位名1, 欄位名2)
);
此範例將「欄位名1」與「欄位名2」共同定義為複合主鍵,順序影響索引排序與查詢效能。
CREATE TABLE 表名 (
欄位名1 INT NOT NULL,
欄位名2 NVARCHAR(13) NOT NULL,
欄位名3 ...,
欄位名N ...
);
GO
ALTER TABLE 表名 WITH NOCHECK ADD
CONSTRAINT [PK_表名] PRIMARY KEY NONCLUSTERED
(
[欄位名1],
[欄位名2]
);
GO
說明:
WITH NOCHECK 表示不檢查現有資料是否符合約束(適用於已知資料無重複的情況)。NONCLUSTERED 指定為非叢集索引;若需叢集索引可改為 CLUSTERED。PK_表名 建議遵循命名慣例,便於後續管理。NOT NULL。sp_helpindex '表名' 或管理工具驗證索引是否正確建立。掌握這兩種建立複合主鍵的方法,能靈活應對不同開發階段與部署環境的需求,確保資料完整性與查詢效能。