聯合主鍵就是用2個或2個以上的字段組成主鍵。
用這個主鍵包含的字段作為主鍵,這個組合在數據表中是唯一,且加了主鍵索引。
可以這么理解,比如,你的訂單表里有很多字段,一般情況只要有個訂單號bill_no做主鍵就可以了,但是,現在要求可能會有補 充訂單,使用相同的訂單號,
那么這時單獨使用訂單號就不可以了,因為會有重復。那么你可以再使用個訂單序列號bill_seq來 作為區別。把bill_no和bill_seq設成聯合主鍵。
即使bill_no相同,bill_seq不同也是可以的。
alter table 表 add constraint pk_name primary key (列1,列2,...)
聯合主鍵的好處是不需要因為需要主鍵而增加一個無用的主鍵列
例如如果不用聯合主鍵你必須增加個列ID設置主鍵
但這個ID列 無任何作用 至於在什么情況下使用,就像剛才舉例的,當你這個表的主鍵ID無任何用處,那么就用聯合主鍵好了,
你可以節約 一個列的空間,但如果這表的ID列要做為別的表的外鍵的話,就不能用聯合主鍵了。
聯合主鍵就是確定一條記錄的唯一性啊
比如這種時候
商品品牌 商品型號
諾基亞 920
三星 NOTE2
諾基亞 8088
比如這樣商品品牌可能有重復,都是諾基亞,但是諾基亞廠商生產的商品型號是不會重復的 也比如,可能好多品牌都有920這個型號,但是一個品牌只有一個920的型號
所以就靠這樣的聯合主鍵來確定這條記錄的唯一性
建立方法如下
create table product( pro_name varchar(20), pro_type varchar(20), primary key (pro_name,pro_type) );