Казахстан, г. Алматы, ул. Шевченко 90, БЦ «Каратал», офис 53
Казахстан, г. Астана, ул. Иманова 19, БЦ Деловой Дом "Алма-Ата", офис 612

направление: Database Application Development кол-во дней: 3
вендор: Oracle кол-во часов: 24
код курса: DPU

Курс предназначен для разработчиков с базовыми знаниями SQL и PL/SQL. Прослушав курс, слушатели научатся разрабатывать, выполнять и сопровождать хранимые программные единицы PL/SQL: процедуры, функции, пакеты и триггеры базы данных.

Аудитория курса:

  • Разработчики приложений

  • Администраторы баз данных

  • Разработчики PL/SQL

  • Специалисты отделов технической поддержки

  • Разработчики форм

  • Системные аналитики

Необходимая предварительная подготовка: 

  • Базовые знания PL/SQL

  • Oracle 12c: Основы SQL

  • Oracle 12с: Основы PL/SQL

  • Опыт программирования

После успешного прохождения курса слушатели должны будут уметь: 

  • Создавать и выполнять хранимые процедуры и функции

  • Разрабатывать и использовать пакеты PL/SQL

  • Использовать перегруженные пакетные подпрограммы для большей гибкости кода

  • Применять в разработке приложений пакеты, поставляемые Oracle

  • Создавать триггеры для реализации сложных бизнес-правил

  • Строить и выполнять команды SQL динамически

  • Сопровождать подпрограммы и триггеры PL/SQL

  • Воздействовать на компилятор PL/SQL

  • Сопровождать зависимости

 

Введение
Цели курса и план. Обзор учебной схемы курса - Персонал (HR). Обзор документации Oracle Database 12c по SQL, и PL/SQL и дополнительным материалам. Инструменты разработки, используемые в курсе. Использование SQL Worksheet. Выполнение команд SQL. Работа с файлами сценариев. Создание и выполнение анонимных блоков.

Создание хранимых процедур
Блоки PL/SQL и подпрограммы. Использование и достоинства процедур. Создание, вызов и удаление процедур. Использование формальных и актуальных параметров. Различные режимы передачи параметров. Передача параметров при помощи позиционного, именованного или комбинированного метода. Обработка исключений в процедурах. Просмотр информации о процедурах.

Создание хранимых функций и отладка подпрограмм
Разница между процедурами и функциями. Разработка функций. Создание, выполнение и удаление функций. Преимущества использования хранимых функций в SQL. Использование пользовательских функций в SQL. Использование функции PL/SQL в конструкции WITH. Ограничения на вызов функций из SQL.

Создание пакетов
Пакеты PL/SQL. Компоненты пакета PL/SQL. Область видимости компонент пакета PL/SQL. Разработка пакета PL/SQL. Создание спецификации и тела пакета. Вызов пакетных конструкций. Создание и использование пакета без тела. Удаление пакета. 

Работа с пакетами
Перегрузка пакетных подпрограмм в PL/SQL. Использование предварительного объявления для разрешения ссылок на еще не описанные программные единицы. Инициализация пакетов. Ограничения на использование пакетных функций в SQL. Контроль побочных эффектов в подпрограммах PL/SQL. Постоянное состояние пакетов. Постоянное состояние пакетных переменных и курсоров. Использование в пакетах таблиц типа данных RECORD.

Использование в разработке приложений пакетов, поставляемых Oracle
Обзор пакетов, поставляемых Oracle. Примеры некоторых стандартных пакетов. Как работает пакет DBMS_OUTPUT? Использование пакета UTL_FILE для работы с файлами операционной системы. Использование пакета UTL_MAIL.

Динамический SQL
Этапы выполнения команды SQL. Что такое динамический SQL? Зачем нужен динамический SQL? Использование родного динамического SQL (NDS) для компиляции кода PL/SQL. Определение переменных в курсоре. Динамическое выполнение блока PL/SQL.

Рекомендации по дизайну кода PL/SQL
Стандартизация констант в пакете с константами. Стандартизация исключений в пакете с исключениями. Использование локальных подпрограмм в коде PL/SQL. Выдача ролей на пакеты и хранимые процедуры. Использование подсказки компилятору NOCOPY для передачи параметра по ссылке. Применение подсказки компилятору PARALLEL_ENABLE для оптимизации кода. Использование подсказки компилятору AUTONOMOUS_TRANSACTION для запуска независимых транзакций внутри одной транзакции. Разница между правами вызывающего и правами владельца.

Создание триггеров базы данных
Описание различных видов триггеров. Работа с триггерами. Создание триггеров базы данных. Описание правил срабатывания триггеров. Удаление триггеров.

Создание комбинированных (COMPOUND) триггеров, DDL-триггеров и триггеров, срабатывающих по системным событиям базы данных
Работа с комбинированными триггерами. Изменяющиеся таблицы и триггеры. Создание триггеров, срабатывающих на команды DDL. Создание триггеров, срабатывающих на системные события. Получение информации о триггерах.

Использование компилятора PL/SQL
Использование компилятора PL/SQL. Параметры инициализации, влияющие на компиляцию кода PL/SQL. Категории предупреждений компилятора. Просмотр текущих значений параметра инициализации PLSQL_WARNINGS. Просмотр предупреждений компилятора при помощи SQL Developer, SQL*Plus или представлений словаря данных. Рекомендации по использованию PLSQL_WARNINGS.

Сопровождение зависимостей
Обзор зависимостей между объектами. Отслеживание зависимостей между объектами при помощи представлений словаря данных. Определение эффекта, оказываемого на процедуры и функции, от изменения объекта базы данных. Локальные и удаленные зависимости.