miércoles, 29 de agosto de 2012

Tercera Forma Normal (3FN)

La Tercera Forma Normal (3FN), consiste en que ningún atributo dato. que depende de la PK, dependa de otro atributo dato. Es decir, no debe tener DEPENDENCIA TRANSITIVA. Hacemos la siguiente analogía.

Para que los Datos estén en 3FN, deben estar en 2FN y NO DEBEN tener Dependencia Transitiva DT.

X ---> Y --->Z

Ejemplo 1:


En este cuadro, tendríamos como Clave Primaria al C_Evento y los demás atributos dependen de la PK. Sin embargo, vemos que la Dirección del local T_Dirección depende del nombre del Local donde se realiza el evento. Para resolver este problema y tener un mejor almacenamiento de datos, la 3FN hace que creemos una 2da tabla haciendo PK al Nombre del local teniendo como atributo dato a la Dirección.




Ejemplo 2:


(N_Torneo) ---> (#_Año, N_Ganador, D_Nacimiento_Ganador).

Con la 3FN quedaría así:




(N_Ganador) ---> (D_Nacimiento_Ganador).

Ejemplo 3:


(C_Personal) ---> (N_Personal, D_Nacimiento, F_Mayor_Edad_Personal).



(D_Nacimiento_Personal) ---> (F_Mayor_Edad_Personal).

Ejemplo 4:



(#_Boleto) ---> (N_Cliente, N_Empresa, D_Dirección_Empresa, $_Precio).


(#_Boleto) ---> (N_Cliente, N_Empresa, $_Precio).


(N_Empresa) ---> (D_Dirección_Empresa).

Fallas en la 3FN

La falla que existe en la 3FN es que no se aplica por creer que los atributos dato se encuentran en la 4FN, la de multivalor.


Error: (C_Alumno) ---> (N_Alumno, N_Curso1, N_Curso2, N_Curso3).


(C_Alumno) ---> (N_Curso1, N_Curso2, N_Curso3).


(C_Alumno) ---> (N_Alumno).

7 comentarios:

  1. Ahora entendi mejor esta forma normal! Gracias! :3

    ResponderEliminar
  2. En el ejemplo 1 te falta guardar donde se hace el evento. Una nueva tabla con clave de evento como clave primaria y un dato q es una clave foránea al local donde se hace el evento (entendiendo que un evento se hace en un solo local).

    ResponderEliminar
  3. En el ejemplo_2 no debería el campo #_Año formar parte de la PK junto con N_Torneo??

    ResponderEliminar