Введение
Нормальная форма, используемая в нормализации баз данных. Четвертая нормальная форма (4NF) — это нормальная форма, применяемая при нормализации баз данных. Предложенная Рональдом Фагином в 1977 году, 4NF является следующим уровнем нормализации после нормальной формы Бойса–Кодда (BCNF). В то время как вторая, третья и нормальная форма Бойса–Кодда связаны с функциональными зависимостями, 4NF рассматривает более общий тип зависимости, известный как многозначная зависимость. Таблица соответствует 4NF тогда и только тогда, когда для каждой нетривиальной многозначной зависимости X → Y, X является суперключом, то есть X является либо кандидатом в ключи, либо его надмножеством.
Fourth normal form (4NF) is a normal form used in database normalization. Introduced by Ronald Fagin in 1977, 4NF is the next level of normalization after Boyce–Codd normal form (BCNF). Whereas the second, third, and Boyce–Codd normal forms are concerned with functional dependencies, 4NF is concerned with a more general type of dependency known as a multivalued dependency. A table is in 4NF if and only if, for every one of its non trivial multivalued dependencies X Y, X is a superkey—that is, X is either a candidate key or a superset thereof.
Многозначные зависимости
Если заголовки столбцов в таблице реляционной базы данных разделены на три непересекающихся множества X, Y и Z, то в контексте конкретной строки мы можем обращаться к данным под каждой группой заголовков как к x, y и z соответственно. Многозначная зависимость X Y означает, что если мы выберем любое x, фактически встречающееся в таблице (обозначим этот выбор как xc), и составим список всех комбинаций xcyz, присутствующих в таблице, мы обнаружим, что xc связано с одним и тем же набором значений y, независимо от z. Таким образом, по сути, наличие z не дает никакой дополнительной информации для ограничения возможных значений y. Тривиальной многозначной зависимостью X Y является зависимость, в которой либо Y является подмножеством X, либо объединение X и Y составляет полное множество атрибутов отношения. Функциональная зависимость является частным случаем многозначной зависимости. В функциональной зависимости X → Y, каждое x однозначно определяет ровно одно y, и не более одного.
4НФ на практике
В статье Маргарет С. Ву, опубликованной в 1992 году, отмечается, что преподавание нормализации баз данных обычно ограничивается нормальной формой не выше 4NF, возможно, из-за распространенного мнения о том, что таблицы, нарушающие 4NF (но удовлетворяющие всем более низким нормальным формам), редко встречаются в бизнес-приложениях. Однако это мнение может оказаться неточным. Ву сообщает, что в исследовании сорока организационных баз данных более 20% содержали одну или несколько таблиц, нарушающих 4NF, но при этом соответствующих всем более низким нормальным формам.
Нормализация за пределами 4NF
Только в редких случаях таблица, находящаяся в 4NF, не соответствует более высокой нормальной форме 5NF. Это происходит, когда сложное реальное ограничение, определяющее допустимые комбинации значений атрибутов в таблице 4NF, не является неявным следствием структуры этой таблицы.