分解成BCNF

时间:2012-12-28 21:08:52

标签: database functional-dependencies

假设R = {A,B,C,D} FD = C→D,C→A,B→C

我应该找到: 钥匙 2.它所在的NF 3. BCNF(如果可能,如果不是已经存在)

所以这就是我到目前为止所得到的:

  1. 键是B,因为它传递地确定决定D和A的C.
  2. 它在2NF,因为依赖性在整个密钥上
  3. R1 = {B,C} R2 = {C,A,D}
    • 所以这就是我遇到问题的地方。标记方案表示将R分解为AC,BC和CD。但为什么我的答案不对?我是说FD是C - > {A,D}如果是这样的差异,那么C - > A和C - > d?

1 个答案:

答案 0 :(得分:0)

当你被要求计算R的最小覆盖率时,通常希望你这样回答。

  • C - > d
  • C - > A
  • B - > ç

当你被要求提升R到BCNF时,你通常会被这样回答。

  • B C
  • C AD

如果你没有使用标准教科书,我不能给你任何建议。由助教(助教)撰写的问题和答案特别难以理解。有时他们错了。