- •II. Раздел «Управление данными»
- •Необходимость декомпозиции, проблемы дублирования данных.
- •Виды декомпозиций. Правила декомпозиции без потерь.
- •Функции администратора базы данных. Функции администратора данных.
- •Уровни моделирования базы данных.
- •Аксиомы вывода, rap-последовательность вывода. Примеры вывода функциональных зависимостей.
- •Классификация покрытий.
- •Проблемы декомпозиции на минимальном покрытии. Теорема Хеза.
- •Ключи. Неопределенность значений атрибутов в ключах.
- •Нормальные формы. Общая классификация. Пример построения.
- •Практическая значимость понятий: замыкания фз, замыкание атрибутов.
- •Формализация реляционной базы данных.
- •Трёхуровневая архитектура ansi-sparc.
- •Функции и компоненты субд.
- •Архитектуры многопользовательских субд.
- •2. Файловый сервер
- •Технология «клиент-сервер»
- •Составные части языка sql и основные операторы.
- •Реализация запросов средствами sql (хранимые процедуры, функции, представления).
- •Целостность базы данных. Средства обеспечения целостности средствами sql.
- •Индексы базы данных. Назначение, классификация.
- •Оператор соединения в sql.
- •Операция соединения по двум отношениям (таблицам)
- •Операция тета-соединения
- •Естественное соединение
- •Левое внешнее соединение
- •Полусоединение
- •Использование подзапросов, коррелированные подзапросы.
- •Необходимость управления параллельностью.
- •Транзакция и её свойства.
- •Методы управления параллельностью.
- •Функции и архитектура распределённых субд.
- •Olap и oltp системы, хранилище данных.
- •Архитектуры olap.
Аксиомы вывода, rap-последовательность вывода. Примеры вывода функциональных зависимостей.
При декомпозиции исходные отношения опираются не на все ФЗ, а только на те, которые являются подмножеством так называемого минимального покрытия. Чтобы осуществить переход от множества ФЗ к минимальному покрытию необходимо установить избыточные ФЗ. Пусть дано множество ФЗ F на схеме R. При этом X и Y принадлежат данной схеме. ФЗ XY избыточна, если она следует из множества: F – (XY).
Для вывода ФЗ используются правила вывода или аксиомы вывода.
Аксиомы Армстронга:
Рефлексивность: XX (F1);
Пополнение: если XY, то XZY (F2);
Аддитивность: если XY, XZ, то XYZ (F3);
Проективность: если XYZ, то XY, XZ (F4);
Транзитивность: если XY, YZ, то XZ (F5);
Псевдотранзитивность: если XY, YZW, то XZW (F6).
Из всех представленных 6 аксиом, 3 являются независимыми (F1, F2, F6), а остальные можно вывести на основании этих. При выводе одних ФЗ на основании других, выстраиваются цепочки ФЗ полученных на основании аксиом вывода. Их называются выводы.
ß-аксиомы:
Рефлексивность: XX (ß1);
Накопление: если XYZ, ZCW, то XYZCW (ß2);
Проективность: если XYZ, то XZ (ß3).
На основании β - аксиом так же, как и на основании аксиом Армстронга, осуществляется вывод одних функциональных зависимостей из других. Поскольку названия β - аксиом имеют на английском языке следующее написание:
R eflexiviti,
A ccum ulation,
P rojectivity,
то по первым буквам этих названий получили название последовательности вывода, выполняемые с помощью β - аксиом RAP последовательности.
Порядок построения RAP последовательности вывода.
• Первая функциональная зависимость получается путем применения аксиомы β 1.
• Каждая последующая функциональная зависимость вычисляется из предыдущих функциональных зависимостей путем применения аксиомы β 2, или вводится из исходного множества функциональных зависимостей, или генерируется на основании аксиомы β 1.
• На последнем шаге вывода может быть применена аксиома проективности β 3.
Ниже приведен пример построения RAP последовательности вывода, позволяющей доказать, что если имеют место функциональные зависимости X>Y, Y->Z, то будет иметь место и функциональная зависимость X->Z.
№ |
ФЗ |
Основание |
1 |
XX |
1 |
2 |
X-Y |
Дано |
3 |
XXY |
Накопление (2) |
4 |
YZ |
Дано |
5 |
XXYZ |
Накопление (2) |
6 |
XZ |
Проективность (3), это и требовалось доказать |
Классификация покрытий.
Покрытие – это эквивалентные множества ФЗ. При этом, под эквивалентным множеством понимают такие множества F1 и F2 на схеме R, когда они взаимообратные, т.е., из множества F1 путем применения аксиом вывода, может быть получено F2, а из множества F2, аналогичным способом, может быть получено обратное множество F1.
Различают следующие покрытия:
Неизбыточное – покрытие, которое не содержит избыточных ФЗ. У каждого множества ФЗ может быть несколько неизбыточных покрытий. Вид неизбыточного покрытия во многом определяется порядком, в котором ФЗ проверяются на избыточность. F={AB, AC, ABC}. Получаем не избыточные покрытия: F1={AB, AC} или F2={ABC}.
Алгоритм получения:
выбирается ФЗ из исходного множества ФЗ (любая) и проверяется ее возможность получения их оставшихся элементов множества ФЗ с помощью аксиом вывода;
если выбранная ФЗ не следует из оставшихся элементов множества ФЗ, то она оставляется в исходном множестве;
если вывод ФЗ возможен, то она удаляется. Вывод продолжается до тех пор, пока не будет проверена каждая ФЗ.
Минимальное – неизбыточное покрытие, содержащее наименьшее количество ФЗ. Их так же может быть несколько. Если рассматривать ФЗ F1 и F2 - они оба не избыточные, но минимальным среди них является только F2. На нем осуществляют декомпозицию.
Редуцированное – множество, содержащее в себе только редуцированные ФЗ. ФЗ называется редуцированной, если она слева и справа не содержит посторонних атрибутов. Н-р, F3={AB, ABC}. ФЗ ABC, содержит лишний атрибут в левой части – B. Т.о., покрытие F4={AB, AC} – является редуцированным, но не минимальным.
Алгоритм получения:
удаляются посторонние атрибуты из левой части ФЗ;
удаляются все посторонние атрибуты из правой части ФЗ;
удаляются все ФЗ вида: «A0»
