【无标题】候选码、主码、超码、全码、主属性、非主属性、非码属性的定义理解

候选码(码):设K为R<U,F>中的属性或属性组合,若U完全依赖K,则K为R的候选码。

具体一些,比如一个学生表,有了学号可以查到一个学生所有个人信息,这就是所说的完全依赖。

超码:如果说U部分依赖K,则K为R的候选码,候选码是最小的超码,如果任意超码的真子集不能包括超码,则称其为候选码,超码包括候选码。

主码:若候选码只有一个,则该候选码为主码。若候选码多于一个,则选定其中一个为主码。候选码可以作为主码,主码一定是候选码,但候选码不一定是主码。

理解:主码是人为挑选出来的,是随机的,不是确定的。

实例:如果说有学生(学号,姓名,身份证),候选码就是(学号,身份证),主码可以是学号,也可以是身份证,随您喜欢

主属性:包含任何一个候选码的属性集合称为主属性。

比如,竞赛表(竞赛编号,竞赛名称,竞赛组织者) PS:竞赛名称和竞赛组织者都可以重复

很明显可以看出竞赛编号能够唯一标识整张竞赛表,因此候选码是竞赛编号,并且仅此一个候选码,其他属性都不能唯一标识整张表,所竞赛编号同时也是主码。

这时候判断一下这几个属性or属性组是否是主属性,(竞赛编号)(竞赛编号,竞赛名称)(竞赛名称,竞赛组织者),(竞赛编号)只有一个属性,这个属性是主码,主码必定为候选码,因此属性含有一个候选码,这个属性是主属性。(竞赛编号,竞赛名称)有两个属性,其中竞赛编号是候选码,而竞赛名称不是候选码,那他是啥呢~前面有提到了,因为它跟候选码在同一个属性组里,所以,竞赛名称是超码,回过头来,最后得出该属性组含有了一个候选码,因此该属性组中的各个属性都是主属性。(竞赛名称,竞赛组织者)有两个属性,可以看出这两个属性都不是候选码,因此这个属性组不包含候选码,属性组中中得各个元素称为非主属性。

do you know?~

非主属性(或非码属性):不包含任何一个候选码的属性集合称为非主属性。

实例:对于表Student(A,B,C),有关系集合R{A→B,B→C},可以得出A为候选码(求候选码求不阐述啦博客里有),则A为主属性,BC为非主属性。

全码:所有属性都是候选码,则称为全码

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值