domingo, 4 de septiembre de 2011

Explique detalladamente que resuelve 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
Un atributo no-primario es un atributo que no pertenece a ninguna clave candidata. Una dependencia transitiva es una dependencia funcional XZ en la cual Z no es inmediatamente dependiente de X, pero sí de un tercer conjunto de atributos Y, que a su vez depende de X. Es decir, XZ por virtud de XY e YZ.

Primer Ejemplo

Cuando hablamos de la segunda forma normal y su error en la dependencias transitivas, dejamos un ejemplo sin terminar


Que por la dependencia transitiva y con ayuda de la tercera forma normal quedara de esta forma



                                          (C_Vendedor,N_Vendedor, $_SueldoBase,Q_Ventas)

                                                                (Q_Ventas,$_Comision)

Segundo Ejemplo

En este caso tenemos una tabla con informacion sobre ganadores de torneos

Donde Fech de nacimiento depende del Ganador y el ganador depende del torneo, haciendo uso de la 3FN quedaran dos tablas asi:


                                                      (C_Torneo, D_Año, N_Ganador)

                                                     (N_Ganador, D_Nacimiento Ganador)

Tercer Ejemplo

En esta tabla vemos como el nombre del alumno depende del codigo del alumno , y la nota depende del curso y del alumno, haciendo uso de la 3ra forma normal quedaria asi.

                                                              (C_Alumno, N_Alumno)

                                                          (C_Alumno, C_Curso, #_Nota)

Cuarto Ejemplo

El nombre del empleado con el distrito depende del codigo del empleado, y el codigo postal depende del distrito

                                                    (C_Empleado, N_Empleado, N_Distrito)

                                                              (N_Distrito, C_Codigo Postal)

No hay comentarios:

Publicar un comentario