【问题标题】:Second Normal Form Definition第二范式定义
【发布时间】:2016-10-13 15:35:46
【问题描述】:

2NF有如下定义

一个表在 2NF 中当且仅当它在 1NF 中并且没有非素数属性依赖于表的任何候选键的任何适当子集。

我的问题是为什么依赖属性必须是非素数?这是否意味着 主属性 可以依赖于候选键的适当子集?为什么在这种情况下它不会导致冗余?我在想一些示例关系

{a,b,c,d}, if we assume {a,b}, {b,c} are two candidate keys and FD is a->c

【问题讨论】:

  • 非主要求的一个原因是复合键中的每个主属性都微乎其微地依赖于键的适当子集,即其自身。

标签: sql database entity-relationship


【解决方案1】:

这句话来自维基百科 (?),我怀疑它使用 Codd 的引用比 C J Date 的引用更多。 Codd 发明了主键的概念,但关系理论已经完全脱离了“主键”的概念。

这是他的关系数据库词典中 Date 的最新定义:

Relvar [关系变量] R 在 2NF 中当且仅当 R 的每个非键属性 A 使得集合 { A } 不可约地依赖于 R 的每个键 - 等效地,如果并且仅当对于每个在R 中保存的非平凡FD X -> Y,(a)X 是一个超键或(b)Y 是一个子键或(c)X 不是一个子键。

请注意,此问题可能会因 SO 而被关闭,因为正如 Date 在他的 Dictionary 中所说,2NF 在实践中并不是特别有趣(他仅出于历史兴趣才将其包含在内)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-31
    • 2012-04-24
    • 1970-01-01
    • 2015-02-05
    • 2014-02-26
    • 2017-10-14
    • 2016-10-31
    • 2017-08-11
    相关资源
    最近更新 更多