Теория для лабораторной работы №4 - "PL/SQL – процедурное расширение языка SQL", страница 2

2.  Упрощённая разработка приложенний.

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

3.  Сокрытие информации.

С помощью пакетов вы можете определять какие типы, объекты и подпрограммы  публичные (видны и доступны) или личные (скрыты и недоступны). Наример, если пакет состоит из четырёх подпрограмм, три могут быть публичными и одна - личной. Пакет скрывает определение личной подпрограммы таким образом, что только пакет (не вашы приложение) затрагивается, если определение изменяется. Это упрощает соповождение и улучшение. Также, скрывая детали реализации от пользователя, вы защищаете целостность пакета.

4.  Улучшенная функциональность.

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

 

5.  Лучшая производительность.

Когда вы вызываете подпрограмму из пакета в первый раз, весь пакет загружается в память. Следовательно, последовательный вызов подпрограмм, связанных в пакет, не требует обращения к диску.

 

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

 

Чтобы создавать пакеты и постоянно хранить их в базе данных Oracle, используйте инструкции CREATE PACKAGE и CREATE PACKAGE BODY, которые вы можете выполнять интерактивно из SQL*Plus или Server Manager.