Описание Кура
На курсе слушатели научатся использовать все функциональные возможности курсоров, пакетов, больших объектов, коллекций и методов взаимодействия с другими приложениями.
Слушатели изучат:
- современные возможности PL/SQL по разработке и отладке PL/SQL-программ, наиболее эффективно взаимодействующих с базой данных и другими приложениями.
- написание оптимального кода
- использование внешних подпрограмм, написанных на языке C и Java
- применение механизма детального контроля доступа, а также защиты кода от SQ-внедрений
Предварительная подготовка:
Знания SQL и PL/SQL
Oracle Database: Разработка программных модулей на PL/SQL
Oracle Database: Основы SQL
Цель Курса:
- создание эффективных пакетов и программных единиц PL/SQL
- написание кода, взаимодействующего с другими приложениями и операционной системой
- создание приложений, использующих коллекции
- создание оптимальных с точки зрения производительности программ.
- применение механизмов детального контроля доступа
- написание кода, взаимодействующего с большими объектами (LOBs), и использование SecureFile LOBs
Аудитория курса:
- Разработчики приложений
- Администраторы баз данных
Содержание Курса
- Введение
- Задачи курса. Расписание курса. Описание сред разработки. Таблицы, данные и инструменты, используемые в этом курсе.
- Обзор концепций программирования на PL/SQL
- Структура блока PL/SQL. Пакеты, процедуры и функции. Курсоры. Обработка исключений.
- Зависимости.
- Дизайн кода PL/SQL
- Описание предопределённых типов данных. Создание подтипов на основе имеющихся в приложении типов. Использование разных подходов при дизайне курсоров. Использование переменных курсоров. Белый список.
- Обзор коллекций
- Обзор коллекций. Использование ассоциативных массивов. Навигация при помощи ассоциативных методов. Использование вложенных таблиц. Использование массивов переменной длины. Сравнение вложенных таблиц и массивов переменной длины.
- Использование коллекций
- Написание PL/SQL программ, использующих коллекции. Эффективное использование коллекций. Улучшения в типах переменных привязки в PL/SQL.
- Манипулирование большими объектами
- Работа с LOB. Обзор SecureFile LOB.
- Использование продвинутых методов интерфейсов
- Вызов внешних программ из PL/SQL. Преимущества вызова внешних процедур. Вызов внешних процедур, написанных на других языках программирования. Вызов из PL/SQL процедур, написанных на языке C. Вызов из PL/SQL процедур, написанных на языке Java.
- Настройка производительности кода PL/SQL
- Влияние компилятора. Настройка кода PL/SQL. Управление автоматическим встраиванием подпрограмм. Идентификация проблем использования памяти и ее настройка. Сетевые проблемы.
- Увеличение производительности за счет кэширования
- Описание кэширования результатов. Использование кэша результатов запросов. Использование кэша функций PL/SQL. Обзор особенностей кэша функций PL/SQL.
- Анализ кода PL/SQL
- Информация о коде. Области видимости PL/SQL. Пакет DBMS_METADATA. Улучшения PL/SQL.
- Профилирование и трассировка кода PL/SQL
- Трассировка выполнения PL/SQL. Шаги трассировки PL/SQL.
- Внедрение виртуальной частной базы данных при помощи детального контроля доступа
- Описание работы детального контроля доступа. Описание методов детального контроля доступа. Описание контекста приложения. Создание контекста приложения. Применение контекста приложения. Процедуры пакета DBMS_RLS. Применение политики. Представления словаря данных, содержащие информацию о детальном контроле доступа.
- Защита кода от SQL-внедрений
- Описание SQL-внедрений. Уменьшение зон, уязвимых для SQL-внедрений. Использование DBMS_ASSERT.