gpt4 book ai didi

database - BCNF——不可能实现?

转载 作者:太空狗 更新时间:2023-10-30 01:52:50 25 4
gpt4 key购买 nike

设 R 是与模式 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 应该是一个键..

如何做到这一点???

最佳答案

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

关于database - BCNF——不可能实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19205986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com