
- •Метод декомпозиции
- •Рекомендации по разбиению.
- •Алгоритм декомпозиции
- •Четвёртая нормальная форма
- •Контроль целостности данных. Контроль целостности связи.
- •Доменно-ключевая нормальная форма (дкнф)
- •Теоретические языки запросов
- •Реляционная алгебра
- •Переименование атрибутов
- •Расширение
- •Подведение итогов
Метод декомпозиции
МД – основан на теории нормальных форм.
Основоположник этой теории – Кодд.
В соответствие с этой теорией все отношения можно классифицировать по принципу наличия тех или иных аномалий.
Здесь – строгая иерархия.
Сначала Кодд дал определение первым трём нормальным формам.
Отношение находится в 1й нормальной форме, если все его атрибуты – атомарны (имеют тривиальную структуру) и обязательны для заполнения.
БКНФ – Бойса-Кодда нормальная форма.
1983г. – доменно – ключевая НФ.
Функциональная зависимость – совокупность атрибутов в В функционально зависит от совокупности атрибутов А: A->B, если каждому значению А соответствует ровно одно значение В.
Из Определения следует, что пустые атрибуты – невозможны.
Пример: (предметная область из предыдущей темы):
Каждая дисциплина преподаётся ровно одним преподавателем.
Учебный процесс(NP, FIO, DOLG, KD, NAME, SP, SEM)
KDNP;
KD
NAME;
KD
SP;
KD
SEM;
NP
FIO;
NP
DOLG.
KDFIO;
KD, NAME,SP,SEM
FIO.
Минимальное покрытие – совокупность функциональных зависимостей, не содержащая избыточные зависимости (для некоторой предметной области).
Избыточная ФЗ – функциональная зависимость, наличие которой следует из других ФЗ.
Для определения избыточных ФЗ используют следующие правила вывода:
1. Рефлексивность:
X:
X
X.
2. Транзитивность:
(A,
B, C) ((A
B
B
C)
(A
C)).
Пример:
1, - изб., т.к.: 2, 3;
2, - изб., т.к.: 4, 5;
6, - изб., т.к.: 5, 3.
Итак: минимальное покрытие:
3. Расширение:
AB,
X:
A,
X
B;
4. Пополнение: AB,
для любого X:
A,
X
B,
X;
5. Декомпозиция:
AB,
C
следовательно: (A
C
A
B);
6. Объединение:
Если
(AC
A
B),
то
A
B,
C;
7. Псевдотранзитивность:
Если
(AB
B, X
C),
то
A, X
C.
Пример:
1. AC;
- избыточная; т.к. 2 и 6;
6. B,
EC;
изб., т.к. 3; - по правилу
3.
По
правилу
5:
(AB,
E)
((A
B)
(A
E)):
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).
Функциональные зависимости могут образовывать цепочки. Если цепочку образуют несколько ФЗ, детерминанты которой не являются возможными ключами, то разбиение начинают с последнего звена: