已知关系模式R,U={A,B,C,D,E,G}, F = {AB->CD,ADE->GDE,B->CG,G->DE}.求正则覆盖Fc
时间: 2024-04-27 07:19:39 浏览: 212
首先,我们需要将F转化为等价的无损分解形式。使用合成算法:
- AB->CD 和 ADE->GDE 都不是BCNF,将它们进行分解:
AB->C 和 AB->D
ADE->G 和 ADE->D 和 ADE->E
- B->CG 和 G->DE 都不是BCNF,将它们进行分解:
B->C 和 B->G
G->D 和 G->E
现在,我们得到了以下分解关系:
R1 (A,B,C,D)
R2 (A,D,E,G)
R3 (B,C)
R4 (B,G)
R5 (D,G)
R6 (E,G)
接下来,我们需要检查每个关系是否满足BCNF。我们发现只有R5不满足BCNF,因为它的函数依赖是G->D 和 G->E,而G不是R5的超键。因此,我们需要将R5进一步分解:
R5 (D,G)
R7 (E,G)
现在,我们得到了以下分解关系:
R1 (A,B,C,D)
R2 (A,D,E,G)
R3 (B,C)
R4 (B,G)
R5 (D,G)
R6 (E,G)
R7 (E,G)
这些关系都已满足BCNF。现在,我们可以将它们重新组合成一个正则覆盖Fc:
Fc = {A -> BC, A -> D, AD -> DEG, B -> C, B -> G, DE -> G, E -> G}
其中,每个函数依赖都满足BCNF。
阅读全文
相关推荐









