Имя атрибута должно быть уникальным.
Определение атрибута представляет собой формат атрибута (например, денежная единица, дата, буквенно-цифровой код и т.п.). В определении атрибута можно также устанавливать область допустимых значений в формате списка.
После определения атрибутов производится обновление и расширение диаграммы функционального представления, полученной в конце третьей стадии: в блоки сущностей добавляются не ключевые атрибуты ниже разделяющей горизонтальной линии.
Модель данных обычно начинают создавать с логического уровня, который представляется сущностями и атрибутами. Логический уровень модели данных является универсальным и не связан с какой-либо конкретной СУБД.
После построения логического уровня можно выбрать необходимую СУБД и создать физический уровень модели, в которой содержится информация обо всех объектах базы данных (таблицах, колонках, индексах, процедурах и т.п.). Для одного логического уровня можно построить несколько разных физических уровней для различных СУБД (Oracle, Informix, Sybase, Ingress и т.д.).
ERwin позволяет создавать модели трех типов: логическую (Logical),
физическую (Phisical) и модель, имеющую как логический, так и физический уровни (Logical/Phisical), пакет Design/IDEF- модель логического уровня. При создании новой модели в диалоге Create Model можно выбрать тип новой модели. Рекомендуется выбирать тип модели (Logical / Phisical), так как при генерации базы данных физического уровня потребуется физический тип модели.
В ERwin различают три подуровня логического уровня модели данных, отличающихся по глубине представления информации о данных: диаграмма сущность-связь; модель данных, основанная на ключах; полная атрибутивная модель.
Диаграмма сущность-связь (Entity Relationship Diagram (ERD)) включает сущности и взаимосвязи, она не слишком детализирована и в нее включаются основные сущности и связи между ними. ER-диаграмма может включать связи «многие ко многим» и не включать описание ключей. Обычно этот тип диаграммы используется для презентаций и обсуждения структуры данных с заказчиком.
Модель данных, основанная на ключах, включает описание всех сущностей и первичных ключей и обеспечивает более полное представление структуры данных.
Полная атрибутивная модель представляет данные в третьей норма-льной форме, включает все сущности, атрибуты и связи. Эта модель обеспечивает наиболее детальное представление структуры данных.
Построение логической модели данных предполагает определение сущностей, атрибутов и первичных ключей. Проектировщик должен таким образом определить хранящуюся информацию в конкретной сущности и в конкретном атрибуте, чтобы обеспечить полную информационную поддержку для выполнения всех функций, заложенных в информационную си-стему. Поэтому в основе построения ER-модели должна находиться функциональная иерархическая модель (IDEF0-модель), стрелки в которой обозначают информацию, используемую в моделируемой системе.
В общем случае следует исходить из того, что каждой стрелке должна соответствовать либо сущность, либо атрибут сущности. При этом следует учитывать, что информация, которая моделируется в виде одной стрелки в модели процессов, может содержаться в нескольких сущностях и атрибутах модели БД. Например, стрелке «новый товар» соответствуют атрибуты «название товара», «цена товара», «производитель товара» и т.п.
5.1. Создание сущностей и связей ER-диаграммы в ERwin
Основные компоненты диаграммы ERwin - это сущности, атрибуты и связи. На физическом уровне сущности соответствует таблица, экземпляру сущности - строка в таблице, а атрибуту - колонка таблицы.
Построение модели данных предполагает определение сущностей и атрибутов, т.е. необходимо определить, какая информация будет храниться в конкретной сущности и в конкретном атрибуте. Сущность можно определить как объект, событие или концепцию, информация о которых должна сохраняться. Для внесения сущности в модель необходимо (убедившись предварительно, что вы находитесь на уровне логической модели) щелкнуть на кнопке сущности Ей на панели инструментов, затем щелкнуть на том месте диаграммы, где необходимо расположить новую сущность. Щелкнув правой кнопкой мыши по сущности и выбрав из всплывающего меню пункт Entity Properties, можно вызвать диалог Entities, в котором определяются имя, описание и комментарии сущности (рис. 15).
Рис. 15. Диалог Entities
Для описания атрибутов следует, щелкнув правой кнопкой по сущности, выбрать в появившемся меню пункт Attributes. Появляется диалог Attributes (рис. 16).
Если щелкнуть по кнопке New, то в появившемся диалоге New Attribute можно указать имя атрибута, имя соответствующей ему в физической модели колонки и домен.
Для атрибутов первичного ключа во вкладке General диалога Attributes необходимо сделать пометку в окне выбора Primary Key.
Вкладка Definition позволяет записывать определения отдельных атрибутов.
Для большей наглядности диаграммы каждый атрибут можно связать с иконкой. При помощи списка выбора Icon во вкладке General можно связать иконку с атрибутом.
Домен атрибута будет использоваться при определении типа колонки на уровне физической модели.
Рис. 16. Диалог Attributes
В ERwin домен может быть определен только один раз и использоваться как в логической, так и в физической модели.
Домен может быть создан на основе другого домена и наследовать все свойства домена-прародителя. По умолчанию ERwin имеет четыре предопределенных домена: String, Number, Blob, Datetime. Создать домен мож-но во вкладке Domains окна Model Explorer.
Домены позволяют облегчить работу с данными как разработчикам на этапе проектирования, так и администраторам на этапе эксплуатации системы.
Рис. 17. Диалоговое окно для построения связей
Для создания новой связи следует:
· установить курсор на нужной кнопке (идентифицирующая или неидентифицирующая связь) в палитре инструментов и нажать левую кнопку мыши;
· щелкнуть сначала по родительской, а затем по дочерней сущности.
Форму линии связи можно изменить. Для этого нужно захватывать мышью нужную линию связи и переносить ее с места на место, пока линия не начнет выглядеть лучше.
В палитре инструментов кнопка соответствует идентифицирующей связи, кнопка
- связи "многие ко многим" и кнопка соответствуют неидентифицирующей связи.Для редактирования свойств связи следует щелкнуть правой кнопкой мыши по связи и выбрать в контекстном меню пункт Relationship Properties.
Во вкладке General появившегося диалога можно задать мощность, имя и тип связи (рис. 17).
5.2. Интеграция IDEF0- и IDEF1X-моделей и связывание объектов модели данных со стрелками и работами
BPwin позволяет связывать модели данных (ER-диаграммы) с
Рис. 18. Модель данных, открытая в ERwin
функциональными моделями, определяя при этом влияние работ (функциональных блоков) на данные и позволяя создавать спецификации на права доступа к данным для каждого процесса [3].
Первым шагом связывания модели данных и функциональной модели является экспорт данных из ERwin в BPwin. Для этого используем способ импорта через файлы формата .ЕАХ - .ВРХ.
Для экспорта модели данных из ERwin в BPwin необходимо в ERwin открыть модель (рис. 18) и выбрать пункт меню File/Export/BPwin. В появившемся диалоге Select BPwin Export File необходимо выбрать каталог, вставить имя создаваемого файла экспорта с расширением *.еах и нажать “Сохранить”. Затем в BPwin нужно открыть модель процессов (рис. 19) и выбрать в меню пункт File/Import/ERwin (EAX). Затем в диалоге Open выбрать имя файла с расширением *.еах и нажать “Открыть”.
Рис. 19. Функциональная IDEF0-модель
Появится диалог Import Differences Preview, в котором показывается протокол импорта (рис. 20). Для внесения данных в модель процессов следует щелкнуть по кнопке Accept. Кнопка Cancel отменяет импорт.
После внесения модели данных в BPwin можно связать сущности и атрибуты со стрелками. Правой кнопкой мыши нужно щелкнуть по любой стрелке (например, по стрелке ценники) функциональной модели (рис. 19) и выбрать в контекстном меню Arrow Data.
Появляется вкладка Arrow Data диалога Arrow Properties (рис. 21).
Рис. 20. Диалог Import Differences Preview
Рис. 21. Вкладка Arrow Data диалога Arrow Property для стрелки ценники
Для связывания атрибута с выбранной стрелкой достаточно щелкнуть по иконкам выбора
в иерархическом списке соответствующих атрибутов на рис. 21 они отмечены галочкой. При этом сущность автоматически связывается со стрелкой. Каждая стрелка в модели процессов может быть связана с несколькими атрибутами различных сущностей (рис. 25).Следует также учесть воздействие функциональных блоков на данные, то есть они определяют, какие данные для них являются входящими и исходящими. Для документирования такого воздействия необходимо щелкнуть правой клавишей мыши по блоку и в появившемся контекстном меню выбрать пункт меню Data Usage Editor.