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