关系的描述称为关系模式(Relation Schema),可以形式化地表示为:
R(U, D, dom, F)
其中,R表示关系名;U是组成该关系的属性名集合;D是属性的域;dom是属性向域的映像;集合;F为属性间数据的依赖关系集合。
数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系,是现实世界属性间联系和约束的抽象,是数据内在的性质,是语义的体现。函数依赖则是一种最重要、最基本的数据依赖。

几种主要的函数依赖类型
- 函数依赖:
设 R(U)是属性集 U上的关系模式,X、Y是 U的子集。而X能决定唯一的Y的值,则称X函数决定Y或Y函数依赖于X ,记作 X→Y。例如:在成绩表中(学号, 课程号)→成绩
- 非平凡函数依赖:
如果X→Y,但 Y不属于X,则称X→Y是非平凡的函数依赖。例如:在成绩表中(学号, 课程号)→成绩
- 平凡函数依赖:
如果X→Y,但 Y属于X,则称了X→Y是平凡的函数依赖。例如:在成绩表中(学号, 课程号, 成绩)→成绩
- 完全函数依赖:
在 R(U)中,如果 X→Y,并且对于了的任何一个真子集X' 都有X'不能决定Y,则称Y对X完全函数依赖,记作
。例如:在成绩表中(学号, 课程号)→成绩,其中(学号, 课程号)的子集都不能决定成绩的值。
- 部分函数依赖:
如果X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作
。部分函数依赖也称为局部函数依赖。例如:在成绩表中(学号, 学生姓名, 课程号)→成绩,其中(学号, 学生姓名, 课程号)的子集(学号, 课程号)也可以决定唯一的成绩。
- 传递依赖:
在 R(U, F)中,如果X→Y,Y不属于X,Y→Z,则称Z对传递依赖。
函数依赖的相关概念
- 码:
设K为 R(U, F) 中属性的组合,若 K→U,且对于 K 的任何一个真子集 K' 都有 K' 不能决定 U,则 K 为 R 的候选码。候选码通常也称为候选关键字。
- 主码:
若有多个候选码,则选一个作为主码。
- 主属性和非主属性:
包含在任何一个候选码中的属性称为主属性,否则称为非主属性。
- 外码:
若 R(U)中的属性或属性组X非R的码,但 X 是另一个关系的码,则称 X 为外码。
函数依赖的公理系统
- A1 自反律:若 Y
X
U,则X→Y为 F 所蕴涵。
- A2 增广律:若X→Y为 F 所蕴涵,且 Z
U,则XZ→YZ为F所蕴涵。
- A3 传递律:若X→Y,Y→Z为 F 所蕴涵,则 X→Z 为 F 所蕴涵。
- 合并规则:若X→Y,X→Z,则X→YZ为 F 所蕴涵。
- 伪传递率:若X→Y,WY→Z,则XW→Z为 F 所蕴涵。
- 分解规则:若X→Y,Z
Y,则X→Z为 F 所蕴涵。
数据库函数依赖详解
1156

被折叠的 条评论
为什么被折叠?



