Раздел А. Получение информации
Глава 1. Введение в SQL
Подход с использованием сервера базы данных и его предшественники
Structured Query Language (SQL)
Установка Oracle и настройка рабочей станции
Настройка базы данных
Запуск базы данных и SQL*Plus
Часть I. Одиночные таблицы/одиночные строки
Глава 2. Простой оператор select
Таблицы базы данных
Числовые типы данных и символ/строка-символов
Примеры таблиц баз данных
Базовый оператор select
Получение всех строк и отличающихся сочетаний полей
Сортировка выходных данных при помощи конструкции order by
Глава 3. Вопросы читаемости и форматирования
Форматирование кода SQL
Документирование и комментарии
Форматирование вывода SQL
Часть II. Преобразование вывода
Глава 4. Операторы преобразования и декодирования значений
Работа с константами
Преобразование числовых данных с помощью арифметических процедур
Конкатенация
Работа с псевдостолбцами
Системные функции
Выражение decode
Глава 5. Числовые функции
Простые числовые функции
Математические функции
Тригонометрические функции: sin, cos, tan
Гиперболические функции: sinh, cosh, tanh
Глава 6. Символьные строковые функции
Функции извлечения подстроки, урезания и заполнения
Функции преобразования символов
Функция конкатенации: concat
Глава 7. Преобразование символ/число
Функции анализа строк
Функции преобразования типов данных
Преобразование символов
Часть III. Агрегирование и условия
Глава 8. Агрегирование и групповые функции
Все строки против одной
Агрегирование подмножества строк: group by
Группирование по нескольким столбцам
Групповые функции
Глава 9. Условные операторы
Оценка условных операторов
Операторы сравнения
Использование номера строки для ограничения числа получаемых строк
Вопросы сравнения строк
Условия в списке оператора select
Глава 10. Составные условия и логические операторы
Логические операторы
Вложение логических операторов
Отрицание основных условных операторов: not or и not and
Часть IV. Типы данных и пустые значения
Глава 11. Числовые данные: тип данных number
Целые: питbеr (точность)
Десятичные числа
Глава 12. Даты и время: тип данных date
Представление времени: тип данных date
Добавление и вычитание из дат и времени
Вычисление разности дат
Специальные функции дня: last_day и next_day
Юлианские даты
Округление и усечение дат: round и trunc
Преобразование из одной временной зоны в другую: new_time
Опции форматирования дат: to_char
Вставка дат со специальными кодами форматирования: to_date
Глава 13. Расширенные типы данных
Адреса памяти в базе данных: rowid
Длинные строки: long
Двоичные типы данных: raw и long raw
Глава 14. Преобразование типов данных
Неявное преобразование данных
Явное преобразование типа данных
Глава 15. Пропущенные данные, нулевые и пустые значения
Пустые значения в агрегирующих функциях
Замена пустых значений: nvl
Замена значения на пустое значение: decode (nullif)
Оценка трехзначных условных операторов
Пустые значения в функциях преобразования
Пустые значения в операторах преобразования
Деление на нуль
Часть V. Множество таблиц
Глава 16. Получение данных из множества таблиц
Подход SQL к множеству таблиц
Предотвращение перекрестных объединений с помощью условий
Псевдонимы таблиц
Таблица "главная-подробности"
Поисковые таблицы против таблиц "родитель-ребенок"
Глава 17. Объединения
Внутреннее объединение (по умолчанию)
Левое/правое внешнее объединение
Избыточные строки в ссылочных таблицах
Пустые значения в столбцах объединений
Часть VI. Доступ к множеству таблиц
Глава 18. Применение операторов наборов и псевдонаборов
Операторы набора
Хранение всех строк, полученных всеми множественными запросами: union all
Совместное использование операторов наборов и псевдонаборов
Полные внешние объединения
Типичные ошибки, возникающие в операторах наборов
Упорядочение выборки
Глава 19. Подзапросы единственного значения
Двухэтапное выполнение запроса
Свойства условных подзапросов
Операторы сравнения одной строки
Параллельные подзапросы.
Глава 20. Подзапросы многих значений
Подзапросы нескольких строк
Подзапросы нескольких столбцов
Виртуальные представления подзапросов
Глава 21. Коррелированные подзапросы
Выполнение коррелированных подзапросов
Коррелированные подзапросы против временных представлений и таблиц
Операторы exists/not exists
Глава 22. Деревья и иерархические подзапросы
Рекурсивные соединения и запросы М-уровня
Иерархический оператор select использование connect by prior и start with
Обрезка деревьев
Глава 23. Генерирование SQL-операторов
Преимущества генерирования SQL-операторов
Добавление кода SQL как константы
Спулинг вывода в файл
Упрощение SQL с помощью таблицы SQLCONST
Вставка раздела комментариев
Типичные цели
Раздел В. Управление информацией и объектами баз данных
Часть VII. Управление информацией
Глава 24. Управление данными одной таблицы
Вставка новых строк в таблицу: insert
Удаление строк из таблицы: delete и truncate
Обновление существующих строк в таблице: update
Глава 25. Управление транзакциями
Фиксация и откат изменений базы данных: commit и rollback
Поэтапное выполнение операций rollback/commit: savepoint
Часть VIII. Настройка вывода таблиц с помощью представлений
Глава 26. Однотабличные представления с возможностью вставки
Основы представлений
Маскирующие представления
Представления со специальными опциями
Виртуальные представления с применением подзапросов
Комментарии для представлений в словаре данных: comment on
Глава 27. Многотабличные, индивидуальные и агрегированные представления
Ограничения применения оператора select для создания представления
Агрегированные представления
Индивидуальные представления
Многотабличные представления
Иерархические представления
Выборка первых п строк в порядке сортировки
Представления, основанные на операторах наборов и псевдонаборов
Виртуальные представления (представления по подзапросу)
Часть IX. Таблицы
Глава 28. Создание таблиц
Создание новых или исходных таблиц
Работа со схемами/пользователями базы данных: create user
Удаление таблиц и их содержимого из базы данных: drop table
Смена спецификаций существующих таблиц
Одноэтапное создание таблиц, столбцы и содержимое которых выбраны из других таблиц.
Опция cashe
Глава 29. Ключи, индексы, ограничения и комментарии таблиц/столбцов
Статические ограничения
Присвоение имен, включение и исключение индексов, ключей и ограничений
Динамические ограничения для столбцов
Динамические ограничения между таблицами — внешние ключи
Обеспечение быстрого возврата строк с помощью индексов
Комментарии таблиц и столбцов
Глава 30. Отношения между таблицами и диаграммы отношений сущностей
Моделирование отношений сущностей
Типичные отношения сущностей
Глава 31. Необязательность отношений таблиц
Обязательные и необязательные отношения
Глава 32. Разработка и нормализация реляционной базы данных
Этапы разработки базы данных
Эстетика в разработке базы данных
Нормализация данных
Денормализация
Пример полной модели
Часть X. Безопасность
Глава 33. Привилегии защиты
Пользователи базы данных
Защита объектов и данных
Изменение характеристик пользователя и предоставление ресурсов базы данных
Предоставление дополнительных привилегий
Глава 34. Роли базы данных
Создание ролей и присвоение им привилегий
Присвоение ролей пользователям, активизация ролей и установка стандартных ролей
Предоставление общедоступных привилегий
Предопределенные роли
Глава 35. Управление доступом к объектам базы данных с помощью представлений
Управление доступом к строкам с помощью представлений
Глава 36. Аудит базы данных
Добавление полей с данными о создании и обновлении таблицы
Таблицы протоколов транзакций
Применение встроенных в RDBMS функций аудита
Раздел С. Оптимизация и вопросы качества данных
Часть XI. Оптимизация
Глава 37. Оптимизация производительности операторов: фаза анализа
Выполнение запросов SQL
Повторное использование курсоров
Проверка истинности
Глава 38. Оптимизация выполнения SQL-операторов
Утилиты настройки производительности Oracle
Установка SQL Station
Использование Plan Analizer
Критерии использования индексов вместо полного сканирования таблицы
Оптимизация многотабличной производительности
Глава 39. Проверка и отбор загруженных данных
Вопросы качества данных
Проверка данных на целостность
Копирование записей и добавление ограничений
Несогласованные схемы кодирования
Обработка дублированных строк в архивных данных
Обработка изменений в организационных структурах