Аксиомы Армстронга

Аксиомы Армстронга — это набор аксиом (или, точнее, правил вывода ), используемых для вывода всех функциональных зависимостей в реляционной базе данных . Они были разработаны Уильямом У. Армстронгом в его статье 1974 года. [1] Аксиомы являются обоснованными в создании только функциональных зависимостей в замыкании набора функциональных зависимостей (обозначаемого как ) при применении к этому набору (обозначаемому как ). Они также являются полными в том, что повторное применение этих правил будет генерировать все функциональные зависимости в замыкании . Ф + {\displaystyle F^{+}} Ф {\displaystyle F} Ф + {\displaystyle F^{+}}

Более формально, пусть обозначает реляционную схему над набором атрибутов с набором функциональных зависимостей . Мы говорим, что функциональная зависимость логически подразумевается , и обозначаем ее тогда и только тогда, когда для каждого экземпляра , который удовлетворяет функциональным зависимостям в , также удовлетворяет . Мы обозначаем набор всех функциональных зависимостей, которые логически подразумеваются . Р ( У ) , Ф {\ displaystyle \ langle R (U), F \ rangle} У {\displaystyle U} Ф {\displaystyle F} ф {\displaystyle f} Ф {\displaystyle F} Ф ф {\displaystyle F\модели f} г {\displaystyle r} Р {\displaystyle R} Ф {\displaystyle F} г {\displaystyle r} ф {\displaystyle f} Ф + {\displaystyle F^{+}} Ф {\displaystyle F}

Кроме того, относительно набора правил вывода мы говорим, что функциональная зависимость выводима из функциональных зависимостей в с помощью набора правил вывода , и мы обозначаем ее через тогда и только тогда, когда она получается посредством многократного применения правил вывода в к функциональным зависимостям в . Мы обозначаем через набор всех функциональных зависимостей, которые выводимы из с помощью правил вывода в . А {\displaystyle А} ф {\displaystyle f} Ф {\displaystyle F} А {\displaystyle А} Ф А ф {\displaystyle F\vdash _{A}f} ф {\displaystyle f} А {\displaystyle А} Ф {\displaystyle F} Ф А {\displaystyle F_{A}^{*}} Ф {\displaystyle F} А {\displaystyle А}

Тогда набор правил вывода является обоснованным тогда и только тогда, когда выполняется следующее: А {\displaystyle А}

Ф А Ф + {\displaystyle F_{A}^{*}\subseteq F^{+}}

то есть, мы не можем вывести посредством функциональных зависимостей, которые логически не подразумеваются из . Набор правил вывода считается полным, если выполняется следующее: А {\displaystyle А} Ф {\displaystyle F} А {\displaystyle А}

Ф + Ф А {\displaystyle F^{+}\subseteq F_{A}^{*}}

Проще говоря, мы можем вывести все функциональные зависимости, которые логически подразумеваются . A {\displaystyle A} F {\displaystyle F}

Аксиомы (основные правила)

Пусть будет схемой отношений над набором атрибутов . В дальнейшем мы будем обозначать буквами , , любое подмножество и, для краткости, объединение двух наборов атрибутов и вместо обычного ; эта нотация довольно стандартна в теории баз данных при работе с наборами атрибутов. R ( U ) {\displaystyle R(U)} U {\displaystyle U} X {\displaystyle X} Y {\displaystyle Y} Z {\displaystyle Z} U {\displaystyle U} X {\displaystyle X} Y {\displaystyle Y} X Y {\displaystyle XY} X Y {\displaystyle X\cup Y}

Аксиома рефлексивности

Если — набор атрибутов и — подмножество , то выполняется . При этом выполняется [ ] означает, что функционально определяет . X {\displaystyle X} Y {\displaystyle Y} X {\displaystyle X} X {\displaystyle X} Y {\displaystyle Y} X {\displaystyle X} Y {\displaystyle Y} X Y {\displaystyle X\to Y} X {\displaystyle X} Y {\displaystyle Y}

Если тогда . Y X {\displaystyle Y\subseteq X} X Y {\displaystyle X\to Y}

Аксиома приращения

Если удерживает и является набором атрибутов, то удерживает . Это означает, что атрибут в зависимостях не изменяет базовые зависимости. X {\displaystyle X} Y {\displaystyle Y} Z {\displaystyle Z} X Z {\displaystyle XZ} Y Z {\displaystyle YZ}

Если , то для любого . X Y {\displaystyle X\to Y} X Z Y Z {\displaystyle XZ\to YZ} Z {\displaystyle Z}

Аксиома транзитивности

Если держится и держится , то держится . X {\displaystyle X} Y {\displaystyle Y} Y {\displaystyle Y} Z {\displaystyle Z} X {\displaystyle X} Z {\displaystyle Z}

Если и , то . X Y {\displaystyle X\to Y} Y Z {\displaystyle Y\to Z} X Z {\displaystyle X\to Z}

Дополнительные правила (Вторичные правила)

Эти правила можно вывести из приведенных выше аксиом.

Разложение

Если то и . X Y Z {\displaystyle X\to YZ} X Y {\displaystyle X\to Y} X Z {\displaystyle X\to Z}

Доказательство

1. X Y Z {\displaystyle X\to YZ} (Данный)
2. Y Z Y {\displaystyle YZ\to Y} (Рефлексивность)
3. X Y {\displaystyle X\to Y} (Транзитивность 1 и 2)

Состав

Если и тогда . X Y {\displaystyle X\to Y} A B {\displaystyle A\to B} X A Y B {\displaystyle XA\to YB}

Доказательство

1. X Y {\displaystyle X\to Y} (Данный)
2. A B {\displaystyle A\to B} (Данный)
3. X A Y A {\displaystyle XA\to YA} (Увеличение 1 и А)
4. Y A Y B {\displaystyle YA\to YB} (Увеличение 2 и Y)
5. X A Y B {\displaystyle XA\to YB} (Транзитивность 3 и 4)

Союз

Если и тогда . X Y {\displaystyle X\to Y} X Z {\displaystyle X\to Z} X Y Z {\displaystyle X\to YZ}

Доказательство

1. X Y {\displaystyle X\to Y} (Данный)
2. X Z {\displaystyle X\to Z} (Данный)
3. X X Z {\displaystyle X\to XZ} (Увеличение 2 и X)
4. X Z Y Z {\displaystyle XZ\to YZ} (Увеличение 1 и Z)
5. X Y Z {\displaystyle X\to YZ} (Транзитивность 3 и 4)

Псевдотранзитивность

Если и тогда . X Y {\displaystyle X\to Y} Y Z W {\displaystyle YZ\to W} X Z W {\displaystyle XZ\to W}

Доказательство

1. X Y {\displaystyle X\to Y} (Данный)
2. Y Z W {\displaystyle YZ\to W} (Данный)
3. X Z Y Z {\displaystyle XZ\to YZ} (Увеличение 1 и Z)
4. X Z W {\displaystyle XZ\to W} (Транзитивность 3 и 2)

Самоопределение

I I {\displaystyle I\to I} для любого . Это следует непосредственно из аксиомы рефлексивности. I {\displaystyle I}

Экстенсивность

Следующее свойство является частным случаем аугментации, когда . Z = X {\displaystyle Z=X}

Если , то . X Y {\displaystyle X\to Y} X X Y {\displaystyle X\to XY}

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

Доказательство

1. X Z X {\displaystyle XZ\to X} (Рефлексивность)
2. X Y {\displaystyle X\to Y} (Данный)
3. X Z Y {\displaystyle XZ\to Y} (Транзитивность 1 и 2)
4. X Z X Y Z {\displaystyle XZ\to XYZ} (Коэффициент 3)
5. X Y Z Y Z {\displaystyle XYZ\to YZ} (Рефлексивность)
6. X Z Y Z {\displaystyle XZ\to YZ} (Транзитивность 4 и 5)

отношение Армстронга

При заданном наборе функциональных зависимостей отношение Армстронга — это отношение, которое удовлетворяет всем функциональным зависимостям в замыкании и только этим зависимостям. К сожалению, отношение Армстронга минимального размера для заданного набора зависимостей может иметь размер, который является экспоненциальной функцией числа атрибутов в рассматриваемых зависимостях. [2] F {\displaystyle F} F + {\displaystyle F^{+}}

Ссылки

  1. ^ Уильям Уорд Армстронг: Структуры зависимостей в связях баз данных , стр. 580-583. Конгресс IFIP, 1974.
  2. ^ Бири, К.; Дауд, М.; Фагин, Р.; Статман, Р. (1984). «О структуре отношений Армстронга для функциональных зависимостей» (PDF) . Журнал ACM . 31 : 30–46. CiteSeerX  10.1.1.68.9320 . doi :10.1145/2422.322414. Архивировано из оригинала (PDF) 2018-07-23.
  • UMBC CMSC 461 Весна '99
  • Конспект лекций CS345 из Стэнфордского университета
Retrieved from "https://en.wikipedia.org/w/index.php?title=Armstrong%27s_axioms&oldid=1250585593"