После нажатия на кнопку Next диалога Complete Compare - Set Options возникает диалог связи с БД (см. рис. 2.103), устанавливается сеанс связи с сервером и в диалоге Complete Compare - Resolve Differences показывается текущее состояние модели (слева) и системного каталога СУБД (справа) (рис. 2.107).
Рис. 2.107. Диалог Complete Compare - Resolve Differences
В правой части диалога находятся кнопки, позволяющие задать режим синхронизации для каждого объекта модели или БД:
– экспорт объекта из модели в БД; – импорт объекта из БД в модель; – игнорирование различия между моделью и БД (по умолчанию принимается для всех объектов); – удаление объекта из БД.Кнопки Match и UnMatch позволяют связать объекты модели и БД, имеющие разные имена. Например, в модели ERwin таблице CUSTOMER соответствует таблица CUST в БД. По умолчанию ERwin определяет, что это разные объекты, хотя по смыслу это одно и то же. Для того чтобы ERwin правильно провел синхронизацию, необходимо вручную связать эти две таблицы. Для связывания таблиц необходимо щелкнуть по кнопке Match, затем по таблице модели (левый список) и, наконец, по таблице БД (правый список). Кнопка UnMatch служит для отмены связывания таблиц.
Линейка индикаторов между списками показывает установленную опцию синхронизации объектов.
Кнопка Report, позволяет сгенерировать отчет о синхронизации, кнопка Preview вызывает диалог Preview SQL Commands, в котором показывается SQL-скрипт, выполняемый для проведения синхронизации.
После щелчка по кнопке Next возникает диалог Complete Compare -Import Changes, в котором можно задать дополнительные опции синхронизации, касающиеся модификации модели (рис. 2.108).
Группа Case Conversion of Logical Names позволяет задать регистр имен создаваемых в модели объектов.
Группа If Table to Import Exists in Model позволяет задать опции генерации схемы в случае, если таблица уже существует в модели. Может быть использована существующая таблица (Use Existing Table) либо создана дублирующая (Create Duplicate Table).
Опции Primary Keys, Relations и Import Base Tables имеют то же назначение, что и соответствующие опции диалога Reverse Engineer - Set Options (см. выше).
Рис. 2.108. Диалог Complete Compare - Import Changes
Кнопка Start Import служит для запуска процесса импорта объектов в модель из БД, SQL(DDL)-скрипт, диаграммы из репозитория ModelMart или файла ER1/ERX. В процессе импорта ERwin показывает сообщения об успешном или неуспешном завершении выполнения импорта для каждого объекта.
2.4. Генерация кода клиентской части с помощью ERwin
2.4.1. Расширенные атрибуты
ERwin поддерживает не только проектирование сервера БД, но и автоматическую генерацию клиентского приложения в средах разработки MS Visual Basic и Power Builder. Технология генерации состоит в том, что на этапе разработки физической модели данных каждой колонке присваиваются расширенные атрибуты, содержащие информацию о свойствах объектов клиентского приложения (в том числе визуальных), которые будут отображать информацию, хранящуюся в соответствующей колонке. Эта информация записывается в файле модели. На основе информации, содержащейся в расширенных атрибутах, генерируются экранные формы. Полученный код может быть немедленно откомпилирован и выполнен без дополнительного ручного кодирования.
Каждой колонке в модели ERwin можно задать предварительно описанные и именованные свойства:
правила валидации (проверки значений);
начальные значения, устанавливаемые по умолчанию;
стиль визуального объекта (например, поле ввода, радиокнопка и т.д.);
формат изображения.
Для описания каждого свойства ERwin содержит соответствующие редакторы. Редакторы Validation Rule Editor для задания правил валидации и редактор Default/Initial Editor для задания начальных значений были описаны в 2.3.4.
Для описания стиля визуального объекта служит диалог Edit Style Editor. Этот диалог различается в зависимости от выбранного клиента. На рис. 2.109 показан вид диалога в случае Power Builder. В левой части диалога располагается группа радиокнопок, соответствующая визуальным объектам, например полю ввода (Edit), окну выбора (Check Box) и др. При щелчке по одной из кнопок в центральной части диалога появляются поля для задания свойств соответствующего объекта.
Радиокнопка Edit mask позволяет задать маску ввода данных, например (@@@)-@@@-@@@@ для номера телефона.
Кнопки New, Rename и Delete служат для создания, переименования и удаления стиля. В верхней части диалога отображается список предварительно описанных стилей.
Для редактирования форматов служит диалог Display Format Editor (рис. 2.110).
В окне Format Name отображается список всех предварительно созданных форматов. Поле PowerBuilder/Visual Basic Display Format служит для описания маски ввода данных. С помощью комбинированного списка Type можно выбрать тип данных (string, number, date, time или datetime).
Кнопки New, Rename и Delete служат для создания, переименования и удаления формата.
С помощью кнопки РВ Sync (только для PowerBuilder) можно синхронизировать форматы модели ERwin со словарем PowerBuilder.
Рис. 2.110. Диалог Display Format Editor
2.4.2. Генерация кода в Visual Basic
ERwin поддерживает генерацию кода для MS Visual Basic версий 4.0 и 5.0. В качестве источника информации при генерации форм служит модель ERwin. Использование ERwin позволяет одновременно описывать как клиентскую часть (объекты, отображающие данные на экране), так и сервер БД (процедуры и триггеры), тем самым оптимально распределяя функциональность ИС между клиентской и серверной частью. Компонент ERwin Form Wizard автоматически проектирует формы с дочерними объектами -кнопками, списками, полями, радиокнопками и т. д., используя расширенные атрибуты.
Совместное использование ERwin и Visual Basic может значительно сократить жизненный цикл разработки ИС, поскольку для каждой задачи используется наиболее эффективный инструмент. Visual Basic может быть использован для проектирования визуального интерфейса, а ERwin - для разработки логической и физической модели данных с последующей генерацией системного каталога сервера. Если БД уже существует, то с помощью ERwin можно провести обратное проектирование (reverse engineering),
полученную модель дополнить расширенными атрибутами и сгенерировать клиентское приложение.
Для генерации клиентской части в диалоге Target Client (меню Client/ Target Client) необходимо выбрать среду программирования - Visual Basic либо Power Builder (рис. 2.111).
Рис. 2.111. Диалог Target Client
Если в качестве клиента выбран Visual Basic, в диалоге Column Editor появляются две закладки для задания расширенных атрибутов (рис. 2.112).