В этом курсе изучаются основы SQL и PL/SQL. Рассматриваются основные концепции реляционных баз данных и преимущества языков программирования, использующих технологии базы данных Oracle.

Слушатели изучают:

Аудитория:

Необходимая предварительная подготовка:

Цели:

Программа

Введение

Обзор основных концепций базы данных 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. Создание простой функции. Вызов процедуры. Вызов функции.