Start схема состоит из двух типов таблиц таблицы фактов и размеров.
Идеал дизайна звезды заключается в том, что вы можете разделить свои данные на две части. Статическая часть описывается с размерами и динамической частью (= транзакции) в таблице фактов.
Каждая транзакция хранится в таблице фактов в качестве новой записи и связана с окружающими измерениями, которые определяют контекст транзакции.
Пример в ссылке содержит две таблицы фактов: ПЕРЕВОЗКИ и PRODUCT_CONDITIONS. Обратите внимание, что таблицы фактов в ссылке дублируются UNITS_HISTORY_FACT и PRICE_AND_COST_HISTORY_FACT, но я считаю, что это не лучший выбор.
Таблица SHIPMENTS хранит по одной записи для каждой поставки ПРОДУКТА ЗАКАЗЧИКУ через некоторое время через определенный CHANNEL. Вся вышеуказанная информация определяется с помощью соответствующих клавиш соответствующих измерений. Таблица фактов также содержит МЕРЫ, описывающие атрибуты транзакции, здесь отправляется количество ЕДИНИЦ.
Структура таблицы фактов будет поэтому
CUSTOMER_ID
PRODUCT_ID
TIME_ID
CHANNEL_ID
UNITS
Второй факт таблице (внизу) более интересно, потому что здесь вы разделяете продукт на две части:
Размер продукта, определяющих идентификатор , имя и другие более статические атрибуты
PRODUCT_CONDITION это таблица фактов, разработанная с учетом того, что цена и стоимость продукта будут меняться со временем. С каждым изменением цены или стоить вставить новую запись в таблицу фактов и подключить ее к ПРОДУКТУ и ВРЕМЕНИ (изменения).
Структура таблицы фактов будет поэтому
PRODUCT_ID
TIME_ID
UNIT_PRICE
UNIT_COST
Конечная нота в дизайн измерения времени.
Лучшей практикой для подключения таблицы фактов с таблицами размеров является использование бессмысленного идентификатора (суррогатные ключи), но для измерения TIME вы должны быть осторожны.Для большой (временной разбитой) таблицы фактов часто использовал естественный ключ (формат DATE), чтобы иметь возможность разворачивать функции разбиения. Подробнее см. В How I Defined a Time Dimension Using a Surrogate Key и других ресурсах в Интернете.