2.3.2.4 Процедурное расширение языка SQL - PL/SQL.

Oracle Server - полнофункциональная реляционная СУБД, которая идеально подходит для архитектур клиент/сервер и интернет/интранет. Особенности внутренней архитектуры Oracle ориентированы на обеспечение готовности, максимальной пропускной способности, безопасности и эффективного использования ресурсов.

Oracle также присущи черты, связанные с используемым языком программирования, которые способствуют ускорению разработки и улучшению эффективности серверной части приложений:

Один из основных компонентов Oracle Server - его процессор PL/SQL. (PL - Procedural Language - процедурный язык.)

PL/SQL - язык Oracle четвертого поколения, объединяющий структурированные элементы процедурного языка программирования с языком SQL, разработанный специально для организации вычислений в среде клиент/сервер. Он позволяет передать на сервер программный блок PL/SQL, содержаший логику приложения, как оператор SQL, одним запросом. Используя PL/SQL, можно значительно уменьшить объем обработки в клиентской части приложения и нагрузку на сеть. Например, может понадобиться выполнить различные наборы операторов SQL в зависимости от результата некоторого запроса. Запрос, последующие операторы SQL и операторы условного управления могут быть включены в один блок PL/SQL и пересланы серверу за одно обращение к сети.

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

Функции. Часть логики приложения ориентированной на выполнение конкретного комплекса операций на сервере, результат которых возвращается в виде значения функции. Откомпилированные функции и их исходные тексты содержатся в базе данных.

Хранимые процедуры. Часть логики приложения, особенно нуждающаяся в доступе к базе данных, может храниться там, где она обрабатывается (на сервере). Хранимые процедуры не возвращают значения результата, обеспечивают удобный и эффективный механизм безопасности. Откомпилированные хранимые процедуры и их исходные тексты содержатся в базе данных.

Пакеты. Часть логики приложений: фукций и пакетов, предназначеных для решениях задач в рамках одного модуля (подсистемы) АИС.

Триггеры базы данных. Можно использовать триггеры, чтобы организовать сложный контроль целостности, выполнять протоколирование (аудит) и другие функции безопасности, реализовать в приложениях выдачу предупреждений и мониторинг.

Декларативная целостность. Ограничения активизируются сервером всякий раз, когда записи вставляются, обновляются или удаляются. В дополнение к ограничениям ссылочной целостности, которые проверяют соответствие первичного и внешнего ключей, можно также накладывать ограничения на значения, содержащиеся в столбцах таблицы. Поддержка целостности на сервере уменьшает размер кода клиентской части, необходимого для проверки допустимости данных, и увеличивает устойчивость бизнес- модели, определенной в базе данных.

Список, зарезервированных слов PL/SQL

Язык PL/SQL также включает зарезервированные слова, имеющие определенное значение в операторах PL/SQL.

ABORT

DEFINITION

NOT

TADAUTH

ACCEPT

DELAY

NULL

TABLE

ACCESS

DELETE

NUMBER

TABLES

ADD

DELTA

NUMBER_BASE

TASK

ALL

DESC

OF

TERMINATE

ALTER

DIGITS

ON

THEN

AND

DISPOSE

OPEN

TO

ANY

DISTINCT

OPTION

TRUE

ARRAY

DO

OR

TYPE

ARRAYLEN

DROP

ORDER

UNION

AS

ELSE

OTHERS

UNIQUE

ASC

ELSIF

OUT

UPDATE

ASSERT

END

PACKAGE

USE

ASSIGN

ENTRY

PARTITION

VALUES

AT

EXCEPTION

PCTFREE

VARCHAR

AUTHORIZATION

EXCEPTION_INIT

PRAGMA

VARCHAR2

AVG

EXISTS

PRIOR

VARIANCE

BEGIN

EXIT

PRIVATE

VIEW

BETWEEN

FALSE

PROCEDURE

VIEWS

BODY

FETCH

PUBLIC

WHEN

BOOLEAN

FOR

RAISE

WHERE

BY

FORM

RANGE

WHILE

CASE

FROM

REAL

WITH

CHAR

FUNCTION

RECORD

WORK

CHAR_BASE

GENERIC

RELEASE

XOR

CHECK

GOTO

REM

 

CLOSE

GRANT

RENAME

 

CLUSTER

GROUP

RESOURCE

CLUSTERS

HAVING

RETURN

 

COLAUTH

IDENTIFIED

REVERSE

 

COLUMNS

IF

REVOKE

 

COMMIT

IN

ROLLBACK

COMPRESS

INDEX

ROWNUM

 

CONNECT

INDEXES

ROWTYPE

CONSTANT

INDICATOR

RUN

 

COUNT

INSERT

SAVEPOINT

CRASH

INTEGER

SCHEMA

 

CREATE

INTERSECT

SELECT

 

CURRENT

INTO

SEPARATE

CURSOR

IS

SET

 

DATABASE

LEVEL

SIZE

 

DATA_BASE

LIKE

SPACE

 

DATE

LIMITED

SQL

 

DBA

LOOP

SQLCODE

 

DEBUGOFF

MAX

SQLERRM

 

DEBUGON

MIN

START

 

DECIMAL

MINUS

STATEMENT

DECLARE

MOD

STDDEV

 

DEFAULT

NEW

SUBTYPE

 
 

NOCOMPRESS

SUM

 

Назад | Содержание | Вперед