Nombre: César Augusto Berríos Mesía | Curso: Base de Datos | Ciclo: 2011-2 | Profesor: Luis Enrique Serna Jherry La normalización en las Bases de Datos: 2FN
Mostrando entradas con la etiqueta 2FN. Mostrar todas las entradas
Mostrando entradas con la etiqueta 2FN. Mostrar todas las entradas

martes, 6 de septiembre de 2011

Normalización desde la 1FN hasta la 4FN

Aquí les dejo un ejemplo sobre el uso de las 4 formas normales. Este ejemplo es sobre los datos de una universidad. Luego de obtener diversos datos, se logró armar una tabla con atributos que permite que guarden una relación entre datos.

Tabla con los datos atomizados (1FN):


(C_Alumno)--->(N_Alumno,C_Curso,N_Curso,Q_Creditos_Curso,
    C_Seccion,C_Profesor,N_Profesor)

Tablas en segunda forma normal (2FN), por cada tabla hay una única clave primaria y los demás son atributos no claves que dependen funcionalmente de la PK.


(C_Alumno)--->(N_Alumno)


(C_Curso)--->(N_Curso,Q_Creditos_Curso)


(C_Seccion)--->(C_Profesor,N_Profesor)

Tablas en la tercera forma normal (3FN), se forman las dependencias transitivas para lograr unir las tablar y permitir construir una estructura eficiente.


(C_Alumno)--->(N_Alumno,C_Curso,C_Seccion)


(C_Curso)--->(N_Curso,Q_Creditos_Curso)


(C_Seccion)--->(C_Profesor,N_Profesor)

Las tablas en la cuarta forma normal (4FN), no contienen dependencias multivaloradas.


(C_Alumno)--->(C_Curso,C_Seccion)


(C_Alumno)--->(N_Alumno)


(C_Curso)--->(N_Curso,Q_Creditos_Curso)


(C_Seccion)--->(C_Profesor)


(C_Profesor)--->(N_Profesor)

domingo, 4 de septiembre de 2011

Explicación de la Segunda Forma Normal (2FN)

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.