0 0

联合主键和复合主键区别0

在数据库中,
什么是联合主键和复合主键?
他们之间有什么区别?
他们应用场景是什么?
他们和普通主键id有什么区别?
2013年12月14日 23:44

1个答案 按时间排序 按投票排序

0 0

采纳的答案

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

2013年12月16日 09:04

相关推荐

    初探SQL语句复合主键与联合主键

     上面的name和id字段组合起来就是你test表的复合主键 ,它的出现是因为你的name字段可能会出现重名,所以要加上ID字段这样就可以保证你记录的唯一性 ,一般情况下,主键的字段长度和字段数目要越少越好 。 这里就会...

    hibernate复合主键映射

    复合主键映射 <br>通常将复合主键相关属性,单独抽取出来,建立一个独立的类 * 必须实现序列化接口 * 必须实现equals和hashcode方法 采用标签进行映射,其它属性采用正常映射

    hibernate复合主键的实例

    hibernate复合主键的实例,hibernate复合主键的实例。

    eos开发中的联合主键使用

    eos(Entity OperationSystem)开发中的联合主键使用

    android ormlite 模拟实现联合主键

    android ormlite 模拟实现 联合主键 参考文档说明:http://blog.csdn.net/u013250921/article/details/18264555

    hibernate复合主键配置和使用

    NULL 博文链接:https://liuna718-163-com.iteye.com/blog/748089

    Hibernate复合主键视频2

    请更名为 Hibernate复合主键.part2.rar

    JPA中的联合主键

    NULL 博文链接:https://1028826685.iteye.com/blog/1525788

    postgreSQL复合主键

    关于postgreSQL复合主键的一些用法,希望对大家有用。

    JPA详解视频教程 第15讲 JPA中的联合主键.avi

    JPA用于整合现有的ORM技术,可以简化现有Java EE和Java SE应用对象持久化的开发工作,实现ORM的统一。JPA详解视频教程 第15讲 JPA中的联合主键.avi

    MySQL 创建主键,外键和复合主键的语句

    MySQL 创建主键,外键和复合主键的方法,需要的朋友可以参考下。

    JPA联合主键

    NULL 博文链接:https://profound-accumulation.iteye.com/blog/2242299

    sql中设置联合主键的具体方法

    代码如下: ALTER TABLE 表名字 ADD CONSTRAINT pk_表名字 PRIMARY KEY( SNumber, SDate );... 您可能感兴趣的文章:sql server创建复合主键的2种方法MySQL 创建主键,外键和复合主键的语句初探SQL语句复合主键与联合主键

    当Mysql行锁遇到复合主键与多列索引详解

    主要给大家介绍了关于当Mysql行锁遇到复合主键与多列索引的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Mysql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    slick-upsert:Slick 3中的Upsert示例

    光滑的Upsert 该项目包含使用Slick 3的upserts的示例。运行代码提供了三种主要方法: PkExample具有...带有复合主键的示例ManualExample当您想做自己的事情时。 运行您想要的一个。 例如, $ sbtsbt> runMain PkExample

    MySQL分区字段列有必要再单独建索引吗?

    大家都知道对于分区字段必须是主键的一部分,那么建了复合主键之后,是否需要对分许字段再单独添加一个索引呢?有没有效果?来验证一下,下面话不多说了,来一起看看详细的介绍吧。 1、新建表effect_new(以创建时间...

    数据库设计规范化反规范化.doc

    (表中的属性必须是由于2个 主键(复合,联合)确定的) 这样就产生一个问题:这个表中是以订单编号和商品编号作为联合主键。这样在该表中 商品名称、单位、商品价格等信息不与该表的主键相关,而仅仅是与商品编号相关。...

    Access 2000数据库系统设计(PDF)---002

    1326.5.4 添加一个多字段排序和复合筛选 准则 1326.5.5 使用复合准则 1346.5.6 将筛选保存为查询与筛选的加载 1356.6 定制数据表视图 1366.7 复制、导出和邮寄排序和筛选后的 数据 1386.8 疑难解答 1396.9 现实世界...

    Access 2000数据库系统设计(PDF)---001

    1326.5.4 添加一个多字段排序和复合筛选 准则 1326.5.5 使用复合准则 1346.5.6 将筛选保存为查询与筛选的加载 1356.6 定制数据表视图 1366.7 复制、导出和邮寄排序和筛选后的 数据 1386.8 疑难解答 1396.9 现实世界...

Global site tag (gtag.js) - Google Analytics