BCNF-无法实现?

问题描述 投票:5回答:1

让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应该是一个键..

如何执行此操作???

database database-normalization
1个回答
0
投票

每次转换为BCNF都可能不会保持依赖关系我们只需要举一个反例:考虑以下模式;a b c和c-> b显然,以上模式在3NF中,因为ab-> c是一个超键依赖项,并且从c-> b我们可以看到b-c = b,它是主键的子集(在3NF中也允许这种依赖性)。但是,以上模式不在BCNF中,因为c-> b既不是超键也不是琐碎的依赖项。因此,我们分解了以上架构,使其无损。唯一可能的无损分解是:ac和cb。 (因为它们的交集c是第二张表的主键)。但是显然,依赖项ab-> c丢失了。因此,证明了。

© www.soinside.com 2019 - 2024. All rights reserved.