Лабораторная работа №5. Проектирования модели ХД по логической модели

 

·                  Создание схемы "Звезда" на основе логической модели ХД;

·                  Анализ логической модели;

·                  Определение колонок таблицы фактов;

·                  Определение колонок таблиц измерений.

Алгоритм создания физической модели ХД

·                  Определение базовых таблиц БД;

·                  Определение колонок в таблицах;

·                  Определение типов данных для колонок;

·                  Назначение первичных ключей таблицам;

·                  Задание ограничений NOT NULL на значения колонок;

·                  Создание связей между таблицами.

Логическая модель ХД

https://www.intuit.ru/EDI/29_01_18_1/1517178111-20683/tutorial/632/objects/13/files/p2_01.jpg

 

Что мы имеем

https://www.intuit.ru/EDI/29_01_18_1/1517178111-20683/tutorial/632/objects/13/files/p2_02.jpg

 

Логическая модель ХД: Таблица фактов "Продажи" (Sales)

Атрибут

Значение

Тип

Sale_ID

Идентификатор продаж, ключ сущности

Целое

Amount

Сумма платежа

Десятичное

Quantity

Количество

Целое

Логическая модель ХД, приведенная на рисунке выше, была разработана для анализа продаж компании в разрезах товары, продавцы, покупатели, время продажи. Она включает в себя четыре сущности для измерений "Время" (Time), "Покупатель" (Customer), "Товар" (Product), "Продавец" (Employee) и одну сущность для фактов "Продажи" (Sale).

Добавление колонок в таблицу фактов

·                  Дважды щелкнув мышью на таблице фактов, открыть диалоговое окно Table Properties;

·                  На диалоговом окне выбрать вкладку Columns;

·                  Определить для каждой колонки имя, тип данных и. т.д.

·                  OK

Определение колонок таблицы фактов

https://www.intuit.ru/EDI/29_01_18_1/1517178111-20683/tutorial/632/objects/13/files/p2_03.jpg

 

Определение колонок таблицы фактов

https://www.intuit.ru/EDI/29_01_18_1/1517178111-20683/tutorial/632/objects/13/files/p2_04.jpg

 

Таблица фактов SALES

https://www.intuit.ru/EDI/29_01_18_1/1517178111-20683/tutorial/632/objects/13/files/p2_05.jpg

 

Логическая модель ХД: Таблица измерений "Время" (Time)

Атрибут

Значение

Тип

Time_ID

Идентификатор времени, ключ сущности

Целое

Year

Год

Целое

Quartet

Квартал

Целое

Добавление колонок в таблицу измерений

·                  Дважды щелкнув мышью на таблице измерений, открыть диалоговое окно Table Properties;

·                  На диалоговом окне выбрать вкладку Columns;

·                  Определить для каждой колонки имя, тип данных и. т.д.

·                  OK

 

Создание таблицы измерений Time

https://www.intuit.ru/EDI/29_01_18_1/1517178111-20683/tutorial/632/objects/13/files/p2_06.jpg

 

Таблица измерений Time

https://www.intuit.ru/EDI/29_01_18_1/1517178111-20683/tutorial/632/objects/13/files/p2_07.jpg

 

Задание

·                  Самостоятельно определить колонки таблиц измерений "Продавец", "Товар" и "Покупатель", исходя из схемы логической модели ХД.

Логическая модель ХД: Таблица измерений "Покупатель" (Customer)

Атрибут

Описание

Тип

Cust_ID

Идентификатор покупателя, ключ сущности

Целое

FName

Имя покупателя

Символьное

LName

Фамилия покупателя

Символьное

Address

Адрес покупателя

Символьное

Company

Место работы

Символьное

Таблица измерений Time (ответ)

https://www.intuit.ru/EDI/29_01_18_1/1517178111-20683/tutorial/632/objects/13/files/p2_08.jpg

 

Логическая модель ХД: Таблица измерений "Товар" (Product)

Атрибут

Описание

Тип данных

Prod_ID

Идентификатор товара, ключ сущности

Целое

Name

Наименование товара

Символьное

Size

Габариты товара

Символьное

Unit_Price

Цена товара

Десятичное

Таблица измерений Product (ответ)

https://www.intuit.ru/EDI/29_01_18_1/1517178111-20683/tutorial/632/objects/13/files/p2_09.jpg

 

Логическая модель ХД: Таблица измерений "Продавец" (Employee)

Атрибут

Описание

Тип данных

Empl_ID

Идентификатор продавца, ключ сущности

Целое

Empl_FName

Имя продавца

Символьное

Empl_LName

Фамилия продавца

Символьное

Address

Адрес продавца

Символьное

Таблица измерений Employee (ответ)

https://www.intuit.ru/EDI/29_01_18_1/1517178111-20683/tutorial/632/objects/13/files/p2_10.jpg

 

Установление связей между таблицами модели

·                  На палитре инструментов выбрать элемент модели Reference;

·                  Щелкнуть левой кнопкой мыши на таблице фактов и перетащить стрелку на таблицу измерений.

·                  Обратите внимание на то, что первичный ключ измерения мигрирует в таблицу фактов.

Установление связи между таблицей измерений Time и таблицей фактов Sales

https://www.intuit.ru/EDI/29_01_18_1/1517178111-20683/tutorial/632/objects/13/files/p2_11.jpg

 

Задание

·                  Самостоятельно установите связи между таблицей фактов и измерениями "Продукт", "Покупатель" и "Продавец".

·                  Таким образом, Вы спроектировали схему "звезда" для анализа продаж компании.

Схема "звезда" для анализа продаж компании

https://www.intuit.ru/EDI/29_01_18_1/1517178111-20683/tutorial/632/objects/13/files/p2_12.jpg

 

Иерархии

·                  Допустим, что продавцы работают в различных регионах, причем каждый продавец работает только в своем определенном регионе.

·                  Допустим, что руководство компании хочет знать, как работают ее сотрудники в регионах.

·                  Введем в построенную схему "звезда" иерархию "Регион".

Добавление иерархии в измерение

·                  Для этого создадим таблицу измерений "Регион" (Region) с колонками RegionID (PK), Region и Manager.

·                  Установим связь между измерением "Регион" и измерением "Продавец".

·                  В диалоговом окне Table Proreties на вкладке Column для внешнего ключа RegionID установим признак первичного ключа.

·                  OK

При введении иерархии в схему "звезда" мы получаем схему "снежинка".

Добавление иерархии в измерение

https://www.intuit.ru/EDI/29_01_18_1/1517178111-20683/tutorial/632/objects/13/files/p2_13.jpg

 

Добавление иерархии в измерение

https://www.intuit.ru/EDI/29_01_18_1/1517178111-20683/tutorial/632/objects/13/files/p2_14.jpg

 

Выводы

·                  На этом практикуме Вы:

o        Научились определять колонки для таблиц фактов и измерений;

o        Устанавливать связи между таблицей фактов и измерениями;

o        Научились строить схемы ХД типа "звезда".

o        Научились добавлять иерархии в измерение.

 

Контрольные вопросы

1.         Как строиться схема типа «Звезда»?

2.         Как добавить иерархии в измерение?

3.         Что такое схема типа «Звезда»?