2016-09-19 6 views
0

私は誰かがこれを手伝ってくれることを願っています。データウェアハウスの寸法設計

私たちの車両データウェアハウスには2つの次元があります:トラックとパッケージ。どちらもType 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 

ビズ規則と要件は、各トラックが1つのパッケージのみを提供していますと述べています。 (私はそれが現実的ではないことを知っているが、私が直面している特定のビジネスジレンマを最もよく伝える)。

各トラックが提供するパッケージは、時間とともに変化する可能性があります。

これを設計して実装する最良の方法は何ですか?

私の最初の考えは、単にこのような、dim_TRUCKSにPACKAGE_KEYを追加することです:

明らか
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をモデル化しません。私はむしろfactテーブルから参照される次元としてPACKAGETRUCKを設定します。

理由

将来のビジネスルールが変更された場合(この確率は、通常は高いです)あなたは今、それをシンプルに保つ場合よりも多くを改造する必要がある場合があります。

また、複雑さを抑えるようにしてください。選択することができますので、私は、次元を直接参照する際の複雑さの低い方法を検討します。

関連する問題