Создание физической модели и генерация схемы БД
На уровне физической модели сущности соответствует таблица в реальной СУБД, атрибуту – колонка таблицы, связи – внешний ключ (если для связи задавалось имя роли, то оно соответствует имени колонки внешнего ключа в дочерней таблице), первичным и альтернативным ключам – уникальные индексы, а инверсным входам – неуникальные.
ERwin автоматически присваивает имена элементов логической модели элементам физической схемы исходя из приведенных выше соотношений. Таким образом, разработчику нет необходимости проделывать это вручную. Однако если модель разрабатывалась на русском языке, то имена таблиц, колонок и индексов необходимо задать на английском языке. При этом сами имена сущностей, атрибутов, связей и ролей могут оставаться без изменения.
Для каждой колонки разработчик должен указать тип данных, возможность пустых значений, значения по умолчанию и т.п. в зависимости от используемой СУБД.
Последним шагом на этапе создания физической модели данных является написание триггеров и хранимых процедур. Этот шаг является необязательным, так как в ERwin существуют библиотеки готовых шаблонов триггеров и хранимых процедур. Но при желании разработчик может вносить в них свои изменения.
Для инициации процесса создания схемы в конкретной БД необходимо переключится в режим физической модели и в меню выбрать пункт Tools -> Forward Engineer (рис. 5.1).
Рис. 5.1 – Запуск инжиниринга (формирование скрипта)
В появившемся окне (рис. 5.2) нажать кнопку Generate... (установки по умолчанию подходят для обычной генерации “с нуля”).
Рис. 5.2 – Формирование SQL скрипта
Далее указать пользователя/пароль и алиас БД, куда будет осуществлена загрузка новой схемы (рис. 5.3).
Рис. 5.3 – Подключение к базе данных
На рис. 5.3 в качестве примера использован пользователь STUDENT. При выполнении задания необходимо создать своего пользователя с именем в формате: LAB5-КУРС-ГРУППА-БРИГАДА.
Пользователь должен быть уже создан перед началом инжиниринга.
Интерфейс ERwin
Рассмотрим основные элементы интерфейса Erwin.
Основные инструменты создания модели доступны как из меню, так и через верхнюю линейку панели инструментов. Назначение ее элементов приведено в табл. 5.1.
Нижняя линейка предназначена для настройки параметров отображения диаграммы и играет вспомогательную роль. При помощи элементов данной линейки пользователь имеет возможность устанавливать различные шрифты, менять размер, стиль и цвета символов, выбирать цвета заливки и основных линий.
Таблица 5.1
Верхняя линейка панели инструментов
Элемент линейки | Назначение элемента |
Создание, открытие и сохранение модели | |
Выбор уровня отображения модели: уровень сущностей, уровень атрибутов и уровень описаний | |
Изменение масштаба | |
Генерация схемы БД, синхронизация схемы БД с моделью и выбор сервера СУБД | |
Переключение между физической и логической моделями |
Кроме основной панели инструментов, в ERwin предусмотрена дополнительная перемещаемая панель инструментов (рис. 5.4)
Рис. 5.4 – Панель управления
С ее помощью создаются независимые и зависимые сущности, идентифицирующие и неидентифицирующие связи, полные и неполные категории, связи многие-ко-многим и текстовые элементы.
Например, для того чтобы создать новую сущность, пользователь нажимает кнопку на панели управления, устанавливает указатель мыши в то место на диаграмме, где он хотел бы расположить новую сущность, и один раз нажимает левую клавишу мыши. Или для задания идентифицирующей связи между сущностями пользователь нажимает кнопку, устанавливает указатель мыши сначала на родительскую сущность и один раз нажимает левую клавишу мыши, а затем – на дочернюю сущность и вновь нажимает клавишу мыши.
При переключении на уровень физической модели облик данной панели меняется: вместо кнопки создания категорийной связи появляется кнопка создания представления (view) таблицы, а вместо кнопки создания связи многие-ко-многим – кнопка задания связи между таблицей и представлением. Кнопка создания сущности на физическом уровне носит название кнопки создания независимой таблицы.
Как логическая, так и физическая модель содержат несколько уровней отображения (названия для физической модели заключены в круглые скобки):
1) Уровень "сущности" ("таблицы") – внутри прямоугольников отображается имя сущности (для логической модели) или имя таблицы (для физического представления модели); служит для удобства обзора большой диаграммы или размещения прямоугольников сущностей на диаграмме.
2) Уровень "атрибуты" ("колонки"). При переходе от предметной области к модели требуется вводить информацию о том, что составляет сущность. Эта информация вводится путем задания атрибутов (на физическом уровне – колонок таблиц). В этом режиме прямоугольник-сущность делится линией на две части: в верхней части отображаются атрибуты (колонки), составляющие первичный ключ, а в нижней – остальные атрибуты.
3) Уровень "описание сущности" ("комментарии") служит для презентации диаграммы другим людям.
4) Уровень "первичные ключи" – внутри прямоугольников-сущностей показываются только атрибуты/колонки, составляющие первичный ключ.
5) Уровень "пиктограммы". Для презентационных целей каждой таблице может быть поставлена в соответствие пиктограмма. На уровне физической модели заменяется уровнем упорядочения.
Переключение между уровнями отображения производится при помощи кнопок панели инструментов или всплывающего меню, возникающего при нажатии правой клавиши мыши на пустом месте диаграммы.
Все объекты, представленные на диаграмме, могут редактироваться средствами, принятыми в Windows: группировка, копирование, удаление, перемещение, использование системного буфера.
Нажатие клавиши мыши над сущностью приводит к появлению окна одного из многочисленных редакторов ERwin, среди которых:
- редактор сущностей в целом (определение сущности, дополнительная информация, триггеры, индексы, характеристики таблицы, хранимые процедуры, связанные с таблицей);
- редактор атрибутов (определение атрибутов, колонки таблицы в физическом представлении модели, репозитарий средства 4GL, например, расширенные атрибуты в PowerBuilder).