Аксиомы Армстронга — это набор аксиом (или, точнее, правил вывода ), используемых для вывода всех функциональных зависимостей в реляционной базе данных . Они были разработаны Уильямом У. Армстронгом в его статье 1974 года. [1] Аксиомы являются обоснованными в создании только функциональных зависимостей в замыкании набора функциональных зависимостей (обозначаемого как ) при применении к этому набору (обозначаемому как ). Они также являются полными в том, что повторное применение этих правил будет генерировать все функциональные зависимости в замыкании .
Более формально, пусть обозначает реляционную схему над набором атрибутов с набором функциональных зависимостей . Мы говорим, что функциональная зависимость логически подразумевается , и обозначаем ее тогда и только тогда, когда для каждого экземпляра , который удовлетворяет функциональным зависимостям в , также удовлетворяет . Мы обозначаем набор всех функциональных зависимостей, которые логически подразумеваются .
Кроме того, относительно набора правил вывода мы говорим, что функциональная зависимость выводима из функциональных зависимостей в с помощью набора правил вывода , и мы обозначаем ее через тогда и только тогда, когда она получается посредством многократного применения правил вывода в к функциональным зависимостям в . Мы обозначаем через набор всех функциональных зависимостей, которые выводимы из с помощью правил вывода в .
Тогда набор правил вывода является обоснованным тогда и только тогда, когда выполняется следующее:
то есть, мы не можем вывести посредством функциональных зависимостей, которые логически не подразумеваются из . Набор правил вывода считается полным, если выполняется следующее:
Проще говоря, мы можем вывести все функциональные зависимости, которые логически подразумеваются .
Пусть будет схемой отношений над набором атрибутов . В дальнейшем мы будем обозначать буквами , , любое подмножество и, для краткости, объединение двух наборов атрибутов и вместо обычного ; эта нотация довольно стандартна в теории баз данных при работе с наборами атрибутов.
Если — набор атрибутов и — подмножество , то выполняется . При этом выполняется [ ] означает, что функционально определяет .
Если удерживает и является набором атрибутов, то удерживает . Это означает, что атрибут в зависимостях не изменяет базовые зависимости.
Если держится и держится , то держится .
Эти правила можно вывести из приведенных выше аксиом.
Если то и .
Если и тогда .
Если и тогда .
Если и тогда .
для любого . Это следует непосредственно из аксиомы рефлексивности.
Следующее свойство является частным случаем аугментации, когда .
Экстенсивность может заменить аугментацию как аксиома в том смысле, что аугментация может быть доказана из экстенсивности вместе с другими аксиомами.
При заданном наборе функциональных зависимостей отношение Армстронга — это отношение, которое удовлетворяет всем функциональным зависимостям в замыкании и только этим зависимостям. К сожалению, отношение Армстронга минимального размера для заданного набора зависимостей может иметь размер, который является экспоненциальной функцией числа атрибутов в рассматриваемых зависимостях. [2]