Условия пятой нормальной формы (5нф)

Таблица находится в пятой нормальной форме, если:

- выполняются условия 4НФ;

- должны отсутствовать сложные зависимые соединения между атрибутами.

В третьей нормальной форме были рассмотрены бинарные и тренарные зависимости между атрибутами. Были выделены в отдельные отношения (таблицы) многозначные и многостепенные зависимости. При выполнении условий 4НФ были устранены многопорядковые зависимости. В ЗНФ и 4НФ работа выполнялась над доменами, которые выводились в новые отношения (таблицы). В 5НФ работа будет выполняться над соединениями доменов.

Если «Атрибут зависит от «Атрибута_2», а «Атрибут_2» в свою очередь зависит от «Атрибута_3», а «Атрибут_3» зависит от «Атрибута_1», то все три атрибута обязательно входят в один кортеж.

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

Например, некоторая таблица содержит три атрибута «Поставщик», «Товар» и «Покупатель». Покупатель 1 приобретает несколько Товаров у Поставщика 1. Покупатель 1 приобрел новый Товар у Поставщика 2. Тогда в силу изложенного выше требования I Поставщик 1 обязан поставлять Покупателю 1 тот же самый новый Товар, а Поставщик 2 должен поставлять Покупателю 1, кроме нового Товара, всю номенклатуру Товаров Поставщика 1. Этого на практике не бывает. Покупатель свободен в своем выборе товаров. Поэтому для устранения отмеченного затруднения все три атрибута разносят по разным отношениям (таблицам). После выделения трех новых отношений (Поставщик, Товар и Покупатель) необходимо помнить, что при извлечении информации (например, О покупателях и товарах) необходимо в запросе соединить все три отношения. Любая комбинация соединения двух отношений из трех неминуемо приведет к извлечению неверной (некорректной) информации. Некоторые СУБД снабжены специальными механизмами, устраняющими извлечение недостоверной информации. Тем не менее, следует придерживаться общей рекомендации: структуру базы данных строить таким образом, чтобы избежать применения 4НФ и 5НФ.

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

Пятая нормальная форма ориентирована на работу с зависимыми соединениями. Указанные зависимые соединения между тремя атрибутами встречаются очень редко. Зависимые соединения между четырьмя, пятью и более атрибутами указать практически невозможно.

Первая нормальная форма (1NF) – базовая нормальная форма отношения в реляционной модели данных

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

В реляционной модели отношение всегда находится в первой нормальной форме по определению понятия «отношение».

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

- нет упорядочивания строк сверху-вниз (другими словами, порядок строк не несет в себе никакой информации);

- нет упорядочивания столбцов слева-направо (другими словами, порядок столбцов не несет в себе никакой информации);

- нет повторяющихся строк;

- каждое пересечение строки и столбца содержит ровно одно значение из соответствующего домена (и больше ничего);

- все столбцы являются обычными.

«Обычность» всех столбцов таблицы означает, что в таблице нет «скрытых» компонентов, которые могут быть доступны только в вызове некоторого специального оператора взамен ссылок на имена регулярных столбцов, или которые приводят к побочным эффектам для строк или таблиц при вызове стандартных операторов. Таким образом, например, строки не имеют идентификаторов кроме обычных значений потенциальных ключей (без скрытых «идентификаторов строк» или «идентификаторов объектов»). Они также не имеют скрытых временных меток.

Пример

Исходная не нормализованная (то есть не являющаяся правильным представлением некоторого отношения) таблица:

ФИО Данные
Иванов Иван Иванович ПП-119 АСУ Муж. 19.01.1990
Петров Петр Петрович Э-119 Электронщики Муж. 1991
Васильева Катерина Ильинична Прикладная Информатика 1990 Жен ПК-129

Таблица, приведеннаяк 1NF (являющаяся правильным представлением некоторого отношения):



Фамилия Имя Отчество Пол Дата рождения Группа Специальность
Иванов Иван Иванович Муж. 19.01.1990 ПП-119 АСУ
Петров Петр Петрович Муж. 20.03.1991 Э-119 Электронщики
Васильева Катерина Ильинична Жен. 17.04.1990 ПК-129 Прикладная Информатика

Наши рекомендации