Таблица фактов
В хранилищах данных таблица фактов состоит из измерений, показателей или фактов бизнес -процесса . Он расположен в центре схемы «звезда» или схемы «снежинка», окруженной таблицами измерений . Если используется несколько таблиц фактов, они оформляются в виде схемы совокупности фактов . Таблица фактов обычно имеет два типа столбцов: столбцы, содержащие факты, и столбцы, являющиеся внешним ключом для таблиц измерений. Первичный ключ таблицы фактов обычно представляет собой составной ключ, состоящий из всех ее внешних ключей. Таблицы фактов содержат содержимое хранилища данных и хранят различные типы показателей, такие как аддитивные, неаддитивные и полуаддитивные меры.
Таблицы фактов предоставляют (обычно) аддитивные значения, которые действуют как независимые переменные, с помощью которых анализируются атрибуты измерений. Таблицы фактов часто определяются по их зернистости . Зерно таблицы фактов представляет собой наиболее атомарный уровень, на котором могут быть определены факты. Структура таблицы фактов продаж может быть определена как «объем продаж по дням по продуктам по магазинам». Таким образом, каждая запись в этой таблице фактов однозначно определяется днем, продуктом и магазином. Другие измерения могут быть членами этой таблицы фактов (например, местоположение/регион), но они ничего не добавляют к уникальности записей фактов. Эти «партнерские измерения» позволяют получить дополнительные фрагменты независимых фактов, но обычно дают информацию на более высоком уровне агрегирования (в регионе много магазинов).
Пример
[ редактировать ]Если бизнес-процессом являются продажи, то соответствующая таблица фактов обычно будет содержать столбцы, представляющие как необработанные факты , так и агрегаты в строках, например:
- 12 000 долларов США , что соответствует «продажам магазина в Нью-Йорке за 15 января 2005 г.».
- 34 000 долларов США , что соответствует «продажам магазина в Лос-Анджелесе за 15 января 2005 г.».
- 22 000 долларов США , что соответствует «продажам магазина в Нью-Йорке за 16 января 2005 г.».
- 21 000 долларов США , что соответствует «среднему дневному объему продаж магазина в Лос-Анджелесе за январь 2005 года».
- 65 000 долларов США , что соответствует «среднему дневному объему продаж магазина в Лос-Анджелесе за февраль 2005 года».
- 33 000 долларов США , что соответствует «среднему дневному объему продаж магазина в Лос-Анджелесе за 2005 год».
«Средние дневные продажи» — это показатель, который хранится в таблице фактов. Таблица фактов также содержит внешние ключи из таблиц измерений , где временные ряды (например, даты) и другие измерения хранятся (например, местоположение магазина, продавец, продукт).
Все внешние ключи между таблицами фактов и таблицами измерений должны быть суррогатными ключами , а не повторно используемыми ключами из рабочих данных.
Типы мер
[ редактировать ]- Аддитивные — меры, которые можно добавлять по любому измерению.
- Неаддитивные — показатели, которые нельзя добавить ни в одном измерении.
- Полуаддитивные – меры, которые можно добавлять по некоторым измерениям.
Таблица фактов может содержать либо факты на уровне детализации, либо факты, которые были агрегированы (таблицы фактов, содержащие агрегированные факты, часто вместо этого называются сводными таблицами).
Особую осторожность следует проявлять при работе с соотношениями и процентами. Одно хорошее правило дизайна [ 1 ] заключается в том, чтобы никогда не хранить проценты или соотношения в таблицах фактов, а только вычислять их в инструменте доступа к данным. Таким образом, в таблице фактов сохраняйте только числитель и знаменатель, которые затем можно агрегировать, а агрегированные сохраненные значения затем можно использовать для расчета соотношения или процента в инструменте доступа к данным.
В реальном мире можно иметь таблицу фактов, которая не содержит показателей или фактов. Эти таблицы называются «таблицами фактов без фактов» или « таблицами соединений ».
Таблицы фактов без фактов могут использоваться для моделирования отношений «многие ко многим» или для фиксации временных меток событий. [ 1 ]
Типы таблиц фактов
[ редактировать ]Существует четыре фундаментальных события измерения, которые характеризуют все таблицы фактов. [ 2 ]
- Транзакционный
- Транзакционная таблица является самой простой и фундаментальной. Детализация, связанная с таблицей фактов транзакции, обычно определяется как «одна строка на строку в транзакции», например, каждая строка в квитанции. Обычно таблица транзакционных фактов содержит данные наиболее подробного уровня, поэтому с ней связано большое количество измерений .
- Периодические снимки
- Периодический снимок, как следует из названия, создает «картину момента», где моментом может быть любой определенный период времени, например, сводка результатов работы продавца за предыдущий месяц. Таблица периодических снимков зависит от таблицы транзакций, поскольку для достижения выбранных результатов производительности ей нужны подробные данные, хранящиеся в таблице фактов транзакций.
- Накопление снимков
- Этот тип таблицы фактов используется для отображения активности процесса, имеющего четко определенное начало и конец, например, обработка заказа. Заказ проходит определенные этапы, пока не будет полностью обработан. По мере выполнения шагов по выполнению заказа соответствующая строка в таблице фактов обновляется. Таблица накопительных снимков часто содержит несколько столбцов дат, каждый из которых представляет собой этап процесса. Поэтому важно иметь запись в связанном измерении даты, которая представляет собой заполнитель для неизвестной даты, поскольку многие важные даты неизвестны на момент создания строки.
- Временные снимки
- Применяя темпоральной базы данных теорию и методы моделирования, можно создать таблицу фактов временного снимка. [ 3 ] позволяет иметь эквивалент ежедневных снимков без создания ежедневных снимков. Он вводит концепцию временных интервалов в таблицу фактов, позволяя сэкономить много места, оптимизировать производительность, в то же время позволяя конечному пользователю иметь логический эквивалент «картины момента», которая его интересует.
Этапы создания таблицы фактов
[ редактировать ]- Определите бизнес-процесс для анализа (например, продажи).
- Определите меры фактов (доллар продаж), задавая такие вопросы, как «какое количество X актуально для бизнес-процесса?», Заменяя X различными вариантами, которые имеют смысл в контексте бизнеса.
- Определите измерения фактов (измерение продукта, измерение местоположения, измерение времени, измерение организации), задавая вопросы, которые имеют смысл в контексте бизнеса, например «анализировать по X», где X заменяется объектом тестирования.
- Перечислите столбцы, описывающие каждое измерение (название региона, название филиала, название подразделения).
- Определите самый низкий уровень (детализации) сводки в таблице фактов (например, объем продаж).
Альтернативным подходом является четырехэтапный процесс проектирования, описанный Кимбаллом: [ 1 ] выберите бизнес-процесс, объявите зерно, определите измерения и определите факты.
Ссылки
[ редактировать ]- ^ Перейти обратно: а б с Кимбалл и Росс - Набор инструментов для хранилища данных, 2-е изд. [Wiley, 2002]
- ^ Кимбалл, Ральф (2008). Набор инструментов для жизненного цикла хранилища данных, 2-е издание . Уайли. ISBN 978-0-470-14977-5 .
- ^ Давиде, Маури. «Таблица фактов временного снимка» .