Разработка приложений для Web сервера средствами PL/SQL
Or11g_WEB
Цель курса: показать новые архитектурные особенности сервера Oracle 10g, 11g и его тонкую настройку с точки зрения разработчика серверной части приложения с использованием SQL/PLSQL. Новые возможности SQL и PL/SQL. Настройку производительности SQL запросов. Мониторинг и трассировку SQL. Разработку Web приложений средствами PL/SQL.
Аудитория
Курс предназначен для профессиональных разработчиков PL/SQL, желающих упорядочить свои знания в PL/SQL и разрабатывать приложения, соответствующие современным стандартам.
Предварительный уровень подготовки
Приступая к изучению курса, слушатели должны знать Pl/SQL и основы программирования Oracle сервера.
Результат обучения
По окончании курса слушатели научатся:
- Создавать приложения и запросы на SQL и PL/SQL на новом, современном уровне.
Программа курса
Глава 1. Oracle 10,11 - интегрированная база данных.
- Логическая и физическая компоновка базы данных.
- Процессы управления.
- Архитектура табличных пространств.
- Оптимальное использование памяти сервером.
- Понятие параллельного сервера.
- TNS адресаты.
- Настройка процессов прослушивания. NLS_LANG и настройка многоязыковой поддержки - особенности.
- Новые возможности Oracle 11g (обзор)
Глава 2. Новые типы данных 10g, 11g.
- Функции для работы с TimeStamp Рациональное использование табличных пространств для размещения больших объектов.
- Использование объектных и агрегатных типов для хранения данных
Глава 3. SELECT.
- Использование подзапросов во фразе From.
- Подзапросы.
- Коррелированные подзапросы.
- Древовидные структуры.
- Новые конструкции во фразе SELECT. (rollup, cube, case:).
- Аналитические функции в запросах. Вложенные таблицы (CURSOR) в операторе SELECT
Глава 4. Язык манипулирования данными DML.
- Выполнения сложных операторов DML с подзапросами.
- Оператор Merge
Глава 5. Оптимизация SQL запросов: Настройка производительности приложения.
- Разделяемый пул и глобальная рабочая область.
- Oracle оптимизатор.
- Команда Analyze.
- COST и RULE оптимизация.
- Организация и планирование сбора статистики по объектам схемы.
- Построение диаграмм распределения данных в таблицах.
- Указатели (HINTS) оптимизатору.
- Ранжирование методов доступа.
- Анализ запросов с целью повышения скорости их выполнения, задание режимов оптимизации. команда Explain Plan и алгоритмы ее использования.
- Правила оптимизации запросов и их оценка.
- Практические примеры оптимизации, Новые возможности Oracle 10g, 11g при описании Hints (подсказок). Oracle 10g - самонастраиваемая база данных.
- Обеспечение мониторинга изменений в таблицах.
- Автоматический сбор статистики по таблицам
Глава 6. Язык DDL.
- Создание и изменение таблиц (DDL).
- Команда Create Table.
- Определение параметров хранения таблиц на физическом уровне.
- Локальное управление табличными пространствами.
- Сегменты, экстенты, блоки.
- Параметры блоков - почему в 10g их стало значительно меньше
Глава 7. Создание временных транзакционных и сессионных таблиц.
- Создание таблиц с разбивкой на партиции.
- Глобальные и локальные индексы.
- Индексные таблицы.
- Доступ к данным в индексных таблицах, проблемы обновления данных.
- Особенности размещения индексных таблиц в физических блоках дисковой памяти.
- Таблицы, организованные как внешние
Глава 8. Декларативные ограничения целостности.
- Индексы и ограничения.
- 'Откладываемые' ограничения целостности и проблемы каскадного обновления первичных ключей.
- Команда SET CONSTRAINT.
- Изменение структуры таблицы, команда Alter table и ограничения целостности.
- Создание неуникальных индексов для первичных и уникальных ключей. Мгновенное включение ограничени
Глава 9. Транзакции.
- Оптимистические и пессимистические запросы.
- Алгоритмы совместного доступа к базам данных.
- Конкуренция параллельность и согласованность.
- Транзакции и взаимовлияние.
- Потери изменений, черновое чтение, повторяемое и неповторяемое чтение.
- Уровни изоляции.
- Алгоритмы блокирования Oracle, уровни блокировок.
- Блокировки DML - табличные и строчные блокировки, тупики.
- Разрешения тупиков. Блокировки DDL-исключающие и разделяемые блокировки, многовариантность.
- Многовариантность и согласованность чтения на уровне транзакций.
- Ошибка - слишком старый моментальный снимо
Глава 10. Другие объекты.
- Представления.
- Ограничение представлений и правила их обновляемости, Instead off триггер.
- Индексы.
- Правила применения и рекомендации Oracle.
- Использование функций в индексах. Deterministic функции.
- Индексы и оптимизация.
- Необходимость использования индексов.
- Особенности хранения индексов на дисковом пространстве.
- Кластеры. Hash кластеры с сортировкой и кластеры одной таблицы.
- Необходимость использования.
- Практический пример преобразования некластеризованных таблиц в кластеризованные.
- Кластерные индексы.
- Связи с базами данных.
- Использование ролей для разграничения доступа к данным - безопасность.
- Практический пример создания связей со схемами нескольких удаленных баз данных.
- Снимки и журналы снимков.
- Методы обновления.
- Материализованные представления данных.
- Принудительное обновление данных
Глава 11. Новые типы данных PL/SQL.
- Агрегатные типы данных (массивы и таблицы PL/SQL).
- Оператор BULK COLECT и операции DML.
- Извлечение данных из базы данных в PL/SQL таблицы - оператор BULK FETCH.
- Преобразование типов данных.
- Ссылочные типы данных.
- Ассоциативные таблицы и правила доступа к их элементам
Глава 12. Курсоры.
- Явные и неявные курсоры.
- Атрибуты и параметры курсоров.
- Использование курсоров внутри управляющих блоков.
- Оператор CURSOR и фраза INTO.
- Обновляемые курсоры и транзакции
Глава 13. Процедуры функции и пакеты.
- Ограничения для пользовательских SQL процедур.
- Зависимые процедуры и их сопровождение.
- Прагмы RESTRICT_REFERENCES, SERIALLY_REUSABLE.
- Зависимые пакеты.
- Использование хранимых функций в SQL запросах.
- Закрепление модулей в разделяемом пуле.
- Оптимизация. Автономные транзакции.
- Правила распространения автономных транзакций.
- Использование функций с автономными транзакциями в SQL запросах.
- Мутационные таблиц
Глава 14. Исключительные ситуации.
- Предопределенные и пользовательские исключительные ситуации.
- Явное возбуждение исключений.
- Процедура RAISE_APPLICATION_ERROR.
- Методика обработки ошибок в PL/SQL
Глава 15. Триггеры таблиц - как разновидность хранимых процедур.
- Атрибуты триггеров Oracle.
- Обработка исключительных ситуаций в триггерах.
- Триггеры базы данных и схем пользователя.
- Автономные транзакции в триггерах
Глава 16. Статический и динамический SQL.
- Почему 'УМЕР' пакет DBMS_SQL.
- Четыре алгоритма выполнения динамического запроса.
- Динамическое выполнение DDL операторов.
- Связывание входных параметров и подготовка выходных переменных для DML операторов
Глава 17. Объектная опция Oracle.
- Наследование и полиморфизм, абстрактные классы.
- Создание собственных классов.
- Использование классов в PL/SQL.
- Классы в таблицах базы данных.
- Объектные таблицы. Ссылки на объекты и таблицы с полями типа REF OBJECT.
- Зависшие ссылки и их оптимизация.
- Вложенные таблицы и массивы.
- Оператор CAST и MULTISET.
- Представления с агрегированными типами данных.
- Наследование и полиморфизм в Oracle 9i.
- Абстрактные типы. Оператор TREAT и привидение типов
Глава 18. Обзор использования основных пакетов базы данных: DBMS_PIPE, DBMS_JOB, DBMS_ALERT, UTL_FILE, UTL_TCP, UTL_SMTP, UTL_HTTP.
Глава 19. Пакет DBMS_DBWS для доступа к внешним сервисам по протоколу SOAP.
Глава 20. Порядок компиляции PL/SQL в C код, а затем сборка в SO или DLL библиотеку. Особенности Oracle 10g.
Глава 21. Вызов внешних процедур.
- Правила написания и компиляции динамической библиотеки на С.
- Конфигурация прослушивающего процесса.
- Пользовательские библиотеки и процедуры для вызова внешних подпрограмм.
- Правила отображения параметров C на PL/SQL.
- Пример написания процедуры для формирования файла журнала по производству транзакций.
- Использование COM картриджа для взаимодействия c MS WORD и EXCEL.
- Инсталляция картриджа и вспомогательных пакетов.
- Использование процедуры Invoke для создания методов доступа к серверам автоматизации.
- Пример написания PL/SQL процедуры для формирования документов WORD и рабочих таблиц EXCEL - генерация отчетов из схемы базы данных.
Глава 22. Сервер Apache - HTTP слушатель для базы данных Oracle.
- Общая архитектура. DAD - компонент для доступа к данным Oracle - конфигурация и настройка.
- Oracle Web Agent - жизненный цикл HTTP запроса.
- Обеспечение безопасности доступа к данным на уровне OWA.
- Построение HTML страниц с использованием HTP и HTF пакетов.
- Редактирование данных. Страницы PSP (Pl/SQL Server Pages).
- Загрузка и выгрузка файлов в/из базы данных