Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DIPP.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.8 Mб
Скачать

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

По конкретной физической схеме модели ERwin можно генерировать физическую схему (системный каталог) для заданной СУБД.

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

Процесс генерации логической модели из физической БД называется обратным проектированием. Использование этапов обратного и прямого проектирования позволяет перенести структуру данных с одного сервера на другой.

Процесс генерации системного каталога можно провести двумя способами:

  • Напрямую из Erwin, используя ODBC драйвер.

  • С помощью Script-файла, не используя ODBC драйвер: генерация осуществляется из оболочки Oracle 9.2, но для такого метода появляется необходимость предварительного редактирования файла вручную. Данный способ используется при отсутствии возможности создания ODBC драйвера.

После проектирования БД на физическом уровне необходимо ее создать. Для этого применялось программное средство Oracle 9.2. В Oracle для задания операций доступа к данным используются средства языка структурированных запросов – SQL (Structured Query Language). SQL – это язык, способный реализовывать все операции доступа к данным и их обработки.

Базу данных можно создать с помощью команды:

CREATE DATABASE database_name.

После создания физической базы данных создаются ее объекты.

В реляционной БД наиболее важным элементом ее структуры является таблица. Для создания таблицы, ее столбцов и ограничений, налагаемых на каждый столбец, используется оператор CREATE TABLE, формат которого приведен на рисунке 5.5.

CREATE TABLE имя_таблицы (<определение_столбца>

[, <определение_столбца> … ] | [<тип_ограничения> …]);

Рисунок 5.5 – Формат оператора CREATE TABLE

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

CREATE [UNIQUE] [ASC | DESC] INDEX имя_индекса

ON имя_таблицы (имя_столбца [, имя_столбца …]);

Рисунок 5.6 – Формат оператора CREATE INDEX

Представление – это виртуальная таблица, создаваемая на основе запроса. Представление, как и реальная таблица, содержит строки и столбцы данных, но данные, видимые в представлении, на самом деле являются результатами запроса. Представления создаются оператором CREATE VIEW, формат которого показан на рисунке 5.7.

CREATE VIEW имя_представления

[( столбец_представления [, столбец_представления …])]

AS запрос_SELECT [WITH CHECK OPTION];

Рисунок 5.7 – Формат оператора CREATE VIEW

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

Для создания триггера используется оператор CREATE TRIGGER, формат которого представлен на рисунке 5.8

CREATE TRIGGER имя_триггера FOR

{ имя_таблицы | имя_представления } [ACTIVE | INACTIVE]

{ BEFORE | AFTER } { DELETE | INSERT | UPDATE }

[POSITION номер_приоритета_триггера]

AS тело_триггера [ разделитель ]

Рисунок 5.8 – Формат оператора CREATE TRIGGER

Хранимой процедурой (stored procedure) называется скомпилированная программа произвольной длины на процедурном языке SQL, которая хранится в БД как часть метаданных. Синтаксически хранимые процедуры фактически повторяют синтаксис триггеров, которые были рассмотрены выше.

Хранимые процедуры создаются оператором CREATE PROCEDURE, который представлен на рисунке 5.9.

CREATE PROCEDURE имя_процедуры

[( параметр тип_данных [, параметр тип_данных …])]

[RETURNS ( параметр тип_данных [, параметр тип_данных …])]

AS тело_процедуры [разделитель]

Рисунок 5.9 – Формат оператора CREATE PROCEDURE

Таблицы представляют собой сегменты БД, которые хранят данные. Каждая таблица состоит из одного или нескольких столбцов, каждому из которых назначается имя и тип данных. Для создания таблицы в Oracle используется команда CREATE TABLE. Для поддержания целостности БД на таблицу накладывается ограничение (constraint). Под ограничением понимается условие, которое должно выполняться при хранении, обновлении и добавлении данных в таблицу БД. Для задания ограничений используется оператор ALTER TABLE.

Листинг команд по созданию БД и ее основных объектов приведены в Приложении.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]