4

让 R 与 Schema R(X,Y,Z) 有关系,
它的 FD 是
{XY -> Z, Z -> Y}
我无法将其分解为BCNF
因为r1(Z,Y)r2(Z,X)将失去 FD XY -> Z并且
R(X,Y,Z) 本身不是解决方案,因为 Z->Y表明 Z 应该是一个关键..

这个怎么做 ???

4

1 回答 1

1

每次转换为 BCNF 可能都不是依赖保留
我们只需要举一个反例:
考虑以下模式;
abc 和 c->b
很明显,上面的模式在 3NF 中,
因为 ab->c 是一个超键依赖,从 c->b 我们
可以看到 bc=b,它是主键的子集(这种依赖是在 3NF 中也允许)。
但是,上述模式不在 BCNF 中,因为 c->b 既不是超级键也不是微不足道的依赖。
所以我们分解上面的 schema ,保持无损。
唯一可能的无损分解是:ac 和 cb。(因为它们的交集 c 是第二张表的主键)。
但显然依赖 ab->c 丢失了。
因此,证明。

于 2015-02-19T07:06:27.643 回答