UNIQUE條件約束
UNIQUE條件約束與PRIMARY KEY條件約束幾乎完全一樣,主要差別如下:
1.
一個資料表最多只能擁有一個PRIMARY KEY條件約束,然卻可以擁有多個UNIQUE條件約束。
2.
被PRIMARY KEY條件約束定義為主索引鍵是不允許接受Null值的,但是套用UNIQUE條件約束則允許接受Null值(然不可重複Null值)。
3.
可以將UNIQUE條件約束套用於單一欄位或多個欄位組合,以確保其值絕對是唯一且不重複的。此外,UNIQUE條件約束亦能被一個FOREIGN KEY條件約束參考。
※新建資料表時建立UNIQUE條件約束
在設計新資料表時應決定要使用UNIQUE條件約束,以確保哪些欄位的內容是獨一且不重複的。
1.
使用Enterprise Manager方式
(1)
於結構定義畫面完成後,於工具列中按[資料表和索引屬性]按鈕。
(2)
切換至[索引/索引鍵]標籤頁面。
(3)
按下[新增]按鈕,替所需欄位建立UNIQUE條件約束。
(4)
於[資料行名稱]清單方塊的各列增加欄位指定。
(5)
於[索引名稱]文字方塊中鍵入UNIQUE條件約束的名稱(名稱須具唯一性)。
(6)
勾選核取方塊□建立成唯一-UNIQUE(U),並確認選項鈕條件約束(O)已被選取。
(7)
於「填滿因數」文字方塊中鍵入UNIQUE條件約束之獨一索引的填充係數,可設定值為0~100。
(8)
由於資料表可以擁有多個UNIQUE條件約束,因此可反覆步驟3至7的操作,直到以替所需建立UNIQUE條件約束為止。
(9)
最後關閉且存檔即可。
2.
使用CREATE TABLE命令方式
採用語法如下:
CREATE TABLE table_name
(
{ column_name data_type
[[ CONSTRAINT
constraint_name ]
{ UNIQUE }
[ CLUSTERED | NONCLUSTERED
]
[ WITH FILLFACTOR =
fillfactor ]
[ ON { filegroup |
DEFAULT }]
]
}
)
範例:
建立一資料表同時將Id欄位定義為主索引鍵的PRIMARY
KEY條件約束;及替JobId欄位建立一個UNIQUE條件約束。
/* 檔案名稱:Demo628.sql */
CREATE TABLE DemoTable14
(
Id char(10) NOT NULL PRIMARY
KEY,
JobId char(6) NOT NULL UNIQUE,
Name varchar(16)
)
沒有留言:
張貼留言