1. 程式人生 > >資料庫——主鍵、外來鍵、索引

資料庫——主鍵、外來鍵、索引

概念:


主鍵(primary key):

 能夠唯一標識表中某一行的屬性或屬性組。一個表只能有一個主鍵,但可以有多個候選索引。主鍵常常與外來鍵構成參照完整性約束,防止出現數據不一致。主鍵可以保證記錄的唯一和主鍵域非空,資料庫管理系統對於主鍵自動生成唯一索引,所以主鍵也是一個特殊的索引

外來鍵(foreign key):

 是用於建立和加強兩個表資料之間的連結的一列或多列。外來鍵約束主要用來維護兩個表之間資料的一致性。簡言之,表的外來鍵就是另一表的主鍵,外來鍵將兩表聯絡起來。一般情況下,要刪除一張表中的主鍵必須首先要確保其它表中的沒有相同外來鍵(即該表中的主鍵沒有一個外來鍵和它相關聯)。

索引(index) :

是用來快速地尋找那些具有特定值的記錄。主要是為了檢索的方便,是為了加快訪問速度, 按一定的規則建立的,一般起到排序作用。所謂唯一性索引,這種索引和前面的“普通索引”基本相同,但有一個區別:索引列的所有值都只能出現一次,即必須唯一。

總結:

例項:

學生表(學號,姓名,性別,班級) ,其中每個學生的學號是唯一的,學號就是一個主鍵 
課程表(課程編號,課程名,學分) ,其中課程編號是唯一的,課程編號就是一個主鍵 
成績表(學號,課程號,成績) 
成績表中單一一個屬性無法唯一標識一條記錄,學號和課程號的組合才可以唯一標識一條記錄,所以 學號和課程號的屬性組是一個主鍵 。成績表中的學號不是成績表的主鍵,但它和學生表中的學號相對應,並且學生表中的學號是學生表的主鍵,則稱成績表中的學號是學生表的外來鍵 。同理 成績表中的課程號是課程表的外來鍵 。