联合主键和复合主键区别

什么是数据表的复合主键 
所谓的复合主键 就是指你表的主键含有一个以上的字段组成 
比如 
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


文章来源:http://www.iteye.com/problems/99260

你可能感兴趣的:(联合主键和复合主键区别)