Введение:
Обзор основных концепций базы данных Oracle 12c и сопутствующих продуктов. Обсуждение основных концепций, а также теоретических и физических аспектов реляционной базы данных. Введение в SQL и технологии разработки на нем. Обзор схемы HR и таблиц, используемых в этом курсе. Документация и дополнительные ресурсы.
Извлечение данных при помощи команды SELECT:
Список возможностей команды SELECT. Создание отчета из результата выполнения базовой команды SELECT. Неопределенные значения в арифметических операциях. Псевдонимы столбцов. Слияние строк, символьные литералы, альтернативный оператор цитирования и ключевое слово DISTINCT. Использование команды DESCRIBE для вывода структуры таблицы.
Ограничение и сортировка данных:
Использование предложения WHERE для выборки необходимых строк. Использование операторов сравнения и логических операторов в предложении WHERE. Описание правил приоритета операторов сравнения и логических операторов. Использование символьных литералов в предложении WHERE. Сортировка строк с использованием предложения ORDER BY команды SELECT. Использование сортировок в порядке возрастания и порядке убывания. Переменные подстановки.
Использование однострочных функций:
Демонстрация различий между однострочными и многострочными функциями SQL. Преобразование строк при помощи символьных функций, используемых в списке SELECT и предложении WHERE. Преобразование чисел при помощи функций ROUND, TRUNC и MOD. Арифметические операции по отношению к типу данных DATE. Использование функций для работы с датами.
Использование функций преобразования и условных выражений:
Описание явного и неявного преобразования типов данных. Использование функций преобразования TO_CHAR, TO_NUMBER и TO_DATE. Вложенные функции. Применение функций NVL, NULLIF и COALESCE к данным. Использование логических условий IF THEN ELSE в команде SELECT.
Агрегирование данных при помощи групповых функций:
Использование групповых функций в команде SELECT для создания аналитических отчетов. Описание функций AVG, SUM, MIN и MAX. Обработка неопределенных значений групповыми функциями. Создание групп данных при помощи предложения GROUP BY. Исключение групп данных при помощи фразы HAVING.
Отображение данных из нескольких таблиц при помощи соединений:
Синтаксис соединения таблиц для доступа к данным более, чем одной таблицы. Соединение таблиц при помощи синтаксиса SQL:1999. Просмотр данных из таблиц при помощи внешнего соединения. Соединение таблицы самой с собой. Создание кросс-соединений.
Использование подзапросов:
Типы проблем, решаемые при помощи подзапросов. Однострочные подзапросы. Групповые функции в подзапросах. Многострочные подзапросы. Использование операторов ANY и ALL в многострочных подзапросах. Использование оператора EXISTS.
Операторы работы над множествами:
Описание операторов работы над множествами. Использование операторов работы над множествами для объединения нескольких запросов в один. Описание операторов UNION, UNION ALL, INTERSECT и MINUS. Сортировка результатов при использовании операторов работы над множествами.
Язык изменения данных (DML):
Вставка строк в таблицу. Изменение строк в таблице. Использование операторов DELETE и TRUNCATE. Сохранение и отказ от изменений при помощи операторов COMMIT и ROLLBACK. Описание согласованности чтения. Описание фразы FOR UPDATE.
Использование языка определения данных (DDL) для создания и изменения таблиц:
Основные объекты базы данных. Создание таблиц. Описание типов данных. Описание ограничений. Создание таблицы при помощи подзапроса. Изменение таблиц. Удаление таблиц.
Другие объекты схемы:
Создание, изменение и извлечение данных из представления. Выполнение операций DML через представление. Удаление представления. Создание, изменение и удаление последовательностей. Создание и удаление индексов. Создание и удаление синонимов.
Введение в PL/SQL:
Обзор PL/SQL. Преимущества и структура PL/SQL. Обзор типов блоков PL/SQL. Создание анонимных блоков. Генерация вывода из блоков PL/SQL.
Объявление идентификаторов в PL/SQL:
Различные типы идентификаторов в подпрограммах PL/SQL. Описание и инициализация переменных. Описание типов данных. Использование переменных для хранения данных. Скалярные типы данных. Атрибут %TYPE. Связанные (bind) переменные. Использование последовательностей в выражениях PL/SQL.
Исполняемые операторы:
Лексические единицы в блоке PL/SQL. Комментарии в коде. Функции SQL в PL/SQL. Преобразование типов данных. Вложенные блоки. Операторы в PL/SQL.
Взаимодействие с сервером Oracle:
Использование операторов SQL в PL/SQL. Изменение данных на сервере при помощи PL/SQL. Концепции SQL-курсоров. Атрибуты SQL-курсоров для обратной связи с операторами DML. Фиксация и откат транзакций.
Управляющие структуры:
Управление выполнением в PL/SQL при помощи оператора IF. Управление выполнением в PL/SQL при помощи оператора CASE. Простой цикл. Цикл WHILE. Цикл FOR. Контроль итераций в циклах.
Работа с составными типами данных:
Записи PL/SQL. Атрибут %ROWTYPE. Вставка и обновление при помощи записей PL/SQL. Ассоциативные массивы INDEX BY и методы работы с ними.
Использование явных курсоров:
Определение курсора. Открытие курсора. Извлечение данных из курсора. Закрытие курсора. Курсор в цикле FOR. Атрибуты явного курсора. Фразы FOR UPDATE и WHERE CURRENT.
Обработка исключений:
Определение исключений. Обработка исключений в PL/SQL. Предопределенные исключения. Перехват предопределённых и непредопределенных исключений сервера Oracle. Перехват исключений, определяемых пользователями. Распространение исключений. Процедура RAISE_APPLICATION_ERROR.
Создание хранимых процедур и функций:
Представление о хранимых процедурах и функциях. Различие между анонимными блоками и подпрограммами. Создание простой процедуры. Создание простой процедуры с параметром IN. Создание простой функции. Вызов процедуры. Вызов функции.