Нормализация отношений

  • Часть 1
  • | 2
  • | 3
  • | 4
  • | 5
  • | 6

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

Первичным ключом отношения Номенклатура товаров является атрибут Артикул. Ключевой атрибут функционально связан со всеми не ключевыми атрибутами. Первичный ключ является простым, следовательно, рассматриваемое отношение находится во второй нормальной форме. Тем не менее прослеживается некоторая избыточность данных. Например, информация о том, что организация Янтарь доставляет товары только железнодорожным транспортом, повторяется в отношении Номенклатура товаров трижды.

Это является следствием того, что имеется функциональная зависимость между неключевыми атрибутами: атрибут Способ доставки функционально зависит от атрибута Поставщик (см. табл. 7.9). Такие зависимости называются транзитивными (переходными).

Для устранения транзитивной зависимости в отношении Номенклатура товаров, данное отношение необходимо разделить на два отношения (табл. 7.11 и 7.12):

Таблица 7.11

Договоры

Название

товара

Артикул

Цена, руб.

Поставщик

Костюм

500

10 000

Янтарь

Сапоги

200

5 000

Факел

Туфли

100

4 000

Янтарь

Костюм

300

5 000

Янтарь

Костюм

400

4 000

Остон

Таблица 7.12

Доставка

Поставщик

Способ

доставки

Янтарь

а/т

Факел

ж/д

Остон

ж/д

В результате выполненных действий исключена избыточность данных – каждый факт хранится в базе данных только один раз. Облегчается выполнение операций обновления данных. Например, если организация Янтарь переходит на доставку грузов водным транспортом, достаточно внести необходимые изменения только в один кортеж отношения Доставка (см. табл. 7.12).

предыдущаяследующая