天天看點

主鍵(PrimaryKey)

員工表中的每一行記錄代表了一個員工,一般員工的名字就能唯一辨別這一個員工,但

是名字也是有可能重複的,這時我們就要為每一名員工配置設定一個唯一的工号:

這樣就可以通過這個工号來唯一辨別一名員工了。當老闆下令說“把王二小提升為副總”的時候,我們就要問“公司有兩個王二小,您要提升哪一個?”,老闆可以說“技術支援部的王二小”,但是更好的方式,那就是說“提升工号為的002 員工為副總”,因為隻有002這個工号才能唯一辨別一名員工。這裡的“工号”被稱為員工表的“主鍵”(primarykey),

是以我們可以說能唯一辨別一行記錄的字段就是此表的主鍵。

有的公司比較懶惰,不想為員工配置設定工号,隻是硬性規定:一個部門中員工的姓名不能重複,有姓名重複的必須調換到其它部門。這樣“部門”和“姓名”這兩個字段加在一起就能唯一辨別一名員工了,這裡的“部門”和“姓名”兩個字段就被稱為“複合主鍵”,也就是任何一個字段都不能唯一辨別一行資料,隻有構成“複合主鍵”的所有字段組合起來才能

唯一辨別這一行資料。

在大多數dbms 中并沒有強制規定一個表必須有主鍵,也就是一個表可以沒有主鍵,但是為一個資料表指定一個主鍵是一個非常好的習慣。在後邊的章節我們将提到用一個無意義的字段做主鍵将會更加有利于系統的可擴充性。

[ 尐魚兒的qq群:726994578 ] --- [ https://github.com/godmaybelieve ]

上一篇: 主鍵問題
下一篇: 細分主鍵