Лабораторная работа №6. Создание модели ХД на основе корпоративной модели данных.

 

Задачи:

·                      Знать, что такое корпоративная модель данных;

·                      Импортировать таблицы из внешней базы данных (файл exttable.pdm);

·                      Переносить внешние колонки в колонки таблиц модели ХД;

·                      Определять внешние ключи таблиц;

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

·                      Создавать взаимосвязи между таблицами модели ХД.

Ядром любого ХД является его модель данных. Без модели данных будет очень сложно организовать данные в ХД. Поэтому разработчики ХД должны потратить время и силы на разработку такой модели. Разработка модели ХД ложится на плечи проектировщика ХД.

По сравнению с проектированием OLTP-систем, методика проектирования ХД имеет ряд отличительных особенностей, связанных с ориентацией структур данных хранилища на решение задач анализа и информационной поддержки процесса принятия решенийМодель данных ХД должна обеспечивать эффективное решение именно этих задач.

Создание модели ХД на основе корпоративной модели данных

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

·                      На первом этапе проектировщик ХД может начать проектирование ХД с решения задачи преобразования корпоративной модели данных в модель ХД.

Ядром любого ХД является его модель данных. Без модели данных будет очень сложно организовать данные в ХД. Поэтому разработчики ХД должны потратить время и силы на разработку такой модели. Разработка модели ХД ложится на плечи проектировщика ХД.

По сравнению с проектированием OLTP-систем, методика проектирования ХД имеет ряд отличительных особенностей, связанных с ориентацией структур данных хранилища на решение задач анализа и информационной поддержки процесса принятия решенийМодель данных ХД должна обеспечивать эффективное решение именно этих задач.

Корпоративная модель данных

·                      Под корпоративной моделью данных понимают многоуровневое, структурированное описание предметных областей и их структур данных организации, бизнес-процессов и бизнес - процедур, потоков данных, принятых в организации, диаграмм состояний, матриц "данные-процесс" и других модельных представлений, которые используются в деятельности организации. Таким образом, в широком смысле слова, корпоративная модель данных представляет совокупность моделей различного уровня, которые характеризуют (моделируют на некотором абстрактном уровне) деятельность организации, т.е. содержание корпоративной модели напрямую зависит от того, какие модельные конструкции были включены в нее в данной организации.

·                      Импортировать таблицы из внешней базы данных (файл exttable.pdm);

Корпоративная модель данных

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

 

Алгоритм преобразования корпоративной модели данных в модель ХД

·                      Выбрать данные данных корпоративной модели, которые следует хранить в ХД.

·                      Исследовать временные зависимости данных и, если необходимо, добавить элемента времени в ключи сущностей ХД.

·                      Добавить в модель производные элементы данных.

·                      Преобразовать взаимосвязей между данными.

·                      Определить уровень структуризации (детализуемости) данных в ХД.

·                      Объединить данные из таблиц корпоративной модели данных в таблицах выбранной схемы ХД.

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

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

После отбора данных для модели ХД проектировщик ХД должен рассмотреть вопрос о временных зависимостях в отобранных данных. Это связано с тем, что ХД для СППР обычно хранят временные ряды, отражающие изменение значений атрибутов во времени.

Поскольку объемы сохраняемых данных в ХД очень велики, то проектировщик должен решить вопрос хранить или нет в ХД производные атрибуты (или вычисляемые поля). Сохранение в ХД вычисленных значений позволит увеличить производительностьобработки запросов.

После того как проектировщик ХД рассмотрел сущности и их атрибуты, он должен обратить свое внимание на взаимосвязи между данными и решить вопрос о том, какие взаимосвязи между данными корпоративной модели следует перенести в модель ХД.

Следующий вопрос, который должен решить проектировщик ХД не имеет прямого отношения к корпоративной модели, но должен быть решен до того, как проектировщик начнет моделировать данные по одной из типовых схем для ХД "звезда" или "снежинка". Это вопрос об уровне структуризации (детализации) данных или гранулированности данных (Data granularity). Напомним, что уровень структуризации данных - это степень детализации хранимых данных, оптимальный с точки зрения решения информационно-аналитических задач в рамках предметной области ХД.

Теперь проектировщик ХД может приступить к формированию схемы ХД типа "звезда" из таблиц корпоративной

Импорт таблиц внешней базы данных (корпоративной модели данных)

·                      Создадим новую модель ХД;

·                      Выберите пункт меню File->Open и диалоговом окне "Открыть" выберите exttable.pdm;

·                      Переименуем таблицы внешней базы данных, добавив префикс dw1.

Создание новой модели ХД My_Model_2

 

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

 

Импорт корпоративной модели данных

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

 

Корпоративная модель данных

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

 

Размещение на рабочем пространстве таблиц внешней БД

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

 

Практикум 3. Создание модели ХД на основе корпоративной модели данных

·                      Создадимтаблицыизмерений Time, Product, Customer, Employee;

·                      Создадим таблицу фактов Sales.

·                      Таким образом мы получили эскиз схемы "звезда".

·                      Теперь проектировщик ХД может переносить колонки корпоративной модели данных, представленной как физическая модель данных, в таблицы модели ХД.

Добавление таблиц ХД

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

 

Добавление внешних колонок в модель ХД

·                      Выберем таблицу измерений модели ХД TIME.

·                      Откроем диалоговое окно Table Properties (двойной щелчок мыши на таблице).

·                      Откроем закладку Columns.

·                      Щелкнем мышью на кнопке Add New Column. Появится диалоговое окно Selection

·                      Перейдем к колонкам таблицы DW1_FIN_DATA, выберем колонки Year и Quarter и щелкнем мышью по кнопке ОК.

·                      Закроем открытые диалоговые окна. В таблице TIME появятся две колонки. Отметим, что тип этих колонок такой же, как в таблице DW1_FIN_DATA.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

Добавление внешних колонок в модель ХД

·                      Самостоятельно добавить:

o         в таблицу Sales колонку Amount из таблицы DW1_FIN_DATA и колонку Quantity из таблицы DW1_SALES_ORDER_ITEMS;

o         втаблицу CUSTOMER колонки Id, fname, lname, state, Company_name изтаблицы DW1_ CUSTOMER;

o         втаблицу PRODUCT колонки Id, name, size, unit_price изтаблицы DW1_PRODUCT;

o         втаблицу EMPLOYEE колонки emp_id, emp_fname, emp_lname, city, state изтаблицы DW1_ EMPLOYEE.

Добавление колонок в таблицы ХД

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

 

Изменение свойств колонок

·                      Проектировщик ХД может добавлять новые колонки, модифицировать уже добавленные, изменять типы данных, назначать ключевые колонки.

·                      В таблицу измерений Time добавим колонку time_id, первичный ключ целочисленного типа, у колонки year изменим тип на integer.

·                      Изменим свойства представления модели, чтобы видеть ограничения not null.

Изменение свойств колонок

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

 

Изменение свойств колонок

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

 

Изменение свойств колонок

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

 

Изменение свойств колонок

·                      Самостоятельно:

o         Для таблицы Product, изменим имя колонки id на prod_id, чтобы избежать конфликтов имен с другими таблицами и определим ее, как первичный ключ.

o         Для таблица Customer переименуем колонку id на Cust_id, установим для нее признак первичного ключа, переименуем company_name на company.

o         Для таблицы Employee колонку Emp_id установим как первичный ключ.

Изменение свойств колонок таблиц модели ХД

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

 

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

·                      Проектировщик ХД может установить взаимосвязи между таблицами модели ХД.

·                      Для этого выберите на палитре инструментов элементт reference. Щелкните мышью на Sales и перетащите курсор на Product. Вы создали связь. При этом первичный ключ Product автоматически мигрировал в Sales как внешний ключ.

·                      Аналогично поступим для таблиц Time и Employee, а связь между Customer и Sales установим другим способом далее.

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

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

 

Выводы

·                      Мы научились на основе корпоративной модели данных создавать модель ХД, используя:

o         Импорт таблиц из внешней базы данных;

o         Перенос внешних колонок в колонки таблиц модели ХД;

o         Изменение свойств колонок таблиц ХД;

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

 

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

1.          Что такое корпоративная модель?

2.          Как производиться импорт данных из внешней базы данных?

3.          Как производиться изменение свойств колонок таблиц ХД?