归一化为第三范式

时间:2016-01-31 17:07:49

标签: normalization

T(A,B,C) A-->B
A-->C 
C--->A 
C-->B Which normal form is the table?

  convert it into 3nf

 A is the key 
Please explain the answer 
thanks
 i was told it is in 3nf, but there is a transitive dependency .. how can it         be in 3nf?

我想我会给出足够详细的信息 谢谢 此致

1 个答案:

答案 0 :(得分:1)

传递依赖对3NF无关紧要。重要的是,所有非主要属性(不属于任何密钥的属性)在某种程度上松散地依赖于密钥。

键是{A}和{C}。非主要属性是{B}。 B不依赖于A和/或C. Ergo 3NF以外的任何其他东西。至少(我没有费心去检查它是否也是BCNF)。

修改

对于BCNF来说,“传递依赖”并不重要。 BCNF需要的是所有适用的依赖关系都超出了超级密钥(即在其LHS上有超级密钥),否则是微不足道的。为了不是这里的情况,必须有一个FD在其LHS上有B(或者根本没有,但这是一个“异国情调”的边缘情况)但是既不是A也不是C.唯一适用于此的FD是B-> B,但那个是微不足道的。 BCNF只允许“传递依赖”,只要它们只将一个键的属性链接到另一个键的属性即可。实际上,如果模式中有多个键,那么必须存在这样的“传递依赖”。如果你的教授在他的意思是“BCNF”时使用了“3NF”(不恰当的话)这个术语,那么他也会使用术语“传递依赖”(本身已经有点模糊和草率)并不令我感到惊讶。手段可能类似于“可以应用传递规则的依赖关系,以某种方式在某个地方的'连接部分'中具有非关键属性”。