2 нормальная форма

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

Если сущность имеет простой первичный ключ (1 атрибут) и находится в 1 нормальной форме, то она автоматически находится и во 2 нормальной форме.

Для приведения сущности ко 2-ой нормальной форме необходимо:

1) Выделить неключевые атрибуты, зависящие от одной и той же части первичного ключа

2) Поместить эти атрибуты в новую сущность

3) Установить с новой сущностью связи типа 1:М

4) Повторить указанные выше действия, если это возможно

 

Приведение ко 2-ой нормальной форме позволяет избежать следующих аномалий:

1) Аномалия вставки: невозможно ввести данные о сотруднике, если он в данный момент не руководит ни одним проектом

2) Аномалия обновлений: если сотрудник руководит несколькими проектами и данные о сотруднике меняются, то необходимо корректировать несколько кортежей сущности проекта. Если выполнить нормализацию, то достаточно ввести изменения лишь в 1 кортеж сущности сотрудника.

3) Аномалия удаления: если сотрудник временно прекращает руководство проекта, то данные о нем теряются

4) Причиной этих аномалий является избыточность данных, обусловленная тем, что в одной сущности хранится разнородная информация (о проектах и сотрудниках), а это, в свою очередь, говорит о неадекватности модели данных той предметной области, которая исследуется и моделируется. БД, основанная на такой модели будет работать неправильно.

26. Нормализация данных. Третья нормальная форма и нормальная форма Кодда-Бойса.

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

Процесс нормализации – постепенное приведение сущности к нормальным формам.

Сущность находится в 3-й нормальной форме, если она находится во 2-й нормальной форме, и между ее не ключевыми атрибутами отсутствует функциональная зависимость.

Сущность находится в 3-й нормальной форме, если она находится во 2-й и каждый ее неключевой атрибут нетранзитивно зависит от первичного ключа.

Транзитивная зависимость:

Т. о. можно сказать, что в 3-й нормальной форме, каждый неключевой атрибут функционально зависит только от всего первичного ключа и ни от чего другого.

Для приведения сущности к 3-й нормальной форме необходимо:

1) Выделить неключевые атрибуты, которые функционально зависят от одного и того же неключевого атрибута

2) Поместить эти атрибуты в новую сущность

3) Установить в новой сущности связь типа 1:М

4) Повторить указанные выше действия, если это возможно

После приведения в 3-й нормальной форме получим:

 

Приведение в 3-й форме позволяет избежать след. аномалий:

1) Аномалия вставки: невозможно ввести данные об окладе, если соответствующую должность не занимает ни один сотрудник

2) Если должность занимает несколько сотрудников и оклад по должности меняется, то необходимо корректировать несколько кортежей сущности сотрудник; если выполнить нормализацию, то достаточно внести изменения лишь в 1 кортеж сущности должность.

3) Если удалить сотрудника, занимающего уникальную должность, то данные об окладе теряется.

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