数据库基础(3)函数依赖-平凡依赖,完全依赖,部分依赖,传递依赖

函数依赖是关系数据库中非常重要的概念
包括平凡依赖,完全依赖,部分依赖以及传递依赖 ,这些都是关系数据库范式的基础

函数依赖基本概念

函数依赖基本定义

数据库基础(3)函数依赖-平凡依赖,完全依赖,部分依赖,传递依赖_第1张图片

简单来说就是,只要属性X的属性值一样(x1=x2) 那么 属性Y中的属性值就一样(y1=y2),就说明Y依赖于X

例题:判断是否函数依赖

数据库基础(3)函数依赖-平凡依赖,完全依赖,部分依赖,传递依赖_第2张图片

  • 先看A-> D ,由于第一行的a1对应d1,第二行的a1对应d2
    说明a1分别对应d1和d2 两个值,所以A->D的函数依赖不成立
  • AB -> D 的函数依赖是成立的 (因为左边相同的属性,右边均相同)
  • C -> BDE 成立
  • E -> A不成立 ,因为取e1的时候,e1对应了a中的多个值,所以不成立

平凡依赖,完全依赖,部分依赖,传递依赖

1.平凡依赖与非平凡依赖

数据库基础(3)函数依赖-平凡依赖,完全依赖,部分依赖,传递依赖_第3张图片

2.完全依赖和部分依赖

数据库基础(3)函数依赖-平凡依赖,完全依赖,部分依赖,传递依赖_第4张图片
比如说,{学号,课程号}-> 姓名,同时也有{学号} -> 姓名
由于{学号}是{学号,课程号}的真子集。 所以 {学号,课程号}-> 姓名 是部分函数依赖

3.传递依赖

传递依赖
比如说 , 学号 - > 班号 , 班号 - > 班长,推出 => 学号 - > 班长
所以 “班长” 传递依赖于 “学号”
还有一个例子: 过去 - > 现在,现在 - > 未来, 推出 过去 -> 未来
所以 “未来” 传递依赖于 “过去”


例题

数据库基础(3)函数依赖-平凡依赖,完全依赖,部分依赖,传递依赖_第5张图片

基本函数依赖的关系已经在图里面给出了答案,
依赖性质很好判断!就不多说啦~

你可能感兴趣的:(1.2,计算机-数据库)