Введение

Шестая нормальная форма (6NF) — это нормальная форма, используемая в нормализации реляционных баз данных, расширяющая реляционную алгебру и обобщающая реляционные операторы (такие как соединение) для поддержки интервальных данных, что может быть полезно во временных базах данных. Исторически термин 6NF также применялся для обозначения другой степени нормализации, которая сегодня чаще известна как нормальная форма ключа домена (DKNF) (см. «Другие значения»).

Определение

Кристофер Дж. Дата и другие определили шестую нормальную форму как нормальную форму, основанную на расширении реляционной алгебры. Реляционные операторы, такие как соединение (join), обобщаются для поддержки естественной обработки интервальных данных, таких как последовательности дат или моментов времени, например, во временных базах данных. Шестая нормальная форма основывается на этом обобщенном соединении следующим образом: relvar R [таблица] находится в шестой нормальной форме (сокращенно 6NF) тогда и только тогда, когда она не удовлетворяет никаким нетривиальным зависимостям соединения, где, как и ранее, зависимость соединения считается тривиальной, если и только если хотя бы одна из проекций (возможно, U-проекций) выполняется над множеством всех атрибутов рассматриваемой relvar [таблицы]. Дата и др. также дали следующее определение: relvar R находится в шестой нормальной форме (6NF) тогда и только тогда, когда каждая зависимость соединения (JD) для R является тривиальной, где JD считается тривиальной, если и только если один из ее компонентов равен соответствующему заголовку в целом. Любое отношение в 6NF также находится в 5NF. Шестая нормальная форма предназначена для разложения переменных отношений на необратимые компоненты. Хотя это может быть относительно неважно для невременных переменных отношений, это может быть важно при работе с временными переменными или другими интервальными данными. Например, если отношение включает имя поставщика, статус и город, мы также можем добавить временные данные, такие как период, в течение которого эти значения были действительны (например, для исторических данных), но эти три значения могут изменяться независимо друг от друга и с разной скоростью. Например, мы можем отслеживать историю изменений статуса; анализ производственных затрат может показать, что изменение было вызвано сменой города поставщиком и, следовательно, изменением стоимости доставки. Для дальнейшего обсуждения временной агрегации в SQL см. также работы Зиманьи. Для альтернативного подхода см. TSQL2.

Использование

Шестая нормальная форма, по состоянию на 2009 год, в настоящее время используется в некоторых хранилищах данных, где преимущества перевешивают недостатки, например, при использовании моделирования якоря. Хотя применение 6НФ приводит к значительному увеличению числа таблиц, современные базы данных могут исключать таблицы из запросов (с помощью процесса, называемого "исключение таблиц"), так что запрос может быть выполнен без обращения к некоторым таблицам, на которые он ссылается, если они не требуются. Это позволяет ускорить запросы, которые обращаются лишь к нескольким атрибутам.

Другие значения

Шестая нормальная форма (6НФ) иногда используется как синоним для доменной ключевой нормальной формы (DKNF). Такое употребление возникло до работ Date и др.