Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответ на 11 билет.doc
Скачиваний:
17
Добавлен:
19.03.2015
Размер:
253 Кб
Скачать
☆

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

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

Вернёмся опять к отношениям Вторая и Поставки (рис.4.5). C отношением Поставки мы не испытываем никаких затруднений, и оно остаётся до конца без изменений, т.е. включая 3НФ. В отношении же Вторая атрибуты не являются взаимно независимыми. В частности, зависимость атрибута Статус от Код_поставщика хотя и являются функциональной и неприводимой, одновременно является и транзитивной, т.е. каждое значение Код_поставщика определяет Город, а Город определяет Статус (ГородСтатус). Следовательно, транзитивные зависимости могут опять привести к аномалиям при обновлениях.

Операция INSERT:

Нельзя указать, что все поставщики из Пскова обладают статусом 50, пока в этом городе не существует конкретного поставщика (задано некое правило с ограничением целостности).

Операция DELETE:

При удалении из отношения Вторая кортежа для некоторого города будет удалена некоторая информация не только о поставщике, но и о статусе этого города.

Например, при удалении кортежа S5 будет утрачена информация о том, что для Твери был задан статус 30.

Операция UPDАTE:

В отношении Вторая в атрибуте Статус наблюдается некоторая избыточность. Так, при изменении статуса Москва с 20 на 30 – возникает проблема поиска всех кортежей для Москвы.

Вновь нужно заменить исходное отношение Вторая двумя проекциями:

Город_поставщика {Код_поставщика, Город}

Статус_города {Город, Статус}

Диаграммы Ф3 для этих двух отношений даны на Рис.4.7, а таблицы – на Рис.4.8.

Рис. 4.7. Диаграммы ФЗ отношений Город_поставщика и Статус_города

Рис. 4.8. Отношения Город_поставщика и Статус_города.

Сравнивая диаграммы Рис.4.5 с Рис.4.7, можно заметить, что благодаря дальнейшей декомпозиции удалось исключить транзитивную зависимость атрибута Статус от атрибута Код_поставщика. Можно утверждать, что атрибуты Статус в отношении Вторая описывает не сущность, идентифицируемую первичным ключом (т.е. поставщика), а город поставщика.

Третья нормальная форма ( 3нф ).

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

Отношение Город_поставщика и Статус_города находится в 3НФ, причем первичными ключами в них являются атрибуты Код_поставщика и Город соответственно.

Как говорилось ранее, процесс нормализации обратим. Отношение, которое находится в 2НФ, всегда может быть приведено к эквивалентному набору отношений 3НФ. Никакая информация при таком приведении не утрачивается. В 3НФ может содержаться информация, которая не может быть представлена 2НФ (например, статус Пскова равен 50). Из этого следует, что комбинация отношений Вторая – Поставки может рассматриваться как более правдоподобное представление реального мира, чем отношение Первая, а отношениеГород_поставщика – Статус_города правдоподобнее отношения Вторая (2НФ).

В заключение хотелось бы сказать, нельзя с первого взгляда на таблицу с данными для заданного отношения определить, находится ли оно, например, в 3НФ. Для этого необходимо представлять себе их смысл, т.е. существующие между ними зависимости. Следует также отметить: зная даже о зависимости данного отношения, нельзя доказать то, что оно находится в 3НФ. Можно лишь показать, что если данные не нарушают никаких зависимостей, и если это так, высказать предположение о том, что эти данные не противоречат гипотезе о принадлежности отношения к 3НФ.