Вторая нормальная форма
Вторая и третья нормальные формы возникли в результате стремления избежать аномалий обновления данных при работе с БД и избавиться от информационной избыточности в отношениях.
Вторая нормальная форма применяется к отношениям с составными ключами, т. е. к таким отношениям, первичный ключ которых состоит из двух или более атрибутов. Отношение, у которого первичный ключ включает только один атрибут, всегда находится во 2НФ.
Дадим определения новых понятий.
Определение 1. Атрибут называется посторонним для функциональной зависимости Х → Y, если он может быть удален из правой или левой части функциональной зависимости без изменений транзитивного замыкания F+ множества F.
Определение 2. Функциональная зависимость Х → Y называется редуцированной слева, если X не содержит атрибута Z, постороннего для функциональной зависимости Х → Y. Если функциональная зависимость Х → Y редуцирована слева, то Y является полностью зависящим oт X. В противном случае Y частично зависит от X.
Определение 3. Для данной схемы отношения R атрибут А в R и множество функциональных зависимостей F на R атрибут А называется первичным в R относительно F, если А содержится в каком-нибудь ключе схемы R. В противном случае А называется непервичным в R.
Итак, схема отношения R находится во 2НФ относительно F, если она находится в 1НФ, и каждый непервичный атрибут функционально полно зависит от первичного ключа.
Схема всей БД имеет 2НФ относительно F, если каждая ее схема отношения находится относительно F во 2НФ.
Рассмотрим отношение КОНСУЛЬТАЦИИ_ДИПЛОМНИКОВ со схемой: (Таб_Ном_преп, Ном_зач_кн, Дата, ФИО_преп, Должность, ФИО_студ, Тема_диплома, Время, Аудитория, Вместимость).
Это отношение содержит информацию о том, какой преподаватель консультирует определенного дипломника, а также дату, время консультации и аудиторию с ее вместимостью, где она должна проводиться. Обозначим основные зависимости этого отношения.
(Таб_Ном_преп, Ном_зач_кн, Дата) → (ФИО_преп, Должность,
ФИО_студ, Тема_липлома, Время, Аудитория, Вместимость).
Описательные атрибуты преподавателя ФИО_преп, Должность зависят только от части первичного ключа. Данную ситуацию определяет зависимость: Таб-Ном_преп → (ФИО_преп, Должность).
Описательные атрибуты студента ФИО_студ, Тема_диплома также зависят только от части первичного ключа и не зависят от остальных атрибутов ключа, то есть имеется зависимость вида:
Ном_зач_кн → (ФИО_студ. Тема_диплома).
Отсутствие полной функциональной зависимости каждого непервичного атрибута отношения от первичного ключа, как и в других рассмотренных здесь примерах, является источником аномалий обновления и вносит свою долю избыточности в базу данных. Устранение данных отрицательных явлений осуществляется путем декомпозиции исходного отношения на три со следующими схемами:
ПРЕПОДАВАТЕЛЬ (Таб_Ном_преп, ФИО_преп, Должность);
СТУДЕНТ (Ном_зач_кн, ФИО_студ, Тема_диплома);
КОНСУЛЬТАЦИИ (Таб_Ном_преп, Ном_зач_кн, Дата, Время, Аудитория, Вместимость).
Дата добавления: 2016-07-05; просмотров: 2687;