Введение в системы управления баз данных. !Пушников Введение в системы управления базами данных. В системы управления базами данных 2 Оглавление 2 Глава
Скачать 2.18 Mb.
|
ОглавлениеОглавление 1 ВВЕДЕНИЕ В СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ 2 Оглавление 2 Глава 1. Элементы теории множеств 7 Глава 2. Базовые понятия реляционной модели данных 17 Глава 3. Целостность реляционных данных 25 Глава 4. Реляционная алгебра 38 Глава 5. Элементы языка SQL 59 Глава 6. Нормальные формы отношений 85 Глава 7. Нормальные формы более высоких порядков 109 Глава 8. Элементы модели "сущность-связь" 123 Глава 9. Транзакции и целостность баз данных 131 Глава 10. Транзакции и параллелизм 152 Глава 11. Транзакции и восстановление данных 176 ВВЕДЕНИЕ В СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХОглавлениеВВЕДЕНИЕ ГЛАВА 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 Выводы СПИСОК ЛИТЕРАТУРЫ |