Во всем мире миллионы разработчиков приложений и администраторов баз данных используют продукты корпорации Oracle для создания сложных систем, управляющих огромными объемами данных. Значительная часть этих продуктов основана на PL/SQL - языке программирования, представляющем собой процедурное расширение Oracle версии языка SQL (Structured Query Language - структурированный язык запросов) и использующемся для программирования в среде Oracle Developer (и других продуктах для разработчиков).
Практически во всех новых продуктах, выпускаемых корпорацией Oracle, PL/SQL играет ключевую роль. Специалисты используют этот язык в различных областях программирования, в том числе:
- Для реализации основополагающей бизнес-логики на сервере Oracle с помощью хранимых PL/SQL-процедур и триггеров базы данных;
- Для формирования и обработки XML-документов внутри базы данных;
- Для связывания веб-страниц с базой данных Oracle;
- Для выполнения и автоматизации задач администрирования базы данных, начиная с реализации контроля доступа на уровне отдельных строк и заканчивая управлением сегментами отката в PL/SQL- программах.
PL/SQL разрабатывался на основе Ada - языка программирования, созданного для Министерства обороны США. Ada - это язык высокого уровня, в котором особое внимание уделено абстракции данных, сокрытию информации и другим ключевым элементам современных технологий разработки. В результате такого выбора корпорации Orac-le язык PL/SQL получился мощным средством, вобравшим в себя наиболее передовые элементы процедурных языков, такие как:
- Полный спектр типов данных, как числовых, так и строковых, включая такие сложные структуры данных, как записи (они подобны строкам реляционной таблицы), коллекции (Oracle-версия массивов) и XMLType (для работы с XML-документами в Oracle и PL/SQL).
- Понятная и удобочитаемая блочная структура, благодаря которой сопровождение и внесение изменений в приложения PL/SQL становится простым и удобным.
- Операторы условного, итеративного и последовательного управления, в том числе оператор CASE и три различных вида циклов.
- Обработчики исключений, применяемые для событийной обработки ошибок.
- Допускающие повторное использование именованные элементы кода, такие как функции, процедуры, триггеры, объектные типы (родственники объектно-ориентированных классов) и пакеты (наборы связанных программ и переменных).
PL/SQL глубоко интегрирован в Oracle SQL: команды SQL можно выполнять непосредственно из процедурного кода, не прибегая к помощи какого-либо промежуточного API (Application Programming Interface - программный интерфейс приложений), подобного Java DataBase Connectivity (JDBC) или Open DataBase Connectivity (ODBC). Верно и обратное: вы можете вызывать свои PL/SQL-функции из операторов SQL.
Несомненно, основную часть пользователей PL/SQL составляют программисты, но пользуются им и многие администраторы баз данных. На самом деле владение PL/SQL жизненно необходимо администраторам баз данных Oracle.