列如对学生关系模式student(Sno,Sname,Sdept,Sage)有以下函数依赖关系:
Sno箭头Sname Sno箭头Sdept Sno箭头Sage
前者是候选键,称前者决定后者或后者依赖于前者
候选键可以由多个组成如:
SC(Sno,Cno,Grade)有以下函数是依赖关系:
(Sno,Cno)箭头Grade
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
完全函数依赖与部分函数依赖:
有以下关系模式SC(Sno,Sname,Sdept,Dept_master)
(Sno,Cno)箭头加上面p Sname 姓名部分函数依赖与学号和课程号,因为仅有Sno 便可确定Sname
(Sno,Cno)箭头加上f Grade 成绩完全函数依赖于学号和课程号 因为必须友前面都所有属性确定后面的
传递函数
设有关系模式S(Sno,Sname,Sdept,Dept_master)主键为Sno ,一个系只有一个主任
有:Sno箭头上架f Sdept 所在系完全函数依赖于学号
Sdept箭头上加f Dept_master 系主任完全函数依赖于所在系
因此:Sno箭头上加传递Dept_master 系主任传递函数依赖于学号
需注意找候选键
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)