3 回答

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
表可以有一個(gè)復(fù)合主鍵,它是由兩列或更多列組成的主鍵。例如:
CREATE TABLE userdata ( userid INT, userdataid INT, info char(200), primary key (userid, userdataid));
更新: 這是一個(gè)鏈接,其中包含復(fù)合主鍵的更詳細(xì)說明。

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個(gè)贊
您只能擁有一個(gè)主鍵,但主鍵中可以有多個(gè)列。
您還可以在表上使用唯一索引,這將有點(diǎn)像主鍵,因?yàn)樗鼈儗?qiáng)制執(zhí)行唯一值,并將加快查詢這些值。

TA貢獻(xiàn)1793條經(jīng)驗(yàn) 獲得超6個(gè)贊
一個(gè)表可以有多個(gè)候選鍵。每個(gè)候選鍵都是一列或一組列,這些列是UNIQUE,一起使用,也是NOT NULL。因此,為任何候選鍵的所有列指定值足以確定有一行符合條件,或者根本沒有行。
候選鍵是關(guān)系數(shù)據(jù)模型中的基本概念。
如果一個(gè)表中存在多個(gè)密鑰,則通常的做法是將一個(gè)候選密鑰指定為主密鑰。通常的做法是使表的任何外鍵引用主鍵,而不是任何其他候選鍵。
我推薦這些實(shí)踐,但關(guān)系模型中沒有任何內(nèi)容需要在候選鍵中選擇主鍵。
添加回答
舉報(bào)