Нормализация баз данных - Первая нормальная форма

E-mail Печать PDF
Рейтинг пользователей: / 1
ХудшийЛучший 
Индекс материала
Нормализация баз данных
Ключи
Нормализация
Первая нормальная форма
НФБК
Целостность данных
Деловые правила
Все страницы

Первая нормальная форма

Чтобы преобразовать сущность в первую нормальную форму, следует исключить повторяющиеся группы и добиться того, чтобы каждый атрибут содержал только одно значение. Другими словами, каждый атрибут должен храниться в сущности лишь в одном экземпляре. Сущность <Дом> на рис. 2.8 не нормализована. В частности, она не соответствует первой нормальной форме, поскольку в ней присутствуют повторяющиеся атрибуты для хранения данных о владельце.

Чтобы атрибуты Владелец 1-Владелец N на рис. 2.8 не повторялись, следует создать отдельную сущность для каждого набора атрибутов; в результате у вас появятся две сущности. На рис. 2.9 показана сущность <Дом> после преобразования в первую нормальную форму.

Вторая нормальная форма

Во второй нормальной форме из сущности исключаются избыточные данные. Правило также требует, чтобы каждая сущность обладала уникальным идентификатором, то есть первичным ключом. Избыточными считаются атрибуты, не зависящие от первичного ключа. Если ключ является составным, атрибут должен зависеть от всех частей ключа. Преобразование ко второй нормальной форме требует, чтобы таблица уже находилась в первой нормальной форме.

Рис. 2.8. Ненормализованная сущность

Рис. 2.9. Первая нормальная форма

Продолжим предыдущий пример. В модели, изображенной на рис. 2.9, атрибут <Цена чая> не имеет ничего общего с домовладельцем. Кроме того, атрибут <Мэр> не зависит от всего первичного ключа. Следовательно, сущность <Дом> не соответствует требованиям второй нормальной формы.

Чтобы исправить модель данных, мы удаляем атрибут <Цена чая> (эта информация в дальнейшем не отслеживается) и переносим атрибут <Мэр> в отдельную сущность. На рис. 2.10 та же база данных изображена во второй нормальной форме.

Третья нормальная форма

В третьей нормальной форме исключаются атрибуты, не зависящие от всего ключа. Любая сущность, находящаяся в третьей нормальной форме, заведомо находится во второй нормальной форме. Это самая распространенная форма баз данных. Для запоминания можно воспользоваться формулой: каждый атрибут зависит от ключа, от всего ключа и ни от чего, кроме ключа. Любая сущность, находящаяся во второй нормальной форме и не имеющая составного первичного ключа, автоматически находится в третьей нормальной форме.

Пример: хотя у каждого человека имеется определенный знак зодиака, этот знак зависит от даты рождения и потому не должен находиться в той же сущности, что и остальные данные об этом человеке. На рис. 2.11 изображена база данных <Дом> в третьей нормальной форме.

Рис. 2.10. Вторая нормальная форма

Рис. 2.11. Третья нормальная форма



 

Добавьтe Ваш комментарий

Ваше имя (псевдоним):
Ваш адрес почты:
Заголовок:
Комментарий: