可以为空的外键违反的普通表格是什么?

时间:2012-08-21 23:33:13

标签: database database-design normalization

一位同事向我解释说,Nullable Foreign Keys被认为是数据库设计中的不良做法,因为它违反了早期正常形式之一。虽然我在学校学习了基础数据库课程,但我并不认为正常形式是作为主题讨论的。维基百科和讨论该主题的其他网站使用学术术语,但我想更好地理解正常形式的这一方面,而不必对它们进行整体课程。

我认识到not everybody feels nullable foreign keys are bad:这个问题并没有就此问题展开辩论。相反,我想具体了解它们与正常形式主题的关系。可以为空的外键违反哪些普通表单?为什么?

1 个答案:

答案 0 :(得分:2)

我认为Erwin Smout在您关联的问答中回答了这个问题。

Date在第7版中写道。 数据库系统简介

  

第一范式:当且仅在每个合法的情况下,relvar在1NF中   该relvar的值,每个元组只包含一个值   属性。 (第357页)

  

关于零点的全部观点正是它们不是   值 - 它们重复标记或标记。 (第584页)

所以在Date看来,任何列中允许空值的relvar都不在1NF中。

他的章节“缺少信息”有很多关于这个话题。