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: Dependencias
Mostrando entradas con la etiqueta Dependencias. Mostrar todas las entradas
Mostrando entradas con la etiqueta Dependencias. 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)

lunes, 5 de septiembre de 2011

Explicación de la Cuarta Forma Normal (4FN)

La cuarta forma normal (4FN) busca que las dependencias de multivalor se almacenen de manera eficiente y ordenada en la Base de Datos.

Una tabla está en 4NF si y solo si esta en Tercera forma normal y no posee dependencias multivaluadas no triviales. La definición de la 4NF confía en la noción de una dependencia multivaluada. Una tabla con una dependencia multivaluada es una donde la existencia de dos o más relaciones independientes muchos a muchos causa redundancia; y es esta redundancia la que es suprimida por la cuarta forma normal.

Ejemplos:

1-


(C_Alumno)--->(N_Alumno, N_Curso)

La tabla anterior muestra a la clave primaria y a sus dos atributos, de los cuales el Alumno tiene lleva más de un curso por lo que con la tabla no se estaría optimizando el proceso. 

La separación de las tablas y el uso de la dependencia multivalor, considerando que la cantidad de cursos que se puede llegar a tener es de 3:


(C_Alumno)--->(N_Alumno)


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

2-



(C_Usuario)--->(N_Usuario,N_Libro)

En este caso, la tabla nos indica que se trata de una base de datos de una biblioteca la cual tiene 3 atributos: Código de Usuario, Nombre de Usuario y Nombre del Libro. Sin embargo, la dependencia multivalor permite que se pueda sacar una gran cantidad de libros y optimizar el proceso de préstamo de libros.


(C_Usuario)--->(N_Usuario)


(C_Usuario)--->(N_Libro)

3-


(#_Boleta)--->(N_Cliente,#_Bolilla1,#_Bolilla2,#_Bolilla3,
       #_Bolilla4,#_Bolilla5,#_Bolilla6)


Esta tabla es sobre la Tinka y las jugadas que se realizan. Se pueden realizar varias jugadas en una sola boleta, por lo que la clave primaria resultaría ser el número de la boleta, y los demás atributos de ésta. Sin embargo, la dependencia que se indica arriba no está completamente normalizada, esto se debe a que el cliente



 (#_Boleta)--->(N_Cliente)


(#-Boleta)--->(#_Bolilla1,#_Bolilla2,#_Bolilla3,
                     #_Bolilla4,#_Bolilla5,#_Bolilla6)

4-


(C_Jefe)--->(N_Jefe,N_Empleado)

En la tabla se muestra una tabla que almacena los datos que una empresa requiere para poder saber a que jefe se le relaciona con su empleado. Máximo un jefe puede tener 3 empleados.

Por eso se debe aplicar la 4FN para que el multivalor de un máximo de 3 empleados se muestre y permita transformar una tabla con redundancia, en dos tablas donde en una se muestre la relación del código del jefe con su nombre y otra en donde se aprecie la información de el código del jefe y sus empleados.


(C_Jefe)--->(N_Jefe)


(C_Jefe)--->(N_Empleado1,N_Empleado2,N_Empleado3)

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.

Diferencia entre datos Normalizados en 1FN y el universo de datos no normalizado


La normalización es el proceso de organizar los datos de una base de datos. Se incluye la creación de tablas y el establecimiento de relaciones entre ellas según reglas diseñadas tanto para proteger los datos como para hacer que la base de datos sea más flexible al eliminar la redundancia y las dependencias incoherentes. 

La primera forma normal (1FN) consiste en que todos los atributos que permiten guardan relaciones estén atomizados (no repetitivos).

La diferencia entre los datos no normalizados y la 1FN es que los datos no normalizados, se encuentran libres y sin relación alguna; mientras que los datos  formalizados por la 1FN ya están atomizados, es decir relacionados y no repetitivos, lo cual permite que se pueda llegar a conseguir información a partir de ello.


Ejemplos


1-

Datos No Normalizados


Datos Normalizados en la 1FN


2-

Datos No Normalizados


Datos Normalizados en la 1FN


3-

Datos No Normalizados


Datos Normalizados en la 1FN


4-

Datos No Normalizados


Datos Normalizados en la 1FN