Критерием, по которому определяют необходимость декомпозиции отношения, является нахождение отношения в той или иной нормальной форме. Наибольший интерес и практическую значимость представляют первая, вторая и третья исправленная (НФБК) нормальные формы.
Первая нормальная форма(1НФ). Отношение находится в первой нормальной форме, если все значения его атрибутов атомарны.
Понятие атомарности условно. Атомарность или ограничение на атомарность устанавливается исходя из анализа информационного обеспечения системы и структуры выходной документации (если никогда не возникнет необходимость выводить отдельно фамилию, имя и отчество, то можно принять, что ФИО атомарно).
Отношение, не находящееся в 1НФ:
| Имя сотрудника | Сведения о сотруднике | ||
| Иванов Иван Иванович | К.т.н., доцент, кафедра ИСБ |
Отношение, находящееся в 1НФ:
| Фамилия | Имя | Отчество | Ученая степень | Звание | Кафедра | ||||||
| Иванов | Иван | Иванович | К.т.н | доцент | ИСБ |
При приведении к атомарному значению необходимо следить, чтобы не был утерян смысл атрибутов.
Вторая нормальная форма (2НФ) Отношение находится во второй нормальной форме, если оно находится в первой нормальной форме, и каждый его неосновной атрибут функционально полно зависит от возможного ключа, т.е. не зависит ни от какого его подмножества. R={ABCD}
Если ключ отношения состоит из одного атрибута, то оно всегда находится во 2-ой нормальной форме. Однако 2НФ не освобождает от избыточного дублирования.
ПРИМЕР: R={ABCD} F={AB>D, A> C}
D зависит функционально полно от ключа, а C – нет, следовательно отношение не находится во 2НФ. Здесь целесообразно вторую ФЗ вынести в отдельное отношение.
ПРИМЕР приведения ко II НФ: дано отношение со схемой R={ABCD} и минимальным покрытием на этой схеме Fmin={A®C, C®D}. Ключом отношения является множество атрибутов {AB}. Атрибуты С и D зависят от подмножества ключа (атрибута A), следовательно, отношение не находится во 2-ой нормальной форме. При этом избыточное дублирование и все, связанные с этим аномалии возникают на атрибутах, зависящих от собственного подмножества ключа.
|
A (№ зачетки) |
B (Название дисциплины) |
C (№ группы) |
D (Название факультета) |
|
1 |
2 |
3 |
4 |
|
a1 (200201) |
b1 (Управление данными) |
c1 (1) |
d1 (ИТ) |
|
a2 (200202) |
b2 (Информатика) |
c2 (2) |
d1 (ИТ) |
|
a2 (200202) |
b1 (Управление данными) |
c2 (2) |
d1 (ИТ) |
|
a3 (200203) |
b1 (Управление данными) |
c1 (1) |
d1 (ИТ) |
|
a3 (200203) |
b3 (СУБД) |
c1 (1) |
d1 (ИТ) |
|
a3 (200203) |
b2 (Информатика) |
c1 (1) |
d1 (ИТ) |
|
A (№ зачетки) |
B (Название дисциплины) |
|
a1 (200201) |
b1 (Управление данными) |
|
a2 (200202) |
b2 (Информатика) |
|
a2 (200202) |
b1 (Управление данными) |
|
a3 (200203) |
b1 (Управление данными) |
|
a3 (200203) |
b3 (СУБД) |
|
a3 (200203) |
b2 (Информатика) |
|
A (№ зачетки) |
C (№ группы) |
D (Название факультета) |
|
a1 (200201) |
c1 (1) |
d1 (ИТ) |
|
a2 (200202) |
c2 (2) |
d1 (ИТ) |
|
a3 (200203) |
c1 (1) |
d1 (ИТ) |

|
A (№ зачетки ) |
B (№ группы) |
B (№ группы) |
C (Название факультета) |
|
|
a1 (200201) |
b1 (1) |
b1 (1) |
c1 (ИТ) |
|
|
a2 (200202) |
b2 (2) |
b2 (2) |
c1 (ИТ) |
|
|
a3 (200203) |
b1 (1) |
|
A (№ удостоверения личности) |
B (№ пенсионного удостоверения) |
C (ИНН) |
|
20020101 |
011-665-618-34 |
110-204-079-495 |
|
20020050 |
011-665-720-12 |
110-201-187-076 |
|
20020135 |
011-665-620-22 |
110-200-537-144 |
|
Детерминант |
Ключ |
|
A (№ удостоверения личности) |
A (№ удостоверения личности) |
|
B (№ пенсионного удостоверения) |
B (№ пенсионного удостоверения) |
|
С (ИНН) |
С (ИНН) |