Программирование объектов базы с помощью PL/SQL. Процедуры и функции приложений. Триггеры баз данных

Страницы работы

Содержание работы

1.4.20. Программирование объектов базы с помощью PL/SQL.

PL/SQL – язык, который является добавлением к SQL-языку и включает в себя процедурные средства алгоритмических языков.

С помощью PL/SQL можно создавать:

1)  Хранимые процедуры или функции. Размещаются хранимые процедуры на сервере БД и могут быть доступны многим приложениям. Хранимые процедуры могут иметь входные и выходные параметры и могут выполняться многократно.

2)  Процедуры и функции приложений. В двухуровневой архитектуре размещаются на клиенте. (Вставить картинку)

В процедурах и функциях приложения могут задаваться входные и выходные параметры. Выполняются процедуры и функции многократно.

3)  Триггеры баз данных – это программы, связанные с конкретными таблицами БД, которые обрабатывают одно из 3-х событий DML (Insert, Update, Delete) и осуществляют проверку бизнес-правил. Можно сказать, триггеры выполняют защиту данных. Хранятся триггеры БД всегда там, где хранится база, т.е. на сервере. Триггеры БД выполняются автоматически, как только идет обращение к конкретной таблице.

4)  Триггер приложения – это программа, связанная с событием приложения. Если срабатывает событие, то срабатывает триггер, написанный на соответствующее событие. Хранятся триггеры приложений на клиенте (в двухуровневой архитектуре), либо на сервере приложений (в трехуровневой архитектуре). События для триггера приложения: щелчок по кнопке, очистка поля, переход на другую форму/закладку, раскрытие списка и др. Выполняется автоматически, если срабатывает событие.

Преимущества PL/SQL:

•  Возможность модульной разработки приложения;

•  Возможность объявления идентификаторов, т.е. объявление констант, переменных, курсоров, исключений;

•  Возможность использовать структуры управления процедурами с помощью команд If, For, Case, While;

•  Возможность обработки ошибок, т.е. выдача пользователю предупреждающих сообщений;

•  Переносимость и интеграция (можно хранить приложение и на клиенте, и на сервере);

•  За счет создания модулей повышается производительность работы сервера.

Модульное программирование на PL/SQL и подпрограммы.

Подпрограммы бывают 3-х типов:

1)  Процедуры, которые выполняют действия;

2)  Функции, которые вычисляют значения;

3)  Пакеты, объединяющие процедуры и функции.

Структура процедур и функций.

Состоят из 3-х секций:

1)  Декларативная – (объявление переменных) содержит описание переменных, констант, курсоров, исключения пользователей;

2)  Исполняемый код – содержит команды SQL для манипулирования данными в базе + конструкции алгоритмического языка PL/SQL;

3)  Обработка исключений (необязательная секция) – задает действия, которые выполняются при возникновении ошибки или некорректных условий

Синтаксис процедуры

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

[(формальные параметры)]

Is

Декларативная секция;

Begin

Исполняемый код;

     [обработка исключений;]

End;

Если процедура находится на сервере БД, то сохраняется в файле с расширением .dbf. Процедура является объектом сервера Oracle, который создается пользователем.

Синтаксис функции

Function имя_функции

[(формальные параметры)]

Return тип_выходных_данных

Begin

Исполняемый код;

End;

Параметры бывают трех типов:

  1. IN – входной параметр, передает значение из окружающей среды в программу; это формальный параметр, выступает в качестве константы, изменять его значение нельзя.
  2. OUT – выходной параметр, возвращает значение из процедуры в окружающую среду; это формальный параметр, он не может быть присвоен другой переменной.
  3. IN OUT – входной и выходной параметр; сначала передает значение из вызывающей среды в процедуру, а затем возвращает значения из процедуры в вызывающую среду; формальный параметр, можно использовать как обычную переменную.

Похожие материалы

Информация о работе