Шестая нормальная форма - Википедия - Sixth normal form

Шестая нормальная форма (6NF) - это член в реляционная база данных теория, используемая двумя разными способами.

6NF (определение К. Дейта)

Кристофер Дж. Дат и другие определили шестую нормальную форму как нормальная форма, основанный на расширении реляционной алгебры.[1][2][3]

Операторы отношения, такие как присоединиться, обобщены для поддержки естественной обработки интервальных данных, таких как последовательности дат или моментов времени, например, в темпоральные базы данных.[4][2][3] Шестая нормальная форма затем основана на этом обобщенном соединении следующим образом:

А relvar R [таблица] находится в шестая нормальная форма (сокращенно 6NF) тогда и только тогда, когда он вообще не удовлетворяет нетривиальным зависимостям соединения - где, как и раньше, присоединиться к зависимости является тривиальным, если и только если хотя бы одна из задействованных проекций (возможно, U_projection) берется по набору всех атрибутов рассматриваемой relvar [table].[5]

Date et al. также дали следующее определение:

Relvar R находится в шестой нормальной форме (6NF) тогда и только тогда, когда каждый JD [Join Dependency] для R тривиален - где JD тривиален тогда и только тогда, когда один из его компонентов полностью равен соответствующему заголовку.[6]

Любое отношение в 6НФ также находится в 5NF.

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

Для дальнейшего обсуждения временной агрегации в SQL см. Также Zimanyi.[7] Для другого подхода см. TSQL2.[8]

DKNF

Некоторые авторы использовали термин шестая нормальная форма иначе: как синоним Домен / ключ нормальная форма (DKNF) Это использование предшествовало работе Дэйта и др. [9]

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

Шестая нормальная форма в настоящее время используется в некоторых хранилища данных где преимущества перевешивают недостатки,[10] например, используя Якорное моделирование. Хотя использование 6NF приводит к взрывному росту таблиц, современные базы данных могут отсекать таблицы от выбранных запросов (используя процесс, называемый «исключение таблиц»), где они не требуются, и, таким образом, ускоряют запросы, которые обращаются только к нескольким атрибутам.

Примеры

Чтобы таблица находилась в 6NF, она должна сначала соответствовать 5NF, а затем требовать, чтобы каждая таблица удовлетворяла только тривиальным зависимостям соединения. Давайте рассмотрим простой пример.[11] с таблицей уже в 5NF: Здесь, в таблице пользователей, каждый атрибут не равен нулю, а первичный ключ - это имя пользователя:

Users_table

Имя пользователяотделениеПоложение дел

Эта таблица находится в 5NF, потому что каждая зависимость соединения подразумевается уникальным ключом-кандидатом таблицы (Username). В частности, единственными возможными зависимостями присоединения являются: {имя пользователя, статус}, {имя пользователя, отдел}.

Версия 6NF будет выглядеть так:

Пользователи

Имя пользователяПоложение дел

Users_dept

Имя пользователяотделение

Итак, из одной таблицы в 5NF 6NF создает две таблицы.

Вот еще один пример:

ТАБЛИЦА 1

Имя медикаРод занятийТипПрактика в годах
Смит Джеймсортопедическийспециалист23
Миллер Майклортопедическийстажер4
Томас Линданеврологстажер5
Скотт Нэнсиортопедическийрезидент1
Аллен Брайанневрологспециалист12
Тернер Стивенофтальмологстажер3
Коллинз Кевинофтальмологспециалист7
Король дональдневрологрезидент1
Харрис Сараофтальмологрезидент2

Зависимости соединения в таблице: {имя врача, род занятий}, {имя врача, практика в годах} и {имя врача, тип}. Следовательно, мы могли видеть, что такая таблица является 2НФ (из-за появления транзитивной зависимости). Следующие таблицы пытаются довести его до 6NF:

ТАБЛИЦА 2.1

Имя медикаРод занятий
Смит Джеймсортопедический
Миллер Майклортопедический
Томас Линданевролог
Скотт Нэнсиортопедический
Аллен Брайанневролог
Тернер Стивенофтальмолог
Коллинз Кевинофтальмолог
Король дональдневролог
Харрис Сараофтальмолог

ТАБЛИЦА 2.2

Имя медикаПрактика в годах
Смит Джеймс23
Миллер Майкл4
Томас Линда5
Скотт Нэнси1
Аллен Брайан12
Тернер Стивен3
Коллинз Кевин7
Король дональд1
Харрис Сара2

ТАБЛИЦА 2.3

Имя медикаТип
Смит Джеймсспециалист
Миллер Майклстажер
Томас Линдастажер
Скотт Нэнсирезидент
Аллен Брайанспециалист
Тернер Стивенстажер
Коллинз Кевинспециалист
Король дональдрезидент
Харрис Сарарезидент

Рекомендации

  1. ^ Дата, Дарвен и Лоренцос, 2003 г..
  2. ^ а б Дата, Дарвен и Лоренцос 2014.
  3. ^ а б Харрингтон 2009 С. 125–126.
  4. ^ Дата, Дарвен и Лоренцос, 2003 г. С. 141–160.
  5. ^ Дата, Дарвен и Лоренцос, 2003 г., п. 176.
  6. ^ Дата, Дарвен и Лоренцос 2014, п. 213.
  7. ^ Зиманы 2006.
  8. ^ Snodgrass.
  9. ^ dbdebunk.
  10. ^ Видеть веб-сайт Anchor Modeling для веб-сайта, описывающего метод моделирования хранилища данных на основе шестой нормальной формы
  11. ^ Пример предоставлен: http://www.anattatechnologies.com/q/2011/07/normalization-6nf/

Библиография

  • Дата, Крис Дж.; Дарвен, Хью; Лоренцос, Никос А. (Январь 2003 г.). Временные данные и реляционная модель: подробное исследование применения теории интервалов и отношений к проблеме управления временными базами данных. Оксфорд: Elsevier LTD. ISBN  1-55860-855-9.CS1 maint: ref = harv (связь)
  • Дата, Крис Дж.; Дарвен, Хью; Лоренцос, Никос А. (12 августа 2014 г.). Время и реляционная теория - Темпоральные базы данных в реляционной модели и SQL. Эльзевье-Морган Кауфманн. ISBN  9780128006313.CS1 maint: ref = harv (связь)
  • Снодграсс, Ричард Т. "Язык временных запросов TSQL2".CS1 maint: ref = harv (связь)
  • Зимани, Э. (июнь 2006 г.). «Временные агрегаты и временная универсальная количественная оценка в стандартном SQL» (PDF). ACM SIGMOD Record, том 35, номер 2, страница 16. ACM.CS1 maint: ref = harv (связь)
  • Дата, Крис Дж. "ПО НОРМАЛЬНОЙ ФОРМЕ ДК / НФ". Архивировано из оригинал 6 апреля 2012 г.
  • Харрингтон, Ян Л. (2009). Проектирование и реализация реляционной базы данных: четкое объяснение. Эльзевье-Морган Кауфманн. ISBN  9780123747303.CS1 maint: ref = harv (связь)

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