- •Лабораторная работа № 3 Создание физической модели данных для Oracle в среде eRwin.
- •Теоретические сведения. Выбор сервера.
- •Прямое и обратное проектирование.
- •Правила именования объектов в Oracle:
- •Правила валидации и значения по умолчанию.
- •Индексы.
- •Триггеры и хранимые процедуры.
- •Генерация скрипта.
- •Контрольные вопросы.
- •Лабораторное задание
Лабораторная работа № 3 Создание физической модели данных для Oracle в среде eRwin.
Цель работы: изучить основы преобразования логической модели данных, построенной в средеERwin, в физическую модель дляOracle.
Теоретические сведения. Выбор сервера.
Физическая модель содержит всю информацию, необходимую для реализации конкретной базы данных. Физический уровень представления модели зависит от выбранного сервера и является точным отображением системного каталога СУБД. ERwinподдерживает эту модель путем генерации ситемного каталога. Для выбора СУБД служит редакторTargetServer(менюServer/TargetServer…доступен только на физическом уровне).
Диалог TargetServerпозволяет задать тип данных и опциюNULLдля новых колонок. Тип данных можно выбрать в спискеDefaultDatatype, который автоматически заполняется типами данных, поддерживаемых выбранным сервером. Группа кнопокDefaultNon-KeyNullOptionпозволяет разрешить или запретить значенияNULLдля неключевых колонок.
По умолчанию ERwinгенерирует имена таблиц и колонок на основе имен соответствующих сущностей и атрибутов логической модели, с учетом ограничений, налагаемых выбранной СУБД. Значения по умолчанию можно при желании изменить путем изменения шаблона (TargetServer–TableNameMacro) или вручную.
Прямое и обратное проектирование.
Процесс генерации физической схемы БД из логической модели данных называется прямым проектированием (ForwardEngineering). При генерации физической схемыErwinвключает триггеры ссылочной целостности, хранимые процедуры, индексы, ограничения и другие возможности, доступные при определении таблиц в выбранной СУБД.
Процесс генерации логической модели из физической БД называется обратным проектированием (ReverseEngineering).Erwinпозволяет создать модель данных путем обратного проектирования имеющейся БД. После того, как модель создана, можно переключиться на другой сервер (модель будет конвертирована) и произвести прямое проектирование структуры БД для другой СУБД.
Кроме режима прямого и обратного проектирования Erwinподдерживает синхронизацию между логической моделью и системным каталогом СУБД на протяжении всего жизненного цикла создания БД.
Для генерации системного каталога БД следует выбрать пункт меню Tasks / Forward Engineering / Schema Generation. В окнеSchemaGenerationв закладкеOptionsможно задать опции генерации объектов БД – триггеров, таблиц, представлений, колонок, индексов и т.д.
Кнопка Previewпозволяет отобразитьSQL–скрипт, создаваемыйErwinдля генерации системного каталога СУБД.
Нажатие кнопки Generateприведет к запуску процесса генерации схемы. Возникает диалог связи с БД, устанавливается сеанс связи с сервером и начинает выполнятьсяSQL-скрипт.
Кнопка Reportсохраняет тот же скрипт вSQLтекстовом файле. Эти команды можно в дальнейшем редактировать любым текстовым редактором и выполнять при помощи соответствующей утилиты сервера.
Правила именования объектов в Oracle:
Идентификатор:
может содержать до 30 символов (латинские буквы, цифры, символ подчеркивания, $, #);
начинается с буквы;
не чувствителен к регистру (eMp=EMP);
уникален в схеме пользователя;
отличен от зарезервированных слов.
Кроме того, название должно отражать смысл именуемого объекта (например, таблица STUDилиSTD). Имена атрибутов (колонок) должны содержать имя таблицы (STUD_IDилиSTD_NAME).
Таблицы, колонки и представления при создании физической модели.
Внесение новых таблиц и связей между ними на физическом уровне производятся также как на логическом уровне. Вызвать редакторы TableEditorилиColumnEditorдля задания свойств таблиц и колонок можно через контекстно-зависимое меню для этих таблиц. Все изменения, сделанные вTableEditorилиColumnEditor, не отражаются на именах сущностей и атрибутов, поскольку информация на логическом и физическом уровнях вErwinхранится отдельно.
Редактор TableEditorпозволяет задать свойства любой таблицы модели, отличные от значения по умолчанию, в том числе имя таблицы, синонимы, правила валидации (утверждения), процедуры и т.д.
Для задания свойств колонок, отличных от значения по умолчанию, служит редактор ColumnEditor. Он позволяет задать тип данных, опциюNULL, правила валидации и значение по умолчанию для каждой колонки. Правила валидации и значение по умолчанию должны быть описаны и именованы предварительно вValidationRuleEditorиDefault/InitialEditor. Для вызова этих диалогов служат кнопки справа от соответствующих раскрывающихся списков.
Представления (view) или иными словами временные или производные таблицы, представляют собой объекты БД, данные в которых не хранятся постоянно, как в таблице, а формируются динамически при обращении к представлению. Представление не может существовать само по себе, а определяется только в терминах одной или нескольких таблиц. Применение представлений позволяет разработчику БД обеспечить каждому пользователю или группе пользователей свой взгляд на данные, что решает проблемы простоты использования и безопасности данных.ERwinимеет специальные инструменты для создания и редактирования представлений. Палитра инструментов на физическом уровне содержит кнопки внесения представлений и установления связей между таблицами и представлениями. По умолчанию представление получает номерV_n, гдеn– уникальный порядковый номер представления.
Для редактирования представления необходимо выбрать в контекстно-зависимом меню для представления пункт ViewEditor. Каждой таблице можно задать необходимую информацию, которая будет использоваться вSQL-команде для создания представления.