数据库----数据依赖的公理系统
一,逻辑蕴含
定义:对于满足一组函数依赖F的关系模式 R <U,F>,其任何一个关系r,若函数依赖X→Y都成立(即r中任意两元组t、s,若t[X]=s[X],则 t[Y]=s[Y]),则称F逻辑蕴涵X →Y。
二,Armstrong公理系统
A1 自反律:若Y ⊆ X ⊆ U,则X →Y 为F所蕴涵。
A2 增广律:若X→Y为F所蕴涵,且Z ⊆ U,则XZ→YZ 为F所蕴涵。
A3 传递律:若X→Y及Y→Z为F所蕴涵,则X→Z 为F所蕴涵。
合并规则:由X→Y,X→Z,有X→YZ。
证明:由 X→Y 根据 A2:XX→YX 得 X→YX
由 X→Z 根据 A2:XY→ZY
由X→YX,YX→YZ 根据A3:X→YZ
伪传递规则:由X→Y,WY→Z 有:XW→Z。
证明:由 X→Y 根据 A2 :XW→YW
由 XW→YW ,WY→Z 根据 A3 :XW→Z
分解规则:由X→Y,Z⊆Y,有X→Z
证明:由Z⊆Y 根据 A1 :Y→Z
由X→Y ,Y→Z 根据A3:X→Z
三,Armstrong公理系统的有效性,完备性
Armstrong公理的有效性指:由F出发根据Armstrong公理推导出来的每一个函数依赖一定在F+中;完备性是指F+中的每一个函数依赖,必定可以由F出发根据Armstrong公理推导出来。
四,函数依赖集的闭包
算法:① 令X(0)=X,i=0
②求B,这里B ={ A |( ∃ V)( ∃ W)(V→W∈F ∧V ⊆ X(i)∧A ∈ W)}
③X(i+1)=B∪X(i)
④判断X(i+1)= X(i) 。 若X(i+1)与X(i)相等或X(i)=U ,则X(i)就是XF+, 算法终止。
⑤若否,则i=i+1,返回第②步。
例:U={A,B,C,D,E},F={AB→C,B→D,C→E,EC→B,AC→B}。求(AC)F+ ,(C)F+
(AC)F+ :X(0)={AC}
X(1)={AC}∪{E,B} 根据C→E,AC→B
X(2)={ABCE}∪{D} 根据B→D
X(2)=U 算法终止
(C)F+ :X(0)={C}
X(1)={C}∪{E} 根据C→E
X(2)={CE}∪{B} 根据EC→B
X(3)={BCE}∪{D} 根据B→D
X(3)=X(4) 算法终止
(未完待续...)