Лабораторная работа №11. Хранилище данных в аналитической платформе DEDUCTOR.

 

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

Ход работы: 

1. Хранилище данных (ХД) DeductorWarehouse - это специально организованная база данных, ориентированная на решение задач анализа данных и поддержки принятия решений, обеспечивающая максимально быстрый и удобный доступ к информации. DeductorWarehouse 6 соответствует модели ROLAP (схема «снежинка»). 

Хранилище данных DeductorWarehouse включает в себя потоки данных, поступающие из различных источников, и специальный семантический слой, содержащий так называемые метаданные (данные о данных). Семантический слой и сами данные хранятся в одной базе данных. Все данные в хранилище DeductorWarehouse хранятся в структурах типа «снежинка», где в центре расположены таблицы фактов, а «лучами» являются измерения, причем каждое измерение может ссылаться на другое измерение. Именно эта схема чаще всего встречается в хранилищах данных (рис.4.9.).  Объекты хранилища данных DeductorWarehouse следующие. 

Измерение - это последовательность значений одного из анализируемых параметров. Например, для параметра «время» это последовательность календарных дней, для параметра «регион» - список городов. Каждое значение измерения может быть представлено координатой в многомерном пространстве процесса, например, Товар, Клиент, Дата. 

Атрибут - это свойство измерения (т.е. точки в пространстве). Атрибут как бы скрыт внутри другого измерения и помогает пользователю полнее описать исследуемое измерение. Например, для измерения Товар атрибутами могут выступать Цвет, Вес, Габариты. 

Факт - значение, соответствующее измерению. Факты - это данные, отражающие сущность события. Как правило, фактами являются численные значения, например, сумма и количество отгруженного товара, скидка. 

Ссылка на измерение - это установленная связь между двумя и более измерениями. Бизнес-понятия (соответствующие измерениям в хранилище данных) могут образовывать иерархии,  например, Товары могут включать Продукты питания и Лекарственные препараты, которые, в свою очередь, подразделяются на группы продуктов и лекарств и т. д. В этом случае первое измерение содержит ссылку на второе, второе - на третье и т.д. 

Процесс - совокупность измерений, фактов и атрибутов. По сути, процесс и есть «снежинка». Процесс описывает определенное действие, например, продажи товара, отгрузки, поступления денежных средств и прочее. 

Атрибут процесса - свойство процесса. Атрибут процесса в отличие от измерения не определяет координату в многомерном пространстве. Это справочное значение, относящееся к процессу, например, № накладной, Валюта документа и так далее. Значение атрибута процесса в отличие от измерения может быть не всегда определено. 

В DeductorWarehouseможет одновременно храниться множество процессов, имеющих общие измерения, например, измерение Товар, фигурирующее в процессах Поступленияи Отгрузка. 

   Все загружаемые в ХД данные обязательно должны быть определены как измерение, атрибут либо факт. Принадлежность данных к типу (измерение, ссылка на измерение, атрибут или факт) содержится в семантическом слое хранилища. Обратим внимание на то, что: 

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

Проектирования структуры ХД.

 

В таблице groups.txt Код группы является измерением, а Наименование группы - его атрибутом. 

В таблице produces.txt Код товара является измерением, а Наименование товара - его атрибутом, а Код группы - ссылкой на одноименное измерение.  В таблице stores.txt Код отдела является измерением, а Наименование отдела - его атрибутом. 

В таблице sales.txt Дата является измерением, Отдел, Код товара и Код группы как было сказано выше – измерения. Час покупки - измерение, Количество и Сумма- факты, т.е. таблица sales.txt является описанием процесса продаж в трех аптеках.

 

2. Создание хранилища данных в DeductorWarehouse.

Откройте программу DeductorStudio, используя ярлык на рабочем столе или

через кнопку Пуск.

Для создания нового хранилища данных или подключения к существующему в DeductorStudio необходимо перейти на закладку Подключения и запустить Мастер подключений. 

На экране появится первый шаг Мастера, в котором следует выбрать тип источника (приемника), к которому нужно подключиться. Выберите DeductorWarehouseи нажмите кнопкуДалее.

На следующем шаге из единственно доступного в списке типа базы данных выберем Firebirdи перейдем на третий шаг мастера. В нем зададим параметры базы данных, в которой будет создана физическая и логическая структура хранилища данных (рис. 2), Нажмите Далее. 

На следующей вкладке выберем последнюю версию для работы с ХД  DeductorWarehouse6 (предыдущие версии необходимы для совместимости с ранними версиями хранилищ). 

На следующем шаге при нажатии на кнопку

По указанному ранее пути будет создан файл farma.gdb (появится сообщение об успешном создании). Это и есть пустое хранилище данных, готовое к работе. 

На последних двух шагах осталось выбрать визуализатор для подключения (здесь это Сведения и Метаданные) и задать имя, метку и описание для нового хранилища. 

 

Рис.2. Установка параметров базы данных

 

После нажатия на кнопку Готово на дереве узлов подключений появится метка хранилища.

 

 

Если соединение по какой-либо причине установить не удалось, то будет выдано сообщение о ответствующей ошибке. В этом случае нужно проверить параметры подключения хранилища данных и при необходимости внести в них изменения (используйте для этого кнопку Настроить подключение.  Для проверки доступа к новому хранилищу данных воспользуйтесь кнопкой Если спустя некоторое время появится сообщение «Тестирование соединения прошло успешно», то хранилище готово к работе. 

Сохраните настройки подключений, нажав на кнопку сохранения .

После создания хранилища необходимо спроектировать его структуру, т.к. в пустом хранилище нет ни одного объекта (процессов, измерений, фактов). Для этого предназначен «Редактор метаданных», который вызывается кнопкой на вкладке Подключения. Нажмите ее.

Для перехода в режим внесения изменений в структуру хранилища нажмем кнопку Разрешить редактировать.

 

 

Появится диалоговое окно с предупреждением. Нажмем Да и в открывшемся окне редактора метаданных, встав на узле Измерения, при помощью кнопки Добавить добавим в метаданные первое измерение Код группы со следующими параметрами:  имя – GR_ID;  метка - Группа.Код;  тип данных-целый. 

Имя - это семантическое название объекта хранилища данных, которое увидит пользователь, работающий с ХД. (Эти параметры для таблицы «Товарные группы»). 

Выполните аналогичные действия для создания всех остальных измерений, взяв параметры из таблицы 1. 

Таблица       1. Параметры измерений Измерение

Имя

Метка

Тип данных

Код группы 

GR-ID 

Группа.Код 

целый

Код товара 

TV_ID 

Товар.Код 

целый

Код отдела 

PART_ID 

Отдел.Код 

целый

Дата 

S_DATE 

Дата 

дата/время 

Час покупки 

S_HOUR 

Час 

целый

В результате структура метаданных нашего хранилища будет содержать 5 измерений.

 

К каждому измерению, кроме Дата и Час, теперь добавим по текстовому атрибуту. Для этого в измерении «Группа.Код» правой кнопкой мыши откроем Атрибуты и справа в поле «Метка» введем название атрибута - Группа.Наименование. Тип данных оставим строковым. Размер поля в строковых атрибутах предлагается равным 100, оставим это без изменений.

Аналогично введите названия атрибутов :для измерения Товар.Код -

Товар.Наименование, для измерения 

Отдел.Код - Отдел.Наименование..

Каждое измерение может ссылаться на другое измерение, реализуя тем самым иерархию измерений (схема «снежинка»). В нашем случае измерение Товар.Код ссылается на Группа.Код (см. табл. 1 и табл. 2). Эту ссылку и установим путем добавления объекта к измерению, для этого в измерении «Товар.Код» правой кнопкой мыши откроем Измерение и выберем пункт

 

После того как все измерения и ссылки на измерения созданы, приступают к формированию процесса. Назовем его Продажи и «соберем» его из 4 существующих измерений: Дата, Отдел.Код, Товар.Код, Час (кнопка ). Кроме них в нашем процессе присутствуют два факта: Количество и Сумма, причем первый - целочисленный, второй – вещественный. Результат представлен на рисунке 3.

 

 

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

 

 

После этого закройте окно редактора. Структура хранилища данных готова. 

Задание. Для выбранной предметной области  сформировать хранилище данных, заполнить его. Привести примеры вывода данных. Содержание отчета

1.         Цель работы.

2.         Ход работы.

3.         Ответы на вопросы.

4.         Листинг программы.

5.         Заключение. Вопросы

1.         Что такое «Редактор метаданных» в DeductorStudio? 

2.         Как создать новое пустое хранилище данных? 

3.         Как сделать иерархию измерений? 

4.         Какие типы данных могут быть у объектов хранилища? 

5.         Чем  факт  отличается от измерения?