Jump to content

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

Четвертая нормальная форма ( 4NF ) — это нормальная форма , используемая при нормализации баз данных . Введенный Рональдом Феджином в 1977 году, 4NF является следующим уровнем нормализации после нормальной формы Бойса-Кодда (BCNF). В то время как вторая , третья и нормальная формы Бойса-Кодда связаны с функциональными зависимостями , 4NF касается более общего типа зависимостей, известного как многозначная зависимость . Таблица для каждой из ее находится в 4НФ тогда и только тогда, когда нетривиальных многозначных зависимостей X Y , {X, Y} — это суперключ , то есть комбинация всех атрибутов в X и Y является либо потенциальным ключом , либо его надмножеством. [1]

Многозначные зависимости

[ редактировать ]

Если заголовки столбцов в таблице реляционной базы данных разделены на три непересекающиеся группы X , Y и Z , то в контексте конкретной строки мы можем ссылаться на данные под каждой группой заголовков как x , y и z. соответственно. зависимость Многозначная X Y означает, что если мы выберем любой x, действительно встречающийся в таблице (назовем этот выбор x c ), и составим список всех комбинаций x c yz , которые встречаются в таблице, мы обнаружим, что x c связан с тем же самым y. записи независимо от z . Таким образом, по сути, наличие z не дает никакой полезной информации для ограничения возможных значений y .

Тривиальная многозначная зависимость X Y — это тот, где либо Y является подмножеством X , либо X и Y вместе образуют весь набор атрибутов отношения.

Функциональная зависимость — это частный случай многозначной зависимости. В функциональной зависимости X Y каждый x определяет ровно один y , но не более одного.

Рассмотрим следующий пример:

Варианты доставки пиццы
Ресторан Разнообразие пиццы Зона доставки
А1 Пицца Толстая корочка Спрингфилд
А1 Пицца Толстая корочка Шелбивилль
А1 Пицца Толстая корочка Столица
А1 Пицца Фаршированная Корочка Спрингфилд
А1 Пицца Фаршированная Корочка Шелбивилль
А1 Пицца Фаршированная Корочка Столица
Элитная Пицца Тонкая корочка Столица
Элитная Пицца Фаршированная Корочка Столица
Пицца Винченцо Толстая корочка Спрингфилд
Пицца Винченцо Толстая корочка Шелбивилль
Пицца Винченцо Тонкая корочка Спрингфилд
Пицца Винченцо Тонкая корочка Шелбивилль

Каждая строка указывает, что данный ресторан может доставить заданный сорт пиццы в заданный район.

Таблица не имеет неключевых атрибутов, поскольку ее единственным потенциальным ключом является {Ресторан, Ассортимент пиццы, Зона доставки}. Следовательно, он соответствует всем нормальным формам вплоть до BCNF. Однако если мы предположим, что на сорта пиццы, предлагаемые рестораном, не влияет зона доставки (т. е. ресторан предлагает все виды пиццы, которые он производит, во все регионы, которые он снабжает), тогда он не соответствует 4NF. Проблема в том, что в таблице есть две нетривиальные многозначные зависимости от атрибута {Restaurant} (который не является суперключом). Зависимости:

  • {Ресторан} {Разновидность пиццы}
  • {Ресторан} {Зона доставки}

Эти нетривиальные многозначные зависимости от несуперключа отражают тот факт, что разновидности пиццы, предлагаемые рестораном, не зависят от регионов, в которые ресторан доставляет пиццу. Такое положение дел приводит к избыточности таблицы: например, нам три раза сообщают, что A1 Pizza предлагает фаршированную корочку, и если A1 Pizza начнет производить пиццу с сырной корочкой, то нам нужно будет добавить несколько строк, по одной для каждой пиццы A1 Pizza. зоны доставки. Более того, ничто не мешает нам сделать это неправильно: мы можем добавить строки Cheese Crust для всех зон доставки A1 Pizza, кроме одной, тем самым не учтя многозначную зависимость {Ресторан} {Разновидность пиццы}.

Чтобы исключить возможность этих аномалий, мы должны поместить факты о предлагаемых сортах в таблицу, отличную от фактов о регионах доставки, в результате чего появятся две таблицы, обе из которых находятся в 4NF:

Разновидности по ресторанам
Ресторан Разнообразие пиццы
А1 Пицца Толстая корочка
А1 Пицца Фаршированная Корочка
Элитная Пицца Тонкая корочка
Элитная Пицца Фаршированная Корочка
Пицца Винченцо Толстая корочка
Пицца Винченцо Тонкая корочка
Зоны доставки по ресторанам
Ресторан Зона доставки
А1 Пицца Спрингфилд
А1 Пицца Шелбивилль
А1 Пицца Столица
Элитная Пицца Столица
Пицца Винченцо Спрингфилд
Пицца Винченцо Шелбивилль

Напротив, если бы сорта пиццы, предлагаемые рестораном, иногда действительно варьировались от одного места доставки к другому, исходная таблица из трех столбцов удовлетворяла бы 4NF.

Рональд Феджин продемонстрировал, что всегда возможно достичь 4NF. [2] Теорема Риссанена применима и к многозначным зависимостям .

4НФ на практике

[ редактировать ]

В статье Маргарет С. Ву 1992 года отмечается, что преподавание нормализации баз данных обычно не достигает 4NF, возможно, из-за убеждения, что таблицы, нарушающие 4NF (но соответствующие всем низшим нормальным формам), редко встречаются в бизнес-приложениях. Однако это убеждение может быть неточным. Ву сообщает, что при исследовании сорока баз данных организаций более 20% содержали одну или несколько таблиц, которые нарушали 4NF, но при этом соответствовали всем низшим нормальным формам. [3]

Нормализация за пределами 4NF

[ редактировать ]

Лишь в редких случаях таблица 4NF не соответствует высшей нормальной форме 5NF . Это ситуации, в которых сложное реальное ограничение, определяющее допустимые комбинации значений атрибутов в таблице 4NF, не является неявным в структуре этой таблицы.

См. также

[ редактировать ]


  1. ^ «Схема отношений R* находится в четвертой нормальной форме (4NF), если всякий раз, когда возникает нетривиальная многозначная зависимость X Y справедливо для R*, то же самое справедливо и для функциональной зависимости X → A для каждого имени столбца A в R*. Интуитивно все зависимости являются результатом ключей». Феджин, Рональд (сентябрь 1977 г.). «Многозначные зависимости и новая нормальная форма для реляционных баз данных» (PDF) . Транзакции ACM в системах баз данных . 2 (1): 262–278. CiteSeerX   10.1.1.69.1872 . дои : 10.1145/320557.320571 . S2CID   14617155 . Архивировано из оригинала (PDF) 29 ноября 2007 г. Проверено 26 апреля 2008 г.
  2. ^ Феджин, с. 268
  3. ^ Ву, Маргарет С. (март 1992 г.). «Практическая необходимость четвертой нормальной формы». Бюллетень ACM SIGCSE . 24 (1): 19–23. дои : 10.1145/135250.134515 .

Дальнейшее чтение

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 8e342c494dc66c08ffd74a5a19362944__1720249920
URL1:https://arc.ask3.ru/arc/aa/8e/44/8e342c494dc66c08ffd74a5a19362944.html
Заголовок, (Title) документа по адресу, URL1:
Fourth normal form - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)