Использование Oracle10g: основы SQL и PL/SQL
Необходимая подготовка: представление о реляционных базах данных, знакомство с концепциями и методами обработки данных
Программа курса:
Введение
- Преимущества использования продуктов Oracle версии 10g
- Обзор теоретических и физических аспектов реализации реляционных БД.
- Цели курса
Простая SQL-команда SELECT.
- Возможности команды SELECT.
- Выполнение простой команды SELECT.
- Отличия между SQL-командами и командами SQL*Plus.
- Ограничение и сортировка получаемых данных.
Негрупповые (однострочные) функции.
- Описание типов однострочных функций
- Использование символьных, числовых функций и функций над датами в команде SELECT.
- Использование функций преобразования типов.
Группировка данных и использование групповых функций.
- Описание типов групповых функций и их использование.
- Групировка данных с использованием выражения GROUP BY
- Исключение строк с использованием выражения HAVING.
Выборка данных из нескольких таблиц.
- Различные виды соединений таблиц (Equality and nonequality joins).
- Открытые соединения (outer joins), соединение таблицы с самой собой.
- Получение декартова (прямого) произведения из двух и более таблиц.
Подзапросы.
- В каких случаях использовать подзапросы.
- Виды подзапросов (Single-
row, multiple- row). - Написание подзапросов, возвращающих одну и более строк
Использование операторов вертикального соединения (SET-операторов).
- Использование оператора SET для объединения нескольких запросов в одной команде
- Управление порядком возвращаемых строк
Манипулирование данными.
- Описание команд языка манипулирования данными – DML (Data Manipulating Language).
- Контроль транзакций.
Использование языка определения данных (DDL) для создания таблиц.
- Описание основных объектов БД.
- Описание структуры таблицы.
- Типы данных используемые для определения колонок.
- Создание таблицы.
- Использование ограничений целостности (Constraints).
Другие объекты базы данных.
- Создание и использование представлений (view)
- Создание и использование последовательностей
- Создание и использование индексов
- Создание и использование синонимов
Работа с объектами с помощью словаря данных.
- Представления словаря данных доступные непривилегированному пользователю.
- Получение данных из словаря данных.
Управление пользовательским доступом.
- Создание пользователей.
- Системные и объектные привилегии
- Присвоение и лишение прав доступа.
- Использование ролей.
Управление объектами схемы.
- Добавление ограничений целосности
- Различные способы создания индексов
- Удаление колонок таблицы и установка атрибута UNUSED
- Использование операций FLASHBACK
- Создание и использование внешних таблиц
Манипулирование большими наборами данных.
- Использование подзапросов для манипулирования данными.
- Преимущества многотабличного INSERT.
- Различные виды многотабличного INSERT.
- Команда MERGE.
- Ретроспективные запросы.
Формирование отчетов, используя различные группировки данных.
- Использование операторов ROLLUP и CUBE для получения промежуточных итогов.
- Использование функции GROUPING для идентификации столбцов, значения которых учитывались для получения результата операторами ROLLUP или CUBE.
- Использование наборов группировок (GROUPING SETS).
Работа с данными в разных часовых поясах (Time Zone).
- Использование функций, поддерживающих работу пользователей, находящихся в различных часовых поясах.
Сложные подзапросы.
- Многостолбцовые подзапросы.
- Скалярные подзапросы.
- Решение проблем при помощи коррелирующих подзапросов.
- Обновление и удаление строк с использованием коррелирующих подзапросов.
- Использование операторов EXISTS и NOT EXISTS
- Использование фразы WITH.
Иерархические запросы.
- Преимущества использования иерархических запросов.
- Построение древообразных структур.
- Форматирование результатов иерархического запроса.
- Удаление вершин в древообразной структуре.
Поддержка регулярных выражений (только 10g).
- Использование регулярных выражений.
- Использование шаблонов для поиска, сравнения и изменения данных.
Описание возможностей PL/SQL.
- Язык программирования PL/SQL
- Блочная структура и типы объектов PL/SQL
- Преимущества использования PL/SQL.
Объявление переменных.
- Описание структуры простого блока PL/SQL и его секций.
- Объявление и инициализация переменных PL/SQL. Использование констант.
- Переменные PL/SQL и различные типы данных. Использование атрибута %TYPE.
- Запуск и выполнение блока PL/SQL.
Написание исполняемых команд.
- Понятие лексической единицы.
- Использование встроенных функций SQL в блоках PL/SQL.
- Явные и неявные преобразования.
- Вложенность блоков PL/SQL.
- Использование комментариев.
Взаимодействие с сервером Oracle.
- Особенности выполнения команд SQL в блоке PL/SQL.
- Использование команд DML в блоке PL/SQL.
- Управление транзакциями в PL/SQL.
- Использование фразы INTO, для получения результата выполнения DML команд.
- Явные и неявные курсоры.
- Использование курсорных атрибутов.
Использование управляющих структур.
- Типы управляющих структур.
- Использование команды IF.
- Выражения и команда CASE.
- Различные типы циклов.
- Использование меток для управления циклами.
Работа с составными типами данных, записями и индексными (INDEX BY) таблицами.
- Создание пользовательских записей PL/SQL.
- Использование атрибута %ROWTYPE.
- Использование индексных таблиц и индексных таблиц записей.
- Преимущества использования различных составных типов данных.
Использование явных курсоров.
- Различия между неявными и явными курсорами.
- Преимущества использования явных курсоров.
- Объявление и управление явными курсорами.
- Курсоры с параметрами.
- Курсорные циклы.
- Использование фраз FOR UPDATE и WHERE CURRENT для управления строками.
Исключительные ситуации и обработка ошибок.
- Определение исключения PL/SQL.
- Распознавание необработанных исключений.
- Типы обработчиков исключительных ситуаций в PL/SQL.
- Перехват ошибок.
- Правила распространения исключений во вложенных блоках PL/SQL.
- Изменение и создание собственных сообщений об ошибках PL/SQL.
