Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций по предмету_ТП.doc
Скачиваний:
26
Добавлен:
11.05.2015
Размер:
6.01 Mб
Скачать

5.8.8. Сохранение модели базы данных

Создание модели данных – это длительный, итерационный процесс, выполнение вышеизложенных функций и операций разработчиком БД может повторяться многократно для получения схемы модели данных, удовлетворяющей требованиям задач и пользователей на некотором этапе сопровождения БД.

При этом полученная модель всякий раз после окончания корректировки должна быть сохранена с помощью операций “Save” или “Save as” в виде AllFusion Erwin Data Modeler файла с расширением *.er1. Эта модель в последующем может быть выбрана для дальнейшей обработки с помощью операции “Open”. Все эти функции AllFusion Erwin Data Modeler достаточно подробно описаны в документе “AllFusion Erwin Data Modeler. Getting Started”.

AllFusion Erwin Data Modeler запоминает имена файлов для создаваемых моделей и их местоположение (пути доступа) и предлагает их для выбора при входе. Тем самым ускоряется процесс выборки требуемой модели и облегчается сопровождение БД.

5.8.9. Генерация операторов для создания базы данных

После окончательного определения и построения физической модели данных можно перейти к выполнению одной из наиболее важных функций – генерации схемы, а именно – генерации операторов на языке DDL, описывающих БД. Эти операторы используются затем для создания физической БД и ее поддержки на выбранном для ее размещения сервере.

AllFusion Erwin Data Modeler обеспечивает ведение следующих групп опций (режимов) для описания (указания) необходимых разработчику вариантов генерации схемы: “Schema”, “Summary table”, “View”, “Table”, “Column”, “Index”, “Referential Integrity”, “Trigger”, “Other options”. Включение параметров для указанных групп опций влияет на характеристики создаваемой физической БД, которые зависят от выбранной платформы СУБД. В связи с этим, не все группы опций используются одинаково для различных СУБД и, естественно, не все опции используются в данной разработке БД.

Генерация операторов на языке DDL производится при открытой модели БД, при этом необходимо выбрать тип “Physical” для модели. Перед генерацией необходимо выполнить выбор типа БД и ее версии для сервера назначения (рис. 5.34.). Для этого в меню “Database” выбрать “Choose Database”, в окне “Target Server” включить кнопки “DB2” и “DB2 version” – выбрать соответствующую версию DB2 для дальнейшей генерации операторов DDL. Следует заметить, что эту операцию необходимо выполнить только первоначально при генерации задания на языке DDL первый раз, либо при смене платформы СУБД или ее версии в дальнейшем, так как AllFusion Erwin Data Modeler запоминает предыдущее состояние введенных параметров и использует их при следующем входе.

Далее, для продолжения операции получения файла задания на языке DDL, необходимо перейти в меню “Tools”, подменю “Forward Engineer/Schema generation” – появляется окно, изображенное на рис. 5.35.

Для указанных в окне “Schema generation” режимов “Schema”, “View”, “Table”, “Columns”, “Index”, “Referential Integrity”, “Trigger”, “Other options” необходимо справа в окне “Schema” указать необходимость включения соответствующих последовательностей SQL операторов в файл задания на языке DDL. Это операторы Create, Drop и другие, которые будут сгенерированы AllFusion Erwin Data Modeler автоматически для схемы в целом, для табличных пространств и буферных пулов, таблиц, индексов, триггеров и других элементов схемы. Полностью состояние включения элементов в операторы на языке DDL можно посмотреть, щелкнув по кнопке “Summary”.

Рис. 5.34. Выбор БД и ее версии

Рис. 5.35. Генерация файла с операторами DDL для БД

Для завершения операции – генерация файла скриптов и получения операторов DDL в виде файла – задания необходимо нажать кнопку “Report” в нижней части экрана. Появляется окно, в котором разработчик должен выбрать папку и указать имя файла для сохранения сгенерированных операторов DDL в виде задания (сеанса в терминах DB2) для создания БД на сервере.

Сгенерированные операторы можно просмотреть, нажав кнопку “Preview” в нижней части экрана. При этом используются сохраненные на этапе генерации значения параметров для переключения режимов генерации операторов DDL схемы (см. часть примера ниже).

CREATE TABLE "NSI"."ADMINIST" (

"ADMIN_NO" CHAR(2) NOT NULL,

"ADM_DATE_INS" IMESTAMP NOT NULL DEFAULT CURRENT TIMESTAMP,

"ADMIN_ID" VARCHAR(12),

"COUNTRY_NO" CHAR(3),

"COU_DATE_INS" TIMESTAMP,

"ADMIN_NAME" VARCHAR(32),

"ADMIN_FULLNAME" VARCHAR(150),

"ADMIN_REAL_PR" CHAR(1),

"ADM_BGN_DATE" TIMESTAMP NOT NULL,

"ADM_END_DATE" TIMESTAMP NOT NULL,

"ADM_SIGN" CHAR(1) NOT NULL

)

IN "STARAITS"

INDEX IN "STARAIIS"

;

ALTER TABLE "NSI"."ADMINIST"

DATA CAPTURE CHANGES

;

COMMENT ON TABLE "NSI"."ADMINIST" IS 'Администрация';

COMMENT ON COLUMN "NSI"."ADMINIST"."ADMIN_NO" IS 'Код администрации';

CREATE UNIQUE INDEX "NSI"."H_ADM_NO" ON "NSI"."ADMINIST"

(

"ADMIN_NO" ASC,

"ADM_BGN_DATE" ASC,

"ADM_END_DATE" ASC

);

COMMENT ON INDEX "NSI"."H_ADM_NO" IS 'Индекс историчности объекта';

CREATE INDEX "NSI"."F_COUADM" ON "NSI"."ADMINIST"

(

"COUNTRY_NO" ASC,

"COU_DATE_INS" ASC

);