数据库原理-第6章:Armstrong公理-模式的分解
Posted 可能自洽
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库原理-第6章:Armstrong公理-模式的分解相关的知识,希望对你有一定的参考价值。
1.数据依赖的公理系统
1.1 Armstrong 公理
对于R〈U,F〉,X,Y,Z是属性集,F是函数依赖集。
自反律(reflexivity):若Y
⊆
\\subseteq
⊆ X
⊆
\\subseteq
⊆ U, 则X→Y为F所蕴含。
增广律(augmentation):若X→Y为F所蕴含,且Z
⊆
\\subseteq
⊆ U,则XZ→YZ为F所蕴含。
传递律(transitivity):若X→Y,Y→Z为F所蕴含,则 X→Z 为F所蕴含。
由Armstrong公理导出的推理规则
合并律(union rule):若X→Y,X→Z,则X→YZ
分解律(decomposition rule):若X→Y,Z
⊆
\\subseteq
⊆ Y,则X→Z。 或者,若 X→YZ ,则X→Y,X→Z
伪传递律:若X→Y,WY→Z,则WX→Z
1.2 求属性集的闭包
例1 R< U, F >, U = (A, B, C, G, H, I), F = {A→B, A→C, CG→H, CG→I, B→H},计算 ( A G ) F + (AG)_{F}^{+} (AG)F+
所以,
(
A
G
)
F
+
=
A
G
B
C
H
I
(AG )_{F}^{+}=AGBCHI
(AG)F+=AGBCHI
例2 R< U, F >, U = (A, B, C, D, E), F = {AB→C, B→D, C→E, CE→B, AC→B}, 计算 ( A B ) F + (AB)_{F}^{+} (AB)F+
1.3 求最小函数依赖集
例 R< U, F >, U = (A, B, C, D, E), F = {A→B, BC→E, ED→AB},求等价于F的最小函数依赖集 F m i n F_{min} Fmin
①单属性化,得到F={A→B, BC→E, ED→A, ED→B}
②无冗余化,得到F={A→B, BC→E, ED→A}
A→B
令G=F-{A→B}={BC→E, ED→A, ED→B}
因为
B
∉
A
G
+
B \\notin A_{G}^{+}
B∈/AG+
所以A→B不冗余
BC→E
令G=F-{BC→E}={A→B, ED→A, ED→B}
因为
E
∉
B
C
G
+
E \\notin BC_{G}^{+}
E∈/BCG+
所以BC→E不冗余
ED→A
令G=F-{ED→A}={A→B, BC→E, ED→B}
因为
A
∉
E
D
G
+
A \\notin ED_{G}^{+}
A∈/EDG+
所以ED→A不冗余
ED→B
令G=F-{ED→B}={A→B, BC→E, ED→A}
因为
B
∈
E
D
G
+
B \\in ED_{G}^{+}
B∈EDG+
所以ED→B冗余
③既约化
BC→E
去掉属性B,因为
E
∉
C
F
+
=
C
E \\notin C_{F}^{+}=C
E∈/CF+=C ,所以不能去掉
去掉属性C,因为
E
∉
B
F
+
=
B
E \\notin B_{F}^{+}=B
E∈/BF+=B ,所以不能去掉
ED→A
去掉属性E,因为
A
∉
D
F
+
=
D
A \\notin D_{F}^{+}=D
A∈/DF+=D ,所以不能去掉
去掉属性D,因为
A
∉
E
F
+
=
E
A \\notin E_{F}^{+}=E
A∈/EF+=E ,所以不能去掉
④综上, F m i n = { A → B , B C → E , E D → A } F_{min}=\\{A→B, BC→E, ED→A\\} Fmin={A→B,BC→E,ED→A}
2.模式分解等价的两个标准
例 对于关系模式SL(Sno, Sdept, Sloc),同一个系的学生住在一起,SL中有下列函数依赖:Sno→Sdept, Sdept→Sloc, Sno→Sloc, 已知SL∈2NF,该关系模式存在插入异常、删除异常、数据冗余度大和修改复杂的问题。
2.1 无损分解
将SL分解为下面二个关系模式:
ND(Sno, Sdept)
NL(Sno, Sloc)
分解后的关系:
具有无损连接性,但未持函数依赖
2.2 保持函数依赖
将SL分解为下面二个关系模式:
ND(Sno, Sdept)
DL(Sdept, Sloc)
既具有无损连接性,又保持了函数依赖
2.3 判断对关系模式的一个分解是否与原关系模式等价的标准
(1)分解具有无损连接性
如果一个分解具有无损连接性,则它能够保证不丢失信息。
(2)分解要保持函数依赖
如果一个分解保持了函数依赖,则它可以减轻或解决各种异常情况。
(3)分解既要保持函数依赖,又要具有无损连接性
分解具有无损连接性和分解保持函数依赖是两个互相独立的标准。具有无损连接性的分解不一定能够保持函数依赖。同样,保持函数依赖的分解也不一定具有无损连接性。
以上是关于数据库原理-第6章:Armstrong公理-模式的分解的主要内容,如果未能解决你的问题,请参考以下文章