函数依赖是关系数据库中非常重要的概念
包括平凡依赖,完全依赖,部分依赖以及传递依赖 ,这些都是关系数据库范式的基础
函数依赖基本概念
函数依赖基本定义
简单来说就是,只要属性X的属性值一样(x1=x2) 那么 属性Y中的属性值就一样(y1=y2),就说明Y依赖于X
例题:判断是否函数依赖
- 先看
A-> D
,由于第一行的a1对应d1,第二行的a1对应d2
说明a1分别对应d1和d2 两个值,所以A->D的函数依赖不成立 AB -> D
的函数依赖是成立的 (因为左边相同的属性,右边均相同)C -> BDE
成立E -> A
不成立 ,因为取e1的时候,e1对应了a中的多个值,所以不成立
平凡依赖,完全依赖,部分依赖,传递依赖
1.平凡依赖与非平凡依赖
2.完全依赖和部分依赖
比如说,{学号,课程号}-> 姓名,同时也有{学号} -> 姓名
由于{学号}是{学号,课程号}的真子集。 所以 {学号,课程号}-> 姓名 是部分函数依赖
3.传递依赖
比如说 , 学号 - > 班号 , 班号 - > 班长,推出 => 学号 - > 班长
所以 “班长” 传递依赖于 “学号”
还有一个例子: 过去 - > 现在,现在 - > 未来, 推出 过去 -> 未来
所以 “未来” 传递依赖于 “过去”
例题
基本函数依赖的关系已经在图里面给出了答案,
依赖性质很好判断!就不多说啦~