数据库理论7

您所在的位置:网站首页 考虑mdseb1 数据库理论7

数据库理论7

2023-12-15 17:45| 来源: 网络整理| 查看: 265

计算$B^+$

$B→BD$(依赖三)

$BD→ABD$(依赖四)

$ABD→ABCD$(依赖一)

$ABCD→ABCDE$(依赖二)

故$B^+=ABCDE$

(使用Armstrong公理)证明$AF$是超码。

$A→BCD$(依赖一)

$A→ABCD$(A的增强)

$BC→DE$(依赖二)

$ABCD→ABCDE$($ABCD$的增强)

$A→ABCDE$(传递性)

$AF→ABCDEF(F$的增强)

故$AF$是超码

计算上述函数依赖集$F$的正则覆盖;给出你的推到的步骤并解释。

根据依赖三我们知道D在依赖一和依赖二中都是冗余值,所以当我们将这两个移除之后,我们就得到了新的规则:$A→BC$

$BC→E$

$B→D$

$D→A$

而$B^+$是$ABCDE$,而且$FDB→E$可以从这个集合里面被定义,因此,$C$在依赖三中也是一个冗余值,再将其移除,并且合并到我们的$FD$之中,我们得到如下正则覆盖:

$A→BC$

$B→DE$

$D→A$

现在已经没有任何的冗余值了。

基于正则覆盖,给出$r$的一个$3NF$分解。

在正则覆盖中没有$FD,$使得属性集任何其他$FD$的子集。

因此,每个$FD$都会产生自己的关系

给出如下依赖关系:

$r_1(A,B,C)$

$r_2(B,D,E)$

$r_3(D,A)$

现在,属性$F$不依赖于任何属性。因此,它必须是每个超级钥匙的一部分。此外,上述模式中的任何关系都没有$F$,因此,它们都没有超级密钥。因此,我们需要使用超级键添加新关系。

$r_4(A,F)$

利用原始的函数依赖集,给出$r$的一个$BCNF$分解。

由已知有

$r(A,B,C,D,E,F)$

我们发现根据第一个$FD$,这个关系并不属于$BCNF,$根据这个可得

$r_1(A,B,C,D)r_2(A,E,F)$

发现$A→E$是一个在$F^2$中的$FD$,而且使得$r_2$不符合$BCNF$,所以我们再次将$r_2$分解得

$r_1(A,B,C,D)r_2(A,F)r_3(A,E)$

你能否利用正则覆盖得到与上面的$r$相同的$BCNF$分解?

如果我们直接在前面的最小函数依赖集中使用函数依赖,我们就无法得到上面的分解。但是,我们可以从最小函数依赖集推断出原始的依赖关系,如果我们将它们用于BCNF分解,就可以得到相同的分解。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3