Tercera forma normal

Post date: Dec 3, 2010 12:55:50 PM

A la hora de definir una base de datos se considera una buena práctica el normalizar las tablas. Hay muchas formas normales que han sido definidas en el tiempo. E. F. Codd definió cuatro de ellas en 1971, y a ellas se han agregado algunas otras, pero la más practicada es la tercera forma normal, dado que evita la mayoría de las inconsistencias en los datos debido a información que se duplica por estar mal ubicada en las tablas.

Veamos un ejemplo clásico con una tabla de resultados deportivos:

La tercera forma normal se puede enunciar así:

  • Todo atributo que no forme parte de la clave debe depender de la clave completa (segunda forma normal)

  • Todo atributo que no forme parte de la clave debe depender únicamente de la clave.

En esta tabla ningún campo por sí solo sirve de clave. Un buen candidato para clave es la combinación (Copa, Año) y con ello cumplimos con la primera de las condiciones: El mejor jugador de la copa Ávila del 2005 es Luis Damas y el año de nacimiento del mejor jugador de la copa Ávila del 2005 es 1985.

Sin embargo, la segunda condición no se cumple, dado que hay una dependencia entre la fecha de nacimiento y el mejor jugador; en otras palabras la relación entre la fecha de nacimiento y la clave es la composición de la relación entre la fecha de nacimiento y el jugador con la relación entre el jugador y la clave. Esta dependencia puede representar un problema, por ejemplo al actualizar (por ejemplo, para corregir un error) la fecha de nacimiento de un jugador, dado que esa información se encuentra repetida en diferentes filas de la tabla.

Se puede revisar este modelo para ajustarlo a la tercera forma normal, ubicando los datos que dependen del jugador en una tabla separada:

Ahora el problema de actualización de la fecha de nacimiento desaparece, dado que esta se almacena en un sólo lugar.

Enlaces relacionados

Cursos relacionados