Схема представляет собой логическое описание всей базы данных. Он включает в себя имя и описание записей всех типов записей, включая все связанные элементы данных и агрегаты. Как и база данных, хранилище данных также требует поддержки схемы. База данных использует реляционную модель, в то время как хранилище данных использует схемы Star, Snowflake и Fact Constellation. В этой главе мы обсудим схемы, используемые в хранилище данных.
Схема звезды
-
Каждое измерение в звездообразной схеме представлено только одномерной таблицей.
-
Эта таблица измерений содержит набор атрибутов.
-
На следующей диаграмме показаны данные о продажах компании по четырем измерениям, а именно: время, позиция, филиал и местоположение.
Каждое измерение в звездообразной схеме представлено только одномерной таблицей.
Эта таблица измерений содержит набор атрибутов.
На следующей диаграмме показаны данные о продажах компании по четырем измерениям, а именно: время, позиция, филиал и местоположение.
-
В центре находится таблица фактов. Он содержит ключи к каждому из четырех измерений.
-
Таблица фактов также содержит атрибуты, а именно проданные доллары и проданные единицы.
В центре находится таблица фактов. Он содержит ключи к каждому из четырех измерений.
Таблица фактов также содержит атрибуты, а именно проданные доллары и проданные единицы.
Примечание. Каждое измерение имеет только одну таблицу измерений, и каждая таблица содержит набор атрибутов. Например, таблица измерения местоположения содержит атрибут set {location_key, street, city, провинция_or_state, страна}. Это ограничение может привести к избыточности данных. Например, «Ванкувер» и «Виктория» оба города находятся в канадской провинции Британская Колумбия. Записи для таких городов могут вызвать избыточность данных вдоль атрибутов провинция_или_стата и страна.
Снежинка Схема
-
Некоторые таблицы измерений в схеме Snowflake нормализованы.
-
Нормализация разбивает данные на дополнительные таблицы.
-
В отличие от схемы Star, таблица измерений в схеме снежинки нормализована. Например, таблица измерений элементов в звездообразной схеме нормализована и разделена на две таблицы измерений, а именно таблицу элементов и поставщиков.
Некоторые таблицы измерений в схеме Snowflake нормализованы.
Нормализация разбивает данные на дополнительные таблицы.
В отличие от схемы Star, таблица измерений в схеме снежинки нормализована. Например, таблица измерений элементов в звездообразной схеме нормализована и разделена на две таблицы измерений, а именно таблицу элементов и поставщиков.
-
Теперь таблица измерений элемента содержит атрибуты item_key, item_name, type, brand и supplier-key.
-
Ключ поставщика связан с таблицей измерений поставщика. Таблица измерений поставщика содержит атрибуты supplier_key и supplier_type.
Теперь таблица измерений элемента содержит атрибуты item_key, item_name, type, brand и supplier-key.
Ключ поставщика связан с таблицей измерений поставщика. Таблица измерений поставщика содержит атрибуты supplier_key и supplier_type.
Примечание. Из-за нормализации в схеме «Снежинка» избыточность уменьшается, и, следовательно, становится проще в обслуживании и экономит место для хранения.
Схема Созвездия Фактов
-
Созвездие фактов имеет несколько таблиц фактов. Это также известно как схема галактики.
-
На следующей диаграмме показаны две таблицы фактов, а именно: продажи и доставка.
Созвездие фактов имеет несколько таблиц фактов. Это также известно как схема галактики.
На следующей диаграмме показаны две таблицы фактов, а именно: продажи и доставка.
-
Таблица фактов продаж такая же, как в схеме «звезда».
-
Таблица фактов доставки имеет пять измерений: item_key, time_key, shipper_key, from_location, to_location.
-
Таблица фактов отгрузки также содержит две меры: проданные доллары и проданные единицы.
-
Также возможно разделить таблицы измерений между таблицами фактов. Например, таблицы измерений времени, позиции и местоположения совместно используются таблицей фактов продаж и отгрузки.
Таблица фактов продаж такая же, как в схеме «звезда».
Таблица фактов доставки имеет пять измерений: item_key, time_key, shipper_key, from_location, to_location.
Таблица фактов отгрузки также содержит две меры: проданные доллары и проданные единицы.
Также возможно разделить таблицы измерений между таблицами фактов. Например, таблицы измерений времени, позиции и местоположения совместно используются таблицей фактов продаж и отгрузки.
Определение схемы
Многомерная схема определяется с помощью Data Mining Query Language (DMQL). Два примитива, определение куба и определение измерения, могут использоваться для определения хранилищ данных и витрин данных.
Синтаксис для определения куба
define cube < cube_name > [ < dimension-list > }: < measure_list >
Синтаксис для определения измерения
define dimension < dimension_name > as ( < attribute_or_dimension_list > )
Определение схемы звезды
Обсуждаемая нами схема типа «звезда» может быть определена с помощью Data Mining Query Language (DMQL) следующим образом:
define cube sales star [time, item, branch, location]: dollars sold = sum(sales in dollars), units sold = count(*) define dimension time as (time key, day, day of week, month, quarter, year) define dimension item as (item key, item name, brand, type, supplier type) define dimension branch as (branch key, branch name, branch type) define dimension location as (location key, street, city, province or state, country)
Определение схемы снежинки
Схему снежинки можно определить с помощью DMQL следующим образом:
define cube sales snowflake [time, item, branch, location]: dollars sold = sum(sales in dollars), units sold = count(*) define dimension time as (time key, day, day of week, month, quarter, year) define dimension item as (item key, item name, brand, type, supplier (supplier key, supplier type)) define dimension branch as (branch key, branch name, branch type) define dimension location as (location key, street, city (city key, city, province or state, country))
Определение схемы фактов
Схема констелляции фактов может быть определена с использованием DMQL следующим образом: