Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы_БД_ХД.doc
Скачиваний:
14
Добавлен:
20.08.2019
Размер:
172.54 Кб
Скачать

2.3. Базовые структуры данных для olap

Основными составляющими структуры хранилищ данных для OLAP являются таблицы измерений и таблицы фактов.

Таблицы измерений содержат неизменяемые или редко изменяемые данные. В каждой такой таблице содержится первичный ключ для однозначной идентификации данных, находящихся в таблице, один или несколько описательных атрибутов (обычно – это имена или названия, например, Имя покупателя, Название товара) и могут быть ссылки на другие измерения (с помощью ключей).

Например,

Клиенты(КодКлиента, ИмяКлиента, АдресКлиента, …)

ТОВАРЫ(КодТовара, НаимТовара, Производитель, КодТипаТов, …);

Типы_товаров(КодТипаТов, НаимТипаТов, …)

ПОСТАВЩИКИ(КодПостав, ИмяПостав, АдресПостав, …)

В таблице измерения Клиенты указаны первичный ключ КодКлиента и описательные атрибуты ИмяКлиента и АдресКлиента.

В таблице измерения ТОВАРЫ указаны первичный ключ КодТовара, описательные атрибуты НаимТовара и Производитель и ссылка КодТипаТов на измерение ПОСТАВЩИКИ (здесь это внешний ключ, являющийся первичным ключом в таблице ПОСТАВЩИКИ).

В таблице измерения Типы_товаров указаны первичный ключ КодТипаТов и описательный атрибут НаимТипаТов.

В таблице измерения ПОСТАВЩИКИ указаны первичный ключ КодПостав и описательные атрибуты ИмяПостав и АдресПостав.

Таблица фактов является основной таблицей хранилища данных. Она содержит сведения об объектах или событиях, совокупность которых будет в дальнейшем анализироваться.

Таблица фактов содержит факты, дающие числовую характеристику какому-то аспекту предметной области (например, объём продаж для торговой компании или сумма платежей для банка), ключи для доступа к таблицам измерений, содержащим описания объектов, и поля, характеризующие факты. Объединение первичных ключей таблиц измерений являются составным ключом в таблице фактов. Например,

ПРОДАЖИ(Дата, КодКлиента, КодТовара, КодПостав, Количество, Цена, …)

Здесь Количество и Цена – факты; КодКлиента, КодТовара и КодПостав – ключи для доступа к измерениям соответственно Клиенты, ТОВАРЫ и ПОСТАВЩИКИ; Дата – поле, характеризующее продажи.

Отметим, что в таблице фактов нет никаких сведений о том, как группировать записи при вычислении агрегатных данных. Например, в ней могут быть значения ключевых атрибутов товаров или клиентов, но отсутствует информация о том, к какой категории (типу) может относиться данный товар. Эти сведения, в дальнейшем используемые для построения иерархий в измерениях куба, содержатся в таблицах измерений.

Как ключевые, так и некоторые неключевые поля (например, Дата) соответствуют будущим измерениям OLAP-куба, а числовые поля, содержащиеся в таблице фактов, используются в дальнейшем для получения агрегатных данных.

OLAP-куб создаётся из соединения таблиц фактов и измерений с применением схемы звезды или схемы снежинки.

Схема звезды (схема звёздного соединения, звездоподобная схема, звёздная схема) представляет собой модель данных, в центре которой находится таблица фактов, и все таблицы измерений связаны с ней с помощью ключей и не связаны друг с другом.

Например,

Схема снежинки получила свое название за свою форму, в виде которой отображается логическая схема таблиц в многомерной базе данных. Так же как и в схеме звезды, схема снежинки представлена централизованной таблицей фактов, соединенной с таблицами измерений. Отличием является то, что в ней таблицы измерений могут быть связаны с другими таблицами измерений. Чем больше связей между таблицами измерений, тем сложнее выглядит структура схемы снежинки.

Например,