TEORIA DE NORMALIZACION 4
La cuarta forma normal, también llamada Forma normal de Boyce Codd (BCNF, Boyce Codd Normal Form), y la quinta forma normal existen, pero rara vez se consideran en un diseño real. Si no se aplican estas reglas, el diseño de la base de datos puede ser menos perfecto, pero no debería afectar a la funcionalidad.Normalizar una tabla de ejemplo
Estos pasos demuestran el proceso de normalización de una tabla de alumnos ficticia. - Tabla sin normalizar:
Contraer esta tablaNº alumno Tutor Despacho-Tut Clase1 Clase2 Clase3 1022 García 412 101-07 143-01 159-02 4123 Díaz 216 201-01 211-02 214-01 - Primera forma normal: no hay grupos repetidos
Las tablas sólo deben tener dos dimensiones. Puesto que un alumno tiene varias clases, estas clases deben aparecer en una tabla independiente. Los campos Clase1, Clase2 y Clase3 de los registros anteriores son indicativos de un problema de diseño.
Las hojas de cálculo suelen usar la tercera dimensión, pero las tablas no deberían hacerlo. Otra forma de considerar ese problema es con una relación de uno a varios y poner el lado de uno y el lado de varios en tablas distintas. En su lugar, cree otra tabla en la primera forma normal eliminando el grupo repetido (Nº clase), según se muestra a continuación:
Contraer esta tablaNº alumno Tutor Despacho-Tut Nº clase 1022 García 412 101-07 1022 García 412 143-01 1022 García 412 159-02 4123 Díaz 216 201-01 4123 Díaz 216 211-02 4123 Díaz 216 214-01 - Segunda forma normal: eliminar los datos redundantes
Observe los diversos valores de Nº clase para cada valor de Nº alumno en la tabla anterior. Nº clase no depende funcionalmente de Nº alumno (la clave principal), de modo que la relación no cumple la segunda forma normal.
Las dos tablas siguientes demuestran la segunda forma normal:
Alumnos:
Contraer esta tablaNº alumno Tutor Despacho-Tut 1022 García 412 4123 Díaz 216
Registro:
Contraer esta tablaNº alumno Nº clase 1022 101-07 1022 143-01 1022 159-02 4123 201-01 4123 211-02 4123 214-01 - Tercera forma normal: eliminar los datos no dependientes de la clave
En el último ejemplo, Despacho-Tut (el número de despacho del tutor) es funcionalmente dependiente del atributo Tutor. La solución es pasar ese atributo de la tabla Alumnos a la tabla Personal, según se muestra a continuación:
Alumnos:
Contraer esta tablaNº alumno Tutor 1022 García 4123 Díaz
Personal:
Contraer esta tablaNombre Habitación Dept García 412 42 Díaz 216 42