double arrow

Вторая нормальная форма (2НФ)

Нормальные формы

Каждая НФ:

ü ограничивает определенный тип функциональной зависимости;

ü устраняет соответствующие аномалии при выполнении операции над отношениями БД.

При рассмотрении НФ будем отмечать все свойственные им аномалии и нежелательные эффекты. Для иллюстрации используем отношение с составным ключом преподаватель предмет. Оно находится в 1НФ, поскольку не содержит сложных атрибутов. В этом отношении можно отметить частичную функциональную зависимость атрибутов «фамилия», «должность», «оклад», «кафедра», «телефон» от части «личный номер» составного ключа. Такая зависимость приводит к следующим аномалиям:

1. имеет место дублирование данных о преподавателе, поскольку он может читать несколько предметов;

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

3. возникает проблема с преподавателями, которые в данное время не ведут предметы, и с лаборантами, которые вообще не ведут предметов. А именно, преподавателя без предметов невозможно включить в отношение. И наоборот, если преподаватель увольняется, то будет удален и предмет, хотя он и должен продолжать читаться. Такимобразом,в отношение 1НФ требует дальнейших преобразований.

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

ü построить проекцию без атрибутов, которые находятся в частичной зависимости от составного ключа;

ü построить проекцию на часть составного ключа и атрибуты, зависящие от этой части.

В итоге получим два отношения: предметипреподаватель, находящихся во 2НФ:

Предмет

Личный номер Название предмета Количество часов
ЭВМ
Сети
БД
БД
Физика
Оптика

Преподаватель

Личный номер Фамилия Должность Оклад Кафедра Телефон
Фролов Доцент ЭВМ 4-89
Костин Доцент ЭВМ 4-89
Бойко Профессор АСУ 4-89
Глазов Ассистент ТЭФ 4-12

В полученном отношении преподаватель имеются функциональные транзитивные зависимости:

Личный номер → кафедра → телефон

Личный номер → должность → оклад

Наличие транзитивных зависимостей порождает неудобства и аномалии следующего характера (на примере атрибута «телефон»):

1. имеет место дублирование информации о телефоне для преподавателей одной кафедры;

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

3. Нельзя включить данные о новой кафедре (название и номер телефона), если на данный момент еще отсутствуют преподаватели. И наоборот, при увольнении преподавателей с кафедры, данные о ней нельзя сохранить. Таким образом, 2НФ также может требовать дальнейших преобразований.


Сейчас читают про: