Типы нормальных форм

Первая нормальная форма (1NF)

Основная статья: Первая нормальная форма

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

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

Вторая нормальная форма (2NF)

Основная статья: Вторая нормальная форма

Отношение находится во второй нормальной форме, если оно находится в первой нормальной форме, и при этом любой его атрибут, не входящий в состав потенциального ключа, функционально полно зависит от каждого потенциального ключа. Функционально полная зависимость означает, что атрибут функционально зависит от всего составного потенциального ключа, но при этом не находится в функциональной зависимости от какой-либо из входящих в него частей. Или другими словами: в 2NF нет неключевых атрибутов, зависящих от части составного потенциального ключа.

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

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

Основная статья: Третья нормальная форма

Отношение находится в 3NF тогда и только тогда, когда выполняются следующие условия:

Отношение находится во второй нормальной форме;

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

Таким образом, отношение находится в 3NF тогда и только тогда, когда оно находится во 2NF и отсутствуют транзитивные зависимости неключевых атрибутов от ключевых. Транзитивной зависимостью неключевых атрибутов от ключевых называется следующая: {A} → {B} и {B} → {C}, где {A} — потенциальный ключ, {B} и {С} — различные множества неключевых атрибутов.

Нормальная форма Бойса — Кодда (BCNF)

Основная статья: Нормальная форма Бойса — Кодда

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

Это более строгая версия третьей нормальной формы, которая приобретает актуальность при наличии в отношении нескольких потенциальных ключей, хотя бы один из которых является составным. Если в отношении только один потенциальный ключ или все потенциальные ключи являются простыми (несоставными), то BCNF эквивалентна 3NF.

Четвёртая нормальная форма (4NF)

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

Таблица находится в 4NF, если она находится в BCNF и не содержит нетривиальных многозначных зависимостей.

Пятая нормальная форма (5NF)

Основная статья: Пятая нормальная форма

Отношение находится в пятой нормальной форме (иначе — в проекционно-соединительной нормальной форме) тогда и только тогда, когда каждая нетривиальная зависимость соединения в нём определяется потенциальным ключом (ключами) этого отношения[2].

Доменно-ключевая нормальная форма (DKNF)

Основная статья: Доменно-ключевая нормальная форма

Отношение в ДКНФ не имеет аномалий модификации. Другими словами, что бы ни менялось — ничего не потеряется, если соблюдены все ограничения относительно ключей и доменов. Формулировка слишком общая, но суть ее заключается в том, что если выполнять некоторые правила, то при любых действиях с таблицей ее целостность не пострадает и вся необходимая информация сохранится. Если рассматривать на примере, то правила действуют примерно так: нельзя просто удалить категорию из таблицы категорий, если с этой категорией связаны, например, продукты из таблицы продуктов. Прежде чем удалять категорию, необходимо выполнить предварительные действия в таблице продуктов (например, поле, отвечающее за id категории этого товара, нужно сделать NULL).

Шестая нормальная форма (6NF)

Основная статья: Шестая нормальная форма

Введена К. Дейтом в его книге[2], как обобщение пятой нормальной формы для темпоральной базы данных.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: