В этом курсе изучаются основы SQL и PL/SQL. Рассматриваются основные концепции реляционных баз данных и преимущества языков программирования, использующих технологии базы данных Oracle.
Слушатели изучают:
Создание запросов к одной, либо нескольким таблицам, изменение данных и создание объектов базы данных
Использование однострочных функций для получения требуемых выходных данных
Функции преобразования и условные выражения
Использование групповых функций для получения агрегированных данных
Создание программных единиц PL/SQL
Создание анонимных блоков PL/SQL, хранимых процедур и функций
Определение идентификаторов и обработку исключений
Использование DML для изменения данных
Использование DDL для изменения объектов базы данных
Определение переменных PL/SQL
Управление выполнением PL/SQL (циклы, управляющие структуры)
Хранимые процедуры и функции
Извлечение строк и столбцов из таблиц
Необходимая предварительная подготовка:
Представление о концепциях и методиках обработки данных
Представление о концепциях программирования
Технический английский язык
Презентационные материалы и задания для практики на курсе предоставлены на русском языке.
Цель курса:
Выполнение DML операций для изменения данных в базе данных Oracle
Создание эффективных анонимных блоков PL/SQL
Описание возможностей и синтаксиса PL/SQL
Определение исключений
Описание хранимых процедур и функций
Использование PL/SQL для управления выполнением PL/SQL (циклы, управляющие структуры)
Использование курсоров для обработки строк
Извлечение строк и столбцов из таблиц при помощи команды SELECT
Создание отчетов из отсортированных и ограниченных данных
Применение функций SQL для генерации и извлечения ограниченных данных
Отображение данных из нескольких таблиц при помощи синтаксиса соединений, соответствующих стандарту ANSI SQL 99
Создание отчетов из агрегированных данных
Использование DDL для создания и изменения объектов базы данных
Аудитория курса:
Разработчики PL/SQL
Разработчики форм
Разработчики приложений
Разработчики отчетов
Технические консультанты
Разработчики порталов
Введение
Обзор основных концепций базы данных 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. Создание простой функции. Вызов процедуры. Вызов функции.