Formas Normales
Las formas normales son una jerarquía de condiciones sobre esquemas relacionales —definidas en términos de dependencias funcionales y multivaluadas— cada una de las cuales descarta una clase particular de redundancia y las anomalías que esta causa.
Definition
Una forma normal es una propiedad de un esquema de relación, establecida en términos de sus dependencias funcionales o multivaluadas, cuya satisfacción garantiza la ausencia de un tipo específico de redundancia y las anomalías asociadas de actualización, inserción y eliminación.
Scope
Este tema cubre las formas normales y la redundancia que cada una elimina: primera forma normal (valores de atributos atómicos), segunda y tercera forma normal (eliminación de dependencias parciales y transitivas en claves candidatas), forma normal de Boyce-Codd (cada dependencia funcional no trivial tiene una superclave a su izquierda) y cuarta forma normal (eliminación de dependencias multivaluadas no triviales). Explica cómo probar la pertenencia a cada forma utilizando dependencias. Excluye la mecánica de descomponer un esquema para alcanzar una forma normal, tratado bajo refinamiento de esquemas.
Core questions
- ¿Qué condición impone cada forma normal y qué redundancia elimina?
- ¿Cómo se relacionan las dependencias parciales y transitivas con la segunda y tercera forma normal?
- ¿Cuándo un esquema está en forma normal de Boyce-Codd pero no en formas inferiores, o viceversa?
- ¿Cómo motivan las dependencias multivaluadas la cuarta forma normal?
- ¿Cómo se prueba la pertenencia de una relación a una forma normal dada?
Key concepts
- primera forma normal (atomicidad)
- segunda forma normal (sin dependencias parciales)
- tercera forma normal (sin dependencias transitivas)
- forma normal de Boyce-Codd
- atributos primos y no primos
- dependencias multivaluadas
- cuarta forma normal
- eliminación de anomalías
Key theories
- Primera a tercera forma normal
- 1NF requiere valores de atributos atómicos; 2NF elimina las dependencias de atributos no primos en parte de una clave candidata; 3NF elimina adicionalmente las dependencias transitivas, de modo que los atributos no primos dependen solo de las claves candidatas.
- Forma normal de Boyce-Codd
- Un esquema está en BCNF si para cada dependencia funcional no trivial X → Y, X es una superclave; BCNF elimina toda la redundancia debido a las dependencias funcionales, pero una descomposición BCNF puede no preservar todas las dependencias.
- Cuarta forma normal y dependencias multivaluadas
- La cuarta forma normal de Fagin generaliza BCNF a dependencias multivaluadas, requiriendo que cada dependencia multivaluada no trivial tenga una superclave a su izquierda, eliminando la redundancia que las dependencias funcionales no pueden describir.
Clinical relevance
Las formas normales proporcionan a los diseñadores de bases de datos una lista de verificación concreta para producir esquemas libres de anomalías impulsadas por la redundancia; en la práctica, la mayoría de las bases de datos operacionales apuntan a la tercera forma normal o BCNF, mientras que los diseñadores relajan conscientemente estas formas para el rendimiento en cargas de trabajo analíticas y de informes.
History
Codd definió 1NF, 2NF y 3NF a principios de la década de 1970; la BCNF, más fuerte, fue desarrollada por Boyce y Codd poco después. Ronald Fagin introdujo 4NF (1977) para dependencias multivaluadas y más tarde 5NF para dependencias de unión, completando la jerarquía clásica utilizada en la enseñanza y la práctica.
Key figures
- Edgar F. Codd
- Raymond F. Boyce
- Ronald Fagin
Related topics
Seminal works
- codd1972
- fagin1977
- silberschatz2019
Frequently asked questions
- ¿Qué forma normal debería buscar?
- La mayoría de los diseños transaccionales apuntan a la tercera forma normal o a la forma normal de Boyce-Codd, que eliminan la redundancia causada por las dependencias funcionales. La cuarta y quinta formas normales abordan dependencias multivaluadas y de unión más raras. Una forma superior no siempre es mejor en la práctica: los diseñadores a veces se detienen en 3NF o desnormalizan para el rendimiento de lectura.
- ¿Puede un esquema estar en una forma normal superior pero no en una inferior?
- Las formas clásicas de 1NF a BCNF están anidadas, por lo que estar en BCNF implica estar en 3NF, 2NF y 1NF. Sin embargo, un esquema puede satisfacer 3NF y no BCNF, que es el caso habitual en el que los diseñadores deben elegir entre BCNF y preservar todas las dependencias funcionales.