美文网首页
候选码,超码

候选码,超码

作者: 姜浩_19强化班 | 来源:发表于2020-11-15 14:50 被阅读0次

    例:学生是一个实体,则学生的集合是一个实体集,而超码是用来在学生的集合中区分不同的学生。假设学生(实体)具有多个属性:学号,身份证号,姓名,性别。

    因为通过学号可以找到唯一一个学生

    所以{学号}是一个超码,

    同理{学号,身份证号}、{学号,身份证号,姓名}、{学号,身份证号,姓名,性别}、{身份证号}、{身份证号,姓名}、{身份证号,姓名、性别}也是超码.

    在这里,因为不同的学生可能拥有相同的姓名,所以姓名不可以区别一个学生,即{姓名}不是一个超码,{性别}、{姓名、性别}也不是。

    虽然超码可以唯一标识一个实体,但是可能大多数超码中含有多余的属性。

    所以我们需要候选码。

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

    在上例中,只有{学号}、{身份证号}都是候选码;

    另外,如果性别和姓名可以唯一标识一个学生,则{姓名,性别}也为超码。

    主码:被数据库设计者选中的,用来在同一实体集中区分不同实体的候选码;

    此外,应该选择哪些从不或极少变化的属性;

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

    相关文章

      网友评论

          本文标题:候选码,超码

          本文链接:https://www.haomeiwen.com/subject/fqpnbktx.html