Профессиональное использование SQL и PL/SQL в Oracle 11g
Or11g_PLSQL_проф
Задачи курса
- Показать новые архитектурные особенности сервера Oracle 10g, 11g и его тонкую настройку с точки зрения разработчика серверной части приложения с использованием SQL/PLSQL.
- Новые возможности SQL и PL/SQL.
- Настройку производительности SQL запросов.
Аудитория
Профессиональные разработчики PL/SQL, желающие упорядочить свои знания в PL/SQL и разрабатывать приложения, соответствующие современным стандартам.
Предварительный уровень подготовки
- Знание Pl/SQL
- Основы программирования Oracle сервера.
Результат обучения
По окончании курса слушатели смогут создавать приложения и запросы на SQL и PL/SQL на новом, современном уровне.
Программа курса
1. Архитектура СУБД Oracle 11g -6 ак. Часов:
- логическая и физическая структура базы данных;
- рабочие процессы СУБД;
- архитектура табличных пространств;
- структура и назначение используемой памяти.
2. Расширенные возможности аналитических функций -2 ак. Часа:
- GROUPING SETS, ROLLUP, CUBE;
- функции ранжирования;
- статистические функции для плавающего интервала;
- функции подсчета долей;
- статистические функции LAG/LEAD с запаздывающим/опережающим аргументом;
- Лабораторная работа
3. Работа с датой в разных часовых поясах- 1 ак. Час:
- типы данных связанные с датой;
- интервальные типы данных;
- функции для работы с датой в разных часовых поясах.
4. Язык манипулирования данными DML -2 ак. Часа:
- стандартные команды вставки, удаления, обновления данных;
- оператор INSERT ALL/FIRST для многоцелевой и условной вставки;
- оператор MERGE.
- Лабораторная работа
5. Язык DDL – создание таблиц-2 ак. Часа:
- создание таблиц;
- обеспечение целостности данных посредствам ограничений;
- проблемы каскадного обновления первичных ключей;
- откладываемые ограничения (DEFERRABLE CONSTRAINT);
- включение и отключение ограничений;
- внешние таблицы (замена стандартных механизмов import/export);
- технология Flashback Table;
- Лабораторная работа
6. Транзакционные и временные таблицы, Табличные пространства- 1 ак. Час:
- понятие транзакционных и временных таблиц;
- механизмы использования транзакционных и временных таблиц;
- структура и виды табличных пространств;
- сегменты, экстенты, блоки;
- секционированные таблицы.
7. Работа с транзакциями-2 ак. Часа:
- архитектурный подход Oracle к работе транзакций;
- механизм согласованности данных;
- уровни изоляции транзакций;
- алгоритмы блокирования Oracle, уровни блокировок;
- взаимоблокировки и борьба с ними;
- транзакции «только для чтения»;
- ошибка старых моментальных снимков;
- автономные транзакции;
- Flashback данных в таблицах.
- Лабораторная работа
8. Другие объекты базы данных- 4 ак. Часа:
- представления и DML операции;
- материализованные представления;
- механизмы обновления материализованных представлений;
- понятие индекса;
- оптимизация с помощью индексов;
- кластерные индексные таблицы;
- вычисляемые индексы;
- счетчики;
- синонимы.
- Лабораторная работа
9. Оптимизация SQL запросов- 8 ак. Часов:
- алгоритм работы оптимизатора запросов;
- понятие статистики;
- автоматический и ручной сбор статистики;
- чтение планов выполнения запросов;
- подсказки оптимизатору;
- стабилизация планов выполнения запросов;
- задание режимов оптимизации.
- Лабораторная работа
10. Обработка исключений- 1 ак. Час:
- понятие исключения;
- перехват исключений;
- именованные исключения;
- пользовательские исключения;
- стандартизация пользовательских исключений;
- методика обработки ошибок в PL/SQL
11. Составные типы данных-2 ак. Часа:
- атрибут $ROWTYPE;
- записи (RECORD);
- индексированные и ассоциативные таблицы (INDEX BY TABLE);
- VARRAY;
- вложенные таблицы;
- операции DML над вложенными таблицами;
- Оператор BULK COLECT/ FETCH;
- Цикл FORALL;
- Лабораторная работа
12. Работа с курсорами-2 ак. Часа:
- явные и неявные курсоры;
- атрибуты и параметры курсоров;
- использование курсоров внутри управляющих блоков;
- ссылочные курсоры;
- вложенные в SELECT курсоры;
- обновление данных через курсоры.
13. Триггеры Сервера и БД- 1 ак. Час:
- триггеры базы данных и схем пользователя
- составные триггеры
- обработка исключительных ситуаций в триггерах
14. Работа с пакетами-2 ак. Часа:
- спецификация и тело пакета;
- функции и процедуры как элементы пакета;
- блок инициализации пакета;
- зависимые процедуры и функции;
- устойчивое состояние пакета;
- PRAGMA RESTRICT_REFERENCES и SERIALLY_REUSABLE
- пакеты, используемые для стандартизации программного кода;
- примеры использования стандартных пакетов: DBMS_PIPE, DBMS_OUTPUT, DBMS_JOB, UTL_FILE, UTL_SMTP, UTL_HTTP, UTL_MAIL, DBMS_DBWS.
- Лабораторная работа
15. Статический и динамический SQL- 1 ак. Час:
- нативный динамический SQL;
- пакет DBMS_SQL;
- связывание входных параметров и подготовка выходных переменных для DML операторов.
16. Объектно-ориентированное программирование на PL/SQL-2 ак. Часа:
- создание классов;
- наследование и полиморфизм;
- абстрактные классы;
- использование классов в PL/SQL;
- объектные таблицы;
- ссылки на объекты и таблицы с полями типа REF OBJECT;
- оператор CAST, VALUE и MULTISET;
- оператор TREAT и привидение типов;
- Лабораторная работа
17. PL/SQL и C, Java- 1 ак. Час:
- вызов внешних процедур;
- правила написания и компиляции динамической библиотеки на С, Java;
- правила отображения параметров C на PL/SQL;
- использование библиотеки для взаимодействия c MS WORD и EXCEL.