Иерархии материалов и продуктов

У меня есть основные данные с информацией о материалах и продуктах в одной таблице. Я создаю звездообразную схему, и мой вопрос: нужно ли мне создавать двухмерную таблицу с отдельными атрибутами материала и атрибутами продукта, или я могу иметь оба в одной таблице измерений? Текущие основные данные выглядят следующим образом:
Идентификатор материала, имя, тип, иерархия продукта 1,2,3,4...иерархия продукта, категория продукта, подкатегория. В моем случае и материал, и продукт одинаковы, поэтому один идентификатор.

Я думаю сделать это в одной таблице, но это лучшая практика? Любые будущие потенциальные проблемы?

Заранее большое спасибо, Арун


person Arun.K    schedule 01.09.2015    source источник
comment
Хорошо, это говорит о том, что не нужно разбиваться на несколько измерений. kimballgroup.com/2001/10/what-not-to-do Думаю, я получил ответ.   -  person Arun.K    schedule 02.09.2015
comment
что конкретно вы пытаетесь проанализировать?   -  person Neil McGuigan    schedule 04.09.2015


Ответы (2)


Важно (и очевидно) то, что таблица фактов имеет два отдельных внешних ключа: PRODUCT_ID и MATERIAL_ID, оба ссылаются на вашу таблицу с одним измерением.

Эта настройка не всегда является лучшей практикой для систем OLTP, поскольку в этом случае база данных не может обеспечить ссылочную целостность. (Вы можете сохранить идентификатор продукта в столбце MATERIAL_ID).

Но для хранилища данных ограничения базы данных обычно не включаются и применяются в заданиях загрузки, так что эта настройка подходит.

Решение о разделении больше зависит от происхождения двух измерений. Если оба они сохраняются вместе, я не вижу смысла их разделять. Если два измерения независимы, с разными жизненными циклами и отдельными источниками, нет смысла их объединять.

И кстати, Кимбалл ИМО упоминает о разделении уровней иерархии (а не отдельных измерениях). Поэтому он считает ошибкой разделение атрибутов продукта, иерархии и атрибутов категории (что не является вашей проблемой).

person Marmite Bomber    schedule 02.09.2015

Это зависит от требований вашего бизнеса.

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

person Ron Dunn    schedule 03.09.2015