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

Вторая нормальная форма (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НФ.