告辞c 2013-12-14 23:44 采纳率: 0%
浏览 923
已采纳

联合主键和复合主键区别

在数据库中,
什么是联合主键和复合主键?
他们之间有什么区别?
他们应用场景是什么?
他们和普通主键id有什么区别?

  • 写回答

1条回答 默认 最新

  • weir_威尔 2013-12-16 09:04
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形