第三范式混淆

时间:2017-01-12 04:09:02

标签: database normalization database-normalization third-normal-form

我有

R(ABCDE),AB是主键 并且F = {f1:AB-> CDE; f2:BD-> E}

我很困惑,因为我的教科书说它达到了第3范式,但是当我通过在线工具检查它时,它说由于f2违规而达到了第2种形式。

哪个是对的?

1 个答案:

答案 0 :(得分:1)

Codd对3NF的定义包括规定表的每个非素数属性都是非传递性地依赖于每个键。

换句话说,由于E依赖于(AB)和(BD),但C仅依赖于(AB),这是违反3NF的。

在线工具是对的。

要制作这个3NF,你需要分成两个关系:ABCD和BDE。然而,这会带来与参照完整性执行相关的问题。