事實表是如何處理的?


事實表包含一個複合主鍵,其中包括多個外部索引鍵(每個維度表一個)以及使用這些維度來衡量的每一列。

每個資料分段過程都必須包含一個步驟,用於將傳入事實表記錄中的生產ID替換為每個維度的資料倉庫代理鍵。也可能需要其他處理、計算和重組。

在倉庫中,參照完整性 (RI) 定義了事實表中每個外部索引鍵,在等效維度表中都會有一個條目。如果您在事實表中有一筆產品編號為 323442 的銷售記錄,則需要在產品維度表中具有相同編號的產品,否則您將不知道您銷售了什麼。您銷售的產品似乎是不存在的。

對代理鍵的規範且一致的需求定義了您的提取邏輯始終執行兩種型別的代理鍵查詢。首先,每次遇到更改的維度記錄並希望使用緩慢變化的維度技術型別 2 時,都必須建立一個新的代理鍵。

這是處理維度記錄偶爾更改的主要工作方法。您必須為更改的專案建立新的維度記錄併為其分配一個全新的代理鍵。此新記錄中與原始記錄不同的唯一屬性是代理鍵以及觸發更改描述的任何欄位。

第二種代理鍵查詢發生在處理事實表記錄時。請記住,為了保持參照完整性,我們始終首先完成維度記錄的更新。這樣,維度表始終是主鍵的合法來源。在這種第二種代理鍵查詢中,我們必須將事實表記錄中的生產鍵替換為代理鍵的當前正確值。

當所有事實表生產鍵都被替換為代理鍵後,事實記錄就可以載入了。事實表記錄中的鍵已被選擇為各個維度表的正確外部索引鍵,並且事實表保證對維度表具有參照完整性。

但是,在這種情況下保持警惕是有價值的。我們在本節中描述的所有高階管理都在實際資料庫載入之前設定了參照完整性。仍然有可能由於未能載入一個或多個維度表或由於其他管理錯誤(例如,當仍有事實記錄依賴於維度鍵值時刪除維度記錄)而破壞參照完整性。

更新於:2022年2月10日

237 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.