O11gDPU. Oracle Database 11g: Разработка программных модулей на PL/SQL

O11gDPU. Oracle Database 11g: Разработка программных модулей на PL/SQL

Описание курса 5 Декабря 2016

Описание Курса:
Курс предназначен для разработчиков с базовыми знаниями SQL и PL/SQL. Прослушав курс, слушатели научатся разрабатывать, выполнять и сопровождать хранимые программные единицы PL/SQL, такие, как процедуры, функции, пакеты и триггеры базы данных. Слушатели также научатся сопровождать подпрограммы PL/SQL и триггеры и получат представление об использовании некоторых стандартных пакетов, поставляемых Oracle. Кроме того, слушатели получат представление об использовании динамического SQL, понимание модульного, многоуровневого подхода к проектированию программ на PL/SQL, описанию и использованию возможностей компилятора, управление зависимостями. В данном курсе слушатели будут использовать Oracle SQL Developer как основной инструмент для разработки кода. SQL*Plus предлагается как дополнительный инструментарий.
Аудитория:
  • Разработчики приложений
  • Разработчики PL/SQL
  • Администраторы баз данных
  • Разработчики форм
  • Системные аналитики
  • Специалисты отделов технической поддержки
Предварительная подготовка:
  • Oracle11g: Основы SQLI, SQLII;
  • Oracle11g: Основы PL/SQL;
  • Опыт программирования
  • Базовые знания PL/SQL
Приобретаемые навыки:
  • Создавать и выполнять хранимые процедуры и функции
  • Разрабатывать и использовать пакеты PL/SQL
  • Использовать перегруженные пакетные подпрограммы для большей гибкости кода
  • Применять поставляемые Oracle стандартные пакеты в разработке приложений
  • Создавать триггеры для решения сложных бизнес-правил
  • Строить и выполнять команды 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 
  • Функциональная завершенность динамического 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 
  • Категории предупреждений компилятора 
  • Использование предупреждений времени компиляции в подпрограммах 
  • Преимущества использования предупреждений компилятора 
  • Категории предупреждений компилятора 
  • Установка уровней предупреждений компилятора при помощи 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 



Тренер:

Гусев Евгений