2015-11-15 64 views

回答

0

啓動模式包括兩種類型的表事實表尺寸的。

明星設計的理想之處在於您可以將數據分爲兩部分。 靜態部分在事實表中用尺寸動態部分(=交易)來描述。

每個事務都作爲新記錄存儲在事實表中,並連接到定義事務上下文的周圍維度。

鏈接中的示例包含兩個事實表:SHIPMENTS和PRODUCT_CONDITIONS。 請注意鏈接中的事實表被稱爲UNITS_HISTORY_FACT和PRICE_AND_COST_HISTORY_FACT,但我覺得這不是一個最佳選擇。

SHIPMENTS表通過定義的通道在某個時間向客戶存儲每次發運PRODUCT的一條記錄。 以上所有信息均使用相應尺寸的相應按鍵進行定義。 事實表中還包含描述交易屬性的MEASURES,這裏是出貨單位的數量。

事實表的結構將是因此

CUSTOMER_ID 
PRODUCT_ID 
TIME_ID 
CHANNEL_ID 
UNITS 

第二個事實表(底部)是更加有趣,因爲在這裏你分成兩個部分的產品:

PRODUCT維定義ID ,名稱和其他更多靜態屬性

PRODUCT_CONDITION這是事實表,設計時期望產品的價格和成本隨時間而變化。 每次更改價格成本時,都會在事實表中插入一條新記錄,並將其連接到PRODUCT(更改時間)和TIME(更改時間)。

事實表的結構會因此

PRODUCT_ID 
TIME_ID 
UNIT_PRICE 
UNIT_COST 

最後注意時間維度的設計。

連接事實表與維度表的最佳做法是使用無意義的ID(代理鍵),但對於TIME維度,您應該小心。對於大的(時間分區的)事實表是經常使用的自然鍵(DATE格式)能夠部署分區功能。在網頁中查看How I Defined a Time Dimension Using a Surrogate Key和其他資源的更多詳細信息。