当外连接查询只是将它们重新添加时,避免空值的优点是什么?

时间:2012-06-16 10:31:01

标签: database null normalization

示例:具有可选DateOfBirth字段的Employee表可以规范化为两个表,一个表专门用于保存具有已知出生日期的员工的DateOfBirth字段。但是这对于DateOfBirth表中缺少行没有任何语义含义,并且当您查询员工时,您几乎肯定需要将这些缺失的行外部连接回null。

1 个答案:

答案 0 :(得分:1)

你在谈论两个完全不同的概念。一个与标准化有关,一个与查询结果有关。在查询结果中具有大量空值是完全可接受的,并且通常是可取的,以表示缺失值。表列中包含大量空值表示设计问题。通常,如果找到包含具有大量空值的列的表,则表将被非规范化。这可能适用于报告数据库或仓库类型数据库。但是,对于生产数据,您通常希望避免这种情况。