我試圖爲我的項目之一(銷售訂單)設計數據倉庫的維度建模。我對這個概念很陌生。如何在數據倉庫中按順序在多個產品中存儲事實數據表
到目前爲止,我可以理解產品,客戶和日期可以存儲在維度表中,並且訂單信息將位於事實表中。
Date_dimension表結構將是
date_dim_id, date, week_number, month_number
Product_dimension表結構將是
product_dim_id, product_name, desc, sku
Order_fact表結構將是
order_id, product_dim_id(fk), date_dim_id(fk), order_quantity, order_total_price, etc
如果次序是地方有2或更多數的產品,那麼在order_fact表中會有相同的重複條目order_id, date_dim_id
請幫忙。我很困惑。我知道在關係數據庫中,order table
每個訂單將有一個條目,並且產品和訂單之間的關係將保留在具有order_id和product_id作爲外鍵的另一個表中。
在此先感謝。
你想從訂單表頭中保存什麼信息?您在訂單級別詳細信息中創建一個事實,然後解決如何保存訂單標題信息。例如,客戶只出現在源系統的標題中,但在訂單事實表中,它將針對所有單個產品訂單重複。這沒有問題。唯一的挑戰是如果頭上有總購物金額,則無法在多個產品記錄中重複此操作。 –
對此有兩種主要的解決方法:1.按記錄數除運輸並將其分佈到所有記錄中; 2.添加另一條記錄並假裝航運是一種產品。無論您做什麼,您都需要保留原始訂單號碼,以便衡量「每筆訂單的平均銷售額」和「每份訂單的平均產品數量」等。無論如何,這種頭/細節尺寸建模在互聯網上被討論爲令人厭惡的。你爲什麼不做一些研究並提出具體問題。 –
您應該使用訂單行項目作爲事實表的顆粒 –