处于第三范式(3NF)时,您能拥有复合键吗?

时间:2014-11-23 17:50:12

标签: database database-normalization 3nf

我是数据库的新手,我目前正在进行一项任务,我必须从已经规范化为3NF的表数据创建一个ERD。

我的问题是我有1NF的复合键,但所有非键属性似乎都依赖于主键的两者。现在我试图将它从2NF带到3NF,我不确定我是否仍然可以使用复合键。

1 个答案:

答案 0 :(得分:1)

您可以在每种常规形式中使用复合键。

实际上,当您以A->B形式编写函数依赖项时, A B 都引用属性集。这就是为什么他们是大写的;集合论uppercase letters represent sets

  

...所有非关键属性似乎都依赖于两个主键......

只有一个主键。在您的情况下,该主键具有多个属性。

但可能有多个候选键。在标准化中,每个候选键同样重要。例如,如果您正在尝试识别传递依赖关系,则需要查找与每个候选键相关的传递性,而不仅仅是主键。