Программа курса

Введение
В результате курса слушатели познакомятся с технологиями и концепцией реляционных баз данных и изучать язык - SQL для запросов данных, метаданных и создания объектов базы данных.
Курс предлагает слушателям углубленное изучение языка SQL для обработки данных. Слушатели научатся выбирать данные, используя сложные технологии, такие как ROLLUP, CUBE, сложные подзапросы и иерархические запросы. Кроме того, в курсе изучаются возможности, обеспечивающие обработку в хранилищах данных при работе с большими наборами данных, а также работа с данными в разных временных зонах.
Также курс познакомит слушателей с PL/SQL , научит создавать блоки PL/SQL кода, которые могут использоваться различными формами, отчетами и приложениями по обработке данных. Для разработки программ используется iSQL*Plus.

Краткое содержание курса
Модуль 1: Введение в системы управления реляционными и обьектно - реляционными базами данных

В этом модуле рассказываются основные принципы управления реляционными и обьектно - реляционными базами данных.
Уроки:
  • системы управления реляционными и обьектно - реляционными базами данных;
  • жизненный цикл разработки системы;
  • концепция реляционной базы данных;
  • модели данных: модель "сущность-связь" (ER-модель), система обозначений в ER-моделях;
  • установление связей между таблицами;
  • терминология реляционной базы данных;
  • свойства реляционной базы данных;
  • связь с RDBMS с помощью SQL;
  • система управления реляционной базой данных Oracle;
  • команды SQL.

Практическое занятие 1:

  • системы управления реляционными и обьектно - реляционными базами данных;
  • модели данных: модель "сущность-связь" (ER-модель);
  • установление связей между таблицами;
  • команды SQL.

Модуль 2: Выбор данных с использованием команды select языка SQL
В этом модуле рассказываются основные принципы выборки данных с использованием команды select языка SQL.
Уроки:

  • базовая команда select;
  • написание команд SQL;
  • арифметические выражения;
  • приоритеты операторов;
  • неопределенное значение (Null);
  • неопределенные значения в арифметических выражениях;
  • использование псевдонимов столбцов;
  • оператор конкатенации;
  • символьные литералы;
  • дублирование строк;
  • взаимодействие SQL и iSQL*Plus. Среда iSQL*Plus;
  • вывод структуры таблицы;
  • использование скрипт-файлов;
  • задание установок iSQL*Plus.

Практическое занятие 2:

  • написание команд SQL;
  • арифметические выражения;
  • приоритеты операторов;
  • неопределенное значение (Null);
  • неопределенные значения в арифметических выражениях;
  • использование псевдонимов столбцов;
  • оператор конкатенации;
  • символьные литералы;
  • дублирование строк;
  • вывод структуры таблицы;
  • использование скрипт-файлов;
  • задание установок iSQL*Plus.

Модуль 3: Ограничение и сортировка выходных данных
В этом модуле рассказываются основные принципы ограничении и сортировки выходных данных.
Уроки:

  • ограничение количества выбираемых строк;
  • использование предложения where;
  • символьные строки и даты;
  • условия сравнения;
  • использование условия between, in, like;
  • логические условия;
  • использование оператора and, or not;
  • приоритеты операторов;
  • использование предложения order by;
  • сортировка;
  • переменные подстановки;
  • символьные значения и даты в переменных подстановки;
  • задание имен столбцов, выражений и текста;
  • использование команды define среды iSQL*Plus;
  • использование команды verify.

Практическое занятие 3:

  • использование предложения where;
  • символьные строки и даты;
  • условия сравнения;
  • использование условия between, in, like;
  • использование оператора and or not;
  • приоритеты операторов;
  • использование предложения order by;
  • сортировка;
  • переменные подстановки;
  • символьные значения и даты в переменных подстановки;
  • задание имен столбцов, выражений и текста;
  • использование команды define среды iSQL*Plus;
  • использование команды verify.

Модуль 4: Использование однострочных функций для получения требуемых выходных данных
В этом модуле рассказываются основные принципы использования однострочных функций для получения требуемых выходных данных.
Уроки:

  • функции SQL;
  • однострочные функции;
  • символьные функции;
  • функции преобразования регистра символов;
  • функции манипулирования символами;
  • числовые функции;
  • работа с датами;
  • арифметические операции с датами;
  • функции для работы с датами;
  • функции преобразования;
  • неявное преобразование типов данных;
  • явное преобразование типов данных;
  • элементы модели формата даты;
  • формат даты;
  • вложенные функции;
  • общие функции;
  • условные выражения;
  • выражение case;
  • функция decode.

Практическое занятие 4:

  • функции SQL;
  • однострочные функции;
  • символьные функции;
  • функции преобразования регистра символов;
  • функции манипулирования символами;
  • числовые функции;
  • работа с датами;
  • арифметические операции с датами;
  • функции для работы с датами;
  • функции преобразования;
  • неявное преобразование типов данных;
  • явное преобразование типов данных;
  • элементы модели формата даты;
  • формат даты;
  • вложенные функции;
  • общие функции;
  • условные выражения;
  • выражение case;
  • функция decode.

Модуль 5: Агрегирование данных с помощью групповых функций
В этом модуле рассказываются основные принципы агрегирования данных с помощью групповых функций.
Уроки:

  • типы групповых функций;
  • синтаксис групповых функций;
  • использование функций avg и sum, мin и мах;
  • использование ключевого слова distinct;
  • групповые функции и неопределенные значения;
  • создание групп данных;
  • создание групп данных: синтаксис предложения group by;
  • группировка по нескольким столбцам;
  • недействительные запросы с групповыми функциями;
  • исключение групп;
  • использование предложения having;
  • вложенные групповые функции.

Практическое занятие 5:

  • использование функций avg и sum, мin и мах;
  • использование ключевого слова distinct;
  • групповые функции и неопределенные значения;
  • создание групп данных;
  • создание групп данных: синтаксис предложения group by;
  • группировка по нескольким столбцам;
  • недействительные запросы с групповыми функциями;
  • исключение групп;
  • использование предложения having;
  • вложенные групповые функции.

Модуль 6: Выборка данных из нескольких таблиц
В этом модуле рассказываются основные принципы выборки данных из нескольких таблиц.
Уроки:

  • выборка данных из нескольких таблиц;
  • виды соединений;
  • соединение таблиц;
  • создание соединений с использованием предложения using;
  • имена столбцов, используемых для соединения;
  • выборка записей с использованием предложения using;
  • различие столбцов с одинаковыми именами;
  • использование псевдонимов таблиц;
  • создание соединений с помощью предложения on;
  • дополнительные условия соединения;
  • создание трехсторонних соединений при помощи предложения on;
  • не-эквисоединения;
  • внешние соединения;
  • сравнение внутреннего (inner) и внешнего (outer) соединений;
  • левое внешнее соединение;
  • правое внешнее соединение;
  • полное внешнее соединение;
  • декартово произведение;
  • создание перекрестных соединений.

Практическое занятие 6:

  • выборка данных из нескольких таблиц;
  • соединение таблиц;
  • создание соединений с использованием предложения using;
  • выборка записей с использованием предложения using;
  • различие столбцов с одинаковыми именами;
  • использование псевдонимов таблиц;
  • создание соединений с помощью предложения on;
  • дополнительные условия соединения;
  • создание трехсторонних соединений при помощи предложения on;
  • не-эквисоединения;
  • внешние соединения;
  • левое внешнее соединение;
  • правое внешнее соединение;
  • полное внешнее соединение;
  • декартово произведение;
  • создание перекрестных соединений.

Модуль 7: Использование подзапросов
В этом модуле рассказываются основные принципы использования подзапросов.
Уроки:

  • синтаксис подзапросов;
  • использование подзапроса;
  • типы подзапросов;
  • однострочные подзапросы;
  • использование групповых функций в подзапросах;
  • предложение having с подзапросами;
  • многострочные подзапросы;
  • использование оператора any в многострочных подзапросах;
  • неопределенные значения в подзапросе.

Практическое занятие 7:

  • использование подзапроса;
  • однострочные подзапросы;
  • использование групповых функций в подзапросах;
  • предложение having с подзапросами;
  • многострочные подзапросы;
  • использование оператора any в многострочных подзапросах;
  • неопределенные значения в подзапросе.

Модуль 8: Использование операторов над множествами
В этом модуле рассказываются основные принципы использования операторов над множествами.
Уроки:

  • операторы над множествами;
  • оператор union;
  • оператор union all;
  • оператор intersect;
  • оператор minus;
  • сервер Oracle и операторы над множествами;
  • согласование команд select;
  • управление порядком вывода строк.

Практическое занятие 8:

  • оператор union;
  • оператор union all;
  • оператор intersect;
  • оператор minus;
  • управление порядком вывода строк.

Модуль 9: Манипулирование данными
В этом модуле рассказываются основные принципы манипулирования данными.
Уроки:

  • язык манипулирования данными;
  • вставка новой строки в таблицу;
  • синтаксис команды insert;
  • вставка строк с неопределенными значениями;
  • вставка специальных значений;
  • создание скрипта;
  • копирование строк из другой таблицы;
  • изменение данных в таблице;
  • синтаксис команды update;
  • обновление строк в таблице;
  • обновление двух столбцов с помощью подзапроса;
  • удаление строки из таблицы;
  • команда truncate;
  • использование подзапроса в команде insert;
  • транзакции базы данных;
  • преимущества команд commit и rollback;
  • управление транзакциями;
  • откат изменений до маркера;
  • неявная обработка транзакций;
  • состояние данных до выполнения команды commit или rollback;
  • фиксация изменений в данных;
  • состояние данных после выполнения команды rollback;
  • откат на уровне команды;
  • согласованность чтения.

Практическое занятие 9:

  • вставка новой строки в таблицу;
  • вставка строк с неопределенными значениями;
  • вставка специальных значений;
  • создание скрипта;
  • копирование строк из другой таблицы;
  • изменение данных в таблице;
  • обновление строк в таблице;
  • обновление двух столбцов с помощью подзапроса;
  • удаление строки из таблицы;
  • команда truncate;
  • использование подзапроса в команде insert;
  • транзакции базы данных;
  • преимущества команд commit и rollback;
  • откат изменений до маркера;
  • неявная обработка транзакций;
  • состояние данных до выполнения команды commit или rollback;
  • фиксация изменений в данных;
  • состояние данных после выполнения команды rollback;
  • откат на уровне команды.

Модуль 10: Использование команд DDL для создания и управления таблицами
В этом модуле рассказываются основные принципы использования команд DDL для создания и управления таблицами.
Уроки:

  • объекты базы данных;
  • правила присвоения имен;
  • команда create table;
  • ссылки на таблицы других пользователей;
  • создание таблиц;
  • типы данных;
  • другие типы данных для хранения даты и времени;
  • ограничения, определение ограничений;
  • ограничение NOT NULL, unique, primary key, foreign key, check;
  • ключевые слова ограничения foreign key;
  • нарушение ограничений;
  • создание таблицы с использованием подзапроса;
  • команда alter table;
  • удаление таблицы.

Практическое занятие 10:

  • команда create table;
  • создание таблиц;
  • ограничения, пределение ограничений;
  • ограничение NOT NULL, unique, primary key, foreign key, check;
  • ключевые слова ограничения foreign key;
  • создание таблицы с использованием подзапроса;
  • команда alter table;
  • удаление таблицы.

Модуль 11: Создание других объектов схем
В этом модуле рассказываются основные принципы создания других объектов схем.
Уроки:

  • объекты базы данных;
  • простые и сложные представления;
  • создание представления;
  • выборка данных из представления;
  • изменение представления;
  • создание сложного представления;
  • правила выполнения DML операций с представлением;
  • использование предложения with check option;
  • запрет операций DML;
  • удаление представления;
  • последовательности;
  • псевдостолбцы nextval и currval;
  • кэширование значений последовательности;
  • изменение последовательности;
  • индексы;
  • создание индекса;
  • удаление индекса;
  • синонимы;
  • создание и удаление синонимов.

Практическое занятие 11:

  • создание представления;
  • выборка данных из представления;
  • изменение представления;
  • создание сложного представления;
  • использование предложения with check option;
  • удаление представления;
  • последовательности;
  • псевдостолбцы nextval и currval;
  • изменение последовательности;
  • индексы, создание индекса, удаление индекса;
  • синонимы, создание и удаление синонимов.

Модуль 12: Управление объектами с помощью представлений словаря данных
В этом модуле рассказываются основные принципы управления объектами с помощью представлений словаря данных.
Уроки:

  • словарь данных;
  • структура словаря данных;
  • представления user_objects и all_objects;
  • информация о таблицах;
  • информация о столбцах;
  • информация об ограничениях;
  • информация о представлениях, о последовательностях, о синонимах;
  • добавление комментариев к таблице.

Практическое занятие 12:

  • представления user_objects и all_objects;
  • информация о таблицах;
  • информация о столбцах;
  • информация об ограничениях;
  • информация о представлениях, о последовательностях, о синонимах;
  • добавление комментариев к таблице.

Модуль 13: Введение в  PL/SQL
В этом модуле рассказываются основные принципы PL/SQL.
Уроки:

  • структура PL/SQL;
  • типы блоков;
  • среда PL/SQL;
  • iSQL*Plus архитектура;
  • анонимные блоки.

Практическое занятие 13:

  • среда PL/SQL;
  • iSQL*Plus архитектура;
  • анонимные блоки.

Модуль 14: Объявление переменных PL/SQL
В этом модуле рассказываются основные принципы объявления переменных PL/SQL.
Уроки:

  • использование переменных;
  • идентификаторы;
  • заголовок;
  • объявление и инициализация PL/SQL переменных;
  • типы переменных;
  • скалярные типы данных;
  • BINARY_FLOAT и BINARY_DOUBLE;
  • объявление переменных с атрибутам %TYPE;
  • логические переменные;
  • переменные подстановки;
  • использование DEFINE для пользовательских переменных;
  • переменные типа LOB.

Практическое занятие 14:

  • использование переменных;
  • объявление и инициализация PL/SQL переменных;
  • объявление переменных с атрибутам %TYPE;
  • переменные подстановки;
  • использование DEFINE для пользовательских переменных;
  • переменные типа LOB.

Модуль 15: Написание выполняемых операторов
В этом модуле рассказываются основные принципы написания выполняемых операторов.
Уроки:

  • лексические единицы в блоке PL/SQL;
  • синтаксис и правила PL/SQL блока;
  • комментарии. SQL функции в PL/SQL;
  • соглашение типов данных;
  • вложение блоков;
  • область видимости переменных;
  • операторы в PL/SQL.

Практическое занятие 15:

  • лексические единицы в блоке PL/SQL;
  • комментарии. SQL функции в PL/SQL;
  • вложение блоков;
  • область видимости переменных;
  • операторы в PL/SQL.

Модуль 16: Взаимодействие с Oracle Server
В этом модуле рассказываются основные принципы взаимодействия с Oracle Server.
Уроки:

  • SQL операторы в PL/SQL;
  • выборка данных в PL/SQL;
  • соглашение имен;
  • манипулирование данными, используя PL/SQL;
  • вставка, изменение, удаление данных;
  • слияние строк;
  • курсоры.

Практическое занятие 16:

  • выборка данных в PL/SQL;
  • манипулирование данными, используя PL/SQL;
  • вставка, изменение, удаление данных;
  • слияние строк.
  • курсоры.

Модуль 17: Управляющие структуры
В этом модуле рассказываются основные принципы управляющих структур.
Уроки:

  • операторы IF, IF THEN ELSE;
  • значения NULL в операторе IF;
  • выражение CASE;
  • логические условия;
  • операторы LOOP, WHILE Loops, FOR Loops.

Практическое занятие 17:

  • операторы IF, IF THEN ELSE;
  • значения NULL в операторе IF;
  • выражение CASE;
  • логические условия;
  • операторы LOOP, WHILE Loops, FOR Loops.

Модуль 18: Составные типы данных
В этом модуле рассказываются основные принципы составных типов данных.
Уроки:

  • составные типы данных;
  • записи PL/SQL;
  • структура записей;
  • атрибуты %ROWTYPE;
  • вставка записей, используя %ROWTYPE;
  • изменение строк в таблице с помощью записи;
  • таблицы INDEX BY;
  • структура таблиц INDEX BY.

Практическое занятие 18:

  • составные типы данных;
  • записи PL/SQL;
  • атрибуты %ROWTYPE;
  • вставка записей, используя %ROWTYPE;
  • изменение строк в таблице с помощью записи;
  • таблицы INDEX BY;
  • структура таблиц INDEX BY.

Модуль 19: Явные курсоры
В этом модуле рассказываются основные принципы применения явных курсоров.
Уроки:

  • курсоры, операции с курсорами;
  • управление явно заданными курсорами;
  • объявление курсоров;
  • выборка данных из курсоров;
  • курсоры и записи;
  • курсор FOR Loops;
  • курсоры с параметрами;
  • условие FOR UPDATE , WHERE CURRENT OF.

Практическое занятие 19:

  • курсоры, операции с курсорами;
  • управление явно заданными курсорами;
  • объявление курсоров;
  • выборка данных из курсоров;
  • курсоры и записи;
  • курсор FOR Loops;
  • курсоры с параметрами;
  • условие FOR UPDATE , WHERE CURRENT OF.

Модуль 20: Обработка ошибок
В этом модуле рассказываются основные принципы по обработке ошибок.
Уроки:

  • примеры ошибок;
  • обработка ошибок PL/SQL;
  • типы ошибок;
  • отладка ошибок;
  • отладка определенных Oracle Server ошибок;
  • функции для отладки исключений;
  • отладка пользовательских исключений.

Практическое занятие 20:

  • обработка ошибок PL/SQL;
  • отладка ошибок;
  • отладка определенных Oracle Server ошибок;
  • функции для отладки исключений;
  • отладка пользовательских исключений.

Модуль 21: Создание хранимых процедур и функций
В этом модуле рассказываются основные принципы создания хранимых процедур и функций.
Уроки:

  • процедуры и функции;
  • различие между анонимными блоками и подпрограммами;
  • синтаксис процедур;
  • синтаксис функций;
  • параметры функций;
  • вызов функций с параметрами.

Практическое занятие 21:

  • процедуры;
  • функций;
  • параметры функций;
  • вызов функций с параметрами.

 

Программа курса может корректироваться.