主鍵,即主關(guān)鍵字,是被挑選出來(lái),作表的行的唯一標(biāo)識(shí)的候選關(guān)鍵字。
一個(gè)表只有一個(gè)主關(guān)鍵字。主關(guān)鍵字又可以稱為主鍵。主鍵可以由一個(gè)字段,也可以由多個(gè)字段組成,分別稱為單字段主鍵或多字段主鍵。又稱主碼。并且它可以唯一確定表中的一行數(shù)據(jù),或者可以唯一確定一個(gè)實(shí)體。
主關(guān)鍵字是表中的一個(gè)或多個(gè)字段,它的值用于唯一的標(biāo)識(shí)表中的某一條記錄。在兩個(gè)表的關(guān)系中,主關(guān)鍵字用來(lái)在一個(gè)表中引用來(lái)自另一個(gè)表中的特定記錄。主關(guān)鍵字是一種唯一關(guān)鍵字,表定義的一部分。一個(gè)表的主鍵可以由多個(gè)關(guān)鍵字共同組成,并且主關(guān)鍵字的列不能包含空值。
主關(guān)鍵字原則介紹:
1、主鍵應(yīng)當(dāng)是對(duì)用戶沒(méi)有意義的。如果用戶看到了一個(gè)表示多對(duì)多關(guān)系的連接表中的數(shù)據(jù),并抱怨它沒(méi)有什么用處,那就證明它的主鍵設(shè)計(jì)地也很好。
2、永遠(yuǎn)也不要更新主鍵。實(shí)際上,因?yàn)橹麈I除了唯一地標(biāo)識(shí)一行之外,再?zèng)]有其他的用途了,所以也就沒(méi)有理由去對(duì)它更新。如果主鍵需要更新,則說(shuō)明主鍵應(yīng)對(duì)用戶無(wú)意義的原則被違反了。
3、主鍵不應(yīng)包含動(dòng)態(tài)變化的數(shù)據(jù),如時(shí)間戳、創(chuàng)建時(shí)間列、修改時(shí)間列等。
4、主鍵應(yīng)當(dāng)由計(jì)算機(jī)自動(dòng)生成。如果由人來(lái)對(duì)主鍵的創(chuàng)建進(jìn)行干預(yù),就會(huì)使它帶有除了唯一標(biāo)識(shí)一行以外的意義。一旦越過(guò)這個(gè)界限,就可能產(chǎn)生人為修改主鍵的動(dòng)機(jī),這樣,這種系統(tǒng)用來(lái)鏈接記錄行、管理記錄行的關(guān)鍵手段就會(huì)落入不了解數(shù)據(jù)庫(kù)設(shè)計(jì)的人的手中。
以上內(nèi)容參考:百度百科-主關(guān)鍵字