2016-09-19 55 views
0

我希望有人能幫助我。數據倉庫維度設計

假設我們的車輛數據倉庫中有2個維度:卡車和包裹。兩者都是2型SCD。

dim_TRUCKS包含以下數據:

TRUCK_KEY NAME PRICE 
    1  Ram 45000 
    2  F150 48000 
    3  Tundra 43000 

dim_PACKAGES包含以下數據:

PACKAGE_KEY NAME  PRICE 
    4  Offroad 4000 
    5  Luxury  7000 
    6  Sport  2000 

的BIZ規則和要求規定,每輛卡車只提供一個軟件包。 (我知道這是不現實的,但它最好地表達了我面臨的特定商業難題)。

每個卡車提供的包裝可以隨時間變化。

所以問題是設計和實現這個最好的方法是什麼?

我最初的想法是簡單地將PACKAGE_KEY添加到dim_TRUCKS,比如這個:

TRUCK_KEY NAME PRICE PACKAGE_KEY 
    1  Ram 45000  4 
    2  F150 48000  4 
    3  Tundra 43000  6 

顯然,我想最終是是基於另一個SCD一個SCD的屬性。這是不好的設計?有更好的方法去嗎?

非常感謝。

回答

0

我不會模擬業務規則one package only on one truck。我寧願將PACKAGETRUCK設置爲從fact表中引用的尺寸。

原因

如果在今後的業務規則的改變(這種概率通常很高),你可能要改造現在保持它的簡單,當不止。

你也是對的,總是試圖保持複雜性,因爲你可以選擇,我會用不那麼複雜的方式直接引用維度。

相關問題