2012-06-16 21 views
0

示例:具有可選DateOfBirth字段的Employee表可以規範化爲兩個表,其中一個專門用於爲已知日期的僱員保留DateOfBirth字段。但是,這並沒有增加DateOfBirth表中缺少行的語義含義,並且當您查詢員工時,幾乎可以肯定需要將缺少的行外部連接回空值。當外連接查詢只是將它們重新添加回來時避免空值的優點是什麼?

+1

標準化涉及實際數據,而不是您查詢的結果。在結果中看到空值是很好的。嚴格的標準化並不總是有意義的。 – lanzz

回答

1

您在這裏談論兩個完全不同的概念。一個與標準化有關,一個與查詢結果有關。在查詢結果中有大量的空值是完全可以接受的,並且通常需要表示缺失值。在表列中有大量空值表示設計問題。通常情況下,如果您發現一個包含大量空值的列的表,該表就會非規範化。這可能適用於報告數據庫或倉庫類型數據庫。但是,對於生產數據,您通常希望避免這種情況。

相關問題