複合主鍵
主鍵通常定義在表的一列上,但這并不是必需的,也可使用多個列作為主鍵。此時上述的條件必須應用到構成主鍵的所有列,所有列值的組合必須是唯一的(多列中的單個列的值可以不唯一)。
表的主鍵含有一個以上的字段組成,不使用無業務含義的自增id作為主鍵
将多個字段設定為主鍵,形成複合主鍵,這多個字段聯合辨別唯一性,其中,某幾個主鍵字段值出現重複是沒有問題的,隻要不是有多條記錄的所有主鍵值完全一樣,就不算重複
超鍵
在關系中能唯一辨別元組的屬性集稱為關系模式的超鍵。一個屬性可以為作為一個超鍵,多個屬性組合在一起也可以作為一個超鍵。超鍵包含候選鍵和主鍵。
候選鍵
是最小超鍵,即沒有備援元素的超鍵。
外鍵
在一個表中存在的另一個表的主鍵稱此表的外鍵
主鍵的選擇
代理主鍵(推薦使用)
與業務無關的,無意義的數字序列。
不與業務耦合,是以更容易維護
通用的鍵政策能夠減少要編寫的源碼數量,減少系統的總體擁有成本
自然主鍵
事物屬性中的自然唯一辨別