候选码,主码,主属性,非主属性详讲
文章目录
目录
文章目录
前言
一、候选码,主码,属性,非主属性的定义
二、具体题目
三、补充
前言
软考刷题,遇到这系列的题目,对我来讲,有点绕,就出一篇博客,一方面是帮助自己梳理这部分的内容,一些小私心的话来说,就也希望能够帮助到跟我一样解决这类问题有存在一点小小困难的朋友。
一、候选码,主码,属性,非主属性的定义
-
首先候选码,主码,属性和非主属性是属于软件设计师教程第九章数据库基础的内容,是关系数据库的规范化下的函数依赖这一部分的内容,那么我们应该先搞清楚函数依赖是什么?函数依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系,是现实世界属性间联系和约束的抽象,是数据内在的性质,是语义的体现。函数依赖则是一种最重要最基本的依赖。
- 主属性:包含在任何一个候选码中的属性称为主属性。
- 非主属性:不包含在任何候选码中的属性称为非主属性。
- 候选码:设K为R(U,F)中属性的组合,若K->U,且对于K的任何一个真子集,K'都有K'不能决定U,则K为R的候选码。
- 主码:若有多个候选码,则选一个作为主码。
二、具体题目
这里是软考中的具体的函数依赖的一些题目,是练习模式中的题,不知道是否是真题,但是可以帮助我们更好的理解主属性,非主属性,候选码,主码的概念。
以上是题目的解析,如果还不理解的话,可以看看我的注解。
首先,这里有两个候选关键字,分别是“城市,街道”,“街道,邮政编码”。那么主属性就有三个,分别是城市,街道,邮政编码。因为主属性:包含在任何一个候选码(候选码=候选关键字)中的属性称为主属性。根据题目内容我们可以发现,没有非主属性,因为主属性就是R。
三、补充
注意:候选码就等于候选关键字。