Инструкция по использованию CASE-средства ERwin 4.0 в системах обработки данных Рассмотрим цикл разработки информационной модели в Erwin на следующем примере: ведется учет служащих; для каждого служащего хранится информация о детях; существует словарь-справочник для расшифровки занимаемой должности. Таким образом, имеется независимая (родительская) сущность СЛУЖАЩИЙ, зависимая (дочерняя) сущность ДЕТИ, независимая сущность ДОЛЖНОСТЬ. Сущность СЛУЖАЩИЙ имеет атрибуты НОМЕР(ключевой), ИМЯ, КОД ДОЛЖНОСТИ, ДАТА РОЖДЕНИЯ. Сущность ДЕТИ имеет атрибуты НОМЕР СЛУЖАЩЕГО (ключевой), ИМЯ РЕБЕНКА (ключевой), ГОД РОЖДЕНИЯ. Сущность ДОЛЖНОСТЬ имеет атрибуты КОД(ключевой), НАЗВАНИЕ ДОЛЖНОСТИ. 1. Определение сущностей. Для создания новой диаграммы используйте “File/New…”. Выберите тип модели “Logical/Physical” и базу данных “FoxPro”. С помощью переносной панели инструментов Toolbox, отобразим сущности на экране. На диаграмме зависимая сущность изображается прямоугольником, а зависимая сущность – прямоугольником с закругленными углами. Для отображения сущности СЛУЖАЩИЙ щелкните левой кнопкой мыши на значок сущности на панели инструментов (при этом должна измениться форма курсора), а затем еще раз на диаграмме. Аналогичным образом поместите на диаграмму объекты ДЕТИ и ДОЛЖНОСТЬ. После этих операций на экране должны быть расположены 3 объекта. Возможно изменить их расположение на диаграмме. Активизируйте любой объект нажатием на нем левой кнопки мыши и, не отпуская кнопки, передвиньте объект. Для удаления объекта, активизируйте его, нажмите клавишу “Delete” на клавиатуре или используйте меню “Edit/Cut Entity”, а затем подтвердите свои действия. Выбрав каждую сущность, зададим для нее название и подробное описание на русском языке. Это описание появится в отчетах Erwin и может быть отображено на диаграмме. Для этого активизируйте сущность, нажмите правую кнопку мыши и выберите пункт “Entity Properties…” (эти действия можно произвести, используя в меню редактор “Model/Entities”, а затем выбрав требуемую сущность из списка). Если вы хотите изменить шрифты, то воспользуйтесь пунктом “Format/Default Font & Color”. Для того чтобы на диаграмме правильно отображался русский язык на вкладке “General” выберите шрифт Arial Cyr и примените его ко всем объектам. 2. Установим связи (зависимости) между сущностями. СЛУЖАЩИЙ связан идентифицирующей связью с сущностью ДЕТИ. ДОЛЖНОСТЬ связана неидентифицирующей связью с сущностью СЛУЖАЩИЙ. Связи могут иметь свое название. Например, “имеет детей” и “занимает должность”. Для отображения связей воспользуемся той же панелью инструментов Toolbox. Сначала выберем тип связи, а затем мышью укажем родительскую и дочернюю сущность. Идентифицирующая связь изображается на диаграмме сплошной линией, а неидентифицирующая – пунктиром. Линии заканчиваются точкой со стороны дочерней сущности. Описание связи вводится в редакторе “Model/Relationships…” (выберите пункт “Model/Relationships…”, затем выберите связь из списка). Там задается название связи (Verb Phrase), а также мощность связи (Cardinality). Мощность связи – отношение количества экземпляров родительской сущности к соответствующему количеству экземпляров дочерней сущности. Мощность связей показывается точкой на конце или обоих концах линии. Связь 1:N обозначается точкой на конце линии со стороны дочерней сущности. Например: “один СЛУЖАЩИЙ <имеет> много ДЕТЕЙ”. Erwin предоставляет 4 варианта для N, которые изображаются дополнительным символом у дочерней сущности: ноль, один или больше (по умолчанию); один или больше (буква P); ноль или один (буква Z); ровно N (изображается числом N). Связи M:N с точками на обоих концах являются специфическими и предпочтительно устранить их при построении модели. Допустимость пустых значений в неидентифицирующих связях изображается пустым ромбиком. Для примера, мощность связи между СЛУЖАЩИЙ и ДЕТИ – ноль, один или больше; между ДОЛЖНОСТЬ и СЛУЖАЩИЙ – аналогично. Для того чтобы увидеть на диаграмме названия связей и их мощности, необходимо выбрать “Format/Relationsip Display/Verb Phrase” и “Format/Relationsip Display /Cardinality”. Выбрав “Format/Display Level/Entity”, отобразим на диаграмме результат работы. служащ ий имеет / имеют дети предоставлена / имеет должность Диаграмма уровня сущностей 3. Определение атрибутов, задание первичных и альтернативных ключей. Перейдем в режим создания атрибутов “Format/Display Level/Attribute”. Чтобы войти в редактор, активизируйте сущность, нажмите правую кнопку мыши и выберите “Attributes…” или выберите пункт “Model/Attributes…”, а затем выберите из списка объект. В редакторе на русском языке зададим имена ключевых и неключевых атрибутов. Заметим, что для дочерней сущности ДЕТИ ключевой атрибут НОМЕР СЛУЖАЩЕГО не указывается, так как Erwin обеспечивает миграцию ключевых атрибутов из родительской сущности в дочернюю. Аналогично, ключевой атрибут КОД ДОЛЖНОСТИ мигрирует в сущность СЛУЖАЩИЙ, но так как сущности СЛУЖАЩИЙ и ДОЛЖНОСТЬ имеют неидентифицирующую связь, то этот атрибут не будет входить в состав ключевых атрибутов сущности СЛУЖАЩИЙ. После мигрировавшего атрибута будет установлен указатель (FK). Для атрибута ИМЯ сущности СЛУЖАЩИЙ можно указать, что он является альтернативным ключом. Для этого выберите “Model/Key Groups…”, затем выберите из списка сущность (в нашем случае это СЛУЖАЩИЙ), в которой Вы хотите создать альтернативный ключ, нажмите на кнопку “New…”. Выберите тип создаваемой группы ключей “Alternate Key (unique)” и нажмите “OK”. Затем перенесите атрибут ИМЯ в состав этой группы ключей. Чтобы увидеть на экране альтернативные ключи, используйте “Format/Entity Display/Alternative Key Designator (AK)”. Атрибуты первичного ключа родительской сущности по умолчанию мигрируют со своими именами. Erwin позволяет ввести для них роли, то есть новые имена, под которыми мигрирующие атрибуты будут представлены в дочерней сущности. Для этого дважды щелкните мышью на связь между сущностями и задайте в редакторе новое имя для мигрирующего атрибута (вкладка Role Name). Для отображения новых имен на диаграмме выберите “Format/Entity Display/Rolename/Attribute”. Пусть в примере ключевой атрибут НОМЕР СЛУЖАЩЕГО сущности СЛУЖАЩИЙ мигрирует под именем НОМЕР. Тогда результат работы выглядит следующим образом: служащ ий номер код должности (FK) имя (AK1.1) дата рождения имеет / имеют дети имя номер служащ его (FK) год рождения предоставлена / имеет должность код название должности Графический Toolbar, расположенный в верхней части окна диаграммы, обеспечивает быстрый доступ к наиболее употребительным командам Erwin.С его помощью Вы можете изменять уровни дисплеев и масштаб изображения внутри или вне текущей диаграммы. Toolbar также дает Вам возможность быстрого доступа к командам для работы с файлами, печати, созданию схем и редактору предметной области. Toolbar предоставляет пользователю следующие возможности: Открытие новой диаграммы в окне. Открытие существующей диаграммы в новом окне. Сохранение диаграммы в текущем окне. Печать диаграммы в текущем окне. Показ только названия сущностей. Показ названий сущностей и их атрибутов. Показ названий сущностей и их определение. Уменьшение текущей диаграммы. Увеличение текущей диаграммы, и другие возможности. Щелкните правой кнопкой мыши в основании диаграммы, затем выберите пункт “Display Level” (или выберите пункт меню “Format/Display Level”), чтобы показать всплывающее меню, которое даст Вам возможность увидеть различные аспекты модели данных, физическую схему или переключатель уровней масштабирования изображения. Entity – для отображения одних только сущностей в диаграмме. Attribute – для отображения атрибутов в каждой сущности. Primary Key – для отображения атрибутов, которые составляют первичный ключ каждой сущности. Definition – для отображения описания текста в каждой сущности. Icon – для отображения пиктограмм в сущностях для их презентации. 4. Переход к физическому описанию модели. Необходимо выбрать целевую СУБД (например, FoxPro), если Вы не сделали это при создании модели. 1. Перейдите к физической модели. 2. Выберите опцию “Choose Database…” в пункте меню “Database”. Erwin показывает Target Server Editor. 3. Щелкните кнопкой выбора на ту СУБД, в которой Вы хотите хранить физическую схему данных (в нашем случае – FoxPro). 4. Нажмите “OK” для сохранения вашего выбора. На запрос о преобразовании базы данных ответьте “Yes”, чтобы преобразовать типы данных в поддерживаемые типы на новой СУБД. В редакторах “Model/Tables…” и “Model/Columns…” введем имена таблиц и колонок (используя латинские буквы, цифры, специальные символы), соответствующие названиям сущностей и именам атрибутов, а также зададим типы данных. Теперь можно перейти к созданию базы данных. Для этого выполняется команда “Tools/Forward Engineer/Schema Generation…”. 1. Откройте диаграмму и выберите опцию “Tools/Forward Engineer/Schema Generation…”, чтобы открыть редактор Schema Generation Report. 2. Отметьте те опции, которые Вы хотите включить в схему. 3. Нажмите “Generate…”. Erwin предложит вам выбрать путь, где будут находиться ваши таблицы. Erwin создает схему и отображает определенные состояния данных SQL в окне, так что вы можете следить за продвижением. 4. Когда генерация схемы завершена, Erwin выдает итоговое сообщение. Нажмите “OK”, чтобы возвратиться в редактор Schema Generation Report. 5. Щелкните “OK”, чтобы вернуться к диаграмме. 5. Создание отчетов. Для того чтобы создать отчет: 1. Выберите опцию отчета в меню “Tools/Report Builder…/Report Builder…”. Далее нажмите на кнопку “New…”. 2. Пометьте те опции, которые Вы хотите включить в отчет в том порядке, в котором они должны быть в заголовках отчета. Сохраните этот отчет. 3. Выберите “HTML”, “TEXT” или “RTF”, чтобы определить тип отчета. 4. Нажмите кнопку “Run”.