【发布时间】:2019-08-30 12:38:31
【问题描述】:
我不确定这句话是真是假:“具有单个属性主键的表至少自动处于第二范式(2NF)。”
我认为这是对的,但我无法解释为什么。
【问题讨论】:
-
不,那是错误的。单列主键,连1NF都不保证
-
在没有理由的情况下说你认为这是真的对你来说可能意味着什么? PS这是假的。如果某些非素数列在每一行中必须具有相同的值,则 {} 部分功能地确定该列和表不在 2NF 中。然而,这是一个常见的神话,因为人们忘记了 {} 作为决定因素。
-
@a_horse_with_no_name "1NF" has no single meaning. 但所有含义本质上与现代归一化理论无关。它们只是不允许某些与规范化理论中的其他任何东西无关的表值。
-
PS 此外,请阅读 2NF 的定义。所有非主列必须在功能上完全依赖于每个 CK,而不仅仅是一个。这可能是您的讲师希望您注意的,因为他们可能将所有 CK 简单意味着 2NF 的神话归咎于这一神话。 PK也无所谓,CK有。如果您的意思是前提包括只有一个 CK,那么您应该这样说。 PS 给出你对 2NF 的定义。它可能关心也可能不关心某些版本的“1NF”。
-
请按照出版的学术教科书展示并证明您的工作步骤,并提出一个具体问题。现在,您只是要求我们用定制的教程重写您的教科书/手册并完成您的(家庭)作业,而您没有表现出任何研究或其他努力。需求转储不是主题问题。请参阅How to Ask,点击谷歌搜索“stackexchange 作业”和投票箭头鼠标悬停文本。
标签: database database-design primary-key database-normalization