Элементарная ключевая нормальная форма

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

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

История

EKNF был определен Карло Дзаньоло в 1982 году. [1]

Определение

Таблица находится в EKNF тогда и только тогда, когда все ее элементарные функциональные зависимости начинаются с целых ключей или заканчиваются на атрибутах элементарных ключей. Для каждой полной нетривиальной функциональной зависимости вида X→Y либо X является ключом, либо Y является (частью) элементарного ключа. [1]

В этом определении элементарная функциональная зависимость — это полная функциональная зависимость (нетривиальная функциональная зависимость X → A, такая, что не существует функциональной зависимости X' → A, которая также имеет место, когда X' является строгим подмножеством X), а элементарный ключ — это ключ X, для которого существует атрибут A, такой что X → A является элементарной функциональной зависимостью.

Пример

Пример таблицы, наивысшей нормальной формой которой является EKNF, см. в разделе Нормальная форма Бойса–Кодда#Достижимость BCNF .

Примечания

  1. ^ ab Zaniolo, Carlo (сентябрь 1982 г.). "Новая нормальная форма для проектирования схем реляционных баз данных" (PDF) . ACM Transactions on Database Systems . 7 (3): 489– 499. doi :10.1145/319732.319749. S2CID  15790238.[ нужна страница ]

Ссылки

  • Хэлпин, ТА; Морган, Энтони Дж.; Морган, Тони. Информационное моделирование и реляционные базы данных .
  • Дейт, CJ "Элементарная ключевая нормальная форма (EKNF)". Проектирование баз данных и реляционная теория .
  • Селко, Джо. SQL для умников: продвинутое программирование SQL (3-е изд.).
Retrieved from "https://en.wikipedia.org/w/index.php?title=Elementary_key_normal_form&oldid=1215634163"