-1

我有

R(ABCDE) 其中 AB 为主键 F= { f1: AB->CDE; f2: BD->E }

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

哪个是对的?

4

1 回答 1

1

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

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

在线工具是正确的。

要生成这个 3NF,您需要分解为两个关系:ABCD 和 BDE。然而,这带来了与参照完整性强制相关的问题。

于 2017-01-12T08:39:08.047 回答