Описание курса:
Курс предназначен для разработчиков с базовыми знаниями SQL и PL/SQL. Прослушав курс, слушатели научатся разрабатывать, выполнять и сопровождать хранимые программные единицы PL/SQL, такие, как процедуры, функции, пакеты и триггеры базы данных. Слушатели также научатся сопровождать подпрограммы PL/SQL и триггеры и получат представление об использовании некоторых стандартных пакетов, поставляемых Oracle. Кроме того, слушатели получат представление об использовании динамического SQL, понимание модульного, многоуровневого подхода к проектированию программ на PL/SQL, описанию и использованию возможностей компилятора, управление зависимостями. В данном курсе слушатели будут использовать Oracle SQL Developer как основной инструмент для разработки кода. SQL*Plus предлагается как дополнительный инструментарий. Чтение лекций проводится на русском языке.
Аудитория курса:
Разработчики приложений, разработчики PL/SQL, администраторы баз данных, разработчики форм, системные аналитики, специалисты отделов технической поддержки.
Предварительная подготовка:
Перед началом обучения прослушать курсы Oracle11g: Основы SQLI, SQLII, а также курс Oracle11g: Основы PL/SQL.
Сертификация:
Курс поможет в подготовке к сертификационному тесту "Oracle PL/SQL" (#1Z0-147), который входит в трек Oracle PL/SQL Developer Certified Associate.
Содержание курса:
Введение
- Цели курса и план
- Обзор учебной схемы курса - Персонал (HR)
- Программные конструкции PL/SQL
- Использование SQL Developer
- Интерактивный доступ к документации Oracle11g SQL и PL/SQL
Создание хранимых процедур
- Модульность разработки с помощью блоков PL/SQL
- Среда исполнения кода PL/SQL
- Преимущества использования подпрограмм PL/SQL
- Различия между анонимными блоками и подпрограммами
- Создание, вызов и удаление хранимых
- Использование параметров в процедурах и различные режимы параметров
- Просмотр информации о процедурах в представлениях словаря данных
Создание хранимых функций
- Создание, вызов и удаление хранимых функций при помощи команд 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
- Функциональная завершенность динамического SQL
Рекомендации по дизайну кода PL/SQL
- Стандартизация констант и исключений
- Использование локальных подпрограмм
- Применение автономных транзакций
- Использование подсказки компилятору NOCOPY
- Применение подсказки компилятору PARALLEL_ENABLE
- Использование кроссеансного кэширования результата PL/SQL функций
- Использование условия DETERMINISTIC с функциями
- Использование массового связывания для повышения производительности
Создание триггеров базы данных
- Работа с триггерами
- Определение типа триггера, времени его срабатывания и тела
- Сценарии бизнес-применения триггеров
- Создание DML-триггеров при помощи команды CREATE TRIGGER и SQL Developer
- Определение типа события триггера, тела триггера и времени срабатывания
- Операторные и строчные триггеры
- Создание триггеров INSTEAD OF, а также выключение триггеров
- Сопровождение, тестирование и удаление триггеров базы данных
Создание комбинированных (COMPOUND) триггеров, DDL-триггеров и триггеров, срабатывающих по системным событиям базы данных
- Работа с комбинированными триггерами
- Идентификация раздела времени выполнения для табличного комбинированного триггера
- Структура комбинированного триггера для таблиц и представлений
- Использование комбинированного триггера для чтения данных из мутирующей таблицы
- Сравнение триггеров базы данных и хранимых процедур
- Создание триггеров на DDL команды
- Триггеры, срабатывающие по событиям в базе данных
- Системные привилегии, необходимые для сопровождения триггеров
Использование компилятора PL/SQL
- Использование компилятора PL/SQL
- Установка параметров инициализации, влияющих на компиляцию кода PL/SQL
- Категории предупреждений компилятора
- Использование предупреждений времени компиляции в подпрограммах
- Преимущества использования предупреждений компилятора
- Категории предупреждений компилятора
- Установка уровней предупреждений компилятора (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
Документы об окончании курса / Материалы и сертификаты:
Сертификат Учебного Центра