BCNF 分解和 3NF



我正在解决教科书中的问题,为我的考试做准备,我很难弄清楚这个问题。

考虑关系S(B,O,I,S,Q,D)

FDs: S->D, I->B, IS->

Q, B->O

我需要做BCNF分解,然后确定S的所有键。我做了BCNF分解并确定IS是一个超级键,但我无法弄清楚分解的其余部分来找出其他键。

我还需要为给定的 FDS 找到一个最小基,并使用 3NF 合成算法找到将 S 分解为 3NF 的无损连接依赖保持分解。

非常感谢任何帮助,我在这里感到困惑,并且真的在为这个问题而苦苦挣扎。

{I S} 是唯一的键,这很容易显示。属性 I 和 S 仅出现在功能依赖项的左侧部分,因此它们必须属于任何键。而且由于它们已经是一个(超级)键,因此不存在其他键。

功能依赖关系已经是最小的覆盖(或最小的基础),因为:a)每个正确的部分只有一个属性;b)在依赖关系IS→Q中,左侧部分没有属性是多余的,c)没有依赖是多余的。

所以3NF分解是:

R1 <(B O),{ B → O }>

R2 <(B I),{ I → B }>

R3 <(I S Q),{ I S → Q }>

R4 <(D S),{ S → D }>

等于 BCNF 中分解的结果。

相关内容

  • 没有找到相关文章

最新更新