Нормальные формы Общая классификация Отличие НФБК от НФ
Критерием, по которому определяют необходимость декомпозиции отношения, является нахождение отношения в той или иной нормальной форме. Наибольший интерес и практическую значимость представляют первая, вторая и третья исправленная (НФБК) нормальные формы.
Первая нормальная форма(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 (ИТ) |
Третья нормальная форма (3НФ) Отношение находится в третьей нормальной форме, если оно находится во второй нормальной форме, и каждый неосновной атрибут его схемы нетранзитивно зависит от возможного ключа (т.е. напрямую)
Пример: R={ABC}, F={A>B, B>C}. Декомпозируется на R/={AB}, R//={BC}.
A (№ зачетки ) |
B (№ группы) |
B (№ группы) |
C (Название факультета) |
|
a1 (200201) |
b1 (1) |
b1 (1) |
c1 (ИТ) |
|
a2 (200202) |
b2 (2) |
b2 (2) |
c1 (ИТ) |
|
a3 (200203) |
b1 (1) |
НФБК (Нормальная форма Бойса-Кодда) Отношение находится в НФБК, если оно находится в 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 (№ пенсионного удостоверения) |
С (ИНН) |
С (ИНН) |
Декомпозиция до НФБК осуществляется на минимальном покрытии.
В исходном отношении выявляется множество возможных ключей и детерминант. Если выясняется, что эти два множества неэквивалентны, то в отдельное отношение выделяется крайняя ф.з. Если после этого множества детерминантов и ключей оказываются эквивалентными, то декомпозиция заканчивается. В противном случае, продолжается выделение ф.з. пошагово, по одной на каждом шаге.
Любая декомпозиция прошла успешно, если все ф.з., имеющиеся в исходной базе данных были сохранены в новом проекте, т.е. говорят, что все ф.з. навязаны базе данных.
Пример: R={ABC} F={A>B, B>C}. Декомпозируется на 2 отношения: R={AB}, R={BC}. Все ф.з., имеющие место в исходном отношении сохранены: F/={A>B}, F//={B>C}.
Отличие НФБК от 3 НФ.
НФБК учитывает Ф/З, в которых участвуют все потенциальные ключи отношения, а не только его первичный ключ. Для отношения с единственным потенциальным ключом его 3НФ и НФБК являются эквивалентами. Например, R = {ABC} и множество Ф/З F = { A>B, B>С, C>A}. Отношение не находится в 3НФ, а нуждается в декомпозиции – есть транзитивные зависимости. Но несмотря на их наличие, какие-либо аномалии в этом отношении отсутствуют. Значит, декомпозиция не требуется. Особенность этого отношения заключается в том, что все детерминанты в нем являются возможными ключами. Определение 3НФ не позволяет учесть эти частные случаи, в связи с этим была предложена НФБК.