La segunda forma normal se identifica cuando cada atributo no clave de la relación depende funcionalmente de una clave primaria (Dependencia Funcional Completa).
Es como atribuirle una función en base a la clave primaria, donde las claves primarias son las variables y los atributos son el resultado de la función.
Ejemplos:
1-
En este cuadro se pueden apreciar 3 atributos que han sido identificados gracias a la 1FN. Luego, podemos identificar la clave primaria, siendo ésta el Código del Alumno (C_Alumno) y los otros 2 atributos, son los dependientes de esta clave.
Esto generaría la siguiente función:
(C_Alumno)--->(N_Alumno,#_Promedio_Ponderado)
2-
En este caso, la clave primaria resultaría ser el Numero de DNI (#_DNI), la cual tendría 5 atributos dependientes.
(#_DNI)---> (N_Primer_Nombre,N_Segundo_Nombre,N_Primer_Apellido,
N_Segundo_Apellido,D_Nacimiento)
3-
Habrían 3 atributos dependientes de la clave primaria que en este caso sería el Código del Empleado (C_Empleado).
(C_Empleado)--->(N_Empleado,T_Area_Trabajo)
4-
Finalmente en este caso bien simple, la clave primaria sería el Código del Alumno, la cual tendría un único atributo dependiente.
(C_Alumno)--->(N_Carrera)
Fallas que presenta la 2FN
Aquí podrá identificar una falla y saber como arreglarla:
En este caso se puede apreciar un error debido a que el atributo $_Sueldo no depende del Código del Empleado, que resulta ser la clave primaria; sino depende de el Área de Trabajo. Entonces lo que resultaba de esta manera:
(C_Empleado)--->(N_Empleado,T_Area_Trabajo,$_Sueldo)
Deberia de ser así:
(C_Empleado)--->(N_Empleado,T_Area_Trabajo)
(T_Area_Trabajo)--->($_Sueldo)
Se crea una nueva relación para almacenar el dato restante.





Gracias
ResponderEliminarKhe
ResponderEliminar