函数依赖 主码 主属性 非主属性 候选键 超键 详解

最近做项目要搞数据库看到范式那一节头脑发晕,概念都忘了,于是从网上搜罗并整理一下;
函数依赖部分参考:https://blog.csdn.net/jsj13263690918/article/details/79796275

主码:主关键字(主键,primary key)是被挑选出来,作表的行的唯一标识的候选关键字(也称为候选键)。一个表只有一个主关键字。主关键字又可以称为主键。 主键可以由一个字段(注释1),也可以由多个字段组成,分别称为单字段主键或多字段主键。又称主码。并且它可以唯一确定表中的一行数据,或者可以唯一确定一个实体。

注释1:字段是逻辑设计中的数据描述,对应E-R图中的属性;也就是说主键可以由一个属性组成也可以由多个属性组成;

主属性:在一个关系中,如果一个属性是构成某一个候选关键字 (候选码的属性集中的一个属性,则称它为主属性(Prime attribute)。

候选键:(自己的理解)比方说 成绩表S(课程号,学号,成绩);此时课程号、学号就是候选键,能够唯一确定成绩,反之,其中任何一个主键,比如课程号或者是学号都不能确定成绩;

非主属性:表中的属性除了主属性就是非主属性;

超键:超键包含候选键并且还有其他非主属性;

函数依赖:

我们可以这么理解(但并不是特别严格的定义):若在一张表中,在属性(或属性组)X的值确定的情况下,必定能确定属性Y的值,那么就可以说Y函数依赖于X,写作 X → Y。也就是说,在数据表中,不存在任意两条记录,它们在X属性(或属性组)上的值相同,而在Y属性上的值不同。这也就是“函数依赖”名字的由来,类似于函数关系 y = f(x),在x的值确定的情况下,y的值一定是确定的。

例如,对于表3中的数据,找不到任何一条记录,它们的学号相同而对应的姓名不同。所以我们可以说姓名函数依赖于学号,写作 学号 → 姓名。但是反过来,因为可能出现同名的学生,所以有可能不同的两条学生记录,它们在姓名上的值相同,但对应的学号不同,所以我们不能说学号函数依赖于姓名。表中其他的函数依赖关系还有如:

系名 → 系主任
学号 → 系主任
(学号,课名) → 分数
但以下函数依赖关系则不成立:

学号 → 课名
学号 → 分数
课名 → 系主任
(学号,课名) → 姓名
从“函数依赖”这个概念展开,还会有三个概念:

完全函数依赖

在一张表中,若 X → Y,且对于 X 的任何一个真子集(假如属性组 X 包含超过一个属性的话),X ’ → Y 不成立,那么我们称 Y 对于 X 完全函数依赖,记作 X F→ Y。(那个F应该写在箭头的正上方,没办法打出来……,正确的写法如图1)

图1
函数依赖 主码 主属性  非主属性 候选键 超键 详解

例如:

学号 F→ 姓名
(学号,课名) F→ 分数 (注:因为同一个的学号对应的分数不确定,同一个课名对应的分数也不确定)

部分函数依赖

假如 Y 函数依赖于 X,但同时 Y 并不完全函数依赖于 X,那么我们就称 Y 部分函数依赖于 X,记作 X P→ Y,如图2。

图2
函数依赖 主码 主属性  非主属性 候选键 超键 详解

例如:

(学号,课名) P→ 姓名

传递函数依赖
假如 Z 函数依赖于 Y,且 Y 函数依赖于 X (感谢@百达指出的错误,这里改为:『Y 不包含于 X,且 X 不函数依赖于 Y』这个前提),那么我们就称 Z 传递函数依赖于 X ,记作 X T→ Z,如图3。

图3
函数依赖 主码 主属性  非主属性 候选键 超键 详解

原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

函数依赖 主码 主属性  非主属性 候选键 超键 详解

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » 函数依赖 主码 主属性 非主属性 候选键 超键 详解
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏