9.2.1基本概念
函数依赖是属性之间的依赖关系,他是语义范畴的概念,也就是说关系模型的属性关系之间是否存在函数依赖只与语义有关。
9.2.2一些术语和符号
1.如果x➡️y,但y不包含于x,则称x➡️y是非平凡的函数依赖。如果不做特别说明,我们讨论的都是非平凡的函数依赖。
2.如果y不函数依赖于x,则记作x不➡️y。
3.如果x➡️y,则称x为决定因子。
4.如果x➡️y,并且y➡️x,则记作x↔️y。
9.2.3函数依赖的推理规则
1.Armstrong公理
1)自反律 若y包含于x包含于u,则x箭头y在r上成立。即一组属性函数决定他的所有子集。列如
对关系模式SC(Sno,Sname,Cno,Credit,Grade),有:
(Sno,Cno)箭头Cno 和 (Sno,Cno)箭头Sno
(2)增广律
若x箭头y在r上成立,且Z包含于U,则XZ箭头YZ在R上也成立
(3)传递律
若x箭头y和y箭头z在r上成立,x箭头z在r上也成立
2.Armstrong 公理推论
(1)合并规则
若x箭头y和x箭头z在r上成立,则x箭头yz在r上也成立。有Sno箭头(Sname,Sdept),Sno箭头Sage,
则有Sno箭头(Sname,Sdept,Sage)成立。
(2)分解规则
若x箭头y和z包含于Y在r上成立,则x箭头z在r上也成立
(3)伪传递规则
若x箭头y和yw箭头z在r上成立,则xw箭头z在r上也成立
(4)复合规则
若x箭头y和w箭头z再r上成立,则xw箭头yz在r上也成立
例如,对关系模式SC(Sno,Sname,Cno,Credit,Grade),有:
Sno箭头Sname和 Cno箭头Credit 成立
则有:(Sno,Cno)箭头(Sname,Credit)