Процесс генерации физической схемы базы данных из логической модели базы данных (прямое проектирование) реализуется командой Tools/Forward Engineer/Schema Generation или кнопкой Forward Engineer (рисунок 3.3.10.1). Для примера создадим физическую схему базы данных «Заказы клиентов» с СУБД Access 2000 из модели с таблицами «Клиент», «Заказ» и представления «Клиент_Заказ» (рисунок 3.3.3.3).
Создадим пустую базу данных «Заказы клиентов» c СУБД Accеss 2000 и кнопкой Select target server выберем СУБД Access 2000.
Рисунок 3.3.10.1. Страница выбора объектов генерации
На страницах Options и Summary выбираются объекты генерации и отображаются все выбранные объекты соответственно (рисунок 3.3.10.1). Каждый набор объектов может быть именован (поле Option Set, кнопки New, Rename, Delete) для повторного использования.
Кнопки Preview, Print, Report позволяют просмотреть, распечатать и сохранить SQL‑скрипт (группа команд SQL) соответственно.
Используя кнопку Filter, можно выбрать для генерации нужные таблицы и представления. В нашем примере выберем таблицы «Клиент», «Заказ» и представления «Клиент_Заказ» (рисунок 3.3.10.2).
Кнопкой Generate запустим процесс генерации. Возникает диалог установки связи с базой данных (рисунок 3.3.10.3). Кнопкой Connect выполним SQL‑скрипт, создающий физическую схему базы данных.
Рисунок 3.3.10.2. Окно выбора таблиц и представлений
Рисунок 3.3.10.3. Окно установки связи с базой данных
Обратное проектирование путем генерации модели базы данных из физической схемы существующей базы данных реализуется командой Tools/Reverse Engineer или кнопкой Reverse Engineer.
Покажем процесс обратного проектирования на базе данных «Кадры» с СУБД SQL Server 7.0.
Infer – порядок создания первичных ключей и связей, если они не прописаны явно. Поднятые флажки Primary Keys и Relstions задают генерацию первичных ключей на основе анализа индексов, а связей – на основе имен колонок первичного ключа или индексов.
Import View Base Tables – установка связей между представлениями и таблицами.
После нажатия кнопки Next выводится окно установки связи с базой данных (рисунок 3.3.10.6).
Нажмем кнопку Connect, и начинается процесс обратного проектирования. В результате формируется новая модель, которую можно откорректировать далее.
Рисунок 3.3.10.6. Окно установки связи с базой данных
Синхронизация модели с базой данных реализуется командой Tools/Complete Compare или кнопкой Complete Compare. Процесс синхронизации похож на процесс обратного проектирования, но дополнительно можно сравнивать с другой моделью ERWin.
В левой части окна сравнения (рисунок 3.3.10.7) показывается состояние модели, справа – схема (системный каталог) базы данных.
Следующие кнопки устанавливают опции синхронизации объектов.
Кнопкой Export/Import можно экспортировать/импортировать объект из модели/БД в БД/модель. Игнорирование различий между моделью и БД осуществляется кнопкой Ignore.
Удаление объекта из БД выполняется кнопкой Delete.
Кнопка Match позволяет связать одинаковые по смыслу объекты (например, таблицы), но имеющие разные имена. Для этого нужно щелкнуть по кнопке, затем – по объекту в модели и, наконец, по объекту, БД. Для отмены связывания используется кнопка UnMatch.
Колонка индикаторов между списками объектов модели и БД показывает установленные опции синхронизации между парами соответствующих объектов.
Кнопки Report и Preview позволяют сформировать отчет о синхронизации и просмотреть сформированный SQL‑скрипт.
Рисунок 3.3.10.7. Окно сравнения модели и схемы базы данных
После нажатия кнопки Next выводится окно для задания дополнительных опций синхронизации (рисунок 3.3.10.8).
Рисунок 3.3.10.8. Окно задания дополнительных опций синхронизации
Рассмотрим основные группы дополнительных опций синхронизации (рисунок 3.3.10.5).
Case Conversion of Logical Names – задание регистров имен создаваемых в модели объектов.
If Table to Import Exists in Model – задание опции генерации схемы для существующего объекта в модели: использовать существующую таблицу (Use Existing Table) или создать дубль (Create Duplicate Tabled).