2016-09-19 5 views
0

Я надеюсь, что кто-то может мне помочь.Размерность склада для хранения данных

Предположим, у нас есть 2 размера в нашем хранилище данных: ГРУЗОВЫЕ И ПАКЕТЫ. Оба являются SCD типа 2.

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 заявить, что каждый TRUCK предлагает только один пакет. (Я знаю, что это нереально, но это лучше всего соответствует той бизнес-дилемме, с которой я столкнулся).

ПАКЕТ, который каждый TRUCK предлагает, может меняться со временем.

Итак, вопрос в том, как наилучшим образом спроектировать и реализовать это?

Моя первая мысль просто добавить PACKAGE_KEY к dim_TRUCKS, например, это:

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

Очевидно, что я бы в конечном итоге с является атрибутом SCD, основываясь на другом ВСС. Это плохой дизайн? Есть ли лучший способ пойти?

Большое спасибо.

ответ

0

Я бы не смоделировал рабочее правило one package only on one truck. Я предпочел бы установить PACKAGE и TRUCK как размеры, которые относятся к таблице fact.

Причина

Если изменения бизнес-правил в будущем (вероятность этого, как правило, высокий), вы, возможно, придется переделывать больше, чем при сохранении его просто сейчас.

Также вы правы, всегда старайтесь сдерживать сложность, и, поскольку вы можете выбрать, я бы пошел с менее сложным способом непосредственно ссылаться на измерение.

 Смежные вопросы

  • Нет связанных вопросов^_^