Как хранятся данные в таблицах измерений и таблицах фактов звездообразной схемы хранилища данных?

#attributes #dimensions #star-schema

#атрибуты #размеры #звездообразная схема

Вопрос:

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

В книге есть хранилище данных о продажах с измерением для продуктов, которое имеет следующую иерархию атрибутов: PRODUCT(AllProducts, ByProductType, OneProduct)

Смотрите изображение ниже: введите описание изображения здесь

Какие образцы данных будут помещены в таблицу измерений продукта?

ПРОДУКТЫ


Все продукты имеют побочный продукттип OneProduct


?                 ?                       ?

?                 ?                       ?

?                 ?                       ?

Если я не ошибаюсь, атрибуты — это столбцы или поля таблицы, и я не могу понять, как будут выглядеть данные в этой таблице

Если вы берете время измерения из того же изображения, данные могут быть легко отобраны:

ВРЕМЯ


Год Квартал Месяц Неделя


2010 1           1        1

2010 1           1        2

2010 1           1        3

2010 1           1        4

Еще одна вещь, которая меня смущает, — это то, как данные выглядят в таблице фактов. В книге указано, что таблица фактов намеренно содержала бы дублированные данные. Например, чтобы получить показатели продаж за целый год, нет необходимости агрегировать значения еженедельных продаж «на лету», потому что они уже были бы рассчитаны. Теперь, если во временном измерении у меня есть значение первичного ключа 1, которое представляет год, квартал, месяц и неделю одновременно, как я могу сохранить совокупное значение 1 целого года в таблице фактов?

ВРЕМЯ


ИДЕНТИФИКАТОР Год Квартал Месяц Неделя


1  2010 1           1        1

SALES_FACT_TABLE


Время продаж, идентификатор продукта


1000  1          ?

Ответ №1:

Серые поля (AllProducts, OneProduct и т.д.) На рисунке являются примерами запросов к измерению products, а не атрибутов.

Атрибуты будут Product.Name , Бренд, артикул, имя_интернала, DevelopmentStartDate, OnMarketDate … неважно

Комментарии:

1. Даже сероватые поля измерения времени? Почему в измерении времени нет поля с именем All_Years, которое напоминало бы поле All_Products в измерении продукта?

2. Я думаю, да. Атрибутами должны быть year, month, day, dayofyear, weekday, is_workday, is_national_holiday и т. Д

3. Я думаю, что диаграмма немного вводит в заблуждение, особенно когда она читается новичком и в сочетании с текстом, представленным в книге. Однако теперь я взял себя в руки. Спасибо.