1. 程式人生 > >主鍵(PrimaryKey)

主鍵(PrimaryKey)

一行 主鍵 標識 不能 dbm 復合 rim 我們 意義

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

是名字也是有可能重復的,這時我們就要為每一名員工分配一個唯一的工號:

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

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

有的公司比較懶惰,不想為員工分配工號,只是硬性規定:一個部門中員工的姓名不能重復,有姓名重復的必須調換到其它部門。這樣“部門”和“姓名”這兩個字段加在一起就能唯一標識一名員工了,這裏的“部門”和“姓名”兩個字段就被稱為“復合主鍵”,也就是任何一個字段都不能唯一標識一行數據,只有構成“復合主鍵”的所有字段組合起來才能

唯一標識這一行數據。

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

主鍵(PrimaryKey)