www.citforum.ru |  |  |  | Сервер содержит море(!) аналитической информации!
Поиск | Рубрикатор | Новости сервера | Учебный центр | Книжный магазин | Реклама на сервере

19-23 февраля 2001г. Учебный курс "Системное администрирование OC UNIX"
| Закажите полную копию CitForum.ru на CD!

| Новый раздел: "Книги, которые мы выбираем"

CITFORUM.RU >>> БАЗЫ ДАННЫХ >>> /database/oraclepr/oraclepr_11.shtml

#### 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 |

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

Реклама на сервере |

В начало | Наверх | Поиск | Рубрикатор | Новости сервера | Учебный центр | Книжный магазин

|  | Быстрый переход >>> |

Комментарии: info@citmgu.ru |  | Copyright ©

Design by Andre M. Erofeev