9.2 函数依赖
9.2.1 基本概念
在关系数据库中讨论函数或函数依赖注重的是语义上的关系。
定义9.1:
设有关系模式R(A1,A2,...,An),X和Y均为{A1,A2,...,An}的子集,r是R的任一具体关系,t1,t2是r中的任意两个元组。如果由t1 [X] = t2 [X]可以推导出t1 [Y] = t2 [Y],则称X函数决定Y,或Y函数依赖于X,记为XY。
9.2.2 一些术语和符号
1)如果XY,但Y不包含与X,则称XY是非平凡的函数依赖。
2)如果Y不函数依赖于X,则记作X -/-> Y。
3)如果XY,则称X为决定因子。
4) 如果XY,并且YX,则记作XY。
5) 如果XY,并且对于X的一个任意真子集X'都有X'-/->Y,则称Y完全函数依赖于X,记作XY;
如果X'Y成立,则称Y部分函数依赖于X,记作XY。
6)如果 XY,(非平凡函数依赖,并且Y -/-> X)、YZ,则称Z传递函数依赖于X。
7)设K为关系模式R的一个属性或属性组,若满足:KA1, KA2,... , KAn
则称K为关系模式R的候选键。称包含在候选键中的属性为主属性,不包含在任何候选码中的属性为非主属性。
9.2.3 函数依赖的推理规则
1. Armstrong公理
1)自反率
2)增广率
3)传递率
2. Armstrong公理推论
1)合并规则
2)分解规则
3)伪传递规则
4)复合规则
9.2.4 闭包及候选键求解方法
1.函数依赖集的闭包
2.属性集闭包
3.候选键的求解方法
1)L类:仅出现在函数依赖左部的属性。
2)R类:仅出现在函数依赖右部的属性。
3)N类:在函数依赖的左部和右部均不出现的属性。
4)LR类:在函数依赖的左部和右部均出现的属性。
9.2.5 极小函数依赖集
————————————————
版权声明:本文为CSDN博主「qq_58060494」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_58060494/article/details/125121351