函数依赖:
属性集 α 决定属性集 β ,则称有函数依赖
α
→
β
α \to β
α→β
逻辑蕴含:
F能推出 原不直观存在于 函数依赖集F 中的函数依赖 α
→
\to
→ β,则成α
→
\to
→β被函数依赖集F逻辑蕴含
函数依赖的闭包
F
+
F^+
F+:
由关系模式R直观得到的函数依赖F所推出的所有隐含的或未隐含的(直观的)函数依赖的集合
举例:
F中有α–>β,β–>ω
则函数闭包
F
+
F^+
F+中存在α–>ω
Armstrong公理(以下的αβ形式表示α和β的并集):
1. 自反律(叫大推小更确切):
集合A能推出其集合子集b
2. 增补律(加了也不影响)
若α-->β,则αω-->βω
3. 传递律(一传十十传百)
α-->β,β-->ω,则α-->ω
Armstrong公理推论(以下的αβ形式表示α和β的并集):
1. 合并律(合并右边)
α-->β,α-->ω,则α-->βω
2. 分解律(分解右边)
α-->βω,则α-->ω,α-->β
3. 伪传递律(左边加一点)
α-->β,βπ-->ω则απ-->ω
属性的闭包
在关系模式R所对应的F+中,有
α
→
β
α\toβ
α→β ,则所有β组成的集合
α
+
α^+
α+ 叫做α的属性闭包
属性闭包算法:
result=A //此处A是一个属性集,result就是要计算的属性闭包
for each α-->β in F:
if α in result: //α已经在属性闭包里了,即A-->α是成立的
result=result+β //增加属性闭包
正则覆盖
F
+
F^+
F+
将原函数依赖集F中的函数依赖α–>β中的部分(α或β属性中)冗余属性删除。
F
+
F^+
F+ 和 F 的函数依赖的闭包是相同的
属性是否冗余判断条件,对于α–>β函数依赖(哪边冗余F在哪边)
-
α属性集中有属性A是冗余的,
(
α
−
A
)
→
β
(α-A)\to β
(α−A)→β 成立:
F 逻辑蕴含 $(F-(α\toβ)) \cup ((α-A)\toβ) $
-
β属性集中有属性b是冗余的,$α\to (β-b) $成立
(
F
−
(
α
→
β
)
)
∪
(
α
→
(
β
−
b
)
)
(F- (α \to β)) \cup (α \to (β-b) )
(F−(α→β))∪(α→(β−b)) 逻辑蕴含 F
无损分解
将关系模式R分解成 关系模式$ R_1和R_2$,则:
$R_1 \cap R_2 \to R_1 或 R_2 $ ;即$R_1 和 R_2 的交集是R_1 或 R_2 $的super key
查看其他精彩文章
深入分析HashMap
AOP核心原理和SpringAOP
10分钟入门SpringAOP
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)