9.2 函数依赖
9.2.1 基本概念:X函数决定Y,或者Y函数依赖于X表示为X-->Y
9.2.2 一些术语和符号
9.2.3 函数依赖的推理规则:
(1) 自反律
(2) 增广律
(3) 传递律
(4) 合并规则
(5) 分解规则
(6) 伪传递规则
(7) 复合规则
9.2.4 闭包及候选键的求解方法
1. 函数依赖集的闭包:在关系模式R(U,F)中,U是R的属性全集,F是R上的一组函数依赖。设X,Y是U的子集,对于关系模式R的任一关系r,如果r满足F,则r满足X-->Y,那么称F逻辑蕴含X-->Y,或称函数依赖X-->Y可由F导出。所有被F逻辑蕴含的函数依赖的全集称为F的闭包,记作F+。
2.属性集闭包:设有关系模式R(U,F),U是R的属性集,F是R上的函数依赖集。X是U的一个子集,用函数依赖推理规则可从F推出的函数依赖X-->A中所有A的集合。称为属性集X关于F的闭包,记作X+。
对关系模式R(U,F),求属性集X相对于函数依赖集F的闭包X+的算法如下:
步骤1:初始,X+ =X
步骤2:如果F中有某个函数依赖X-->Z满足Y是X+的子集。则X+ = X+ U Z。
步骤3:重复步骤2,知道X+不再增大为止
3.候选键的求解方法:
L类:仅出现在函数依赖左部的属性,X是唯一候选键
R类:仅出现在函数依赖右部的属性,X不包含在任一候选键中
N类:在函数依赖的两边都不出现的属性,X一定包含在任一候选键中
LR类:在函数依赖两边都出现的属性,X可能包含在某个候选键中
9.2.5 极小函数依赖集