- •1. Создание модели процессов в bp-win
- •1.1. Инструментальная среда bp-win
- •1.2. Методология idef0
- •1.2.1. Принципы построения модели idef0
- •1.2.2. Работы (Activity)
- •1.2.3. Стрелки (Arrow)
- •1.2.4. Нумерация работ и диаграмм
- •1.1.5. Диаграммы дерева узлов и fео
- •1.2.6. Каркас диаграммы
- •1.2.7. Слияние и расщепление моделей
- •1.2.8. Рекомендации по рисованию диаграмм
- •1,2.9. Проведение экспертизы
- •1.3. Создание отчетов в bp-win
- •1.4. Стоимостный анализ (abc) и свойства, определяемые пользователем (udp)
- •1.5. Дополнение созданной модели процессов диаграммами dfd и Workflow (idef3)
- •1.5.1. Диаграммы потоков данных (Data Flow Diagramming)
- •1.5.2. Метод описания процессов idef3
- •1.5.3. Имитационное моделирование
- •Рис, 1.58. Диалог задания свойств, определяемых пользователем для экспорта в
- •2. Создание модели данных с помощью er-win
- •2.1. Отображение модели данных в er-win
- •2.1.1. Физическая и логическая модель данных
- •2.1.3. Подмножества модели и сохраняемые отображения
- •2.2. Создание логической модели данных
- •2.2.1. Уровни логической модели
- •2.2.2. Сущности и атрибуты
- •2.2.3. Связи
- •2.2.4. Типы сущностей и иерархия наследования
- •2.2.5. Ключи
- •Табельный номер;
- •Номер паспорта;
- •2.2.6. Нормализация данных
- •Рас. 2.53. Иллюстрация четвертой нормальной формы
- •2.2.7. Домены
- •2.3. Создание физической модели данных
- •2.3.1. Уровни физической модели
- •2.3.2. Выбор сервера
- •2.3.3. Таблицы, колонки и представления (view)
- •Рас. 2.63. Диалог Column Editor
- •2.3.4. Правила валидации и значения по умолчанию
- •2.3.5. Индексы
- •2.3.6. Задание объектов физической памяти
- •2.3.7. Триггеры и хранимые процедуры
- •Puс. 2.85. Редактор Schema Properties
- •Рас. 2.86. Закладка Pre&Post Script диалога Schema Properties
- •2.3.8. Проектирование хранилищ данных
- •Рас. 2.91. Выбор нотации dm
- •2.3.10. Прямое и обратное проектирование
- •Рас. 2.106. Диалог Reverse Engineer - Set Options
- •2.4. Генерация кода клиентской части с помощью er-win
- •2.4.1. Расширенные атрибуты
- •2.4.2. Генерация кода к Visual Basic
- •Рас. 2.116. Закладки Power Builder диалога Column Editor
- •2.5. Создание отчетов в er-win
- •2.5.1. Интерфейс Report Browser
- •2.6. Словари er-win
- •2.6.1. Генерация словаря er-win
- •2.6.2. Использование словаря er-win
- •3. Связывание модели процессов и модели данных
- •3.1. Соответствие модели данных и модели процессов
- •3.2. Экспорт данных из er-win в bp-win и связывание объектов модели данных со стрелками и работами
- •3.3. Создание сущностей и атрибутов bp-win и их экспорт в er-win
- •4. Групповая разработка моделей данных: и моделей процессов с помощью platinum Model Mart
- •4.1. Инсталляция Model Mart
- •Рис, 4.1. Создание табличного пространства для Model Mart в диалоге oracle Physical Object Editor
- •4.2. Администрирование Model Mart
- •Рис, 4.5. Model Marl Security Profile Manager -диалог задания прав группам пользователей
- •4.3. Использование репозитория Model Mart
- •5. Создание объектной модели
- •5.1. Язык uml
- •5.2. Создание модели данных на основе объектной модели с помощью er-win Translation Wizard
Puс. 2.85. Редактор Schema Properties
Редактор Schema Properties позволяет просматривать все хранимые процедуры, а также скрипты “до и после генерации схемы”, которые связаны со схемой. Список Attached SP Template содержит имена процедур, связанных с моделью, список Unattached SP Template содержит имена процедур, которые могут быть связаны с моделью. Кнопки <-Attach и Detach-> служат для связывания и открепления процедуры от модели.
Для создания нового шаблона процедуры следует щелкнуть по кнопке Schema SP Template... и в редакторе Stored Procedure Template с помощью ER-win Template Toolbox создать текст процедуры.
Скрипты "до и после генерации". Скриптами "до и после генерации (pre&post scripts schema-generation) называются скрипты SQL, которых ER-win выполняет до или сразу же после генерации таблиц или exert целом (pre&post schema-generation). Например, при прямом проектировании БД из модели ER-win может выполнить скрипт "до генерации схемы" который удаляет старую БД и создает новую до того, как начать генерацию" таблиц и индексов.
Скрипты уровня таблиц могут быть созданы в закладке Pre&Post Script диалога Table Editor.
Скрипты уровня схемы связаны с моделью так же, как и хранимые процедуры. Скрипты уровня схемы определяются в закладке Ргe&Роя Script редактора Schema Properties (рис. 2.86). Создание скрипит аналогично созданию хранимых процедур.
Рас. 2.86. Закладка Pre&Post Script диалога Schema Properties
Для создания текста скриптов служат редакторы Table Template Editor и Schema Template Editor. Опция Generation Option позволяет задать тип скрипта - будет ли он выполнен до или после генерации таблицы или схемы. При создании текста скрипта так же, как и при создании текста хранимых процедур, может быть использован ER-win Template Toolbox.
2.3.8. Проектирование хранилищ данных
Хранилища данных (Data Warehouse) предназначены для хранения данных, которые редко меняются, но на основе которых часто требуется выполнение сложных запросов. Обычно они ориентированы на выполнение аналитических запросов, которые обеспечивают поддержку принятия решении для руководителей и менеджеров. Хранилища данных разгружают промышленные БД, и тем самым позволяют пользователям более эффективно быстро извлекать необходимую информацию. К проектированию хранилищ данных предъявляются следующие требования:
Структура данных должна быть понятна пользователям;
Должны быть выделены статические данные, которые модифицируются по расписанию: ежедневно, еженедельно, ежеквартально;
Должны быть упрощены требования к запросам с целью исключения запросов, которые могли бы требовать множественных утверждений SQL в традиционных реляционных СУБД.
Должна быть обеспечена поддержка сложных запросов SQL, которые требуют последовательной обработки тысяч или миллионов записей. Эти требования существенно отличают структуру реляционных СУБД и хранилищ данных. Нормализация данных в реляционных СУБД приводит к созданного множества связанных между собой таблиц. В результате выполнение сложных запросов неизбежно приводит к объединению многих таблиц, что существенно увеличивает время отклика. Проектирование хранилища данных подразумевает создание денормализованной структуры данных (допускается избыточность данных и возможность возникновения аномалий при манипулировании данными), ориентированной в первую очередь на высокую производительность при выполнении аналитических запросов.
Нормализация делает модель хранилища слишком сложной, затрудняет ее понимание и ухудшает эффективность выполнения запроса.
Для эффективного проектирования хранилищ данных ER-win использует размерную модель (Dimensional). Dimensional - методология проектирования, специально предназначенная для разработки хранилищ данных. Моделирование Dimensional сходно с моделированием связей и сущностей для реляционной модели, но отличается целями. Реляционная модель акцентируется на целостности и эффективности ввода данных. Размерная модель (Dimensional) ориентирована в первую очередь на выполнение сложных
запросов к БД.
В размерном моделировании принят стандарт модели, называемый схемой "заезда" (star schema), которая обеспечивает высокую скорость выполнения запроса посредством денормализации и разделения данных. Невозможно создать универсальную денормализованную структуру данных, обеспечивающую высокую производительность при выполнении любого аналитического запроса. Поэтому схема "звезда" строится так, чтобы обеспечить наивысшую производительность при выполнении одного самого важного запроса либо группы похожих запросов.
Схема "звезда" обычно содержит одну большую таблицу, называемую таблицей факта (fact table), помешенную в центр, и окружающие се меньшие таблицы, называемые таблицами размерности (dimensional table), соединенные с таблицей факта в виде звезды радиальными связями. В этих связях таблицы размерности являются родительскими, таблица факта - дочерней. Схема "звезда" может иметь также консольные таблицы (outrigger table), присоединенные к таблице размерности. Консольные таблицы являются родительскими, таблицы размерности - дочерними.
В размерной модели иконка показывает роль таблицы в схеме "звезда":
- Таблица факта (fact table);
- Таблица размерности (dimensional table);
- Консольная таблица (outrigger table).
Прежде чем создать БД со схемой тина звезды, необходимо проанализировать бизнес-правила предметной области с целью выяснения центрального вопроса, ответ на который наиболее важен. Вес прочие вопросы должны быть объединены вокруг этого основного вопроса, и моделирование должно начинаться с этого основного вопроса. Данные, необходимые для ответа на этот вопрос, должны быть помещены в центральную таблицу модели - таблицу факта. Например, если необходимо создавать отчеты об обшей сумме дохода от продаж за определенный период как по типу товара, так и по продавцам, следует разрабатывать модель так, чтобы каждая запись в таблице факта представляла сумму продаж, осуществленных тем или иным продавцом, с указанием доходов по каждому покупателю и типов проданных товаров (рис. 2.87). В примере таблица факта содержит суммарные данные о продажах (SALE), а таблицы размерности содержат данные о заказчике и заказах (CUSTOMER), продуктах (PRODUCT), продавцах (SALESPEOPLE) и периодах времени (TIME).
Рис. 2.87. Схема звезда
Таблица факта является центральной таблицей в схеме "звезда". Она может состоять из миллионов строк и содержать суммирующие или фактические данные, которые могут помочь ответить на требуемые вопросы. Она соединяет данные, которые хранились бы во многих таблицах традиционных реляционных БД. Таблица факта и таблицы размерности связаны идентифицирующими связями, при этом первичные ключи таблицы размерности мигрируют в таблицу факта в качестве внешних ключей. В размерной модели направления связей явно не показываются - они определяются типом таблиц. Первичный ключ таблицы факта целиком состоит из первичных ключей всех таблиц размерности. В примере (таблица факта SALE) первичный ключ составлен из четырех внешних ключей: CustomerID, SalespeoplelD, TimelD и ProdualD.
Таблицы размерности имеют меньшее количество строк, чем таблицы факта, и содержат описательную информацию. Эти таблицы позволяют • пользователю быстро переходить от таблицы факта к дополнительной информации.
В примере на рис. 2.87 таблица SALE - таблица факта; CUSTOMER, TIME, SALESPEOPLE и PRODUCT - таблицы размерности, которые позволяют быстро извлекать информацию о том, кто и когда сделал покупку, какой продавец и на какую сумму продал и какие именно товары были проданы.
ER-win поддерживает использование вторичных таблиц размерности, называемых консольными таблицами (outrigger), хотя они не требуются для схемы "звезда". Консольные таблицы могут быть связаны только таблицами размерности, причем консольная таблица в этой связи родительская, а таблица размерности - дочерняя. Связь может быть идентифицирующей или неидентифицирующей. Консольная таблица не может быть связана таблицей факта. Она используется для нормализации данных в таблицах размерности. Нормализация данных полезна при моделировании реляционной структуры, но она уменьшает эффективность выполнения запросов к хранилищу данных. В размерной модели главной целью является обеспечение высокой эффективности просмотра данных и выполнения сложных запросов.
Схема "снежинка" (так называется размерная модель, в которой консольные таблицы используются для нормализации каждой таблицы размерности, рис. 2.88) обычно препятствует эффективности, потому что требует объединения многих таблиц для построения результирующего набора данных, что увеличивает время выполнения запроса. Поэтому при проектировании не следует злоупотреблять созданием множества консольных таблиц.
Если денормализованная таблица размерности получается слишком большой, при этом к части колонок запросы делаются чаше, чем к остальным, целесообразно для повышения эффективности разбить одиночную таблицу размерности на две отдельные таблицы размерности. Две полученные таблицы можно связать не идентифицирующей связью. В примере на рис. 2.87 таблица размерности PRODUCT содержит как информацию о конкретном товаре, так и информацию о типах товаров. Если запросы, связанные с типами товаров, делаются чаще, чем по отдельным товарам, можно создать новую таблицу PRODVCTJTYPE и перенести в нее информацию о типах (рис. 2.89). В этом случае за счет того, что колонки, к которым наиболее часто обращаются запросы, переносятся в новую таблицу, уменьшается время выполнение запроса.
Рис. 2.89. Нормализация таблиц размерности
ER-win поддерживает методологию размерного моделирования благодаря использованию специальной нотации для физической модели , Dimensional. Наиболее простой способ перейти к нотации Dimensional, при создании новой модели (меню File/New) в диалоге ER-win Teamplate Selection выбрать из списка предлагаемых шаблонов DIMENSION (рис. 2.90).
В шаблоне DIMENSION сделаны пес необходимые для поддержки нотации размерного моделирования настройки, которые, впрочем, можно установить вручную, преобразовав обычную диаграмму в размерную модель:
Рис. 2.90. Выбор шаблона DIMENSION
Для физического уровня выбрана методология DM (Dimensional I Modeling). Эта опция устанавливается в закладке Methodology диалога I Preferences (меню Option/Preferences), рис. 2,91. При этом показываются I иконки размерности для таблиц. В списке выбора в левой части панели 1 инструментов физический уровень показывается как Dimensional и изменяется вид палитры инструментов на физическом уровне (рис. 2.92).