- •Предисловие
- •Основные функции систем управления базами данных (СУБД)
- •Основные понятия
- •Преимущества использования баз данных
- •Функции систем управления базами данных
- •Литература
- •Реляционная модель данных
- •Структуры данных. Фундаментальные свойства отношений
- •Целостность данных. Реляционные ключи
- •Манипулирование данными
- •Реляционная алгебра Кодда
- •Операции
- •Объединение
- •Пересечение
- •Разность
- •Декартово произведение
- •Сокращение (выборка, ограничение, селекция)
- •Проекция
- •Соединения
- •Деление
- •Приоритеты операций
- •Базис алгебры и ства операций
- •Базис
- •Свойства операций
- •Ограничения реляционной алгебры
- •Литература
- •Реляционное исчисление
- •Исчисление кортежей
- •Эквивалентность исчисления кортежей и реляционной алгебры
- •Исчисление доменов
- •Литература
- •Случаи неполной информации и ω-значения
- •Концепция трехзначной логики
- •Логические операторы
- •Кванторы
- •Арифметические операции и операции сравнения
- •ω-значения и домены
- •ω-значения и операторы реляционной алгебры
- •ω-значения и агрегирующие функции
- •Проблема интерпретации
- •ω-значения и ограничения целостности
- •Первичные ключи
- •Внешние ключи
- •Литература
- •Семантическое проектирование реляционных баз данных на основе ER-модели
- •Общий подход семантического моделирования
- •Основные понятия
- •Проектирование базы данных с помощью ER-модели
- •Литература
- •Проектирование реляционных баз данных при помощи нормализации
- •Жизненный цикл системы баз данных
- •Функциональные зависимости
- •Понятие функциональной зависимости
- •Тривиальные и нетривиальные зависимости
- •Замыкание множества зависимостей
- •Неприводимые множества зависимостей
- •Декомпозиция без потерь и функциональные зависимости
- •Диаграммы функциональных зависимостей
- •Сохранение независимости в смысле Риссанена
- •Многозначные зависимости
- •Нормализация
- •Понятие нормализации и её причины
- •Первая, вторая и третья нормальные формы
- •Нормальная форма Бойса–Кодда
- •Четвертая нормальная форма
- •Зависимости соединения и пятая нормальная форма
- •Литература
- •Основные принципы хранения данных во внешней памяти
- •Страничная организация хранения данных
- •Управление буферами внутренней памяти
- •Простая файловая организация страниц
- •Неупорядоченный файл
- •Упорядоченный файл
- •Индексирование
- •Индексно-прямой метод доступа
- •Индексно-последовательный метод доступа
- •Индекс на основе B+-деревья
- •Хэширование
- •Индексированные кластеры
- •Хэшированные кластеры
- •Литература
- •Управление транзакциями и синхронизация в реляционных СУБД
- •Понятие транзакции
- •Фундаментальные свойства транзакций
- •Изолированность транзакций
- •Синхронизационные блокировки
- •Простые блокировки
- •Гранулированные (намеренные) блокировки
- •Предикатные блокировки
- •Тупиковые ситуации
- •Метод временных меток
- •Механизм выделения версий данных
- •Литература
- •Журнализация и восстановление в реляционных СУБД
- •Журнализация и буферизация
- •Индивидуальный откат транзакции
- •Восстановление после мягкого сбоя
- •Восстановление после жесткого сбоя
- •Литература
- •Выполнение и оптимизация запросов в реляционных СУБД
- •Процесс оптимизации запроса
- •Преобразование запроса во внутреннюю форму
- •Преобразование запроса в каноническую форму
- •Выбор потенциальных низкоуровневых процедур
- •Генерация различных вариантов планов вычисления запроса и выбор плана с минимальными затратами
- •Низкоуровневая оптимизация операции выборки
- •Низкоуровневая оптимизация операции соединения
- •Литература
Компоненты уникального идентификатора сущности превращаются в первичный ключ отношения. Если имеется несколько возможных уникальных идентификаторов, для первичного ключа выбирается наиболее характерный. Если в состав уникального идентификатора входят связи, к числу атрибутов первичного ключа добавляется копия уникального идентификатора сущности, находящейся на дальнем конце связи (этот процесс может продолжаться рекурсивно, и в общем случае может привести к зацикливанию). Для именования этих атрибутов используются имена концов связей и/или имена парных сущностей.
Связи «многие к одному» (и «один к одному») становятся внешними ключами, т. е. образуется копия уникального идентификатора сущности на конце связи «один», и соответствующие столбцы составляют внешний ключ отношения, соответствующей сущности на конце связи «многие». Необязательные связи соответствуют атрибутам внешнего ключа, допускающим наличие неопределенных !-значений, а обязательные связи соответствуют атрибутам, не допускающим неопределенных !-значений. Если между двумя сущности E1 и E2 имеется связь «один к одному», то соответствующий внешний ключ по желанию проектировщика может быть объявлен как в отношении E1, так и в отношении E2. Чтобы отразить в определении таблицы ограничение, которое заключается
втом, что степень конца связи должна равняться единице, соответствующий (возможно, составной) атрибут должен быть дополнительно специфицирован как потенциальный ключ отношения.
Для поддержки связи «многие ко многим» между сущностями E1 и E2 создается дополнительное отношение RE1E2 с двумя атрибутами, один из которых содержит уникальные идентификаторы экземпляров сущности E1, а другой — уникальные идентификаторы экземпляров сущности E2. Обозначим через UIDpcq уникальный идентификатор экземпляра c некоторой сущности C. Тогда, если
вэкземпляре связи «многие ко многим» участвуют экземпляры ep11q; ep21q; : : : ; epn1q сущности E1 и эк-
земпляры ep12q; ep22q; : : : ; epm2q сущности E2, то в отношении RE1E2 должны присутствовать все строки
вида UIDpepi1qq; UIDpepj2qq для i 1; n; j 1; m. Понятно, что, используя отношения E1, E2 и RE1E2 , с помощью стандартных реляционных операций можно найти все пары экземпляров типов сущности,
участвующих в данной связи.
Индексы создаются для первичного ключа (уникальный индекс), внешних ключей и тех атрибутов, на которых предполагается в основном базировать запросы.
Литература
1.Chen P. P.-S. The Entity-Relationship Model: Toward a Unified View of Data // ACM Transactions on
Database Systems. — 1976. — Mar. — Vol. 1. — Pp. 9–36. — URL: http://csc.lsu.edu/news/
erd.pdf.
2.Merson P. Data Model as an Architectural View. — Carnegie Mellon University, Software Engineering
Institute, 2009. — (Technical note). — URL: http://repository.cmu.edu/cgi/viewcontent.
cgi?article=1280&context=sei.
3.Дейт К. Дж. Семантическое моделирование / пер. с англ. К. А. Птицына // Введение в системы баз данных (глава 14). — 8-е изд. — М. : Издательский дом „Вильямс“, 2005.
4.Коннолли Т., Бегг К. Модель «сущность–связь» / пер. с англ. Р. Г. Имамутдинова, К. А. Птицына // Базы данных: проектирование, реализация и сопровождение (глава 11) / под ред. К. А. Птицына. — 3-е изд. — М. : Издательский дом „Вильямс“, 2003.
5.Кузнецов С. Д. Проектирование реляционных баз данных с использованием семантических мо-
делей: ER-диаграммы // Базы данных. Вводный курс (лекция 10). — 2008. — URL: http : / /
citforum.ru/database/advanced_intro/26.shtml.
34