【问题标题】:Definition of 2NF2NF的定义
【发布时间】:2018-03-21 22:12:31
【问题描述】:

某处 2NF 的定义为 -

如果 R 中的每个非主属性 A 在功能上完全依赖于 R 的主键,则关系模式 R 属于 2NF。

在某处它被赋予 -

如果 R 中的每个非主属性 A 在功能上完全依赖于 R 的任何键,则关系模式 R 属于 2NF。

哪个是正确的? 检查部分依赖时只考虑主键或考虑所有键。

【问题讨论】:

  • 我认为它是任何主键或等效键和 ALTERNATE 键。
  • 所以我们可以有主键、候选键、超级键或外键...
  • 否 - 不是外键。只有 PK 或备用键(可能是连接键)等。
  • 两者都不是。 “依赖于任何”是指“依赖于某些”而不是“依赖于所有”。

标签: database database-design


【解决方案1】:

如果 R 的每个非主属性都完全依赖于每个候选键,则关系 R 处于第二范式 R.

E.F.Codd,1971,数据库关系模型的进一步规范化

2NF 不是特别重要。关于函数依赖,重要的范式是基本键范式和 Boyce-Codd 范式。

【讨论】:

  • 它应该依赖于 R 的任何候选键,而不是 R 的每个候选键。
  • 每一个候选键,而不仅仅是一个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-28
  • 2011-08-26
  • 2016-03-19
  • 1970-01-01
相关资源
最近更新 更多