- •Применение case средства erwin-95 для моделирования процессов
- •1. Сущности в ErWin
- •2. Связи (relationships) в ErWin
- •3. Альтернативные ключи
- •4. Внешний вид и краткое описание меню ErWin
- •5. Панель инструментов ErWin
- •6. Примеры работы в ErWin
- •6.1. Пример разработки простой логической модели
- •6.2. Пример разработки более сложной логической модели и построения физической модели, включая формирование физических файлов
- •7. Создание обработчика баз данных
- •Список используемой литературы
5. Панель инструментов ErWin
Рис. 2. Основная панель инструментов ErWin
- выбор и перемещение сущностей и связей
- создание сущностей
- создание связи-подкатегории
- создание текстовых меток
- управление атрибутами внутри сущности
- создание идентифицирующей связи
- создание связи «многие-ко-многим»
- создание не-идентифицирующей связи
6. Примеры работы в ErWin
6.1. Пример разработки простой логической модели
Рассмотрим построение модели на примере простейшей задачи: создать БД адресов. Адрес состоит из страны, города, улицы и № дома.
Создадим 3 справочника: Страны(Код_страны, название), Города(Код_города, название), Улицы(Код_Улицы, название) и соединим данные в один справочник Адреса(Код_адреса, Код_страны, Код_города, Код_улицы, № дома). Их английские эквиваленты выглядят так: Lands(Key_Land, Caption), Cities(Key_City,Caption), Streets(Key_Street, Caption), Address(Key_Address, Key_Land, Key_City, Key_Street, House).
Создадим эти сущности:
Выберите инструмент и создайте необходимое количество сущностей (в нашем случае четыре).
Выберите инструмент и в контекстном меню для каждой сущности выберите Entity Editor
В появившемся окне (рис. 3) в поле Name дайте осмысленное имя сущности (см. английские эквиваленты).
Рис. 3. Вид окна редактирования сущности
Теперь зададим для каждой сущности (кроме сущности Адреса. Почему – будет сказано ниже) ее атрибуты. Для этого:
В контекстном меню выберите пункт Attribute Editor.
В появившемся окне (рис. 4) нажмите кнопку New.
Выберите базовый тип для атрибута и введите его имя (см. английские эквиваленты).
Для ключевых атрибутов включите опцию Primary Key (в правой нижней части окна редактирования атрибутов)
Повторяйте шаги 2-4 для каждого атрибута
Рис. 4. Вид окна редактирования атрибутов
Теперь создадим атрибуты для сущности Адреса. Для нее указываем ТОЛЬКО ключевой атрибут (Код_адреса) и атрибут № дома (рис. 5)
.
Рис. 5. Сущности с атрибутами
Затем создадим связи между данными сущностями:
Выберите инструмент и укажите сначала родительскую, а затем дочернюю сущность (например, Lands-Address).
Неидентифицирующая связь была выбрана для того, чтобы ключевые атрибуты родительской сущности скопировались в обычные атрибуты дочерней (При использовании идентифицирующей связи ключевые родительские атрибуты копируются в КЛЮЧЕВЫЕ атрибуты дочерней сущности).
Полученная готовая логическая модель изображена на рис. 6. Также на рис. 7 изображена эта же модель, но уже в физическом представлении для СУБД InterBase.
Рис. 6. Готовая логическая модель.
Рис. 7. Физическая модель
6.2. Пример разработки более сложной логической модели и построения физической модели, включая формирование физических файлов
Рассмотрим цикл разработки на примере моделирования корпоративной сети типа Intranet. Данная задача характеризуется следующими сущностями: компьютеры, серверы, платформы, пользователи, месторасположения, процессоры, память, операционные системы, должности, узлы, типы серверов, страны, города, улицы.
Сначала создадим логический уровень модели.
Для этого зададим режим отображения сущностей (Контекстное меню/Display Level/Entity). Создадим при помощи линейки инструментов сущности “Computers”, “Servers”, “Platforms”, “Users”, ”Locations”, ”Processors”, “Memory”, “OS”, “Positions”, “Sites”, ”Servers_Type”, ”Lands”, ”Cities”, ”Streets”. Для этого нужно выбрать на панели инструментов инструмент Entity( ) щелкнуть мышкой в поле построения диаграммы. Будем именовать сущности на языке, удовлетворяющем правилам целевой СУБД (обычно это означает использование латинских букв, цифр и некоторых специальных символов). В дальнейшем это позволит сократить время построения физической модели. Можно давать названия и на русском, но тогда во время построения физической модели придется переименовывать все сущности, атрибуты и связи.
Укажем связи между сущностями.
Например, “Processor” связан не идентифицирующей связью( ) “является компонентом” с сущностью “Platforms” и т.д. Название связи необязательно. Оно вводится в редакторе “Editor/Relationship/Parent-To-Child”. Название также желательно вводить, используя только разрешенные символы. Для отображения имен связей должна быть включена опция “Stored Display/Logical/Verb Phrase”.
Результат работы отображен на диаграмме ERwin (рис. 8)
Рис. 8. Логическая модель
Теперь перейдем в режим задания атрибутов (Display Level/Attribute).
В редакторе "Attribute Editor" зададим имена ключевых и неключевых атрибутов. Заметим, что для дочерней сущности “Platforms” ключевой атрибут “Processor_Key” не указывается вручную. ERwin обеспечивает его миграцию из родительской сущности. То же происходит с другими дочерними сущностями.
Для атрибута “Surname” сущности “Users” можно указать, что он является альтернативным ключом (если считать, что у всех пользователей уникальные фамилии). Для этого после имени атрибута поместим указатель AK1 в скобках.
Результат работы отображен на диаграмме ERwin (рис. 9) в нотации IDEF1X.
Рис. 9. Диаграмма уровня атрибутов в нотации IDEF1X
Теперь перейдем к созданию физической модели. Для этого выберите пункт “Physical” из выпадающего списка в правой верхней части экрана. Появится диаграмма, напоминающая логическую модель, но теперь каждый атрибут содержит тип поля и его длину(если есть). В редакторе атрибутов (“Attribute Editor”) можно изменить тип поля и его длину. Полученная физическая модель показана на рис. 10.
Рис. 10. Физическая модель
Теперь все готово к созданию БД и нужно выбрать целевую СУБД (если этого не было сделано ранее).
Выберите в меню “Server” пункт “Target Server”. В появившемся диалоге (рис. 11) выберите опцию “Fox Pro” и нажмите “OK”.
Далее выберите в меню “Tasks” пункт “Forward Engineer/Schema Generation”, нажмите кнопку “Generate…” и выберите каталог, в который необходимо сохранить таблицы, например “C:\Test”. После нажатия кнопки «ОК» будет выполнено формирование физических таблиц и индексных файлов.
Рис. 11. Выбор целевой СУБД