努力查看它们之间的差异。我知道我们说2NF是“整个密钥”,而3NF是“除了密钥”。

引用Smashery的以下出色答案:What are 1NF, 2NF and 3NF in database design?

用于3NF的示例与2NF完全相同-其字段仅取决于一个键属性。 3NF的示例与2NF的示例有何不同?

谢谢

最佳答案

假设某些关系满足形式A-> B的非平凡的函数依赖关系,其中B是非素数属性。

如果A不是超键而是候选键的适当子集,则违反2NF

如果A不是超键,则违反3NF

您已经发现3NF要求只是2NF要求的一种特殊情况(但并非如此特殊)。 2NF本身不是很重要。重要的问题是A是否为超键,而不是A是否恰好是候选键的一部分。

关于database - 标准化-2NF与3NF,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6023091/

10-11 02:53