BCNF - 无法实现?

时间:2013-10-06 06:13:35

标签: database normalization database-normalization

令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应该是关键..

怎么做?

1 个答案:

答案 0 :(得分:0)

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