1.数据冗余问题
2.数据更新问题
3.数据插入问题
4.数据删除问题
函数依赖
基本概率:公式:Y=f(x),即X和Y在数量上的对应关系,给定一个X的值,都会有一个Y值与它对应。也可以说,X函数决定Y,或Y函数依赖于X。
一些术语和符号
(1)如果XY,但X不包含Y,则称XY是非平凡的函数依赖。
如果XY,但X包含Y,则称XY是平凡的函数依赖。
(2)如果Y不函数依赖于X,则记作X-/->Y。
(3)如果XY,则称X为决定因子。
(4)如果XY,并且YX,则记作XY。
(5)如果XY,并且对于X的一个任意真子集都有-/->Y,则称Y完全函数依赖于X(单属性做主键时),记作XY;如果Y成立,则称Y部分函数依赖于X,记作XY。
(6)如果XY(非平凡函数依赖,并且Y-/->X),YZ,则称Z传递函数依赖于X。
(7)设K为关系模式R的一个属性或属性组,若满足:
K K ..... K
则称K为关系模式R的候选键(或候选码)。称包含在候选键中的属性为主属性,不包含在任何候选码中的属性称为非主属性。
函数依赖的推理规则
1.Armstrong公理:
(1)自反律(reflexivity)
若YXU,则XY在R上成立。即一组属性函数决定它的所有子集。
eg:对关系模式SC(Sno,Sname,Cno,Credit,Grade),有:
(Sno,Cno)Cno和(Sno,Cno)Sno
(2)增广律(augmentation)
若XY在R上成立,且ZU,则XZYZ在R上成立、
(3)传递律(transitivity)
若XY和YZ在R上成立,则XZ在R上成立。
2.Armstrong公理推论
(1)合并规则(union rule)
若XY和XZ在R上成立,则XYZ在R上也成立
eg:对关系模式Student(Sno,Sname,Sdept,Sage),有Sno(Sname,Sdept),
SnoSage,则有Sno(Sname,Sdept,Sage)成立。
(2)分解规则(decomposition rule)
若XY和ZY在R上成立,则XZ在R上也成立。
从合并规则和分解规则可得如下结论:
如果....是关系模式R的属性集,那么X....成立的充分必要条件是X(i=1...n)成立
(3)伪传递规则(pseudo-transitivity rule)
若XY和WZ在R上成立,则XWYZ在R上也成立。
(4)复合规则(composition rule)
若XY和WZ在R上成立,则XWYZ在R上也成立。
eg:对关系模式SC(Sno,Sname,Cno,Credit,Grade),有:
SnoSname和CnoCredit成立
则有:(Sno,Cno)(Sname,Credit)