
- •Методические указания к лабораторной работе по курсу «Информационные системы»
- •1. Средства функционального моделирования
- •1.1.Методика работы с case-средством bPwin
- •1.2.Сравнительный анализ сase- средств функционального моделирования
- •2.Средства информационного моделирования
- •2.1.Методика работы с case-средством eRwin
- •Отображение логического и физического уровня модели данных в eRwin
- •Компоненты диаграммы eRwin и основные виды представлений диаграммы
- •Инструменты для создания модели в eRwin
- •Идентификация сущностей. Сущности в eRwin
- •Связи (relationships) в eRwin
- •Графическое редактирование модели
- •Альтернативные ключи
- •Инвертированные индексы
- •Связи категоризации
- •Реализация ссылочной целостности с помощью eRwin
- •Хранение информации в модели eRwin
- •2.2. Расширенные функции eRwin Обратное проектирование (Reverse engineering)
- •Синхронизация с базой данных
- •Интерфейсы к субд
- •Поддержка средств 4gl
- •Программирование триггеров и процедур
- •Правила и начальные значения
- •Генерация отчетов
- •Настройка режимов отображения
- •Заключение
- •2.2.Сравнительный анализ case-средств информационного моделирования. Общие выводы
Графическое редактирование модели
Все объекты модели ERwin могут редактироваться средствами, принятыми в Windows, - группировка, копирование, удаление, перемещение, использование системного буфера. Установка цветов и шрифтов осуществляется в удобных диалогах.
Альтернативные ключи
Альтернативный ключ - это атрибут (или группа атрибутов), несовпадающий с первичным ключом и уникально идентифицирующий экземпляр сущности.
Для альтернативного ключа, как и для первичного, ERwin автоматически создает индексы при генерации БД. Для описания альтернативных и инверсионных ключей необходимо выбрать кнопку ... (диалог Attribute Editor, закладка Key Group) и в появившемся диалоге закладка Key Group Editor (см. рис.15) создать новую ключевую группу (либо инверсионную, либо альтернативную) и указать, какие атрибуты входят в ту или иную группу.
Рис. 15 Диалог Key Group Editor
Инвертированные индексы
Атрибуты, составляющие альтернативный ключ, однозначно (уникально) идентифицируют экземпляры сущности. В ERwin можно также составлять группы атрибутов, которые не идентифицируют уникально экземпляры сущности, но часто используются для доступа к данным. Для каждой такой группы атрибутов ERwin создает неуникальные индексы.
Одни и те же атрибуты сущности могут входить в несколько различных групп ключей.
Связи категоризации
Некоторые сущности определяют целую
категорию объектов одного типа. В ERwin в
таком случае создается сущность для
определения категории и для каждого
элемента категории, а затем вводится
для них связь категоризации. Родительская
сущность категории называется супертипом,
а дочерние- подтипом. Для моделирования
категорий служит кнопка
в палитре инструментов.
Например, сущность "сотрудник" может содержать данные как о штатных работниках, так и о временно нанятых. Первые и вторые имеют различные, частично пересекающиеся наборы атрибутов (минимальное пересечение подтипов составляет первичный ключ). Общая часть этих атрибутов, включая первичный ключ, помещается в сущность- супертип "сотрудник".
Различная часть (например, данные почасовой оплаты для временных работников и данные о зарплате и отпуске для штатных работников) помещается в сущности-подтипы.
В сущности- супертипе вводится атрибут-дискриминатор, позволяющий различать конкретные экземпляры сущности - подтипа.
В зависимости от того, все ли возможные сущности-подтипы включены в модель, категорийная связь является полной или неполной. Продолжая пример, если супертип может содержать данные об уволенных сотрудниках, то эта связь - неполной категоризации, так как для него не существует записи в сущностях - подтипах.
В ERwin полная категория изображается окружностью с двумя подчеркиваниями, а неполная - окружностью с одним подчеркиванием.
Реализация ссылочной целостности с помощью eRwin
Физический уровень представления модели зависит от выбранного сервера (меню Server/ Target Server..). На физическом уровне модель данных необходимо дополнить такой информацией как учет ограничений ссылочной целостности, хранимые процедуры, триггеры, индексы. Триггеры и хранимые процедуры представляют собой программный код и хранятся на сервере. ERwin обеспечивает мощный инструментарий для создания триггеров: шаблоны и библиотеки макросов. Макросы содержат наиболее часто используемые данные и конструкции. Для редактирования шаблонов триггеров используется редактор Trigger Template Editor (см рис.16) (для его вызова следует нажать правую кнопкой на таблицу и выбрать пункт Trigger в появившемся меню).
Рис. 16 Диалоги Trigger Template Editor и ERwin Template Toolbox.
По умолчанию ERwin генерирует триггеры, дублирующие декларативную ссылочную целостность (опцию можно отменить).
Ссылочная целостность - это обеспечение требования, чтобы значения внешнего ключа экземпляра дочерней сущности соответствовали значениям первичного ключа в родительской сущности. Ссылочная целостность может контролироваться при всех операциях, изменяющих данные (INSERT/UPDATE/DELETE). Средства контроля ссылочной целостности в ERwin включают автоматическую генерацию триггеров и использование механизмов декларативной ссылочной целостности (для тех СУБД, которые поддерживают данные механизмы).
Для каждой связи на логическом уровне могут быть заданы требования по обработке операций INSERT/UPDATE/DELETE для родительской и дочерней сущности. ERwin представляет следующие варианты обработки этих событий:
отсутствие проверки;
проверка допустимости;
запрет операции;
каскадное выполнение операции (DELETE/UPDATE);
установка пустого (NULL-значения) или заданного значения по умолчанию.
В соответствии с выбранным вариантом ERwin автоматически создает необходимые триггеры на диалекте SQL целевой СУБД. При этом ERwin пользуется библиотекой шаблонов триггеров, которые можно модифицировать.