Los axiomas de Armstrong son un conjunto de referencias (o, más precisamente, reglas de inferencia ) que se utilizan para inferir todas las dependencias funcionales de una base de datos relacional . Fueron desarrollados por William W. Armstrong en su artículo de 1974. [1] Los axiomas son sólidos al generar solo dependencias funcionales en el cierre de un conjunto de dependencias funcionales (denotadas como ) cuando se aplican a ese conjunto (denotado como ). También son completos en el sentido de que la aplicación repetida de estas reglas generará todas las dependencias funcionales en el cierre .
Más formalmente, denotemos un esquema relacional sobre el conjunto de atributos con un conjunto de dependencias funcionales . Decimos que una dependencia funcional está lógicamente implicada por y la denotamos con si y sólo si para cada instancia de eso satisface las dependencias funcionales en , también satisface . Denotamos por el conjunto de todas las dependencias funcionales que están lógicamente implicadas por .
Además, con respecto a un conjunto de reglas de inferencia , decimos que una dependencia funcional es derivable de las dependencias funcionales en mediante el conjunto de reglas de inferencia , y la denotamos por si y sólo si se puede obtener mediante la aplicación repetida de las reglas de inferencia. en dependencias funcionales en . Denotamos por el conjunto de todas las dependencias funcionales que son derivables mediante reglas de inferencia en .
Entonces, un conjunto de reglas de inferencia es válido si y sólo si se cumple lo siguiente:
es decir, no podemos derivar mediante dependencias funcionales que no estén lógicamente implicadas por . Se dice que el conjunto de reglas de inferencia es completo si se cumple lo siguiente:
En pocas palabras, podemos derivar todas las dependencias funcionales que están lógicamente implicadas en .
Sea un esquema de relaciones sobre el conjunto de atributos . De ahora en adelante denotaremos con letras , , cualquier subconjunto de y, para abreviar, la unión de dos conjuntos de atributos y por en lugar de lo habitual ; esta notación es bastante estándar en la teoría de bases de datos cuando se trata de conjuntos de atributos.
Si es un conjunto de atributos y es un subconjunto de , entonces se cumple . Por la presente, sostiene [ ] significa que determina funcionalmente .
Si se cumple y es un conjunto de atributos, entonces se cumple . Significa que el atributo en las dependencias no cambia las dependencias básicas.
Si se mantiene y se mantiene , entonces se mantiene .
Estas reglas se pueden derivar de los axiomas anteriores.
Si entonces y .
Si y entonces .
Si y entonces .
Si y entonces .
para cualquier . Esto se deriva directamente del axioma de la reflexividad.
La siguiente propiedad es un caso especial de aumento cuando .
La extensividad puede reemplazar al aumento como axioma en el sentido de que el aumento puede demostrarse a partir de la extensividad junto con los otros axiomas.
Dado un conjunto de dependencias funcionales , una relación de Armstrong es una relación que satisface todas las dependencias funcionales en el cierre y solo esas dependencias. Desafortunadamente, la relación de Armstrong de tamaño mínimo para un conjunto dado de dependencias puede tener un tamaño que es una función exponencial del número de atributos en las dependencias consideradas. [2]