- •Метод декомпозиции
- •Рекомендации по разбиению.
- •Алгоритм декомпозиции
- •Четвёртая нормальная форма
- •Контроль целостности данных. Контроль целостности связи.
- •Доменно-ключевая нормальная форма (дкнф)
- •Теоретические языки запросов
- •Реляционная алгебра
- •Переименование атрибутов
- •Расширение
- •Подведение итогов
Метод декомпозиции
МД – основан на теории нормальных форм.
Основоположник этой теории – Кодд.
В соответствие с этой теорией все отношения можно классифицировать по принципу наличия тех или иных аномалий.
Здесь – строгая иерархия.
Сначала Кодд дал определение первым трём нормальным формам.
Отношение находится в 1й нормальной форме, если все его атрибуты – атомарны (имеют тривиальную структуру) и обязательны для заполнения.
БКНФ – Бойса-Кодда нормальная форма.
1983г. – доменно – ключевая НФ.
Функциональная зависимость – совокупность атрибутов в В функционально зависит от совокупности атрибутов А: A->B, если каждому значению А соответствует ровно одно значение В.
Из Определения следует, что пустые атрибуты – невозможны.
Пример: (предметная область из предыдущей темы):
Каждая дисциплина преподаётся ровно одним преподавателем.
Учебный процесс(NP, FIO, DOLG, KD, NAME, SP, SEM)
KDNP; KDNAME; KDSP; KDSEM; NPFIO; NPDOLG.
KDFIO; KD, NAME,SP,SEMFIO.
Минимальное покрытие – совокупность функциональных зависимостей, не содержащая избыточные зависимости (для некоторой предметной области).
Избыточная ФЗ – функциональная зависимость, наличие которой следует из других ФЗ.
Для определения избыточных ФЗ используют следующие правила вывода:
1. Рефлексивность:
X: XX.
2. Транзитивность:
(A, B, C) ((AB BC) (AC)).
Пример:
1, - изб., т.к.: 2, 3;
2, - изб., т.к.: 4, 5;
6, - изб., т.к.: 5, 3.
Итак: минимальное покрытие:
3. Расширение:
AB, X: A, XB;
4. Пополнение: AB, для любого X: A, XB, X;
5. Декомпозиция:
AB, C следовательно: (AC AB);
6. Объединение:
Если (AC AB), то AB, C;
7. Псевдотранзитивность:
Если (AB B, XC), то A, XC.
Пример:
1. AC; - избыточная; т.к. 2 и 6;
6. B, EC; изб., т.к. 3; - по правилу 3.
По правилу 5: (AB, E)((AB)(AE)):
AE; - избыточная (по правилу 2, т.к. 4 и 5).
Т.о.:
2a, 3, 4, 5; - минимальное покрытие:
Опр:
Пусть AB, тогда A называется детерминантом этой ФЗ, если B функционально не зависит от любого подмножества атрибутов A. Если A – один атрибут, то он – детерминант.
Опр:
Отношение находится в БКНФ, если каждый детерминант ФЗ является возможным ключом.
Пример:
Преподаватель(NP, FIO, DOLG);
Детерминанты: NP;
Возм. ключи: NP;
т.о.: это отношение находится в БКНФ.
Рекомендации по разбиению.
Необходимо выявить детерминанты ФЗ, которые не являются первичными ключами.
Разбиение осуществляется следующим образом:
1. Из отношения, не находящегося в БКНФ исключается зависимая часть, детерминант которой не является возможным ключом;
2. Первое отношение получается путём удаления атрибутов зависимой части, детерминант которой не является возможным ключом.
3. Во второе отношение включаются атрибуты, участвующие в функциональной зависимости (и детерминант и зависимая часть).
Пример:
R(A, B, C, D, F,…) – отношение;
CD – ФЗ;
С – детерминант, но не возможный ключ в R.
Тогда: R1(A, B, C, F,…); R2(C, D).
Функциональные зависимости могут образовывать цепочки. Если цепочку образуют несколько ФЗ, детерминанты которой не являются возможными ключами, то разбиение начинают с последнего звена: