Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
34
Добавлен:
17.04.2018
Размер:
189.44 Кб
Скачать

5. Назначение языка pl/sql и его языковых конструкций

5.1. Начальные сведения

Аббре­виатура PL/SQL расшифровывается как Procedural Language/Structured Query Language (процедурный язык/структурированный язык запросов, или процедурное расширение языка SQL). Этот язык представляет собой среду программирования, которая встроена непосредственно в базу данных Oracle.

Впервые PL/SQL появился в шестой версии Oracle в 1988 г. Вначале этот язык применялся в пользовательском интерфейсе Oracle SQL*Forms для добавления в формы сложной логики. PL/SQL заменил более старый пошаговый метод реали­зации программной логики. PL/SQL оказался достаточно простым языком програм­мирования, напоминающим Ada или С. PL/SQL используется для считывания информации, заполнения баз данных, создания хранимых объектов и даже для отображения Web-страниц. PL/SQL используется во многих продуктах, таких как Oracle server, Oracle Forms, Oracle Reports, Oracle Warehouse Builder, Oracle Applications, Oracle Portal. Учебный материал электронного модуля описывает версию языка PL/SQL, реализованную в Огасlе9i.

Все эти программы в той или иной степени используют PL/SQL. PL/SQL может взаимодействовать с большинством продуктов Огасlе9i, а программы PL/SQL могут вызываться из следующих сред разработки:

  • SQL*Plus

  • Oracle Enterprise Manager

  • прекомпиляторы Oracle (Pro*C, Pro*COBOL и др.)

  • Oracle Call Interface (OCI)

  • Server Manager

  • Огасlе9i Application Server

  • Java Virtual Machine (JVM)

База данных Оrасlе9i — это не просто база данных. Она является также и про­цессором, поддерживающим различные языки программирования. Так, Оrасlе9i содержит процессор Java со встроенной виртуальной машиной Java (Java Virtual Machine — JVM), а также процессор PL/SQL. Таким образом, программный код может сохраняться в базе данных и выполняться в случае необходимости. Благодаря этому не нужны другие программные продукты. Процессор PL/SQL тесно ин­тегрирован с базой данных. Рис. 5.1 демонстрирует процесс использования PL/SQL внутри базы данных и за ее пределами.

Рис. 5.1. Использование PL/SQL

Центральное место занимает сервер Оrасlе9i, который является основным процессором базы данных. Он координирует все обращения к базе данных. Когда программа посылает на сервер запрос о выполнении кода PL/SQL, база данных Oracle загружает откомпили­рованный код в память, после чего процессоры PL/SQL и SQL выполняют этот код. Процес­сор PL/SQL осуществляет ре­ализацию программной логики и управление памятью, кото­рое необходимо для выполне­ния программы. Процессор SQL направляет БД запросы, свя­занные с получением и обра­боткой информации. В итоге получается замкнутая система, позволяющая писать и выпол­нять эффективно работающие программы.

PL/SQL предоставляет средства, позволяющие выполнять сложную обработку информации. Например, если необходимо регулярно подводить итоги и оформлять их в виде сводной таблицы, можно воспользоваться пакетами (packages). Если нужно своевременно узнавать о поступлении крупных заказов, чтобы привлекать для их обслуживания дополнительных поставщиков, то PL/SQL предоставляет триггеры (triggers), выдающие ведомление, как только объем сделанного заказа превысит установленный вами предел. Можно использовать хранимые процедуры (stored procedures) PL/SQL для определения эффективности работы служащих, чтобы на основе этих данных принимать решение о выплате премий. Функции PL/SQL могут рассчитывать налоговые вычеты для служащих.

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

Соседние файлы в папке Lab5