Схемы представляют собой логическое описание таблиц в хранилище данных. Схемы создаются путем объединения нескольких таблиц фактов и измерений для соответствия некоторой бизнес-логике.
База данных использует реляционную модель для хранения данных. Однако хранилище данных использует схемы, объединяющие таблицы измерений и фактов для соответствия бизнес-логике. В хранилище данных используются три типа схем:
- Схема звезды
- Схема снежинок
- Галактика Схема
Схема звезды
В схеме «звезда» каждое измерение объединяется в одну таблицу фактов. Каждое измерение представлено только одним измерением и не нормализуется.
Таблица измерений содержит набор атрибутов, которые используются для анализа данных.
Пример. В приведенном ниже примере у нас есть таблица фактов FactSales, в которой есть первичные ключи для всех таблиц Dim, а также измеряются единицы_продано и продано долларов для анализа.
У нас есть четыре таблицы измерений — DimTime, DimItem, DimBranch, DimLocation
Каждая таблица измерений связана с таблицей фактов, поскольку таблица фактов имеет первичный ключ для каждой таблицы измерений, который используется для объединения двух таблиц.
Факты / показатели в таблице фактов используются для целей анализа вместе с атрибутом в таблицах измерений.
Схема снежинок
В схеме «Снежинки» некоторые таблицы измерений дополнительно нормализованы, а таблицы Dim связаны с одной таблицей фактов. Нормализация используется для организации атрибутов и таблиц базы данных, чтобы минимизировать избыточность данных.
Нормализация включает в себя разбиение таблицы на менее избыточные меньшие таблицы без потери какой-либо информации, и меньшие таблицы объединяются в таблицу измерений.
В приведенном выше примере таблицы измерений DimItem и DimLocation нормализуются без потери какой-либо информации. Это называется схемой «Снежинки», где таблицы измерений дополнительно нормализуются в меньшие таблицы.
Галактика Схема
В Galaxy Schema есть несколько таблиц фактов и таблиц измерений. В каждой таблице фактов хранятся первичные ключи нескольких таблиц измерений и показателей / фактов для проведения анализа.
В приведенном выше примере две таблицы фактов FactSales, FactShipping и несколько таблиц измерений объединены в таблицы фактов. Каждая таблица фактов содержит первичный ключ для объединенных таблиц Dim и показатели / факты для выполнения анализа.