2. NORMALIZACIÓN
La normalización es el proceso de organizar los datos en una base de
datos. Esto incluye la creación de tablas y que establece relaciones entre
aquellas tablas según reglas diseñadas para proteger los datos y hacer la
base de datos que es más flexible al eliminar redundancia y dependencia
incoherente.
Los datos redundantes desperdician espacio en disco y crean problemas
de mantenimiento. Si es necesario cambiar datos que aparecen en más
de un sitio, el cambio deberá ser exactamente igual en todos estos
sitios. Por ejemplo, un cambio de dirección de un cliente es mucho más
fácil de implementar si los datos sólo se almacenan en la tabla Clientes
y en ningún otro lugar de la base de datos.
3. TERCERA FORMA NORMAL
Los valores de un registro que no sean parte de la clave de
ese registro no pertenecen a la tabla. En general, siempre que
el contenido de un grupo de campos pueda aplicarse a más
de un único registro de la tabla, considere colocar estos
campos en una tabla independiente.
4. EXCEPCIÓN
No es práctico siempre cumplir la forma tercera normal teóricamente conveniente. Si
tiene una tabla Clientes y desea eliminar todas las posibles dependencias entre
campos, debe crear tablas independientes para ciudades, códigos
postales, representantes de ventas, clases de clientes y cualquier otro factor que pueda
aparecer duplicado en varios registros.
La utilización de un gran número de tablas pequeñas puede perjudicar el rendimiento
o superar la capacidad de memoria y de archivos abiertos del sistema.
Puede ser más factible aplicar la tercera forma normal sólo a los datos que cambian con
frecuencia. Si quedan algunos campos dependientes, diseñe la aplicación para que pida al
usuario que compruebe todos los campos relacionados cuando cambie alguno.
5. EJEMPLO
Primera forma normal: Ningún grupo repetido
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.
6. SEGUNDA FORMA NORMAL: ELIMINAR
LOS DATOS REDUNDANTES
Vean 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.
7. TERCERA FORMA NORMAL: ELIMINAR
LOS DATOS NO DEPENDIENTES DE LA
CLAVE
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
8. EJERCICIO
Un ejemplo de una tabla 2NF que falla en satisfacer los requerimientos de la 3NF es:
El hecho de que la Fecha de nacimiento del ganadores funcionalmente
dependiente en el Ganador hace la tabla vulnerable a inconsistencias lógicas,
pues no hay nada que impida a la misma persona ser mostrada con diferentes
fechas de nacimiento en diversos registros.