Язык запросов SQL. Учебный курс

Введение .

Урок 1. Введение в SQL .

Краткая история развития SQL .

Деятельность по стандартизации SQL.

Возможности SQL .

Основы SQL

Основные синтаксические правила

Ключевые слова, фразы и предложения .

Правила описания синтаксиса

Поддержка наборов символов.

Типы данных SQL

Литералы .

Операторы и выражения.

Именование объектов

Комментарии

Подведение итогов .

Урок 2. Простейшие запросы

О предложении SELECT .

Основные фразы—SELECT и FROM

Фраза SELECT—указание выводимых данных.

Указание выводимых столбцов.

Исключение повторяющихся строк .

Использование вычисляемых выражений .

Переопределение имен результирующих столбцов

Включение текста в результат запроса

Фраза FROM—указание используемых таблиц.

Синонимы таблиц .

Запрос в качестве имени таблицы.

Самостоятельная работа

Подведение итогов .

Урок 3. Отбор строк по условию .

Использование простейших условий .

Операторы сравнения

Логические операторы

Использование выражений над столбцами

Использование специальных операторов.

Проверка на принадлежность множеству

Проверка на принадлежность диапазону значений

Проверка на соответствие шаблону .

Проверка на соответствие регулярному выражению

Проверка на неопределенное значение.

Самостоятельная работа

Подведение итогов .

Урок 4. Многотабличные запросы.

Декартово произведение таблиц .

Условие соединения .

Соединение таблиц по равенству .

Вывод столбцов разных таблиц

Вывод столбцов с условием отбора

Запросы по трем и более таблицам .

Другие виды соединений по равенству

Соединение таблиц по неравенству .

Самосоединение таблицы

Внешнее соединение таблиц .

Внешнее соединение и условие отбора .

Внешнее соединение трех и более таблиц .

Соединения с использованием фразы FROM

Внутреннее соединение .

Внешнее соединение .

Соединение трех и более таблиц

Самостоятельная работа .

Подведение итогов

Урок 5. Использование функций .

Агрегатные функции

Функция COUNT .

Функция SUM

Функция AVG.

Функции MIN и MAX .

Функции VAR_POP, STDDEV_POP, VAR_SAMP, STDDEV_SAMP

Функции EVERY, ANY, SOME.

Выражения с использованием агрегатных функций .

Отсутствующие и неопределенные значения в агрегатных функциях

Однострочные функции

Строковые функции

Числовые функции над строками.

Числовые функции над числами .

Временные функции .

Функции преобразования .

Самостоятельная работа .

Подведение итогов

Урок 6. Группировка и сортировка .

Запросы с группировкой строк.

Группировка по одному столбцу .

Группировка по нескольким столбцам

Использование выражений .

Вложение агрегатных функций.

Значение NULL в столбцах группировки .

Условие отбора групп .

Уникальность условия отбора

Использование столбцов группировки во фразе HAVING.

Фраза HAVING без фразы GROUP BY

Сортировка результирующих строк.

Сортировка по столбцу или выражению

Направление сортировки

Сортировка значения NULL

Сортировка по нескольким столбцам .

Сортировка и группировка .

Определение упорядоченности символов

Самостоятельная работа

Подведение итогов .

Урок 7. Вложенные запросы

Подзапросы во фразе WHERE.

Простые подзапросы.

Коррелированные подзапросы

Многоуровневая вложенность запросов

Замена вложенного запроса соединением

Простые и коррелированные подзапросы во фразе SELECT

Простые и коррелированные подзапросы во фразе HAVING

Простые подзапросы во фразе FROM

Самостоятельная работа

Подведение итогов .

Урок 8. Дополнительные операторы и выражения

Использование оператора EXISTS

Оператор EXISTS с простыми подзапросами.

Оператор EXISTS с коррелированными подзапросами

Комбинирование оператора EXISTS с соединением

Использование оператора NOT EXISTS

Оператор EXISTS и агрегатные функции

Замена оператора EXISTS функцией COUNT или соединением таблиц .

Использование оператора EXISTS во фразе HAVING

Использование операторов ANY, SOME и ALL

Операторы ANY и SOME

Оператор ALL .

Операторы SOME и ALL при отсутствии данных

Выражения и функции выбора вариантов.

Выражение CASE.

Функция COALESCE

Функция NULLIF.

Выражение предикатов над множествами .

Самостоятельная работа .

Подведение итогов

Урок 9. Множественные операции над таблицами .

Множественные операции в стандарте SQL .

Объединение таблиц

Простое объединение.

Идентификация строк

Внешнее объединение

Объединение с сохранением дублирования.

Замена оператора UNION оператором OR .

Пересечение таблиц

Замена оператора INTERSECT оператором IN

Разность таблиц

Замена оператора MINUS оператором NOT IN

Дополнительные аспекты использования множественных операций

Множественные операции и группировка

Множественные операции и сортировка

Порядок выполнения множественных операций

Критерии использования множественных операций

Самостоятельная работа .

Подведение итогов

Урок 10. Развитые возможности SQL

Использование неопределенных значений

Рекурсивное вычисление запросов

Древовидные структуры

Представление деревьев и манипулирование ими

Рекурсивные запросы в Oracle

Рекурсивные запросы в стандарте SQL.

Многомерный анализ данных.

Упорядоченная группировка .

Группировка по всем комбинациям измерений .

Группировка по наборам измерений .

Анализ “TOP N”

Самостоятельная работа .

Подведение итогов

Урок 11. Определение таблиц

Создание таблицы

Определение столбцов

Определение и использование доменов.

Значения по умолчанию .

Определение временной таблицы

Определение таблицы на основе существующей

Изменение определения таблицы

Добавление столбца .

Изменение определения столбца

Удаление столбца .

Переименование таблицы

Удаление таблицы.

Определение и использование индексов .

Определение и удаление индекса .

Правила использования индексов.

Последовательности

Генератор последовательности

Использование последовательности

Изменение и удаление генератора последовательности

Самостоятельная работа

Подведение итогов .

Урок 12. Определение ограничений целостности

Виды ограничений целостности .

Ограничение на отсутствие значения

Ограничение уникальности

Уникальность как ограничение столбца

Уникальность как ограничение таблицы

Уникальность и неопределенные значения.

Ограничение первичного ключа

Простой первичный ключ

Составной первичный ключ

Ограничение ссылочной целостности .

Внешний ключ и ссылочная целостность

Простой внешний ключ.

Составной внешний ключ

Рекурсивные и перекрестные ссылки

Поддержка ссылочной целостности.

Ограничение на значение .

Определение множества допустимых значений.

Задание условия на нескольких столбцах

Отложенная проверка ограничений

Изменение ограничений целостности

Добавление новых ограничений .

Удаление существующих ограничений

Утверждения.

Самостоятельная работа

Подведение итогов .

Урок 13. Манипулирование данными

Добавление новых строк.

Вставка отдельных строк .

Использование запроса при вставке строк

Вставка значений по умолчанию.

Обновление существующих данных .

Обновление всех строк.

Обновление по условию

Подзапросы во фразе WHERE

Подзапросы во фразе SET .

Обновление нескольких таблиц

Использование значений NULL и DEFAULT

Обновление представлений

Слияние данных.

Удаление существующих строк

Удаление всех строк таблицы .

Удаление по условию .

Удаление одной строки

Использование запросов

Поддержка целостности при манипулировании данными

Импорт и экспорт данных

Самостоятельная работа .

Подведение итогов

Урок 14. Представления.

Создание представления.

Простое представление .

Выбор столбцов и строк исходной таблицы

Переименование столбцов

Агрегированные представления

Многотабличные представления .

Удаление представления

Модификация данных через представления.

Условия модифицируемости

Проверка модифицируемых значений

Использование представлений

Поддержка целостности .

Самостоятельная работа

Подведение итогов .

Урок 15. Защита данных

Составляющие системы защиты

Субъекты защиты данных .

Условия предоставления доступа.

Защищаемые объекты

Защищаемые операции

Передача прав доступа

Пользователи и роли .

Определение пользователей .

Определение ролей.

Предоставление и отмена привилегий.

Предоставление привилегий на объекты базы данных

Предоставление ролей пользователям или ролям .

Привилегии владельца

Отмена привилегий на объекты

Отмена многократно предоставленных привилегий .

Каскадный эффект при отмене привилегий .

Отмена права предоставления привилегий

Отмена ролей у пользователей или других ролей .

Представления и защита данных .

Привилегии на базовые таблицы и представления

Распространение привилегий на столбцы .

Распространение привилегий на строки .

Предоставление доступа к агрегированным данным.

Самостоятельная работа .

Подведение итогов

Урок 16. Процедурный SQL.

Курсоры.

Курсоры в стандарте SQL .

Курсоры в Oracle .

Введение в PL/SQL

Типы данных PL/SQL.

Структура блока PL/SQL

Раздел объявлений DECLARE .

Выполняемый раздел

Раздел исключений EXCEPTION

Расширения SQL

Самостоятельная работа .

Подведение итогов

Урок 17. Транзакции и триггеры.

Использование транзакций .

Модель транзакции в стандарте SQL .

Явное инициирование транзакции .

Успешное завершение транзакции .

Откат транзакции

Установка характеристик транзакции

Установка проверки ограничений целостности

Блокировка транзакций

Использование триггеров .

Что такое триггер базы данных?

Составляющие триггера

Удаление триггера .

Триггеры в Oracle.

Дополнительные аспекты использования триггеров

Самостоятельная работа .

Подведение итогов

Урок 18. Объектно-ориентированный SQL

Основные объектные возможности SQL .

Большие объекты данных

Конструируемые типы данных .

Тип строк.

Типы коллекций .

Пользовательские типы данных .

Индивидуальные типы.

Структурные типы .

Ссылочные типы и типизированные таблицы

Сравнение значений

Определяемое пользователем приведение типов .

Самостоятельная работа .

Подведение итогов

Урок 19. SQL/XML.

XML и базы данных

Сходство и отличие .

Два вида документов XML .

Разновидности баз данных XML .

Отображения между SQL и XML

Отображение наборов символов SQL в Unicode.

Отображение идентификаторов SQL в имена XML и наоборот.

Отображение в XML типов данных SQL

Отображение значений SQL в значения XML .

Отображение таблиц SQL в XML.

Отображение в XML определений таблиц SQL

Функции и предикаты XML .

Функция XMLElement .

Функция XMLAttributes .

Функция XMLForest

Функция XMLConcat

Функция XMLAgg.

Функция XMLRoot.

Функция XMLComment .

Функция XMLPi .

Функция XMLParse.

Функция XMLSerialize .

Предикат IS DOCUMENT

Ввод, выбор и обновление документов XML .

Ввод документов XML

Выбор документов XML и их фрагментов

Обновление документов XML

Самостоятельная работа

Подведение итогов .

Урок 20. Системный каталог

Что такое системный каталог

Системный каталог в стандарте SQL

Системный каталог Oracle

Информация о себе

Свои привилегии

Доступ к данным.

Таблицы, представления и столбцы

Ограничения целостности

Подведение итогов

Приложение А. Демонстрационные материалы .

Учебная база данных

Документ XML.

Приложение Б. Инструментальное средство SQL*Plus.

Запуск SQL*Plus.

Ввод и выполнение команд.

Буфер SQL

Ввод и выполнение команд SQL

Ввод и выполнение команд SQL*Plus .

Создание и выполнение скриптов .

Работа с буфером SQL

Вывод содержимого буфера.

Редактирование текущей строки

Добавление текста к текущей строке

Вставка новых строк .

Удаление строк.

Форматирование результатов выполнения запросов

Изменение заголовков столбцов.

Форматирование числовых столбцов.

Форматирование текстовых столбцов .

Просмотр, приостановка и отмена форматирования .

Переменные SQL*Plus.

Алфавитный указатель .

 

Книга ориентирована прежде всего на начинающего пользователя, желающего всерьез заняться базами данных. Основу материала составляет изучение примеров готовых баз данных. Подробно рассматриваются приемы конструирования запросов: от самых простых до вложенных со множественными сравнениями. Описываются дополнительные возможности SQL (поддержка целостности данных, транзакции, безопасность данных, привилегии), что дает возможность читателю познакомиться с администрированием баз данных. Тем, кто изучает SQL на профессиональном уровне, будет полезна информация о спецификации и стандартах этого языка. Глава, посвященная применению SQL в различных средах программирования, поможет понять принцип взаимодействия разрабатываемого приложения и СУБД, а также определиться в выборе протокола взаимодействия прикладной программы с базой данных. Книга может служить как учебным пособием по курсу "Базы данных", так и руководством для тех, кто желает освоить SQL самостоятельно.