Oracle 11g: Разработка программных модулей PL/SQL
Or11g_DPU
Курс предназначен для разработчиков с базовыми знаниями SQL и PL/SQL.
Прослушав курс, слушатели научатся разрабатывать, выполнять и сопровождать хранимые программные единицы PL/SQL, такие, как процедуры, функции, пакеты и триггеры базы данных. Слушатели также научатся сопровождать подпрограммы PL/SQL и триггеры и получат представление об использовании некоторых стандартных пакетов, поставляемых Oracle.
Кроме того, слушатели получат представление об использовании динамического SQL, понимание модульного, многоуровневого подхода к проектированию программ на PL/SQL, описанию и использованию возможностей компилятора, управление зависимостями. В данном курсе слушатели будут использовать Oracle SQL Developer как основной инструмент для разработки кода. SQL*Plus предлагается как дополнительный инструментарий.
Аудитория
- Разработчики приложений
- Администраторы баз данных
- Специалисты отделов технической поддержки
- Системные аналитики
Результат обучения
После успешного прохождения курса слушатели должны будут уметь:
- Создавать и выполнять хранимые процедуры и функции
- Разрабатывать и использовать пакеты PL/SQL
- Использовать перегруженные пакетные подпрограммы для большей гибкости кода
- Применять поставляемые Oracle стандартные пакеты в разработке приложений
- Создавать триггеры для решения сложных бизнес-правил
- Строить и выполнять команды SQL динамически
Предварительный уровень подготовки
- Знания в объеме курсов:
- Oracle11g: Основы SQLI, SQLII;
- Oracle11g: Основы PL/SQL;
- Опыт программирования
- Базовые знания PL/SQL
Программа курса
- Введение
- Цели курса и план
- Обзор учебной схемы курса - Персонал (HR)
- Приложения, существующие в данном курсе
- Программные конструкции PL/SQL
- Использование SQL Developer
- Интерактивный доступ к документации Oracle11g SQL и PL/SQL, а также дополнительным ресурсам
- Создание хранимых процедур
- Модульный и многоуровневый дизайн подпрограмм
- Модульность разработки с помощью блоков PL/SQL
- Среда исполнения кода PL/SQL
- Преимущества использования подпрограмм PL/SQL
- Различия между анонимными блоками и подпрограммами
- Создание, вызов и удаление хранимых процедур при помощи команды CREATE и SQL Developer
- Использование параметров в процедурах и различные режимы параметров
- Просмотр информации о процедурах в представлениях словаря данны
- Создание хранимых функций
- Создание, вызов и удаление хранимых функций при помощи команд SQL и SQL Developer
- Преимущества использования хранимых функций в SQL-выражениях
- Шаги по созданию хранимой функции
- Использование пользовательских функции в SQL-выражениях
- Ограничения на вызов функций из SQL-выражений
- Контроль побочных эффектов при вызове функций из SQL выражений
- Просмотр информации о функциях в словаре данны
- Создание пакетов
- Преимущества использования пакетов
- Описание пакетов
- Компоненты пакетов
- Разработка пакетов
- Видимость компонентов пакета
- Создание спецификации и тела пакета при помощи команд SQL и SQLDeveloper
- Вызов пакетных конструкций
- Просмотр исходного кода PL/SQL в словаре данны
- Работа с пакетами
- Перегрузка пакетных подпрограмм в PL/SQL
- Использование пакета STANDARD
- Использование предварительного объявления для разрешения ссылок на еще не описанные
- программные единицы
- Ограничения на использование пакетных функций в SQL
- Устойчивое состояние пакета
- Устойчивое состояние пакетного курсора
- Контроль уровня чистоты хранимых функций PL/SQL
- Использование типа данных RECORD с таблицами PL/SQL в пакета
- Использование стандартных пакетов Oracle в разработке приложений
- Обзор стандартных пакетов, поставляемых Oracle
- Примеры некоторых из стандартных пакетов
- Как работает пакет DBMS_OUTPUT?
- Использование пакета UTL_FILE для работы с файлами операционной системы
- Пакет UTL_MAIL и использование его подпрограм
- Динамический SQL и метаданные
- Этапы выполнения команды SQL
- Что такое динамический SQL?
- Декларация курсорных переменных
- Динамическое выполнение блока PL/SQL
- Использование собственного динамического SQL (NDS) для компиляции кода PL/SQL
- Использование пакета DBMS_SQL с параметризованной командой DML
- Функциональная завершенность динамического SQ
- Рекомендации по дизайну кода PL/SQL
- Стандартизация констант и исключений
- Использование локальных подпрограмм
- Применение автономных транзакций
- Использование подсказки компилятору NOCOPY
- Применение подсказки компилятору PARALLEL_ENABLE
- Использование кроссеансного кэширования результата PL/SQL функций
- Использование условия DETERMINISTIC с функциями
- Использование массового связывания для повышения производительност
- Создание триггеров базы данных
- Работа с триггерами
- Определение типа триггера, времени его срабатывания и тела
- Сценарии бизнес-применения триггеров
- Создание DML-триггеров при помощи команды CREATE TRIGGER и SQL Developer
- Определение типа события, на которое срабатывает триггер, тела триггера и времени срабатывания
- Операторные и строчные триггеры
- Создание триггеров INSTEAD OF , а также выключение триггеров
- Сопровождение, тестирование и удаление триггеров базы данны
- Создание комбинированных (COMPOUND) триггеров, DDL-триггеров и триггеров, срабатывающих по системным событиям базы данных
- Работа с комбинированными триггерами
- Идентификация раздела времени выполнения для табличного комбинированного триггера
- Структура комбинированного триггера для таблиц и представлений
- Использование комбинированного триггера для чтения данных из мутирующей таблицы
- Сравнение триггеров базы данных и хранимых процедур
- Создание триггеров на DDL команды
- Триггеры, срабатывающие по событиям в базе данных
- Системные привилегии, необходимые для сопровождения триггеро
- Использование компилятора PL/SQL
- Использование компилятора PL/SQL
- Установка параметров инициализации, влияющих на компиляцию кода PL/SQL
- Категории предупреждений компилятора
- Использование предупреждений времени компиляции в подпрограммах
- Преимущества использования предупреждений компилятора
- Категории предупреждений компилятора
- Установка уровней предупреждений компилятора при помощи SQL Developer, инициализационного параметра PLSQL_WARNINGS либо подпрограмм пакета DBMS_WARNINGS
- Просмотр предупреждений компилятора при помощи SQL Developer, SQL*Plus или представлений словаря данны
- Сопровождение кода PL/SQL
- Что такое условная компиляция и как она работает?
- Использование директив выбора.
- Использование предопределенной и пользовательской директив опроса.
- Параметр PLSQL_CCFLAGS и директива опроса
- Применение директив ошибки при условной компиляции для возбуждения определенных пользователем исключений
- Пакет DBMS_DB_VERSION
- Применение процедуры DBMS_PREPROCESSOR для печати или получения исходного кода после условной компиляции
- Защита исходного кода в подпрограммах PL/SQL
- Обслуживание зависимостей
- Обзор зависимостей между объектами
- Просмотр прямых зависимостей между объектами при помощи представления USER_DEPENDENCIES
- Определение статуса объектов
- Недействительность зависимых объектов
- Просмотр прямых и косвенных зависимостей
- Детальное управление зависимостями в базе данных Oracle 11g
- Удаленные зависимости
- Перекомпиляция программных единиц PL/SQL