Это не официальный сайт wikipedia.org 01.01.2023

Четвёртая нормальная форма — Википедия

Четвёртая нормальная форма

Четвёртая нормальная форма (4NF) — одна из возможных нормальных форм отношения реляционной базы данных.

ОпределениеПравить

Переменная отношения R находится в четвёртой нормальной форме, если она находится в НФБК и все нетривиальные многозначные зависимости фактически являются функциональными зависимостями[1] от её потенциальных ключей.

Эквивалентная формулировка определения:

Переменная отношения R находится в четвёртой нормальной форме тогда и только тогда, когда в случае существования подмножеств A и B атрибутов этой переменной отношения R, для которых выполняется нетривиальная многозначная зависимость AB, все атрибуты переменной отношения R также функционально зависят от А[2].

ПримерПравить

Предположим, что рестораны производят разные виды пиццы, а службы доставки ресторанов работают только в определенных районах города. Составной первичный ключ соответствующей переменной отношения включает три атрибута: {Ресторан, Вид пиццы, Район доставки}.

Такая переменная отношения не соответствует 4НФ, так как существует следующая многозначная зависимость:

  • {Ресторан} ↠ {Вид пиццы}
  • {Ресторан} ↠ {Район доставки}

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

Для предотвращения аномалии нужно декомпозировать отношение, разместив независимые факты в разных отношениях. В данном примере следует выполнить декомпозицию на {Ресторан, Вид пиццы} и {Ресторан, Район доставки}.

Однако, если к исходной переменной отношения добавить атрибут, функционально зависящий от потенциального ключа, например цену с учётом стоимости доставки ({Ресторан, Вид пиццы, Район доставки} → Цена), то полученное отношение будет находиться в 4НФ и его уже нельзя подвергнуть декомпозиции без потерь.[источник не указан 3793 дня] Указанные выше многозначные зависимости в данном случае называются внедрёнными зависимостями.

См. такжеПравить

ПримечанияПравить

  1. Функциональная зависимость является многозначной зависимостью, в которой множество зависимых значений, соответствующее заданному значению детерминанта, всегда имеет единичную мощность (является одноэлементным).
  2. Дейт К. Дж., 2005.

ЛитератураПравить

Российская

Переводная

Иностранная