Предисловие

Глава 1. Введение

Реляционная модель очень плохо понята
Некоторые замечания о терминологии
Принципы, а не продукты
Обзор оригинальной модели
Модель и реализация
Свойства отношений
Базовые и производные отношения
Отношения и переменные­отношения
Значения и переменные
Заключительные замечания
Упражнения

Глава 2. Типы и домены

Типы и отношения
Сравнения на равенство
Атомарность значений данных
Что такое тип?
Скалярные и нескалярные типы
Скалярные типы в SQL
Проверка и приведение типов в SQL
Схемы упорядочения в SQL
Тип строки и таблицы в SQL
Заключительные замечания
Упражнения

Глава 3. Кортежи и отношения, строки и таблицы
Что такое кортеж?
Следствия из определений
Строки в SQL
Что такое отношение?
Отношения и их тела
Отношения n-мерны
Сравнение отношений
TABLE_DUM и TABLE_DEE
Таблицы в SQL
Именование столбцов в SQL
Заключительные замечания
Упражнения

Глава 4. Нет дубликатам, нет null-значениям

Чем плохи дубликаты?
Дубликаты: новые проблемы
Как избежать дубликатов в SQL
Чем плохи null-значения?
Как избежать null-значений в SQL
Замечание о внешнем соединении
Заключительные замечания
Упражнения

Глава 5. Базовые переменные­отношения, базовые таблицы

Определения данных
Обновление - это операция над множеством
Реляционное присваивание
Принцип присваивания
Еще о потенциальных ключах
Еще о внешних ключах
Переменные­отношения и предикаты
От­ношения и типы
Упражнения

Глава 6. SQL и реляционная алгебра I: оригинальные операторы

Предварительные сведения
Еще о замкнутости
Ограничение
Проекция
Соединение
Объединение, пересечение и разность
Какие операторы являются примитивными?
Пошаговое конструирование выражений
В чем смысл реляционных выражений?
Вычисление табличных выражений в SQL
Трансформация выражений
Зависимость от имен атрибутов
Упражнения
Глава 7. SQL и реляционная алгебра II: дополнительные операции

Полусоединение и полуразность
Расширение
Отношения-образы
Деление
Агрегатные операторы
Еще об отношениях­образах
Обобщение
Еще об обобщении
Группирование и разгруппирование
Запросы "что если"
А как насчет ORDER BY?
Упражнения

Глава 8. SQL и ограничения целостности

Ограничения типа
Еще об ограничениях типа
Ограничения типа в SQL
Ограничения базы данных
Ограничения базы данных в SQL
Транзакции
Почему ограничения базы данных должны проверяться немедленно
Но разве можно не откладывать проверку некоторых ограничений?
Ограничения и предикаты
Разное
Упражнения

Глава 9. SQL и представления

Представления - это переменные­отношения
Представления и предикаты
Операции выборки
Представления и ограничения
Операции обновления
Зачем нужны представления?
Взгляды и снимки
Упражнения

Глава 10. SQL и формальная логика

Простые и составные высказывания
Простые и составные предикаты
Квантификация
Реляционное исчисление
Еще о квантификации
Некоторые эквиваленции
Заключительные замечания
Упражнения

Глава 11. Использование формальной логики для формулирования SQL-выражений

Некоторые правила трансформации
Пример 1. Логическая импликация
Пример 2. Добавление квантора всеобщности
Пример 3. Импликация и квантор всеобщности
Пример 4. Коррелированные подзапросы
Пример 5. Именование подвыражений
Пример 6. Еще об именовании подвыражений
Пример 7. Устранение неоднозначности
Пример 8. Использование COUNT
Пример 9. Запросы с соединением
Пример 10. Квантор UNIQUE
Пример 11. Сравнения с ALL или ANY
Пример 12. GROUP BY и HAVING
Упражнения

Глава 12. Различные вопросы, связанные с SQL

SELECT *
Явные таблицы
Квалификация имен
Переменные кортежа
Подзапросы
"Потенциально недетерминированные" выражения
Пустые множества
БНФ-грамматика табличных выражений SQL
Упражнения

Приложение A. Реляционная модель
Реляционная и другие модели
Определение реляционной модели
Цели реляционной модели
Некоторые принципы баз данных
Что осталось сделать?

Приложение B. Теория проектирования баз данных
Место теории проектирования
Функциональные зависимости и нормальная форма Бойса/Кодда
Зависимости соединения и пятая нормальная форма
Тост за здоровье нормализации
Ортогональность
Некоторые замечания о физическом проектировании
Заключительные замечания
Упражнения

Приложение С. Ответы к упражнениям
Глава 1
Глава 2
Глава 3
Глава 4
Глава 5
Глава 6
Глава 7
Глава 8
Глава 9
Глава 10
Глава 11
Глава 12
Приложение B
Приложение D. Дополнительная литература
Алфавитный указатель