Разработка программных модулей на PL/SQL
Курс предназначен для разработчиков с базовыми знаниями SQL и PL/SQL. Курс посвящен вопросам разработки, выполнения и сопровождения хранимых программных единиц PL/SQL, таких, как процедуры, функции, пакеты и триггеры базы данных. Кроме того в курсе рассматриваются вопросы сопровождения подпрограмм PL/SQL и триггеров и использования некоторых стандартных пакетов, поставляемых Oracle; также представлено рассмотрение динамического SQL, модульный, многоуровневый подход к проектированию программ на PL/SQL, описание и использование возможностей компилятора, управление зависимостями.
Аудитория
- Разработчики приложений;
- Администраторы баз данных;
- Системные аналитики;
- Специалисты отделов технической поддержки.
Приобретаемые навыки
- Создавать и выполнять хранимые процедуры и функции;
- Разрабатывать и использовать пакеты PL/SQL;
- Использовать перегруженные пакетные подпрограммы для большей гибкости кода;
- Применять поставляемые Oracle стандартные пакеты в разработке приложений;
- Создавать триггеры для решения сложных бизнес-правил;
- Строить и выполнять команды SQL динамически.
Модуль 1: Введение
- Цели курса и план
- Программные конструкции 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
- Знать языки программирования SQL и PL/SQL.
Запись на курс
Код курса | EA-11gDPU |
---|---|
Длительность | 3д (24ч) |
Код экзамена | |
Стоимость без НДС | 15 000 грн. |