Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有
R(ABCDE) 其中 AB 为主键 F= { f1: AB->CDE; f2: BD->E }
我很困惑,因为我的教科书说它达到了第 3 范式,但是当我通过在线工具检查时,它说由于 f2 违规,关系达到了第 2 范式。
哪个是对的?
Codd 对 3NF 的定义包括表的每个非主属性都非传递地依赖于每个键的规定。
换句话说,由于 E 既依赖于 (AB) 和 (BD) 而 C 仅依赖于 (AB),所以这是违反 3NF 的。
在线工具是正确的。
要生成这个 3NF,您需要分解为两个关系:ABCD 和 BDE。然而,这带来了与参照完整性强制相关的问题。