Оглавление



Оглавление

ВВЕДЕНИЕ

ГЛАВА 1. ЭЛЕМЕНТЫ ТЕОРИИ МНОЖЕСТВ

    Множества
    Операции над множествами
    Декартово произведение множеств
    Отношение
    Примеры отношений
    Бинарные отношения (отношения степени 2)
    Отношение эквивалентности
    Отношения порядка
    Функциональное отношение
    Еще пример бинарного отношения
    n-арные отношения (отношения степени n)
    Транзитивное замыкание отношений
    Выводы


ГЛАВА 2. БАЗОВЫЕ ПОНЯТИЯ РЕЛЯЦИОННОЙ МОДЕЛИ ДАННЫХ

    Общая характеристика реляционной модели данных
    Типы данных
    Простые типы данных
    Структурированные типы данных
    Ссылочные типы данных
    Типы данных, используемые в реляционной модели
    Домены
    Отношения, атрибуты, кортежи отношения
    Определения и примеры
    Свойства отношений
    Первая нормальная форма
    Выводы

ГЛАВА 3. ЦЕЛОСТНОСТЬ РЕЛЯЦИОННЫХ ДАННЫХ

    Null-значения
    Трехзначная логика (3VL)
    Потенциальные ключи
    Целостность сущностей
    Внешние ключи
    Целостность внешних ключей
    Замечания к правилам целостности сущностей и внешних ключей
    Операции, могущие нарушить ссылочную целостность
    Для родительского отношения
    Для дочернего отношения
    Стратегии поддержания ссылочной целостности
    Применение стратегий поддержания ссылочной целостности
    При обновлении кортежа в родительском отношении
    При удалении кортежа в родительском отношении
    При вставке кортежа в дочернее отношение
    При обновлении кортежа в дочернем отношении
    Выводы

ГЛАВА 4. РЕЛЯЦИОННАЯ АЛГЕБРА.

    Обзор реляционной алгебры
    Замкнутость реляционной алгебры
    Отношения, совместимые по типу
    Оператор переименования атрибутов
    Теоретико-множественные операторы
    Объединение
    Пересечение
    Вычитание
    Декартово произведение
    Специальные реляционные операторы
    Выборка (ограничение, селекция)
    Проекция
    Соединение
    Общая операция соединения
    Тэта-соединение
    Экви-соединение
    Естественное соединение
    Деление
    Примеры использования реляционных операторов
    Зависимые реляционные операторы
    Оператор соединения
    Оператор пересечения
    Оператор деления
    Примитивные реляционные операторы
    Оператор декартового произведения
    Оператор проекции
    Оператор выборки
    Операторы объединения и вычитания
    Запросы, невыразимые средствами реляционной алгебры
    Плохая нормализация отношений
    Невыразимость транзитивного замыкания реляционными операторами
    Кросс-таблицы
    Выводы

ГЛАВА 5. ЭЛЕМЕНТЫ ЯЗЫКА SQL.

    Операторы SQL
    Операторы DDL (Data Definition Language) - операторы определения объектов базы данных
    Операторы DML (Data Manipulation Language) - операторы манипулирования данными
    Операторы защиты и управления данными
    Примеры использования операторов манипулирования данными
    INSERT - вставка строк в таблицу
    UPDATE - обновление строк в таблице
    DELETE - удаление строк в таблице
    Примеры использования оператора SELECT
    Отбор данных из одной таблицы
    Отбор данных из нескольких таблиц
    Использование имен корреляции (алиасов, псевдонимов)
    Использование агрегатных функций в запросах
    Использование агрегатных функций с группировками
    Использование подзапросов
    Использование объединения, пересечения и разности
    Синтаксис оператора выборки данных (SELECT)
    BNF-нотация
    Синтаксис оператора выборки
    Синтаксис соединенных таблиц
    Синтаксис условных выражений раздела WHERE
    Порядок выполнения оператора SELECT
    Стадия 1. Выполнение одиночного оператора SELECT
    Стадия 2. Выполнение операций UNION, EXCEPT, INTERSECT
    Стадия 3. Упорядочение результата
    Как на самом деле выполняется оператор SELECT
    Реализация реляционной алгебры средствами оператора
    SELECT (Реляционная полнота SQL)
    Оператор декартового произведения
    Оператор проекции
    Оператор выборки
    Оператор объединения
    Оператор вычитания
    Оператор соединения
    Оператор пересечения
    Оператор деления
    Выводы

ГЛАВА 6. НОРМАЛЬНЫЕ ФОРМЫ ОТНОШЕНИЙ

    Этапы разработки базы данных
    Критерии оценки качества логической модели данных
    Адекватность базы данных предметной области
    Легкость разработки и сопровождения базы данных
    Скорость операций обновления данных (вставка, обновление, удаление)
    Скорость операций выборки данных
    Основной пример
    1НФ (Первая Нормальная Форма)
    Аномалии обновления
    Аномалии вставки (INSERT)
    Аномалии обновления (UPDATE)
    Аномалии удаления (DELETE)
    Функциональные зависимости
    Определение функциональной зависимости
    Функциональные зависимости отношений и математическое понятие функциональной зависимости
    2НФ (Вторая Нормальная Форма)
    Анализ декомпозированных отношений
    Оставшиеся аномалии вставки (INSERT)
    Оставшиеся аномалии обновления (UPDATE)
    Оставшиеся аномалии удаления (DELETE)
    3НФ (Третья Нормальная Форма)
    Алгоритм нормализации (приведение к 3НФ)
    Анализ критериев для нормализованных и ненормализованных моделей данных
    Сравнение нормализованных и ненормализованных моделей
    OLTP и OLAP-системы
    Корректность процедуры нормализации - декомпозиция без потерь. Теорема Хеза
    Выводы

ГЛАВА 7. НОРМАЛЬНЫЕ ФОРМЫ БОЛЕЕ ВЫСОКИХ ПОРЯДКОВ

    НФБК (Нормальная Форма Бойса-Кодда)
    4НФ (Четвертая Нормальная Форма)
    5НФ (Пятая Нормальная Форма)
    Продолжение алгоритма нормализации (приведение к 5НФ)
    Выводы

ГЛАВА 8. ЭЛЕМЕНТЫ МОДЕЛИ "СУЩНОСТЬ-СВЯЗЬ"

    Основные понятия ER-диаграмм
    Пример разработки простой ER-модели
    Концептуальные и физические ER-модели
    Выводы

ГЛАВА 9. ТРАНЗАКЦИИ И ЦЕЛОСТНОСТЬ БАЗ ДАННЫХ

    Пример нарушения целостности базы
    Понятие транзакции
    Ограничения целостности
    Классификация ограничений целостности
    Классификация ограничений целостности по способам реализации
    Классификация ограничений целостности по времени проверки
    Классификация ограничений целостности по области действия
    Ограничения домена
    Ограничения атрибута
    Ограничения кортежа
    Ограничения отношения
    Ограничения базы данных
    Реализация декларативных ограничений целостности средствами SQL
    Общие принципы реализации ограничений средствами SQL
    Синтаксис ограничений стандарта SQL
    Синтаксис операторов SQL, использующих ограничения
    Выводы

ГЛАВА 10. ТРАНЗАКЦИИ И ПАРАЛЛЕЛИЗМ

    Работа транзакций в смеси
    Проблемы параллельной работы транзакций
    Проблема потери результатов обновления
    Проблема незафиксированной зависимости (чтение "грязных" данных, неаккуратное считывание)
    Проблема несовместимого анализа
    Неповторяемое считывание
    Фиктивные элементы (фантомы)
    Собственно несовместимый анализ
    Конфликты между транзакциями
    Блокировки
    Решение проблем параллелизма при помощи блокировок
    Проблема потери результатов обновления
    Проблема незафиксированной зависимости (чтение "грязных" данных, неаккуратное считывание)
    Проблема несовместимого анализа
    Неповторяемое считывание
    Фиктивные элементы (фантомы)
    Собственно несовместимый анализ
    Разрешение тупиковых ситуаций
    Преднамеренные блокировки
    Предикатные блокировки
    Метод временных меток
    Механизм выделения версий данных
    Теорема Есварана о сериализуемости
    Реализация изолированности транзакций средствами SQL
    Уровни изоляции
    Синтаксис операторов SQL, определяющих уровни изоляции
    Выводы

ГЛАВА 11. ТРАНЗАКЦИИ И ВОССТАНОВЛЕНИЕ ДАННЫХ

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

СПИСОК ЛИТЕРАТУРЫ

 



Содержание раздела