Рис. 2.100. Закладка Report диалога Volumetrics Editor
RowOverhead используется для дополнительного пересчета количества байт каждой строки. Например, если значение RowOverhead = 10, размер каждой строки таблицы будет увеличен на 10 байт.
BlobFactor и BlobBlockSize используются для пересчета Blob-колонок, хранящихся физически вне таблицы.
BytesPerChar используется для задания количества байт, необходимых для хранения одного символа строкового типа. Для ASCII - это 1, для других кодировок значение может быть больше 1, например для UNICODE - 2.
LogPercent используется для вычисления размеров log-файлов БД. LogPercent = 100 увеличивает БД вдвое.
2.3.10. Прямое и обратное проектирование
Процесс генерации физической схемы БД из логической модели данных называется прямым проектированием (Forward Engineering). При генерации физической схемы ERwin включает триггеры ссылочной целостности, хранимые процедуры, индексы, ограничения и другие возможности, доступные при определении таблиц в выбранной СУБД. Процесс генерации логической модели из физической БД называется обратным проектированием (Reverse Engineering). ERwin позволяет создать модель данных путем обратного проектирования имеющейся БД. После того как модель создана, можно переключиться на другой сервер (модель будет конвертирована) и произвести прямое проектирование структуры БД для другой СУБД. Кроме режима прямого и обратного проектирования ERwin поддерживает синхронизацию между логической моделью и системным каталогом СУБД на протяжении всего жизненного цикла создания ИС.
Для генерации системного каталога БД следует выбрать пункт меню Tasks/Forward Engineer/Schema Generation или нажать кнопку
на панели инструментов. Появляется диалог Schema Generation (рис. 2.101).Рис. 2.101. Диалог Schema Generation
Диалог Schema Generation имеет три закладки:
Options. Служит для задания опций генерации объектов БД - триггеров, таблиц, представлений, колонок, индексов и т. д. Для задания опций гене-' рации какого-либо объекта следует выбрать объект в левом списке закладки, после чего включить соответствующую опцию в правом списке (см. рис. 2.101).
В закладке Summary отображаются все опции, заданные в закладке Options. Список опций в Summary можно редактировать так же, как и в Options.
Comment. Позволяет внести комментарий для каждого набора опций. Каждый набор опций может быть именован (окно Option Set, кнопки New, Rename и Delete) и использован многократно.
Кнопка Preview вызывает диалог Schema Generation Preview (рис. 2.102), в котором отображается SQL-скрипт, создаваемый ERwin для генерации системного каталога СУБД. Нажатие на кнопку Generate приведет к запуску процесса генерации схемы.
Рис. 2.102. Диалог Schema Generation Preview
Кнопка Print предназначена для вывода на печать создаваемого ERwin SQL-скрипта.
Кнопка Report сохраняет тот же скрипт в ERS или SQL текстовом файле. Эти команды можно в дальнейшем редактировать любым текстовым редактором и выполнять при помощи соответствующей утилиты сервера.
Рис. 2.103. Диалог связи с БД
Кнопка Generate запускает процесс генерации схемы. Возникает диалог связи с БД (рис. 2.103), устанавливается сеанс связи с сервером и начинает выполняться SQL-скрипт. При этом возникает диалог Generate Database Schema (рис. 2.104).
Рис. 2.104. Диалог Generate Database Schema
По умолчанию в диалоге Generate Database Schema включена опция Stop If Failure. Это означает, что при первой же ошибке выполнение скрипта прекращается. Щелкнув по кнопке Continue можно продолжить выполнение. Кнопка Abort прерывает выполнение. При выключенной опции Stop It Failure скрипт будет выполняться, несмотря на встречающиеся ошибки.
Для выполнения обратного проектирования следует выбрать пункт меню Tasks/Reverse Engineer.
При этом возникает диалог ERwin Template Selection (рис. 2.105), в котором нужно выбрать шаблон диаграммы, затем диалог выбора СУБД и, наконец, диалог задания опций обратного проектирования Reverse Engineer - Set Options (рис. 2.106).
Рис. 2.105. Диалог ERwin Template Selection
В диалоге Reverse Engineer - Set Options можно задать следующие опции:
Группа Reverse Engineer From позволяет задать источник обратного проектирования - БД или SQL(DDL)-CKpHnT. При помощи кнопки Browse можно выбрать текстовый файл, содержащий SQL-скрипт.
Группа Items to Reverse Engineer позволяет задать объекты БД, на основе которых будет создана модель. При помощи списка выбора Option Set, a также кнопок New, Update и Delete можно создавать и редактировать именованные конфигурации объектов БД, которые могут быть использованы многократно при других сеансах обратного проектирования.
Группа Reverse Engineer (доступна только при обратном проектировании из БД) позволяет включить в модель системные объекты (окно выбора System Objects) и установить фильтр на извлекаемые таблицы по их владельцу.
Установка опции Primary Keys в группе Infer означает, что ERwin будет генерировать первичные ключи на основе анализа индексов. Если включена опция Relations, ERwin будет устанавливать связи на основе имен колонок первичного ключа или индексов. Эти опции имеют смысл, только если связи не прописаны явно.
Группа Case Conversion позволяет задать опции конвертации регистра при создании логических и физических имен модели.
Рис. 2.106. Диалог Reverse Engineer - Set Options
Опция Import View Base Tables указывает, что ERwin будет устанавливать связи между представлениями и таблицами. Если опция выключена или SQL-команда создания представления содержит сложные конструкции (например, агрегативные функции), колонки представления импортируются как определяемые пользователем.
После установки необходимых опций можно щелкнуть по кнопке Next, после чего появляется диалог связи с БД (см. рис. 2.103), устанавливается сеанс связи с сервером и начинается процесс обратного проектирования, во время которого показывается статус процесса в диалоге Reverse Engineer-Status. В результате процесса создается новая модель данных.
В процессе работы модель может изменяться и дополняться. С другой стороны, системный каталог БД может редактироваться другими проектировщиками. В результате спустя некоторое время после последнего сеанса обратного проектирования могут возникнуть расхождения между реальным состоянием системного каталога и моделью данных.
Для синхронизации системного каталога БД и текущей модели следует выбрать пункт меню Tasks/Complete Compare или нажать кнопку
на панели инструментов. Возникает диалог Complete Compare - Set Options, который во многом похож на описанный выше диалог Reverse Engineer - Set Options. Разница заключается в том, что в отличие от обратного проектирования сравнивать текущую модель можно не только с БД или SQL-скриптом, но и с другой моделью ERwin, хранящейся в файле или репози-тории ModelMart.