- •Глава 3. Реляционная модель данных
- •Глава 4. Реляционная алгебра и реляционное исчисление
- •Глава 11. Модель «сущность-связь»
- •Глава 15. Методология логического проектирования реляционной бд
- •Физическое проектирование реляционной бд
- •8.2.5. Язык pl/sql
- •Глава 21. Внедрение операторов sql в прикладные программы
- •21.3. Интерфейс доступа к данным odbc (Open DataBase Connectivity)
- •9.14. Использование case-инструментов
8.2.5. Язык pl/sql
Язык PL/SQL— это процедурное расширение к языкуSQLдля СУБДOracle. По своей организации языкPL/SQLаналогичен современным языкам программирования, в нем предусмотрены:
объявление переменных и констант;
управляющие структуры;
средства обработки исключительных ситуаций, возникающих при выполнении программы;
модульная организация.
PL/SQL— это язык с блочной структурой, при которой блоки могут быть полностью независимыми или вложенными друг в друга. Основными модулями, которые составляют программу наPL/SQL, являются процедуры, функции и анонимные (неименованные) блоки.
Управляющие структуры языкаPL/SQLподдерживают обычные условные операторы (IF-THEN-ELSE-ENDIF), а также механизмы управления циклическим выполнением (LOOP-EXIT,WHEN-ENDLOOP,FOR-ENDLOOPиWHILE-ENDLOOP).
Подпрограммы в PL/SQL— это именованные блоки, которые могут принимать параметры и вызываться на выполнение. Имеется два типа подпрограмм — хранимые процедуры и функции.
Процедуры и функции PL/SQLочень похожи на аналогичные конструкции большинства языков программирования высокого уровня и обладают такими же преимуществами: обеспечивают модульность и расширяемость, стимулируют повторное использование и упрощают сопровождение, а также позволяют перейти от применения простейших операций к более сложным операциям, которые создаются самим пользователем.
Глава 21. Внедрение операторов sql в прикладные программы
Чтобы обеспечить прикладным программам непосредственный доступ к БД, существует два различных способа использования языка SQLв таких программах.
1. Внедрение операторов SQL.В этом случае исходный текст прикладной программы может включать в себе отдельные операторы языкаSQL, которые чередуются с операторами базового языка. Стандарты языкаSQLпредусматриваются обязательную поддержку такой возможности для языковAda,C,Fortran,Pascalи др.
2. Использование средств программного интерфейса приложений (Application Programming Interface — API).Здесь программисту предоставляется набор стандартных функций, к которым можно обращаться из прикладной программы. ИнтерфейсAPIобладает такими же функциональными возможностями, как при использовании встроенных операторовSQL, но некоторые разработчики считают, что в этом случае программный текст более удобен с точки зрения его сопровождения. Одним из интерфейсовAPI, получивших широкое распространение, является открытый интерфейс доступа к даннымODBC(OpenDataBaseConnectivity).
Для внедренных операторов SQLсуществует два основных варианта:
статические операторы, используемые при жесткой схеме доступа к данным; в этом случае весь операторSQLизвестен на стадии разработки прикладной программы и в дальнейшем он остается постоянным;
динамические операторы, позволяющие формировать весь операторSQL(или его часть) во время выполнения прикладной программы, что обеспечивает создание более универсального ПО за счет использования гибких схем доступа к данным (т.е. схема доступа к БД становится известной лишь непосредственно во время выполнения прикладной программы и необходимые интерактивные операторыSQLформируются автоматически).
