主码和候选码的区别

 我来答
华提拉米苏
高粉答主

2018-08-24 · 说的都是干货,快来关注
知道答主
回答量:17
采纳率:100%
帮助的人:1.4万
展开全部

主码唯一标识,候选码是可以作为主码的码,主码一定是候选码的子集,但候选码不一定是主码。

主码:被数据库设计者选中的,用来在同一实体集中区分不同实体的候选码;此外,应该选择哪些从不或极少变化的属性;

候选码:如果任意超码的真子集不能包括超码,则称其为候选码;超码包括候选码;

所有码都是一个集合,所有可以用来在实体集中标识唯一实体的集合,都是超码。如果任意超码的真子集不能包括超码,则称其为候选码。被数据库设计者选中的,用来在同一实体集中区分不同实体的候选码。超码包括候选码,候选码包括主码。

拓展资料

1、若关系中的某一属性或属性组的值能唯一的标识一个元组,而其任何、子集都不能再标识,则称该属性组为(超级码)候选码。

2、例如:在学生实体中,“学号”是能唯一的区分学生实体的,同时又假设“姓名”、“班级”的属性组合足以区分学生实体,那么{学号}和{姓名,班级}都是(超级码)候选码。

3、简单的说,候选码(超级码)就是可以被选为主码的属性或属性组。当一个关系有N个属性或属性组可以唯一标识时,则说明该关系有N个候选码,可以选定其中一个作为主码。

4、候选码中出现过的属性称为主属性;非主属性就是不包含在任何候选码中的属性

5、例如:关系 工人(工号,身份证号,姓名,性别,部门).显然工号和身份证号都能够唯一标示这个关系,所以都是候选码。工号、身份证号这两个属性就是主属性。如果主码是一个属性组,那么属性组中的属性都是主属性。

参考资料:百度百科:候选码

天蝎神经侠侣
高粉答主

2015-09-07 · 关注我不会让你失望
知道大有可为答主
回答量:7533
采纳率:67%
帮助的人:734万
展开全部
主码和候选码都是用来唯一标识关系的。

一个关系中可以有多个候选码,只需选其中之一作为主码,主码里包含的属性叫做主属性。

举个例子
学生表中:
属性:学号、姓名、性别、年龄、班级、系
一般学号就可以唯一的标识出一个同学的身份,我们可以设置学号为主码。是最简单的候选码。

那么 学号+姓名当然也可以作为唯一标识,也可以用来作为候选码
同理,学号+姓名+性别也可以作为候选码
以此类推
最极端的情况是全表都用来做主码,这时的主码也叫全码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-01-04
展开全部
主码唯一标识,候选码是可以作为主码的码,主码一定是候选码的子集,但候选码不一定是主码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2019-12-23 · TA获得超过4660个赞
知道大有可为答主
回答量:2.3万
采纳率:72%
帮助的人:1345万
展开全部
这个的区别就和场上球员和替补队员的区别是一样的,主码出现问题候选码就有用了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhu81322
2019-05-04
知道答主
回答量:20
采纳率:0%
帮助的人:5.2万
展开全部

参考自苗雪兰著《数据库系统原理及应用教程》P24-25

码也称关键字,能唯一标识一个实体。码可以是属性或属性组,但属性组中不能含有多余的属性。

当实体集中含多个时,选定其中一个码作为主码,其他的码就是候选码。

补充:实体集中不能位移表示实体属性的叫次码。一个主码值对应一个实例,而一个次码值对应多个实例。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式