- •Предисловие
- •Основные функции систем управления базами данных (СУБД)
- •Основные понятия
- •Преимущества использования баз данных
- •Функции систем управления базами данных
- •Литература
- •Реляционная модель данных
- •Структуры данных. Фундаментальные свойства отношений
- •Целостность данных. Реляционные ключи
- •Манипулирование данными
- •Реляционная алгебра Кодда
- •Операции
- •Объединение
- •Пересечение
- •Разность
- •Декартово произведение
- •Сокращение (выборка, ограничение, селекция)
- •Проекция
- •Соединения
- •Деление
- •Приоритеты операций
- •Базис алгебры и ства операций
- •Базис
- •Свойства операций
- •Ограничения реляционной алгебры
- •Литература
- •Реляционное исчисление
- •Исчисление кортежей
- •Эквивалентность исчисления кортежей и реляционной алгебры
- •Исчисление доменов
- •Литература
- •Случаи неполной информации и ω-значения
- •Концепция трехзначной логики
- •Логические операторы
- •Кванторы
- •Арифметические операции и операции сравнения
- •ω-значения и домены
- •ω-значения и операторы реляционной алгебры
- •ω-значения и агрегирующие функции
- •Проблема интерпретации
- •ω-значения и ограничения целостности
- •Первичные ключи
- •Внешние ключи
- •Литература
- •Семантическое проектирование реляционных баз данных на основе ER-модели
- •Общий подход семантического моделирования
- •Основные понятия
- •Проектирование базы данных с помощью ER-модели
- •Литература
- •Проектирование реляционных баз данных при помощи нормализации
- •Жизненный цикл системы баз данных
- •Функциональные зависимости
- •Понятие функциональной зависимости
- •Тривиальные и нетривиальные зависимости
- •Замыкание множества зависимостей
- •Неприводимые множества зависимостей
- •Декомпозиция без потерь и функциональные зависимости
- •Диаграммы функциональных зависимостей
- •Сохранение независимости в смысле Риссанена
- •Многозначные зависимости
- •Нормализация
- •Понятие нормализации и её причины
- •Первая, вторая и третья нормальные формы
- •Нормальная форма Бойса–Кодда
- •Четвертая нормальная форма
- •Зависимости соединения и пятая нормальная форма
- •Литература
- •Основные принципы хранения данных во внешней памяти
- •Страничная организация хранения данных
- •Управление буферами внутренней памяти
- •Простая файловая организация страниц
- •Неупорядоченный файл
- •Упорядоченный файл
- •Индексирование
- •Индексно-прямой метод доступа
- •Индексно-последовательный метод доступа
- •Индекс на основе B+-деревья
- •Хэширование
- •Индексированные кластеры
- •Хэшированные кластеры
- •Литература
- •Управление транзакциями и синхронизация в реляционных СУБД
- •Понятие транзакции
- •Фундаментальные свойства транзакций
- •Изолированность транзакций
- •Синхронизационные блокировки
- •Простые блокировки
- •Гранулированные (намеренные) блокировки
- •Предикатные блокировки
- •Тупиковые ситуации
- •Метод временных меток
- •Механизм выделения версий данных
- •Литература
- •Журнализация и восстановление в реляционных СУБД
- •Журнализация и буферизация
- •Индивидуальный откат транзакции
- •Восстановление после мягкого сбоя
- •Восстановление после жесткого сбоя
- •Литература
- •Выполнение и оптимизация запросов в реляционных СУБД
- •Процесс оптимизации запроса
- •Преобразование запроса во внутреннюю форму
- •Преобразование запроса в каноническую форму
- •Выбор потенциальных низкоуровневых процедур
- •Генерация различных вариантов планов вычисления запроса и выбор плана с минимальными затратами
- •Низкоуровневая оптимизация операции выборки
- •Низкоуровневая оптимизация операции соединения
- •Литература
§7. Проектирование реляционных баз данных при помощи нормализации
7.1. Жизненный цикл системы баз данных
Жизненный цикл системы баз данных представляет собой концепцию, в рамках которой удобно рассматривать развитие системы баз данных во времени. Его можно разделить на две фазы:
1.Фаза анализа и проектирования: основной задачей является сбор требований, предъявляемых к содержанию и процессу обработки данных всеми известными и потенциальными пользователями базы данных. Включает следующие этапы:
1.1) Формулирование и анализ требований — обеспечивает согласованность целей пользователей, а также согласованность их представлений об информационном потоке организации.
1.2) Концептуальное проектирование1 — имеет целью построение независимой от СУБД информационной структуры путем объединения информационных требований пользователей.
Результат этапа называют концептуальной схемой, поскольку она является представлением точки зрения пользователей на предметную область и не зависит ни от программного обеспечения СУБД, ни от технических решений.
1.3) Проектирование реализаций состоит из двух компонентов:
•Проектирование базы данных — в результате получается структура базы данных, которая представляет собой СУБД-ориентированное описание данных или схема, обычно выраженная в терминах языка описания данных. Она называется также логиче-
ской структурой данных.
•Проектирование программного обеспечения имеет целью создание структуриро-
ванных программ, использующих включающий (базовый) язык программирования и язык манипулирования данными СУБД.
Результатом являются функциональные спецификации программных модулей и набор возможных запросов к базе данных.
1.4) Физическое проектирование аналогично проектированию реализации состоит из двух компонентов:
•Выбор физической структуры базы данных.
•Окончательная отладка программных модулей.
Результатом является полностью готовая к внедрению структура базы данных.
2. Фаза реализации и функционирования базы данных:
2.1) Реализация базы данных — подразумевает создание базы данных и прикладных программ на основе результатов фазы проектирования базы данных, а также загрузку базы данных. Целью этого этапа является создание надежных и эффективных программ доступа к базе данных, удовлетворяющих требованиям пользователей к обработке данных.
2.2) Анализ функционирования и поддержка — используются для сбора (регистрации) и статистической обработки данных о функционировании системы. Эта информация позволяет выявить степень обоснованности требований пользователей, а также «узкие места» в процессе эксплуатации с целью пересмотра системы в будущем.
Поддержка базы данных должна обеспечивать ее целостность и эффективное восстановление после сбоев.
2.3) Модификация и адаптация — предусматривают внесение в реализованный проект изменений, возникающих вследствие появления новых требований, анализа функционирова-
1 Его еще могут называть логическим проектированием, но обычно под логическим проектированием подразумевают не только концептуальное проектирование, но и проектирование реализации либо вовсе могут подразумевать своё.
35