解释 DBMS 中属性的闭包
属性 x 的闭包是所有属性的集合,这些属性是相对于 F 对 X 的函数依赖。它用 X +表示,这意味着 X 可以确定什么。
算法
让我们看看计算 X +的算法
步骤 1 - X + = X
步骤 2 - 重复直到 X +不改变
如果 Y ⊆ X +那么 X + = X + UZ
对于 F 中的每个 FD Y->Z
示例 1
考虑一个关系 R(A,B,C,D,E,F)
F:E->A、E->D、A->C、A->D、AE->F、AG->K。
找到 E 或 E +的闭包
解决方案
E 或 E+ 的闭包如下 -
E+ = E=EA {for E->A add A}
=EAD {for E->D add D}
=EADC {for A->C add C}
=EADC {for A->D D already added}
=EADCF {for AE->F add F}
=EADCF {for AG->K don’t add k AG ⊄ D+)
示例 2
让关系 R(A,B,C,D,E,F)
F:B->C,BC->AD,D->E,CF->B。找到 B 的闭包。
解决方案
B 的闭包如下 -
B + = {B,C,A,D,E}
Closure 用于寻找 R 的候选键并计算 F +
R 的候选键:如果 X->{R},X 是 R 的候选键
例如,
R(A,B,C,D,E,F)其中 F:A->BC、B->D、C->DE、BC->F。然后,找到 R 的候选键。
解决方案
A + = {A,B,C,D,E,F}={R}=>A 是候选键
B + = {B,D} => B 不是候选键
C + = {C,D,E} => C 不是候选键
BC + = {B,C,D,E,F} => BC 不是候选键
F (F+) 的闭包:F+ 是可以从 F 推断/导出的所有 FD 的集合。在 F 上重复使用阿姆斯壮公理,我们可以计算所有 FD。
示例
R(A,B,C,D,E)和 F:A->B,B->C,C->D,A->E。找到 F 的闭包
解决方案
A + = {A,B,C,D,E}
B + = {B,C,D}
C + = {C,D}
F + = {A->A, A->B, A->C, A->D, A->E, B->B, B->C, B->D, C->C, C -> D}
以上是 解释 DBMS 中属性的闭包 的全部内容, 来源链接: utcz.com/z/341382.html