leccion normalizacion sem1

22
 Curso: Bases de Datos II Semana Nº 1: Normalización de Base de Datos Formas Normales y Proceso de Normalización Ejemplos 13/01/2012

Upload: jorge-villegas-murillo

Post on 14-Jul-2015

365 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Leccion Normalizacion Sem1

5/12/2018 Leccion Normalizacion Sem1 - slidepdf.com

http://slidepdf.com/reader/full/leccion-normalizacion-sem1 1/22

Curso: Bases de Datos IISemana Nº 1:

Normalización de Base de DatosFormas Normales y Proceso de Normalización

Ejemplos

13/01/2012

Page 2: Leccion Normalizacion Sem1

5/12/2018 Leccion Normalizacion Sem1 - slidepdf.com

http://slidepdf.com/reader/full/leccion-normalizacion-sem1 2/22

La normalización es el proceso mediante el cual se transforman datoscomplejos a un conjunto de estructuras de datos más pequeñas, queademás de ser más simples y más estables, son más fáciles de

mantener. También se puede entender la normalización como unaserie de reglas que sirven para ayudar a los diseñadores de bases dedatos a desarrollar un esquema que minimice los problemas de lógica.

Cada regla está basada en la que le antecede. La normalización seadoptó porque el viejo estilo de poner todos los datos en un sololugar, como un archivo o una tabla de la base de datos, era ineficientey conducía a errores de lógica cuando se trataban de manipular losdatos.

¿Qué es la Normalización?

Page 3: Leccion Normalizacion Sem1

5/12/2018 Leccion Normalizacion Sem1 - slidepdf.com

http://slidepdf.com/reader/full/leccion-normalizacion-sem1 3/22

Hace las cosas más fáciles de entender.

Permite simplificación al máximo de una estructura compleja dedatos.

Permite el manejo de espacio de la base de datos, una base dedatos normalizada normalmente ocupa menos espacio en discoque una no normalizada.

Ventajas:

Page 4: Leccion Normalizacion Sem1

5/12/2018 Leccion Normalizacion Sem1 - slidepdf.com

http://slidepdf.com/reader/full/leccion-normalizacion-sem1 4/22

El proceso de normalización tiene un nombre y una serie de reglaspara cada fase. Esto puede parecer un poco confuso al principio, peropoco a poco se va entendiendo el proceso, así como las razones parahacerlo de esta manera.

Existen básicamente tres niveles de normalización: Primera FormaNormal (1NF), Segunda Forma Normal (2NF) y Tercera Forma Normal(3NF). Cada una de estas formas tiene sus propias reglas.

Cuando una base de datos se conforma a un nivel, se consideranormalizada a esa forma de normalización. No siempre es una buenaidea tener una base de datos conformada en el nivel más alto denormalización, puede llevar a un nivel de complejidad que pudiera serevitado si estuviera en un nivel más bajo de normalización.

Grados de Normalización (FN)

Page 5: Leccion Normalizacion Sem1

5/12/2018 Leccion Normalizacion Sem1 - slidepdf.com

http://slidepdf.com/reader/full/leccion-normalizacion-sem1 5/22

En la tabla siguiente se describe brevemente en que consistecada una de las reglas, y posteriormente se explican con másdetalle.

Formas Normales

Page 6: Leccion Normalizacion Sem1

5/12/2018 Leccion Normalizacion Sem1 - slidepdf.com

http://slidepdf.com/reader/full/leccion-normalizacion-sem1 6/22

La regla de la Primera Forma Normal establece que las columnas repetidasdeben eliminarse y colocarse en tablas separadas.

Poner la base de datos en la Primera Forma Normal resuelve el problema delos encabezados de columna múltiples. Muy a menudo, los diseñadores debases de datos inexpertos harán algo similar a la tabla no normalizada. Una yotra vez, crearán columnas que representen los mismos datos. Lanormalización ayuda a clarificar la base de datos y a organizarla en partesmás pequeñas y más fáciles de entender.

En lugar de tener que entender una tabla gigantesca y monolítica que tienemuchos diferentes aspectos, sólo tenemos que entender los objetospequeños y más tangibles, así como las relaciones que guardan con otrosobjetos también pequeños.

Primera Forma Normal (1FN)

Page 7: Leccion Normalizacion Sem1

5/12/2018 Leccion Normalizacion Sem1 - slidepdf.com

http://slidepdf.com/reader/full/leccion-normalizacion-sem1 7/22

La regla de la Segunda Forma Normal establece que todas lasdependencias parciales se deben eliminar y separar dentro de suspropias tablas.

Una dependencia parcial es un término que describe a aquellos datosque no dependen de la llave primaria de la tabla para identificarlos.

Una vez alcanzado el nivel de la Segunda Forma Normal, se controlanla mayoría de los problemas de lógica. Podemos insertar un registrosin un exceso de datos en la mayoría de las tablas.

Segunda Forma Normal (2FN)

Page 8: Leccion Normalizacion Sem1

5/12/2018 Leccion Normalizacion Sem1 - slidepdf.com

http://slidepdf.com/reader/full/leccion-normalizacion-sem1 8/22

Una tabla está normalizada en esta forma si todas las columnas queno son llave son funcionalmente dependientes por completo de lallave primaria y no hay dependencias transitivas.

Comentamos anteriormente que una dependencia transitiva esaquella en la cual existen columnas que no son llave que dependen deotras columnas que tampoco son llave.

Cuando las tablas están en la Tercera Forma Normal se previenen

errores de lógica cuando se insertan o borran registros. Cada columnaen una tabla está identificada de manera única por la llave primaria, yno deben haber datos repetidos. Esto provee un esquema limpio yelegante, que es fácil de trabajar y expandir.

Tercera Forma Normal (3FN)

Page 9: Leccion Normalizacion Sem1

5/12/2018 Leccion Normalizacion Sem1 - slidepdf.com

http://slidepdf.com/reader/full/leccion-normalizacion-sem1 9/22

Un dato sin normalizar no cumple con ninguna regla denormalización. Para explicar con un ejemplo en que consiste cada unade las reglas, vamos a considerar los datos de la siguiente tabla.

Al examinar estos registros, podemos darnos cuenta que contienenun grupo repetido para NUM_ITEM, DESC_ITEM, CANT y PRECIO. La1FN prohíbe los grupos repetidos, por lo tanto tenemos que convertira la primera forma normal. Los pasos a seguir son: Tenemos que eliminar los grupos repetidos.

Tenemos que crear una nueva tabla con la PK de la tabla base y el gruporepetido.

Page 10: Leccion Normalizacion Sem1

5/12/2018 Leccion Normalizacion Sem1 - slidepdf.com

http://slidepdf.com/reader/full/leccion-normalizacion-sem1 10/22

Los registros quedan ahora conformados en dos tablas que

llamaremos ORDENES y ARTICULOS_ORDENES

Page 11: Leccion Normalizacion Sem1

5/12/2018 Leccion Normalizacion Sem1 - slidepdf.com

http://slidepdf.com/reader/full/leccion-normalizacion-sem1 11/22

Ahora procederemos a aplicar la segunda formal normal, es decir, tenemosque eliminar cualquier columna no llave que no dependa de la llave primariade la tabla. Los pasos a seguir son: Determinar cuáles columnas que no son llave no dependen de la llave

primaria de la tabla. Eliminar esas columnas de la tabla base. Crear una segunda tabla con esas columnas y la(s) columna(s) de la PK de la

cual dependen. La tabla ORDENES está en 2FN. Cualquier valor único de ID_ORDEN

determina un sólo valor para cada columna. Por lo tanto, todas las columnasson dependientes de la llave primaria ID_ORDEN.

Por su parte, la tabla ARTICULOS_ORDENES no se encuentra en 2FN ya quelas columnas PRECIO y DESC_ITEM son dependientes de NUM_ITEM, perono son dependientes de ID_ORDEN. Lo que haremos a continuación eseliminar estas columnas de la tabla ARTICULOS_ORDENES y crear una tablaARTICULOS con dichas columnas y la llave primaria de la que dependen.

Page 12: Leccion Normalizacion Sem1

5/12/2018 Leccion Normalizacion Sem1 - slidepdf.com

http://slidepdf.com/reader/full/leccion-normalizacion-sem1 12/22

Las tablas quedan ahora de la siguiente manera:

Page 13: Leccion Normalizacion Sem1

5/12/2018 Leccion Normalizacion Sem1 - slidepdf.com

http://slidepdf.com/reader/full/leccion-normalizacion-sem1 13/22

La tercera forma normal nos dice que tenemos que eliminar cualquiercolumna no llave que sea dependiente de otra columna no llave. Lospasos a seguir son:

Determinar las columnas que son dependientes de otra columna no llave. Eliminar esas columnas de la tabla base.

Crear una segunda tabla con esas columnas y con la columna no llave dela cual son dependientes.

Al observar las tablas que hemos creado, nos damos cuenta que tanto

la tabla ARTICULOS, como la tabla ARTICULOS_ORDENES seencuentran en 3FN. Sin embargo la tabla ORDENES no lo está, ya queNOM_CLIENTE y ESTADO son dependientes de ID_CLIENTE, y estacolumna no es la llave primaria.

Page 14: Leccion Normalizacion Sem1

5/12/2018 Leccion Normalizacion Sem1 - slidepdf.com

http://slidepdf.com/reader/full/leccion-normalizacion-sem1 14/22

Para normalizar esta tabla, moveremos las columnas no llave y la columnallave de la cual dependen dentro de una nueva tabla CLIENTES. Las nuevastablas CLIENTES y ORDENES se muestran a continuación.

Page 15: Leccion Normalizacion Sem1

5/12/2018 Leccion Normalizacion Sem1 - slidepdf.com

http://slidepdf.com/reader/full/leccion-normalizacion-sem1 15/22

¿Se están dividiendo tablas sólo para seguir las reglas o estas divisiones sonen verdad prácticas?. Éstas son el tipo de cosas que nosotros comodiseñadores de la base de datos, necesitamos decidir, y la experiencia y elsentido común nos pueden auxiliar para tomar la decisión correcta. La

normalización no es una ciencia exacta, más bien subjetiva.

Existen seis niveles más de normalización que no se han discutido aquí. Ellosson Forma Normal Boyce-Codd, Cuarta Forma Normal (4NF), Quinta FormaNormal (5NF) o Forma Normal de Proyección-Unión, Forma Normal deProyección-Unión Fuerte, Forma Normal de Proyección-Unión Extra Fuerte yForma Normal de Clave de Dominio. Estas formas de normalización puedenllevar las cosas más allá de lo que necesitamos. Éstas existen para hacer unabase de datos realmente relacional. Tienen que ver principalmente condependencias múltiples y claves relacionales.

Qué tan lejos se debe llevar el proceso de

normalización?

Page 16: Leccion Normalizacion Sem1

5/12/2018 Leccion Normalizacion Sem1 - slidepdf.com

http://slidepdf.com/reader/full/leccion-normalizacion-sem1 16/22

Tarea Nº 1

Próxima Semana:

Page 17: Leccion Normalizacion Sem1

5/12/2018 Leccion Normalizacion Sem1 - slidepdf.com

http://slidepdf.com/reader/full/leccion-normalizacion-sem1 17/22

Investigar y brindar una breve descripción y un ejemplo lasFormas Normales a partir de la Forma Normal Boyce-Codd:

Forma Normal Boyce-Codd Cuarta Forma Normal (4FN)

Quinta Forma Normal (5FN) Forma Normal de Proyección-Unión

Forma Normal de Proyección-Unión Fuerte

Forma Normal de Proyección-Unión Extra Fuerte Forma Normal de Clave de Dominio

Tarea Nº 1 Primera Parte:

Page 18: Leccion Normalizacion Sem1

5/12/2018 Leccion Normalizacion Sem1 - slidepdf.com

http://slidepdf.com/reader/full/leccion-normalizacion-sem1 18/22

Ejercicios de Normalización

Tarea Nº 1 Segunda Parte

Page 19: Leccion Normalizacion Sem1

5/12/2018 Leccion Normalizacion Sem1 - slidepdf.com

http://slidepdf.com/reader/full/leccion-normalizacion-sem1 19/22

Dada la siguiente relación UTILIZACIÓN(DNI_Prof,Nombre_Prof, Despacho_Prof, Recurso, Ubicación,Fecha_inicio, Fecha_fin,) que contiene información relativa a la

utilización de los recursos de la universidad por parte de losprofesores en periodos de tiempo:

Ejercicio Nº 1:

Page 20: Leccion Normalizacion Sem1

5/12/2018 Leccion Normalizacion Sem1 - slidepdf.com

http://slidepdf.com/reader/full/leccion-normalizacion-sem1 20/22

Para este ejercicio: Indique si la BD está normalizada (SI) o (NO) y Justifique su

respuesta.

En caso de que la BD no esté normalizada, normalícela hasta laPrimer Forma Normal (1FN).

Indique o describa el procedimiento que realizó para poder llevardicha tabla o relación a 1FN.

Ejercicio Nº 1:

Page 21: Leccion Normalizacion Sem1

5/12/2018 Leccion Normalizacion Sem1 - slidepdf.com

http://slidepdf.com/reader/full/leccion-normalizacion-sem1 21/22

Dada la siguiente relación ASIGNACIÓN (DNI, Nombre,Código_Tienda, Dirección_Tienda, Fecha, Turno) que contieneinformación relativa a la asignación de los turnos de trabajo de

los empleados de los distintos centros de una cadena de tiendasde moda:

Ejercicio Nº 2:

Page 22: Leccion Normalizacion Sem1

5/12/2018 Leccion Normalizacion Sem1 - slidepdf.com

http://slidepdf.com/reader/full/leccion-normalizacion-sem1 22/22

Para dicho ejercicio realice lo siguiente:

¿En qué Estado de Normalización (Normalizada o No Normalizada)se encuentra la relación?

Realice la correspondiente Normalización de la tabla hasta 2FN.

Ejercicio Nº 2: