码-主码-候选码辨析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了码-主码-候选码辨析相关的知识,希望对你有一定的参考价值。

三者定义

码:表中的某个属性组,它可以唯一确定一个元组。

候选码:若关系中某一属性组的值能唯一的标识一个元组,则称该属性组为候选码。

主码:若一个关系有多个候选码,择选其中一个为主码

 

候选码中的所有属性都是必须的,即只有这些属性在一起时才能确定下一个元组,而码却没有最少属性的要求。

例如在学生表S中有如下关系:

S(sid,name,dept)

对于给定一个学号sid便可唯一的确定这个学生的姓名name,所在系dept,所以sid是候选码。

对于(sid,name)的组合也可以唯一确定这个学生(实际上只要包含sid就可以唯一确定这个学生),所以(sid,name)是码,同理(sid,dept)也可以是码。

 

候选码的个数不等于候选码中属性的个数

主码不等于主属性主属性是候选码属性组中所包含的每个属性

例如在学生选课表SC中有如下关系:

SC(sid,cid,grade)

对于每个学生给定学号sid,和他选课的课程号cid,便可以唯一确定他所选课程的分数grade,所以(sid,cid)是候选码,且是一个候选码,其中sidcid为两个主属性。主码是从多个候选码中挑一个,由于SC关系只有一个候选码,所以(sid,cid)就是主码。

 

以上是关于码-主码-候选码辨析的主要内容,如果未能解决你的问题,请参考以下文章

犀利!分清候选码和主码

数据库中什么是候选码,主码,主属性和非主属性

数据库中什么是候选码,主码,主属性和非主属性

数据库中什么是候选码,主码,主属性和非主属性

数据库系统原理:范式理论

关系型数据库