聯合主鍵和復合主鍵區別

2021-07-25 05:17:56 字數 748 閱讀 4157



什麼是資料表的復合主鍵

所謂的復合主鍵 就是指你表的主鍵含有乙個以上的字段組成

比如 create table test

( name varchar(19),

id number,

value varchar(10),

primary key (name,id)

) 上面的name和id欄位組合起來就是你test表的復合主鍵

它的出現是因為你的name欄位可能會出現重名,所以要加上id欄位這樣就可以保證你記錄的唯一性

一般情況下,主鍵的字段長度和字段數目要越少越好

聯合主鍵

什麼是聯合主鍵?

(主鍵原則上是唯一的,別被唯一值所困擾。)

顧名思義就是多個主鍵聯合形成乙個主鍵組合

乙個簡單的例子

主鍵a跟主鍵b組成聯合主鍵

主鍵a跟主鍵b的資料可以完全相同(困擾吧,沒關係),聯合就在於主鍵a跟主鍵b形成的聯合主鍵是唯一的。

下例主鍵a資料是1,主鍵b資料也是1,聯合主鍵其實是11,這個11是唯一值,絕對不充許再出現11這個唯一值。(這就是多對多關係)

主鍵a資料 主鍵b資料

1      1

2      2

3      3

主鍵a與主鍵b的聯合主鍵值最多也就是

11 12

13 21

22 23

31 32

33

聯合主鍵和復合主鍵區別

什麼是資料表的復合主鍵 所謂的復合主鍵 就是指你表的主鍵含有乙個以上的字段組成 比如 create table test name varchar 19 id number,value varchar 10 primary key name,id 上面的name和id欄位組合起來就是你test表的復...

聯合主鍵和復合主鍵

聯合主鍵其實就是中間表。在多對多模型裡,需要兩個表中的主鍵組成聯合主鍵,這樣就可以查到兩個表中的每個資料。建立team表 create table team id mediumint auto increment comment team 主鍵 name varchar 10 comment tea...

mysql復合主鍵的區別 聯合主鍵和復合主鍵區別

什麼是資料表的復合主鍵 所謂的復合主鍵 就是指你表的主鍵含有乙個以上的字段組成 比如create table test name varchar 19 id number,value varchar 10 primary key name,id 上面的name和id欄位組合起來就是你test表的復合...