- •Проектирование баз данных
- •Моделирование в eRwin
- •Лабораторная работа 1 Рабочее пространство проектировщика.
- •Компоненты диаграммы eRwin и основные виды представлений диаграммы
- •Отображение логического и физического уровня модели данных в eRwin
- •Инструменты для создания модели в eRwin
- •Графическое редактирование модели
- •Хранение информации в модели eRwin
- •Настройка режимов отображения
- •Упражнение 1.1. Рабочее пространство.
- •Упражнение 1.2. Отображение информации в модели.
- •Упражнение 2.1. Создание (добавление) сущностей и атрибутов.
- •Упражнение 2.2. Определение доменов
- •Лабораторная работа 3. Связи (relationships) в eRwin
- •Связи категоризации
- •Упражнение 3.1. Создание связей между сущностями.
- •Лабораторная работа 4. Индексы.
- •Унификация атрибутов
- •Упражнение 4.1. Создание альтернативного индекса
- •Упражнение 4.2. Унификация атрибутов.
- •Лабораторная работа 5. Проектирование представлений (View)
- •Упражнение 5.1. Изменение представлений (запросов)
- •Упражнение 5.2. Создание представлений (запросов)
- •Лабораторная работа 6. Прямое проектирование (Forward engineering)
- •Упражнение 6.1. Генерация схемы базы данных методом прямого проектирования
- •Лабораторная работа 7. Обратное проектирование (Reverse engineering)
- •Упражнение 7.1. Reverse Engineering – построение модели данных на основе существующей базы данных.
- •Лабораторная работа 8. Синхронизация с базой данных
- •Упражнение 8.1. Синхронизация модели данных и базы данных
- •Лабораторная работа 9. Генерация отчетов
- •Упражнение 9.1. Создание отчетов.
- •Пример разработки модели в eRwin
- •Интерфейсы к субд
- •Заключение
- •Литература
Упражнение 2.1. Создание (добавление) сущностей и атрибутов.
Откройте файл emovies.er1.
Добавьте к модели новую сущность.
Назовите ее VIDEO CENTER.
Выберите тип number из Domains и перенесите его в область первичных ключей новой сущности.
Выберите address и phone и перенесите их в область неключевых атрибутов.
Переименуйте VIDEO CENTER в STORE, Number – в store-id.
Переместите атрибут address на последнее место в списке атрибутов.
Упражнение 2.2. Определение доменов
Откройте файл emovies.er1.
Создайте новый домен с именем email на основе родительского домена – string.
Добавьте атрибут типа email в сущность Store.
В закладке Definition наберите email address for each employee в Definition Inherited by Att
Выберите закладку UDP. В свойствах домена, определяемых пользователем (Domain User Defined Properties), добавьте новое свойство и назовите его Create Date. Установите тип домена – Date. Установите значение по умолчанию – сегодняшнюю дату.
Лабораторная работа 3. Связи (relationships) в eRwin
Связь - это функциональная зависимость между двумя сущностями (в частности, возможна связь сущности с самой собой). Например, важно знать фамилию сотрудника, и не менее важно знать, в каком отделе он работает. Таким образом, между сущностями "отдел" и "сотрудник" существует связь "состоит из" (отдел состоит из сотрудников). Связь - это понятие логического уровня, которому соответствует внешний ключ на физическом уровне. В ERwin связи представлены пятью основными элементами информации:
тип связи (идентифицирующая, неидентифицирующая, полная/неполная категория, неспецифическая связь);
родительская сущность;
дочерняя (зависимая) сущность;
мощность связи (cardinality);
допустимость пустых (null) значений.
Связь называется идентифицирующей, если экземпляр дочерней сущности идентифицируется через ее связь с родительской сущностью. Атрибуты, составляющие первичный ключ родительской сущности, при этом входят в первичный ключ дочерней сущности. Дочерняя сущность при идентифицирующей связи всегда является зависимой. Связь называется неидентифицирующей, если экземпляр дочерней сущности идентифицируется иначе, чем через связь с родительской сущностью. Атрибуты, составляющие первичный ключ родительской сущности, при этом входят в состав неключевых атрибутов дочерней сущности. Для определения связей ERwin выбирается тип связи, затем мышью указывается родительская и дочерняя сущность. Идентифицирующая связь изображается сплошной линией; неидентифицирующая – пунктирной линией. Линии заканчиваются точкой со стороны дочерней сущности. При определении связи происходит миграция атрибутов первичного ключа родительской сущности в соответствующую область атрибутов дочерней сущности. Поэтому такие атрибуты не вводятся вручную. Атрибуты первичного ключа родительской сущности по умолчанию мигрируют со своими именами. Erwin позволяет ввести для них роли, т.е. новые имена, под которыми мигрирующие атрибуты будут представлены в дочерней сущности. В случае неоднократной миграции атрибута такое переименование необходимо. Например, сущность "посредническая сделка" имеет атрибут "код предприятия-продавца" и "код предприятия-покупателя". В данном случае первичный ключ сущности "предприятие" ("код предприятия") имеет две роли в дочерней сущности. На физическом уровне имя роли - это имя колонки внешнего ключа в дочерней таблице. Мощность связи представляет собой отношение количества экземпляров родительской сущности к соответствующему количеству экземпляров дочерней сущности. Для любой связи, кроме неспецифической, эта связь записывается как 1:n.
ERwin в соответствии с методологией IDEF1X предоставляет 4 варианта для n, которые изображаются дополнительным символом у дочерней сущности: ноль, один или больше (по умолчанию); ноль или один; ровно N, где N - конкретное число. Допустимость пустых (NULL) значений в неидентифицирующих связей ERwin изображает пустым ромбиком на дуге связи со стороны родительской сущности. Обозначения мощности соответственно ноль, один или больше, один или больше, ноль или один в нотации IE приведены на рис. 1.
Рис.1. Обозначения мощности связи в нотации IE
Имя связи на логическом уровне представляет собой "глагол", связывающий сущности. Физическое имя связи (которое может отличаться от логического) для ERwin означает имя ограничения (constraint) или индекса.