1.主鍵(PRIMARY KEY)限制
一個表通常可以通過一列和多列組合的資料來唯一辨別表中的每一列,這些列和列組合
就被稱為表上的主鍵,它可以用來強制實體完整性。
當一個表指定了PRIMARY KEY限制時,SQL SERVER通過為主鍵列上建立唯一索引來強制
資料的唯一性。唯一性索引在主鍵被用于查詢時可以對資料進行快速通路。
2.外鍵(FOREIGN KEY)限制
外鍵也是由一列或多列構成的,它用來建立和強制兩個表間的關聯。這種關聯是通過将
一個表中的組成主鍵的列或組合列加入到另一個表中形成的,這個列或組合列就成了第二
個表中的外鍵。
一個FOREIGN KEY限制并不一定要求必須與另一個表上的PRIMARY KEY限制相關聯,它還
可以被定義為對另一個列中的UNIQUE限制的一個引用。FOREIGN KEY限制可以允許空值,但
是形成外鍵的列或組合列中出現空值時将跳過對FOREIGN KEY限制的驗證。當向表中添加新
資料行或修改已有的資料行時,在外鍵中的定義的列或組合列必須在其他表的主鍵中存在或
是為空,否則将會出錯。
注意:FOREIGN KEY限制可以對同一個資料庫中的其他表上的列或組合列進行引用,也可以
是對自身表中其他列或組合列的引用(自引用表)
盡管外鍵的主要作用是用來限制可以輸入到外鍵表中的資料,但是還可以限制對主鍵表中
資料的修改。
FOREIGN KEY限制也可以被用作索引,這是因為:
1.對FOREIGN KEY限制的修改或被在其他表中的FOREIGN KEY限制所檢查
2.外鍵列或組合列也常常被用于查詢中,對于在具有FOREIGN KEY限制的表和其他有主鍵或
唯一鍵的表間進行查詢時,可以在連接配接準則中使用外鍵列或組合列。索引允許SQL SERVER在
外鍵中進行快速查找。但是對這樣的索引的建立并不是必需的。