我正在解决我教科书中的问题,为我的考试做准备,我很难弄清楚这个问题。
考虑一个关系 S(B,O,I,S,Q,D)
FD:S->D、I->B、IS->Q、B->O
我需要进行 BCNF 分解,然后确定 S 的所有键。我进行了 BCNF 分解并确定 IS 是超级键,但我无法弄清楚分解的其余部分以找出其他键。
我还需要为给定的 FDS 找到一个最小基,并使用 3NF 合成算法找到 S 到 3NF 的无损连接依赖保留分解。
非常感谢任何帮助,我对此感到非常困惑,并且真的在努力解决这个问题。
我正在解决我教科书中的问题,为我的考试做准备,我很难弄清楚这个问题。
考虑一个关系 S(B,O,I,S,Q,D)
FD:S->D、I->B、IS->Q、B->O
我需要进行 BCNF 分解,然后确定 S 的所有键。我进行了 BCNF 分解并确定 IS 是超级键,但我无法弄清楚分解的其余部分以找出其他键。
我还需要为给定的 FDS 找到一个最小基,并使用 3NF 合成算法找到 S 到 3NF 的无损连接依赖保留分解。
非常感谢任何帮助,我对此感到非常困惑,并且真的在努力解决这个问题。
{IS} 是唯一的键,这很容易显示。属性 I 和 S 只出现在函数依赖的左边部分,因此它们必须属于任何键。而且由于它们已经是(超级)密钥,因此不存在其他密钥。
函数依赖已经是最小覆盖(或最小基础),因为: a)每个正确的部分只有一个属性;b) 在依赖 IS→Q 中,左侧没有多余的属性,并且 c) 没有依赖是多余的。
所以 3NF 分解为:
R 1 < (BO), { B → O } >
R 2 < (BI), { I → B } >
R 3 < (ISQ), { IS → Q } >
R 4 < (DS), { S → D } >
这等于 BCNF 中分解的结果。