domingo, 29 de abril de 2012

La Tercera Forma Normal (3FN)



La tercera forma normal (3NF) es una forma normal usada en la normalización de bases de datos. La 3NF fue definida originalmente por E.F. Codd en 1971. La definición de Codd indica que una tabla está en 3NF si y solo si las dos condiciones siguientes se mantienen:

  • La tabla está en la segunda forma normal (2NF)
  • Ningún atributo no-primario de la tabla es dependiente transitivamente de una clave primaria

Cada atributo debe representar un hecho acerca de la clave, la clave entera, y nada excepto la clave. La versión 3NF de la definición es más débil que la variación de BCNF de Date, pues el anterior se refiere solamente a asegurarse de que los atributos no-clave son dependientes en las claves. Los atributos primarios (que son claves o partes de claves) no deben ser funcionalmente dependientes en absoluto; cada uno de ellos representa un hecho sobre la clave en el sentido de proporcionar parte o toda la clave en sí misma. Debe ser observado que esta regla se aplica solamente a los atributos funcionalmente dependientes, Ya que aplicándola a todos los atributos prohibiría implícitamente claves de candidato compuestas, puesto que cada parte de cualquiera de tales claves violaría la cláusula de "clave completa".

Ejemplo: Tabla en 2FN > 3FN

                                              Ganadores del torneo

Torneo
Año
Ganador
Fecha de nacimiento del ganador
Indiana Invitational
1998
Al Fredrickson
21 de julio de 1975
Cleveland Open
1999
Bob Albertson
28 de septiembre de 1968
Des Moines Masters
1999
Al Fredrickson
21 de julio de 1975
Indiana Invitational
1999
Chip Masterson
14 de marzo de 1979

Tabla en 3FN:

Ganadores del torneo

Torneo
Año
Ganador
Indiana Invitational
1998
Al Fredrickson
Cleveland Open
1999
Bob Albertson
Des Moines Masters
1999
Al Fredrickson
Indiana Invitational
1999
Chip Masterso


Fecha de nacimiento del jugador

Jugador
Fecha de nacimiento
Chip Masterson
14 de marzo de 1977
Al Fredrickson
21 de julio de 1975
Bob Albertson
28 de septiembre de 1968

Ejemplo:





Fallas en Tercera forma Normal (3FN) 

Incluso las afinidades en tercera forma normal pueden tener anomalías.  Considere la siguiente afinidad ASESOR. Suponga que los requerimientos que sustentan esta afinidad son que un estudiante (SID), pueda tener una ó más especialidades, una especialidad puede tener varios miembros de la facultad (nombreF) como consejeros, y un miembro de la facultad (nombreF), sólo imparte asesoría en una área de especialidad.





Puesto que los estudiantes pueden tener varias especialidades, SID, no determina la especialidad.  Como los estudiantes pueden tener varios asesores, SID tampoco determina nombre F.  SID por si mismo no puede ser una clave.
La combinación (SID, especialidad) determina nombre F y la combinación (SID, nombre F), determina especialidad.  Cualquiera de las combinaciones puede ser una clave.  Dos ó mas atributos o conjuntos de atributos que puedan ser una clave, se denominan claves candidatas.  Cualquiera de las candidatas que se seleccione para ser la clave se denomina clave primaria.

ASESOR está en primera forma normal.  También está en segunda forma normal, pues cualquier atributo que no es clave depende de toda la clave (sin importar cual clave candidata se seleccione).  También está en tercera forma normal porque no tiene dependencias transitivas.  A pesar de todo esto tiene anomalías por modificación.

Suponga que estudiante 300 deja la escuela, si quita la tupla de estudiante 300 se perderá el hecho de que Perls imparte asesoría en psicología.  Ésta es una anomalía de eliminación.  En forma similar ¿Cómo se almacena el hecho de que  Keynes asesor en economía? No es posible, hasta que un estudiante se inscribe en tal materia.  Esta es una anomalía de inserción.

Situaciones como la anterior conducen a la definición de la forma normal de Boyce-Codd (BCNF):  Una afinidad está en BCNF si cada determinante es una clave candidata.  ASESOR no está en BCNF puesto que tiene un determinante, nombre F, que no es una clave candidata.

ASESOR puede descomponerse en dos afinidades que no tengan anomalías.



3 comentarios: