Data-Warehouse

如何處理“累積事實表”中的 NULL 日期

  • June 28, 2021

維度建模中的一種事實表是Accumulating Snapshot fact Table. 如果你覺得需要復習一下這個類型的含義和定義,可以看看這篇文章: https ://www.holistics.io/blog/the-three-types-of-fact-tables/ 。

想像一下,我們有一個累積事實表,其中包含三個重要的日期列

'Order_Datekey , Manufacturing_Datekey , Ship_Datekey'

第一次插入表時,列沒有數據Manufacturing_Datekey and Ship_Datekey'。我們只知道訂購產品的日期(Order_date)。我需要知道的是我們如何處理 Date 列的空值?我在 Kimbal 書中讀到的重點是在外鍵列中應避免 null。

'Referential
integrity is violated if you put a null in a fact table column declared as a foreign key
to a dimension table'

另一方面,我們起初對這兩個日期列沒有任何價值。你有什麼建議?

提前致謝

您說“應在外鍵列中避免空值”,但這些日期真的是 FK 嗎?

最有可能的是,這些日期只是訂單的屬性,如果日期未知(並且它們未知的原因可能是“因為它還沒有發生”),那麼NULL是表示這些屬性的最佳方式。

如果製造日期或發貨日期其他表的外鍵(或外鍵的一部分),則表明您可能需要重新考慮表結構。

引用自:https://dba.stackexchange.com/questions/294923