- •Предисловие
- •Основные функции систем управления базами данных (СУБД)
- •Основные понятия
- •Преимущества использования баз данных
- •Функции систем управления базами данных
- •Литература
- •Реляционная модель данных
- •Структуры данных. Фундаментальные свойства отношений
- •Целостность данных. Реляционные ключи
- •Манипулирование данными
- •Реляционная алгебра Кодда
- •Операции
- •Объединение
- •Пересечение
- •Разность
- •Декартово произведение
- •Сокращение (выборка, ограничение, селекция)
- •Проекция
- •Соединения
- •Деление
- •Приоритеты операций
- •Базис алгебры и ства операций
- •Базис
- •Свойства операций
- •Ограничения реляционной алгебры
- •Литература
- •Реляционное исчисление
- •Исчисление кортежей
- •Эквивалентность исчисления кортежей и реляционной алгебры
- •Исчисление доменов
- •Литература
- •Случаи неполной информации и ω-значения
- •Концепция трехзначной логики
- •Логические операторы
- •Кванторы
- •Арифметические операции и операции сравнения
- •ω-значения и домены
- •ω-значения и операторы реляционной алгебры
- •ω-значения и агрегирующие функции
- •Проблема интерпретации
- •ω-значения и ограничения целостности
- •Первичные ключи
- •Внешние ключи
- •Литература
- •Семантическое проектирование реляционных баз данных на основе ER-модели
- •Общий подход семантического моделирования
- •Основные понятия
- •Проектирование базы данных с помощью ER-модели
- •Литература
- •Проектирование реляционных баз данных при помощи нормализации
- •Жизненный цикл системы баз данных
- •Функциональные зависимости
- •Понятие функциональной зависимости
- •Тривиальные и нетривиальные зависимости
- •Замыкание множества зависимостей
- •Неприводимые множества зависимостей
- •Декомпозиция без потерь и функциональные зависимости
- •Диаграммы функциональных зависимостей
- •Сохранение независимости в смысле Риссанена
- •Многозначные зависимости
- •Нормализация
- •Понятие нормализации и её причины
- •Первая, вторая и третья нормальные формы
- •Нормальная форма Бойса–Кодда
- •Четвертая нормальная форма
- •Зависимости соединения и пятая нормальная форма
- •Литература
- •Основные принципы хранения данных во внешней памяти
- •Страничная организация хранения данных
- •Управление буферами внутренней памяти
- •Простая файловая организация страниц
- •Неупорядоченный файл
- •Упорядоченный файл
- •Индексирование
- •Индексно-прямой метод доступа
- •Индексно-последовательный метод доступа
- •Индекс на основе B+-деревья
- •Хэширование
- •Индексированные кластеры
- •Хэшированные кластеры
- •Литература
- •Управление транзакциями и синхронизация в реляционных СУБД
- •Понятие транзакции
- •Фундаментальные свойства транзакций
- •Изолированность транзакций
- •Синхронизационные блокировки
- •Простые блокировки
- •Гранулированные (намеренные) блокировки
- •Предикатные блокировки
- •Тупиковые ситуации
- •Метод временных меток
- •Механизм выделения версий данных
- •Литература
- •Журнализация и восстановление в реляционных СУБД
- •Журнализация и буферизация
- •Индивидуальный откат транзакции
- •Восстановление после мягкого сбоя
- •Восстановление после жесткого сбоя
- •Литература
- •Выполнение и оптимизация запросов в реляционных СУБД
- •Процесс оптимизации запроса
- •Преобразование запроса во внутреннюю форму
- •Преобразование запроса в каноническую форму
- •Выбор потенциальных низкоуровневых процедур
- •Генерация различных вариантов планов вычисления запроса и выбор плана с минимальными затратами
- •Низкоуровневая оптимизация операции выборки
- •Низкоуровневая оптимизация операции соединения
- •Литература
6. Каскад выборок:
F1 p F2 pRqq F1^F2 pRq:
7. Каскад проекций:
A1 p A2 pRqq A1 pRq при A1 Ď A2:
8.Перестановка выборки и проекции: пусть в условии F используются атрибуты AF, а A — атрибуты, используемые для проекции, тогда:
Fp ApRqq Ap FpRqq при AF Ď A;Ap FpRqq Ap Fp AYAF pRqqq при AF Ę A:
3.4. Ограничения реляционной алгебры
Несмотря на мощь языка реляционной алгебры, имеется ряд типов запросов, которые принципиально нельзя выразить только при помощи операторов реляционной алгебры. Это вовсе не означает, что ответы на эти запросы нельзя получить вообще. Просто, для получения ответов на подобные запросы приходится применять процедурные расширения реляционных языков.
•Не все «естественные» запросы могут быть выражены. Например, в силу невозможности выразить транзитивное замыкание.
•Значение выражения может быть вычислено за полиномиальное время, а значит, реляционная алгебра не эквивалентна машине Тьюринга.
•Эквивалентность выражений алгоритмически неразрешима.
Литература
1.Codd E. F. Relational completeness of data base sublanguages // Data base systems / R. J. Rustin. —
San Jose, California : Prentice-Hall, 1972. — Pp. 65–98. — (Prentice Hall and IBM Research Report
RJ 987). — ISBN 9780131967410. — URL: http : / / citeseerx . ist . psu . edu / viewdoc /
download?doi=10.1.1.86.9277&rep=rep1&type=pdf.
2.Connolly T. M., Begg C. E. Relational Algebra and Relational Calculus // Database systems: a practical approach to design, implementation, and management (chapter 4). — 4th ed. — San Jose, California : Addison-Wesley, 2005. — (International computer science series). — ISBN 9780321210258.
3.Дейт К. Дж. Преобразование выражений / пер. с англ. К. А. Птицына // Введение в системы баз данных. — 8-е изд. — М. : Издательский дом „Вильямс“, 2005. — С. 689—696.
4.Дейт К. Дж. Реляционная алгебра / пер. с англ. К. А. Птицына // Введение в системы баз данных (глава 7). — 8-е изд. — М. : Издательский дом „Вильямс“, 2005.
5.Кузнецов С. Д. Реляционная алгебра Кодда // Базы данных. Вводный курс (лекция 4). — 2008. — URL: http://citforum.ru/database/advanced_intro/13.shtml.
6.Пушников А. Ю. Реляционная алгебра // Введение в системы управления базами данных. Часть I
(глава 4). — Уфа : Издание Башкирского университета, 1999. — ISBN 5747703501. — URL: http:
//citforum.ru/database/dblearn/dblearn04.shtml.
7.Ульман Дж. Д. Алгебраическое манипулирование / пер. с англ. М. Р. Когаловского, В. В. Когутовского // Основы систем баз данных / под ред. М. Р. Когаловского. — М. : «Финансы и статистика», 1983. — С. 192—197.
§4. Реляционное исчисление
Реляционное исчисление характеризует декларативный (описательный) способ манипулирования данными, т. е. в отличие от алгебры здесь запрос задается путем описания того, что хочется полу-
22