文章目录
函数依赖
那个属性能确定哪个属性
好的模式
不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少。
平凡函数依赖和非平凡函数依赖
X→Y,但Y⊄X,则称X→Y是非平凡函数依赖
X→Y,但Y⊆X,则称X→Y是平凡函数依赖
例如:
在关系SC(Sno, Sdept,Mname,Cno,Grade)中,
存在:
(Sno, Cno)→Grade:非平凡函数依赖
Sdept→Mname:非平凡函数依赖
(Sno, Cno)→Sno :平凡函数依赖
(Sno, Cno)→Cno :平凡函数依赖
完全函数依赖(F):
X→Y,中X的任意一个真子集都不能确定Y,必须要所有子集一起才能确定Y
部分函数依赖§:
不是完全函数依赖
传递函数依赖(T):
X→Y,Y→Z,则X→Z
FD公理
Armstrong公理系统
对于关系模式R<U,F>
A1.自反律:若Y⊆X⊆U,则X→Y
A2.增广律:若X→Y,且Z⊆U,则XZ→YZ
A3.传递律:X→Y,Y→Z,则X→Z
合并规则:X→Y,X→Z,则X→YZ
伪传递规则:X→Y,WY→Z,则XW→Z
分解规则:X→Y,Z⊆Y,则X→Z
函数依赖的闭包
在关系模式R<U,F>中,为F所逻辑蕴含的函数依赖的全体叫作F的闭包,记为F+
属性集的闭包
求A的闭包,则是找出A能确定的所有属性
最小函数集
函数依赖右侧为单属性:F中任一函数依赖的右部仅含有一个属性。
无导出函数依赖:F中不存在这样的函数依赖X→A,使得F与F一{X→A}等价。
无部分函数依赖:F中不存在这样的函数依赖X→A,X有真子集Z使得F一{X→A}U{Z→A}与F等价。