Описание
В курсе проходит углубленное изучение процедурного языка Oracle PL/SQL. Более подробно рассматривается использование хранимых PL/SQL-объектов СУБД Oracle (процедуры, функции, пакеты, триггеры), предоставляющие мощнейшие возможности для создания бизнес-логики приложений, использующих технологии Oracle. Рассматриваются также новые возможности версии 11g.
удостоверение о повышении квалификации государственного образца
Цели
- создавать, модифицировать, удалять хранимые объекты PL/SQL;
- эффективнее обрабатывать исключения;
- пользоваться стандартными пакетами БД Oracle;
- использовать динамический SQL;
- эффективнее работать с объектными типами и коллекциями.
Целевая аудитория
Разбираемые темы
-
1. Введение
- Программные конструкции PL/SQL.
- Описание схемы HR (Human Resources), используемой в курсе.
- Работа в Oracle SQL Developer.
- Редактирование и выполнение анонимного блока в SQL Developer.
- Сохранение и выполнение SQL-скриптов.
- Ссылки на дополнительные ресурсы.
-
2. Создание процедур
- Описание использования процедур.
- Создание процедур.
- Создание процедур с параметрами.
- Вызов процедуры.
- Обработка исключений.
- Удаление процедуры.
-
3. Создание функций
- Описание использования функций.
- Создание функций.
- Вызов функции.
- Функции в SQL-командах.
- Удаление функции.
- Различия между процедурами и функциями.
-
4. Создание пакетов
- Описание пакетов и перечисление их компонент.
- Спецификация и тело пакета.
- Создание пакетов, задание частных и общедоступных конструкций.
- Вызов пакетных объектов.
- Удаление пакетов.
-
5. Дополнительные особенности работы с пакетами
- Перегрузка пакетных процедур и функций.
- Как избежать ошибок при взаимных ссылках подпрограмм.
- Инициализация переменных в процедуре, выполняемой только один раз.
- Использование пакетных функций в SQL.
- Сохранение состояния пакетных переменных, курсоров, таблиц и записей.
- Использование PL/SQL-таблиц записей в пакетах.
-
6. Использование некоторых стандартных пакетов Oracle (для ввода-вывода)
- Обзор стандартных пакетов Oracle.
- Пакет DBMS_OUTPUT.
- Пакет UTL_FILE.
- Пакет UTL_MAIL.
- Пакет DBMS_SCHEDULER.
- Пакет DBMS_METADATA.
- Пакет DBMS_LOB.
-
7. Динамический SQL
- Этапы выполнения SQL-предложения.
- Выполнение динамических SQL-предложений с использованием EXECUTE IMMEDIATE.
- Выполнение динамических SQL -предложений с использованием пакета DBMS_SQL.
-
8. Дизайн кода PL/SQL
- Создание в пакетах констант и исключений.
- Локальные подпрограммы.
- Права создателя и вызывающего хранимую процедуру.
- Использование подсказки NOCOPY для программных параметров.
- Автономные транзакции.
- Использование клаузы DETERMINISTIC.
- Использование коллекций для массовых операций.
-
9. Создание триггеров базы данных
- Описание различных типов триггеров.
- Определение триггеров базы данных и их использование.
- Создание триггеров баз данных.
- Строковые и операторные триггеры на таблицах.
- Триггеры на представления, INSTEAD OF.
- Правила срабатывания триггеров базы данных.
- Удаление триггеров базы данных.
-
10. Триггеры на DDL-предложения и на события в базе данных
- Создание триггеров на DDL-предложения.
- Триггеры, срабатывающие по системным событиям в базе данных.
- Ограничения на триггеры базы данных.
- Триггеры LOGON и LOGOFF.
- Предложение CALL в триггере.
- Рекомендации по конструированию триггеров.
-
11. Использование PL/SQL-компилятора
- Инициализационные параметры для PL/SQL-компиляции.
- Предупреждения времени компиляции.
- Пакет DBMS_WARNING.
- Предупреждающее сообщение PLW 06009.
-
12. Управление кодом PL/SQL
- Параметр настройки PLSQL_CCFLAGS.
- Пакет DBMS_DB_VERSION.
- Условная компиляция.
- Сокрытие кода (Obfuscation).
- Утилита свертки.
- Пакет DBMS_DDL.
-
13. Отслеживание зависимостей
- Обзор объектных зависимостей.
- Процедурные зависимости в представлениях словаря данных.
- Оценка влияния изменений объектов БД на хранимые процедуры.
- Использование представлений USER_DEPENDENCIES и DEPTREE.
- Управление локальными и удаленными зависимостями.
- Установка значения инициализационного параметра REMOTE_DEPENDENCIES_MODE.

С 1994 г. преподает дисциплины, связанные с управлением данными, проектированием информационных систем и разработкой программного обеспечения.
С 2014 г. Александр является штатным экспертом Luxoft Training по направлению «Разработка и архитектура ПО, СУБД Oracle», где занимается проведением тренингов, разработкой тренинговых программ и развитием данного направления.
О проектах:
Александр занимается разработкой учебных программ, чтением лекций, проведением семинаров, практических и лабораторных работ. Под его руководством уже не один десяток специалистов успешно защитили выпускные квалификационные работы бакалавра и магистерские диссертации.
Среди его кейсов работа в ЗАО «ТИТАН МЕТА», Московском государственном университете приборостроения и информатики, Национальном исследовательском университете «Высшая школа экономики» и Luxoft Training.
Курсы, сертификаты, членство в профессиональных организациях:
2009 г. — повышение квалификации в Московском государственном университете приборостроения и информатики по программе «Информационная компетентность в профессиональной деятельности преподавателя вуза».
2011 г. — повышение квалификации в Информационно-Вычислительном Центре Московского энергетического института (технического университета) по программе «Современные технологии построения баз данных на примере Microsoft SQL Server 2008. Web-приложения и современные средства разработки. Современные технологии построения компьютерных сетей с использованием Microsoft Windows Server 2008 R2».
Александр является членом организаций:
-
IEEE, IEEE Computer Society (Institute of Electrical and Electronics Engineers / Институт инженеров электротехники и электроники).
-
ACM, ACM SIGMOD (Association for Computing Machinery / Ассоциация вычислительной техники).