Прямое и обратное проектирование

Процесс генерации физической схемы БД из логической модели данных называется прямым проектированием (Forward Engineering). При генерации физической схемы ERwin создает триггеры ссылочной целостности, хранимые процедуры, индексы, ограничения и другие возможности, доступные при определении таблиц в выбранной СУБД.

Процесс генерации логической модели из физической БД называется обратным проектированием (Reverse Engineering). Путем обратного проектирования ERwin позволяет получить логическую модель данных для имеющейся БД. После создания такой модели ее можно соответствующим образом конвертировать, а затем произвести прямое проектирование структуры БД для другой СУБД, т.е. переключиться на другой сервер.

Кроме режимов прямого и обратного проектирования, ERwin поддерживает синхронизацию между логической моделью и системным каталогом СУБД на протяжении всего жизненного цикла создания ИС.

Перед тем, как подключиться к СУБД, нужно создать пустую базу данных средствами Access (в нашем примере это - db2.mdb) (Пуск® Access®Новая база данных).

С помощью меню Database ® Database Connection осуществляется подключение к созданной СУБД Access (рис. П.10)

 
  Прямое и обратное проектирование - student2.ru

Рис. П.10. Диалоговое окно Access Connection

Для генерации системного каталога БД следует выбрать пункт Tools ® Forward Engineer/Schema Generationв главном меню или нажать кнопку Прямое и обратное проектирование - student2.ru на панели инструментов. В результате появится диалоговое окно Schema Generation (рис. П.11), которое имеет три закладки.

 
  Прямое и обратное проектирование - student2.ru

Рис. П.11. Диалоговое окно Schema Generation

Закладка Options этого окна служит для задания опций генерации объектов БД: триггеров, таблиц, представлений, колонок, индексов и т.д. Для установки опций генерации какого-либо объекта следует выбрать объект в левом списке закладки, после чего включить соответствующую опцию в правом списке.

В закладкеSummary отображаются все опции, заданные в закладке Options.

Закладка Comment позволяет внести комментарий для каждого набора опций.

КнопкаPreview вызывает диалоговое окно Schema Generation Preview, в котором отображается SQL-скрипт, создаваемый ERwin для генерации системного каталога СУБД. Нажатие на кнопку Generate приведет к запуску процесса генерации схемы.

КнопкаPrint предназначена для вывода на печать создаваемого ERwin SQL-скрипта.

Кнопка Report сохраняет тот же скрипт в ERS или SQL текстовом файле. Эти команды можно в дальнейшем редактировать любым текстовым редактором и выполнять при помощи соответствующей утилиты сервера.

Кнопка Generate запускает процесс генерации схемы. Возникает диалог связи с БД, устанавливается сеанс связи с сервером и начинает выполняться SQL-скрипт. При этом возникает диалог Generate Database Schema (рис. П.12).

 
  Прямое и обратное проектирование - student2.ru

Рис. П.12. Диалоговое окно Generate Database Schema

В диалогом окне Generate Database Schema сообщается, что генерация базы данных прошла успешно. Созданную базу данных и ее схему можно посмотреть в Access (рис. П.13 и 3.14).

 
  Прямое и обратное проектирование - student2.ru

Рис. П.13. Сгенерированная база данных

 
  Прямое и обратное проектирование - student2.ru

Рис. П.14. Схема сгенерированной базы данных

Для выполнения обратного проектирования следует выбрать пункт меню Tools® Reverse Engineer

При этом возникает диалог Select Template(рис. П.15), в котором нужно выбрать шаблон диаграммы, затем диалог выбора СУБД и, наконец, диалог задания опций обратного проектирования Reverse Engineer – Set Options (рис. П.16).

 
  Прямое и обратное проектирование - student2.ru

Рис. П.15. Диалоговое окно Reverse Engineer – Select Template

После нажатия клавиши Next в диалоге Reverse Engineer – Set Options (рис. П.16) можно задать следующие опции:

l группаReverse Engineer From позволяет задать источник обратного проектирования – БД или SQL(DDL)-скрипт. При помощи кнопки Browse можно выбрать текстовый файл, содержащий SQL-скрипт;

l группаItems to Reverse Engineer позволяет задать объекты БД, на основе которых будет создана модель. При помощи списка выбора Option Set, a также кнопок New, Update и Delete можно создавать и редактировать именованные конфигурации объектов БД, которые могут быть использованы многократно при других сеансах обратного проектирования;

l

 
  Прямое и обратное проектирование - student2.ru

группаReverse Engineer (доступна только при обратном проектировании из БД) позволяет включить в модель системные объекты (окно выбора System Objects) и установить фильтр на извлекаемые таблицы по их владельцу.

Рис. П.16. Диалоговое окно Reverse Engineer – Set Options

После нажатия клавиши Next возникает диалоговое окно соединения с Access (рис. П.17).

 
  Прямое и обратное проектирование - student2.ru

Рис. П.17. Диалоговое окно Access Connection

В этом диалоге устанавливается сеанс связи с сервером (по нажатию кнопки Connect) и начинается процесс обратного проектирования. В результате процесса создается новая модель данных (рис. П.18).

 
  Прямое и обратное проектирование - student2.ru

Рис. П.18. Модель данных, созданная обратным проектированием

В процессе работы модель может изменяться и дополняться. С другой стороны, системный каталог БД может редактироваться другими проектировщиками. В результате спустя некоторое время после последнего сеанса обратного проектирования могут возникнуть расхождения между реальным состоянием системного каталога и моделью данных.

Для синхронизации системного каталога БД и текущей модели следует выбрать пункт меню Tools®Complete Compare или нажать кнопку Прямое и обратное проектирование - student2.ru на панели инструментов. Возникает диалог Complete Compare – Set Options, который во многом похож на описанный выше диалог Reverse Engineer-Set Options. Разница заключается в том, что, в отличие от обратного проектирования, сравнивать текущую модель можно не только с БД или SQL-скриптом, но и с другой моделью ERwin, хранящейся в файле или репозитории ModelMart.

Наши рекомендации