- •Установочный модуль
- •Введение
- •Модуль 1
- •Реляционная алгебра
- •Отсутствующие данные
- •Пустые значения
- •Неопределенные значения
- •Интерпретации
- •Правила вычисления выражений
- •Следствия
- •Проверка условий
- •Реляционные объекты данных
- •Формальные определения
- •Домены и атрибуты
- •Схема отношения
- •Именованное значение атрибута
- •Кортеж
- •Отношение
- •Схема базы данных
- •База данных
- •Операции реляционной алгебры
- •Унарные операции
- •Бинарные операции
- •Варианты операции соединения
- •Производные операции
- •Пример построения выражения реляционной алгебры
- •Понятие базовых и виртуальных отношений
- •Понятие полноты реляционной алгебры
- •Формирование запросов на языке SQL
- •Металингвистические символы
- •Реализация операций реляционной алгебры
- •Пример использования подзапросов
- •Группирующие запросы
- •Упорядочение результатов
- •Вопросы для самоконтроля
- •Упражнения
- •Построение выражений реляционной алгебры
- •Модуль 2
- •Базовые и виртуальные отношения
- •Типы данных
- •Базовые типы данных
- •Типы данных, определяемые пользователем
- •Первичные и кандидатные ключи
- •Создание базовых отношений
- •Индексы
- •Модификация базовых отношений
- •Вставка строк
- •Обновление строк
- •Удаление строк
- •Целостность
- •Декларативная поддержка
- •Пример декларативной поддержки целостности
- •Транзакции и блокировки
- •Триггеры
- •Виртуальные отношения
- •Вопросы для самоконтроля
- •Упражнения
- •Декларативная поддержка целостности
- •Модуль 3
- •Нормальные формы
- •Функциональные зависимости (ФЗ)
- •Правила вывода Армстронга
- •Производные правила вывода
- •Независимость правил Армстронга
- •Полнота системы правил Армстронга
- •Нормальные формы
- •Первая нормальная форма (1NF)
- •Вторая нормальная форма (2NF)
- •Третья нормальная форма (3NF)
- •Нормальная форма Бойса-Кодда (Boyce, Codd; NFBC)
- •Пример построения нормализованных схем отношений
- •Вопросы для самоконтроля
- •Модуль 4
- •Проектирование схем баз данных
- •Уровни логической модели
- •Миграция ключей и виды связей
- •Классификация кластеров
- •Иерархическая рекурсия
- •Абстрактная схема
- •Обобщения
- •Пример реализации иерархической рекурсии
- •Сетевая рекурсия
- •Абстрактная схема
- •Сетевая реализация иерархической рекурсии
- •Обобщения
- •Пример реализации сетевой рекурсии
- •Ассоциация
- •Детализация связей многие-ко-многим
- •Обобщения
- •Пример реализации ассоциации
- •Обобщение
- •Абстрактная схема
- •Пример реализации обобщения
- •Композиция
- •Абстрактная схема
- •Пример реализации композиции
- •Агрегация
- •Абстрактная схема
- •Пример реализации агрегации
- •Унификация атрибутов
- •Вопросы для самоконтроля
- •Упражнения
- •Иерархическая рекурсия
- •Сетевая рекурсия
- •Ассоциация
- •Обобщение
- •Композиция
- •Агрегация
- •Дополнительные главы
- •Технологии баз данных
- •Информационные системы
- •Жизненный цикл ИС
- •СУБД и БД
- •Жизненный цикл БД и средства проектирования
- •Модели данных
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных
- •Постреляционная модель данных
- •Объектно-ориентированные модели данных
- •XML как модель данных
- •Многомерная модель данных (OLAP)
- •Основные функции СУБД
- •Управление данными во внешней памяти
- •Управление буферами оперативной памяти
- •Управление транзакциями
- •Журнализация и восстановление БД после сбоев
- •Поддержка языков баз данных
- •Типовая организация СУБД
- •Модели взаимодействия с БД
- •Модель с централизованной архитектурой
- •Модель с автономными персональными компьютерами
- •Архитектура «файл-сервер»
- •Архитектура «клиент-сервер»
- •Архитектура «клиент-сервер» трехзвенная
- •Распределенные базы данных
- •Технология тиражирования данных
- •Понятие «фрактал»
- •Геометрические фракталы
- •Алгебраические фракталы
- •Стохастические фракталы
- •Системы итерируемых функций
- •Вопросы для самоконтроля
- •Литература
- •Список иллюстраций
- •Список таблиц
Примечание. Все кортежи результата однократной выборки удовлетворяют условию выборки. Повторная проекция не связана с вычеркиванием столбцов. Двукратное переименование атрибутов сводится к однократному переименованию с функцией переименования, равной композиции исходных функций переименования (аналог свойства идемпотентности)
Группа 3. Свойства монотонности:
1)r1 r2 ) hP ir1 hP ir2
2)r1 r2 ) hS0ir1 hS0ir2
3)r1 r2 ) h'ir1 h'ir2
Примечание. Все три унарных оператора монотонны
2.5.2. Бинарные операции
Бинарные теоретико-множественные операции объединения, пересечения и разности применяются к двум отношениям с одной и той же схемой. Результатом является отношение с той же схемой, что
иу операндов (табл. 2.7):
1)r1(S) [ r2(S) = ft(S) j t 2 r1 _ t 2 r2g – объединение
2)r1(S) \ r2(S) = ft(S) j t 2 r1&t 2 r2g – пересечение
3)r1(S) n r2(S) = ft(S) j t 2 r1&t 62r2g – разность
Бинарными операциями типа произведения являются операции декартова произведения и естественного соединения:
Таблица 2.7.: Пример выполнения операций объединения, пересечения и разности
r1(S) |
|
r2(S) |
|
r1(S) [ r2(S) |
|
r1(S) \ r2(S) |
|
r1(S) n r2(S) |
|||||
A |
B |
|
A |
B |
|
A |
B |
|
A |
B |
|
A |
B |
a |
1 |
|
b |
2 |
|
a |
1 |
|
b |
2 |
|
a |
1 |
b |
2 |
|
c |
3 |
|
b |
2 |
|
|
|
|
|
|
|
|
|
d |
4 |
|
c |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
d |
4 |
|
|
|
|
|
|
4)r1(S1) r2(S2) = ft(S1 [ S2) j t[S1] 2 r1&t[S2] 2 r2g, S1 \ S2 = ;
5)r1(S1) ./ r2(S2) = ft(S1 [ S2) j t[S1] 2 r1&t[S2] 2 r2g
Примечание. Операция декартова произведения также относится к теоретико-множественным
Операции возвращают отношение со схемой, равной объединению схем операндов. В декартово произведение попадают комбинации всевозможных пар кортежей, так как схемы операндов не пересекаются. В естественное соединение попадают лишь те кортежи операндов, которые совпадают на пересечении схем отношений. Такие кортежи называются соединимыми. Декартово произведение является частным случаем естественного соединения в случае непересекающихся схем отношений. Если требуется взять декартово произведение отношений с пересекающимися схемами, то предварительно следует переименовать атрибуты хотя бы одного из отношений так, чтобы схемы не пересекались. Примеры для операций типа произведения приведены в табл. 2.8, 2.9.
Из определений операций следуют следующие свойства. Группа 1. Соотношения мощностей:
Таблица 2.8.: Пример выполнения операции декартова произведения
r1(S1) |
|
r2(S2) |
|
r1(S1) r2(S2) |
||
A1 |
|
C2 |
|
A1 |
|
C2 |
a |
|
x |
|
a |
|
x |
b |
|
y |
= |
a |
|
y |
c |
|
|
|
b |
|
x |
|
|
|
|
b |
|
y |
S1 \ S2 = ; |
|
c |
|
x |
||
|
|
|
|
c |
|
y |
Соединимы любые |
кортежи, |
|
||||
так как схемы не пересекаются: |
||||||
|
|
|
= |
|
|
|
|
|
|
|
|
Таблица 2.9.: Пример выполнения операции естественного соединения
r1(S1) |
|
|
r2(S2) |
|
r1(S1) ./ r2(S2) |
||||
A1 |
B |
|
|
B |
C2 |
|
A1 |
B |
C2 |
a |
1 |
|
|
1 |
x |
|
a |
1 |
x |
b |
1 |
|
./ |
2 |
y |
= |
b |
1 |
x |
c |
3 |
|
|
3 |
z |
|
c |
3 |
z |
d |
4 |
|
|
|
|
|
|
|
|
|
S1 \ S2 6= ; |
|
|
|
|
|
|||
|
|
Соединимы лишь те кортежи, |
|
которые совпадают на |
пересечении схем: |
||||||||
|
|
./ |
|
|
= |
|
|
|
|
1)jr1 [ r2j 6 jr1j + jr2j
2)jr1 \ r2j 6 min(jr1j; jr2j)
3)jr1 n r2j 6 jr1j
4)jr1 r2j = jr1j jr2j
5)jr1 ./ r2j 6 jr1j jr2j
Примечание. При объединении отношений дубликаты кортежей исключаются. При декартовом произведении все кортежи соединимы, так как схемы операндов не пересекаются. При естественном соединении в общем случае не все кортежи соединимы
Группа 2. Свойства группы представлены в табл. 2.10. Знаками «+» и « » обозначены случаи, когда операция обладает и не обладает соответствующим свойством. Для декартова произведения обладание свойством идемпотентности не формулируется (что обозначено знаком « »), так как в этом случае декартово произведение не определено.
Таблица 2.10.: Группа 2 свойств бинарных операций
|
Свойство бинарной |
|
|
|
|
|
|
операции |
[ |
\ |
n |
|
./ |
Идемпотентность |
r r = r |
+ |
+ |
|
|
+ |
Коммутативность |
r1 r2 = r2 r1 |
+ |
+ |
|
+ |
+ |
Ассоциативность |
(r1 r2) r3 = r1 (r2 r3) |
+ |
+ |
|
+ |
+ |