sql联合主键的作用
请问联合主键有什么用,看了网上的解答还是有点不懂,联合主键通常用在什么地方,可以给个简单的例子说明下吗或者一段查询?谢谢...
请问联合主键有什么用,看了网上的解答还是有点不懂,联合主键通常用在什么地方,可以给个简单的例子说明下吗或者一段查询?
谢谢 展开
谢谢 展开
3个回答
展开全部
联合主键就是用2个或2个以上的字段组成主键。用这个主键包含的字段作为主键,这个组合在数据表中是唯一,且加了主键索引。
可以这么理解,比如,你的订单表里有很多字段,一般情况只要有个订单号bill_no做主键就可以了,但是,现在要求可能会有补充订单,使用相同的订单号,那么这时单独使用订单号就不可以了,因为会有重复。那么你可以再使用个订单序列号bill_seq来作为区别。把bill_no和bill_seq设成联合主键。即使bill_no相同,bill_seq不同也是可以的。
可以这么理解,比如,你的订单表里有很多字段,一般情况只要有个订单号bill_no做主键就可以了,但是,现在要求可能会有补充订单,使用相同的订单号,那么这时单独使用订单号就不可以了,因为会有重复。那么你可以再使用个订单序列号bill_seq来作为区别。把bill_no和bill_seq设成联合主键。即使bill_no相同,bill_seq不同也是可以的。
展开全部
主键可以是属性或属性组。有时候必须多个属性组成的属性组作为主键才能唯一标识每个元组。有时候也只有联合主键才更符合实际情况。联合主键一般用在多对多联系上。例如大学的选课系统。每个学生可以选修多门课程,每门课程可以有多名学生选修。每个学生选修的每门课程有一个分数。那么现在建立“选课”这个表,有学生学号、课程号、分数3个属性。那么需要设学号和课程号为联合主键。因为单靠学号或单靠课程号都无法唯一标示一个元组(因为每个学生可以选修多门课程,每门课程可以有多名学生选修)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
举个简单的例子,
班上有相同姓名的学生,也有相同生日的学生,但一般没有既是同名又是同生日的学生,
因此在不考虑用序号做主键的情况下,可以考虑使用姓名以及生日这2个字段来做联合主键。
班上有相同姓名的学生,也有相同生日的学生,但一般没有既是同名又是同生日的学生,
因此在不考虑用序号做主键的情况下,可以考虑使用姓名以及生日这2个字段来做联合主键。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询