12cSQL_PL/SQL

Oracle Database: Основы SQL и PL/SQL


Oracle Database: SQL and PL/SQL Fundamentals

Курс знакомит слушателей с языком PL/SQL и помогает им оценить преимущества этого мощного языка программирования. Прослушав курс, слушатели научатся создавать блоки PL/SQL, которые могут быть использованы различными формами, отчётами и приложениями для обработки данных. Слушатели научатся также создавать анонимные блоки PL/SQL, и получат представление о хранимых процедурах и функциях. Они узнают, как объявлять переменные и обрабатывать исключения. Демонстрации наглядных примеров и практические работы укрепят знание основных концепций. Слушатели используют Oracle SQL Developer для разработки этих программных единиц.

Цели курса

  • Создание и выполнение хранимых процедур и функций
  • Проектирование и использование пакетов
  • Создание перегруженных пакетных подпрограмм для большей гибкости
  • Применение стандартных пакетов Oracle в разработке приложений
  • Использование триггеров для решения бизнес-задач
  • Динамическое создание и выполнение инструкций SQL
  • Сопровождение подпрограмм PL/SQL и триггеров
  • Понимание и влияние на компилятор PL/SQL
  • Сопровождение зависимостями


Аудитория

  • Разработчики PL/SQL
  • Системные аналитики
  • Технические консультанты
  • Разработчики форм
  • Разработчики порталов

Требуемая подготовка

  • Представления о концепциях и методиках обработки данных
  • Знакомство с языками программирования
  • Прохождение курса 12cSQL - Oracle Database: Введение в SQL

Программа курса

Модуль 1. Введение

  • Цели курса
  • План курса
  • Таблицы учебной схемы Персонал (Human Resources, HR)
  • Среда выполнения кода PL/SQL на сервере базы данных
  • Введение в SQL Developer

Модуль 2. Введение в PL/SQL

  • Что такое PL/SQL
  • Преимущества подпрограмм PL/SQL
  • Обзор типов блоков PL/SQL
  • Преимущества PL/SQL
  • Обзор типов блоков PL/SQL
  • Создание и выполнение простого анонимного блока
  • Генерация вывода из блоков PL/SQL

Модуль 3. Объявление идентификаторов в PL/SQL

  • Различные типы идентификаторов в подпрограммах PL/SQL
  • Использование раздела объявлений для определения идентификаторов
  • Хранение данных в переменных
  • Скалярные типы данных
  • Атрибут %TYPE
  • Связанные (bind) переменные
  • Использование последовательностей в выражениях PL/SQL

Модуль 4. Написание исполняемых операторов

  • Описание основного синтаксиса блоков
  • Комментирование кода
  • Функции SQL в PL/SQL
  • Преобразование типов данных
  • Вложенные блоки
  • Операторы в PL/SQL

Модуль 5. Взаимодействие с сервером базы данных Oracle

  • Включение операторов SELECT в PL/SQL для получения данных
  • Манипулирование данными на сервере при помощи PL/SQL
  • Концепции SQL-курсоров
  • Атрибуты SQL-курсоров для обратной связи с DML-операторами
  • Фиксация и откат транзакций

Модуль 6. Написание управляющих структур

  • Условное управление с использованием оператора IF
  • Условное управление с использованием оператора CASE
  • Простой цикл LOOP
  • Цикл WHILE
  • Цикл FOR
  • Оператор CONTINUE

Модуль 7. Работа с составными типами данных

  • Использование записей PL/SQL
  • Использование атрибута %ROWTYPE
  • Вставка и обновление при помощи записей PL/SQL
  • Ассоциативные таблицы INDEX BY и методы работы с ними
  • Ассоциативные таблицы INDEX BY с записями

Модуль 8. Использование явных курсоров

  • Управление явным курсором
  • Определение курсора
  • Открытие курсора
  • Выборка данных из активного набора
  • Закрытие курсора
  • Курсорные циклы FOR с подзапросами
  • Атрибуты явного курсора
  • Использование предложений FOR UPDATE и WHERE CURRENT OF

Модуль 9. Обработка исключений

  • Понимание исключений
  • Обработка исключений в PL/SQL
  • Перехват предопределённых ошибок сервера Oracle
  • Перехват не-предопределённых ошибок сервера Oracle
  • Перехват исключений, определяемых пользователями
  • Распространение исключений
  • Использование процедуры RAISE_APPLICATION_ERROR

Модуль 10. Создание хранимых процедур

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

Модуль 11. Создание хранимых функций

  • Создание, вызов и удаление хранимых функций при помощи команд SQL и SQL Developer
  • Преимущества использования хранимых функций в SQL-выражениях
  • Шаги по созданию хранимой функции
  • Использование пользовательских функции в SQL-выражениях
  • Ограничения на вызов функций из SQL-выражений
  • Контроль побочных эффектов при вызове функций из SQL выражений
  • Просмотр информации о функциях в словаре данных

Модуль 12. Создание пакетов

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

Модуль 13. Работа с пакетами

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

Модуль 14. Использование стандартных пакетов Oracle в разработке приложений

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

Модуль 15. Динамический SQL и метаданные

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

Модуль 16. Рекомендации по дизайну кода PL/SQL

  • Стандартизация констант и исключений
  • Использование локальных подпрограмм
  • Применение автономных транзакций
  • Использование подсказки компилятору NOCOPY
  • Применение подсказки компилятору PARALLEL_ENABLE
  • Использование кроссеансного кэширования результата PL/SQL функций
  • Использование условия DETERMINISTIC с функциями
  • Использование массового связывания для повышения производительности

Модуль 17. Создание триггеров базы данных

  • Работа с триггерами
  • Определение типа триггера, времени его срабатывания и тела
  • Сценарии бизнес-применения триггеров
  • Создание DML-триггеров при помощи команды CREATE TRIGGER и SQL Developer
  • Определение типа события, на которое срабатывает триггер, тела триггера и времени срабатывания
  • Операторные и строчные триггеры
  • Создание триггеров INSTEAD OF , а также выключение триггеров
  • Сопровождение, тестирование и удаление триггеров базы данных

Модуль 18. Создание комбинированных (COMPOUND) триггеров, DDL-триггеров и триггеров, срабатывающих по системным событиям базы данных

  • Работа с комбинированными триггерами
  • Идентификация раздела времени выполнения для табличного комбинированного триггера
  • Структура комбинированного триггера для таблиц и представлений
  • Использование комбинированного триггера для чтения данных из мутирующей таблицы
  • Сравнение триггеров базы данных и хранимых процедур
  • Создание триггеров на DDL команды
  • Триггеры, срабатывающие по событиям в базе данных
  • Системные привилегии, необходимые для сопровождения триггеров

Модуль 19. Использование компилятора PL/SQL

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

Модуль 20. Сопровождение кода PL/SQL

  • Что такое условная компиляция и как она работает?
  • Использование директив выбора.
  • Использование предопределенной и пользовательской директив опроса.
  • Параметр PLSQL_CCFLAGS и директива опроса
  • Применение директив ошибки при условной компиляции для возбуждения определенных пользователем исключений
  • Пакет DBMS_DB_VERSION
  • Применение процедуры DBMS_PREPROCESSOR для печати или получения исходного кода после условной компиляции
  • Защита исходного кода в подпрограммах PL/SQL.

Модуль 21. Обслуживание зависимостей

  • Обзор зависимостей между объектами
  • Просмотр прямых зависимостей между объектами при помощи представления USER_DEPENDENCIES
  • Определение статуса объектов
  • Недействительность зависимых объектов
  • Просмотр прямых и косвенных зависимостей
  • Детальное управление зависимостями в базе данных Oracle 12с
  • Удаленные зависимости
  • Перекомпиляция программных единиц PL/SQL