函数依赖是指表字段间的决定关系
1.函数依赖
通过 A 属性(或属性组)可以唯一确定 B 的值,称 B 依赖于 A
学生表
学号 | 姓名 | 课程名称 | 分数 |
10001 | 张三 | 高等数学 | 77 |
例如:学号–>姓名 ,(学号, 课程名)–>分数
2.完全函数依赖
假设 A 是一个属性组,则 B 的确定,需要依赖于 A 中的所有属性值
例如:(学号, 课程名称)–>分数
3.部分函数依赖
如果 A 是一个属性组,则 B 的确定,只需要依赖于 A 属性组中的部分值即可
例如:(学号, 课程名称)–>姓名, 而 学号->姓名
4.传递函数依赖
有 A–>B, B–>C,则称 C 依赖于 A
学生表
学号 | 系名 | 系主任 |
10001 | 经济系 | 张三 |
例如:学号–>系名,系名–>系主任
5.码(也叫候选码)
通过码,可以确定其他唯一的属性
学生表
学号 | 姓名 | 系名 | 系主任 | 课程名称 | 分数 |
10001 | 张三 | 法律系 | 李四 | 高等数学 | 77 |
分析:学号–>姓名,学号–>系名,系名–>系主任,(学号, 课程名称)–>分数
则,当候选码为 (学号,课程名称)时,可以唯一确定其他的所有列的值
故本表的码,就是 (学号, 课程名称)
6.主属性与非主属性
1.主属性:码属性中的所有属性
2.非主属性:除了码属性中的其他属性