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

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

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

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

Для генерации системного каталога БД следует выбрать пункт меню Tasks / Forward Engineering / Schema Generation. В окне Schema Generation в закладке Options можно задать опции генерации объектов БД – триггеров, таблиц, представлений, колонок, индексов и т.д.

Кнопка Preview позволяет отобразить SQL–скрипт, создаваемый Erwin для генерации системного каталога СУБД.

Нажатие кнопки Generate приведет к запуску процесса генерации схемы. Возникает диалог связи с БД, устанавливается сеанс связи с сервером и начинает выполняться SQL-скрипт.

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

Правила именования объектов в Oracle:

Идентификатор:

1. может содержать до 30 символов (латинские буквы, цифры, символ подчеркивания, $, #);

2. начинается с буквы;

3. не чувствителен к регистру (eMp = EMP);

4. уникален в схеме пользователя;

5. отличен от зарезервированных слов.

Кроме того, название должно отражать смысл именуемого объекта (например, таблица STUD или STD). Имена атрибутов (колонок) должны содержать имя таблицы (STUD_ID или STD_NAME).

Таблицы, колонки и представления при создании физической модели.

Внесение новых таблиц и связей между ними на физическом уровне производятся также как на логическом уровне. Вызвать редакторы Table Editor или Column Editor для задания свойств таблиц и колонок можно через контекстно-зависимое меню для этих таблиц. Все изменения, сделанные в Table Editor или Column Editor, не отражаются на именах сущностей и атрибутов, поскольку информация на логическом и физическом уровнях в Erwin хранится отдельно.

Редактор Table Editor позволяет задать свойства любой таблицы модели, отличные от значения по умолчанию, в том числе имя таблицы, синонимы, правила валидации (утверждения), процедуры и т.д.

Для задания свойств колонок, отличных от значения по умолчанию, служит редактор Column Editor. Он позволяет задать тип данных, опцию NULL, правила валидации и значение по умолчанию для каждой колонки. Правила валидации и значение по умолчанию должны быть описаны и именованы предварительно в Validation Rule Editor и Default / Initial Editor. Для вызова этих диалогов служат кнопки справа от соответствующих раскрывающихся списков.

Представления (view) или иными словами временные или производные таблицы, представляют собой объекты БД, данные в которых не хранятся постоянно, как в таблице, а формируются динамически при обращении к представлению. Представление не может существовать само по себе, а определяется только в терминах одной или нескольких таблиц. Применение представлений позволяет разработчику БД обеспечить каждому пользователю или группе пользователей свой взгляд на данные, что решает проблемы простоты использования и безопасности данных. ERwin имеет специальные инструменты для создания и редактирования представлений. Палитра инструментов на физическом уровне содержит кнопки внесения представлений и установления связей между таблицами и представлениями. По умолчанию представление получает номер V_n, где n – уникальный порядковый номер представления.

Для редактирования представления необходимо выбрать в контекстно-зависимом меню для представления пункт View Editor. Каждой таблице можно задать необходимую информацию, которая будет использоваться в SQL-команде для создания представления.