Normalización -...

36
Normalización Curso Bases de Datos Por Elizabeth León Guzmán, Ph.D. Profesora Ingeniería de Sistemas Grupo de Investigación MIDAS Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Transcript of Normalización -...

Page 1: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

NormalizaciónCurso Bases de Datos

PorElizabeth León Guzmán, Ph.D.

Profesora Ingeniería de Sistemas

Grupo de Investigación MIDAS

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 2: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Agenda

1. Diseño de Bases de Datos

2. Normalización

3. Dependencia Funcional

4. Primera Forma 1FN

5. Segunda Forma 2FN

6. Tercera Forma 3FN

7. Forma Normal de Boyce Codd BCFN

8. Cuarta Forma 4FN

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 3: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Diseño de Bases de Datos

Por diseño se entiende el generar un conjunto de esquemas de relaciones que permitan almacenar información con un

mínimo de redundancia de datos y una fácil recuperación de la información.

Universidad Nacional – Prof. Elizabeth León Bases de Datos - NormalizaciónUniversidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 4: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Objetivos

• Mantener la Integridad de los datos.

• Eliminar información redundante siempre que sea posible.

• Mantener el número de relaciones al mínimo entre los componentes de la base de datos (fácil programación y uso por parte del usuario).

• Minimizar problemas de actualización y borrado.

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 5: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Normalización

La Normalización es la descomposición o subdivisión de una relación en dos o mas relaciones para evitar la redundancia.

También se puede ver como una serie de reglas que ayudan a los diseñadores de bases de datos a desarrollar un esquema que minimice los problemas de lógica.

Universidad Nacional – Prof. Elizabeth León Bases de Datos - NormalizaciónUniversidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 6: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

DEPENDENCIA FUNCIONAL: DF

La Normalización se basa en la dependencia funcional:

Dependencia funcional se define como: Dados dos atributos A y B de una relación R, se dice que B es funcionalmente dependiente de A si para cada valor de A existe un valor de B, y sólo uno, asociado con él. Se denota como

A B

Las DF se determinan al estudiar las propiedades de todos los atributos de la relación y deducir cómo están relacionados los atributos entre si.

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 7: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

DEPENDENCIA FUNCIONAL: DF

La DF está ligada con el concepto de clave.

Clave candidata: Conjunto de uno o más atributos que podría ser utilizado como clave principal de una relación.

Superclave: Conjunto de uno o más atributos que juntos, permiten identificar de forma única una entidad dentro de una relación.

Clave principal: Es una clave candidata en la que ningún componente puede tomar el valor de nulo.

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 8: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Normalización

El proceso de normalización es definido por una serie de fases cada una con una serie de reglas específicas.

Veamos un ejemplo…

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 9: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Se desea implantar en una base de datos las ventas de una papelería por la relación ORDENES-VENTA

ClienteID Nombre Localidad CostoTransporte ArtículoID Artículo Cantidad Fecha

11 Luis Suba 50.000 A1 Papel 100 3/5

11 Luis Suba 50.000 A3 Cinta 50 5/5

11 Luis Suba 50.000 A9 Lápiz 200 7/5

44 Ana Centro 65.000 A1 Papel 100 10/5

55 José Puente Aranda

70.000 A4 Grapas 3050

3/55/5

Relación ORDENES-VENTA

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 10: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Primera Forma 1FN

Una relación está en primera forma normal si todo atributo contiene un valor indivisible, atómico.

En una relación sin normalizar como la anterior se encuentra por ejemplo lo siguiente:

Se puede normalizar con la creación de un registro nuevo por cada uno de los distintos valores de un campo

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

55 José Puente Aranda

70.000 A4 Grapas 3050

3/55/5

55 José Puente Aranda

70.000 A4 Grapas 30 3/5

55 José Puente Aranda

70.000 A4 Grapas 50 5/5

Page 11: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Primera Forma 1FN

Hecho lo anterior aún se presentan una serie de anomalías de almacenamiento a la hora de realizar las actualizaciones por la información redundante.

Estás anomalías se deben a la presencia de campos no clave en la relación.

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 12: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Primera Forma 1FN

Las anomalías pueden subsanarse de la siguiente forma:

– Dividiendo la relación universal en nuevas relaciones.

– Eligiendo una clave primaria que represente de forma única a cada registro de las nuevas relaciones. Cada nueva relación tiene la propiedad de que su clave es necesaria para definir cada uno de los campos no clave.

Veamos como resulta el diseño de nuestra base de datos al aplicar la 1FN en su totalidad

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 13: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Segunda Forma 2FN

ClienteID Nombre Localidad CostoTransporte

11 Luis Suba 50.000

44 Ana Centro 65.000

55 José Puente Aranda

70.000ArtículoID Artículo

A1 Papel

A3 Cinta

A4 Grapas

A9 Lápiz

ClienteID ArtículoID Cantidad Fecha

11 A1 100 3/5

11 A3 50 5/5

11 A9 200 7/5

44 A1 100 10/5

55 A4 30 3/5

55 A4 50 5/5

Relación CLIENTES

Relación ARTÍCULOS

Relación VENTAS

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 14: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Segunda Forma Normal 2FN

Una relación está en segunda forma normal si, y sólo si:

– Está en 1FN

– Todo atributo que no pertenezca a la clave debe depender de la clave en su totalidad. Es decir, los registro no deben depender de nada aparte de su clave primaria.

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 15: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Segunda Forma 2FN

– Las relaciones CLIENTES, ARTICULOS y VENTAS pertenecen ya a la 2FN. Sin embargo, la relación CLIENTES presenta anomalías de almacenamiento debido a que el atributo CostoTransporte es funcionalmente dependiente de la Localidad, que a su vez depende de ClienteID.

Hay una dependencia transitiva

que ocasiona problemas a la

hora de hacer actualizaciones

ClienteID Nombre Localidad CostoTransporte

11 Luis Suba 50.000

44 Ana Centro 65.000

55 José Puente Aranda

70.000

Relación CLIENTES

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 16: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Dependencia Transitiva

Se tiene la relación R(A,B,C). Si

A B

B C

y A no depende funcionalmente de B, entonces se dice que C depende transitivamente de A y se puede formar la cadena

A B C

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 17: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Tercera Forma Normal 3FN

Una relación está en 3FN si, y sólo si:

– Está en 2FN.

– Todo atributo que no pertenezca a la clave no depende de un atributo no clave.

La 3FN elimina las redundancias ocasionadas por las dependencias transitivas.

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 18: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Tercera Forma Normal 3FN

• Aplicando la 3FN a la relación CLIENTES

ClienteID Nombre Localidad

11 Luis Suba

44 Ana Centro

55 José Puente Aranda

Relación CLIENTES

Localidad CostoTransporte

Suba 50.000

Centro 65.000

Puente Aranda 70.000

Relación TRANSPORTE

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 19: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Deficiencias:● 1) hay varias claves candidatas

● 2) esas claves candidatas son compuestas

● 3) las claves candidatas se traslapan (tienen por lo menos un atributo en común)

Tercera Forma Normal 3FN

Raramente!

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 20: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Forma Normal de Boyce Codd BCFN

Una relación R está en forma normal Boyce Codd si, y sólo si, cada determinante de la

relación es una clave candidata.

“no existen dependencias funcionales no triviales de los atributos que no sean un

conjunto de la clave candidata”

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 21: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Forma Normal de Boyce Codd BCFN

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Id_empleado id_departamento Id_asesor

Como ejemplo veamos la relación: Un empleado puede trabajar en varios de partamentos y tiene máximo un asesor en cada departamento:

La llave primaria es compuesta: id_empleado, id_departamento.

¿Está en 3FN?

Si añadimos un restricción: el asesor solo puede pertenecer a un departamento.

¿Qué sucede? ¿Sigue estando en 3FN?

Page 22: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Forma Normal de Boyce Codd BCFN

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Id_empleado id_departamento Id_asesor

el asesor solo puede pertenecer a un departamento...

Aparece una dependencia funcional:

Por lo tanto existe un determinante que NO es clave candidata.

Genera redundancia:

la repetición de id_asesor, id_departamento es evitable.

id_asesor id_departamento

¿Cómo?

Page 23: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Forma Normal de Boyce Codd BCFN

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Id_empleado id_departamento Id_asesor

el asesor solo puede pertenecer a un departamento...

Aparece una dependencia funcional:

Por lo tanto existe un determinante que NO es clave candidata.

Genera redundancia:

la repetición de id_asesor, id_departamento es evitable.

id_asesor id_departamento

Id_empleado id_asesor

Id_asesor id_departamento

Page 24: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Forma Normal de Boyce Codd BCFN Como ejemplo veamos la relación QUESOS (NOMBRE,PAIS,REGION). La clave candidata es (NOMBRE, PAIS) con las DF siguientes:

REGION PAIS

(NOMBRE,PAIS) REGION

La relación está en 3FN porqué ningún atributo no clave es transitivamente dependiente de atributos no clave. Sin embargo no es BCFN ya que REGION, un atributo no clave, es un determinante de país. Esto origina redundancia y puede resolverse formando dos relaciones nuevas:

QUESOS(NOMBRE,REGION) NOMBRE REGION

REGIONES(REGION,PAIS) REGION PAIS

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 25: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Se dice que una tabla está en FNBC si y solo si :

- está en 3FN y

- cada dependencia funcional no trivial tiene una clave candidata como determinante. En términos menos formales, una tabla está en FNBC si está en 3FN y los únicos determinantes son claves candidatas.

Forma Normal de Boyce Codd BCFN

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 26: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Dependencias de Valores Múltiples

En la dependencia de valores múltiples (DMV), un valor atributo, A, determina un conjunto de valores múltiples, B. Se expresa con doble fecha:

A B

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 27: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Consideremos la relación

ESTUDIANTE (Num, Curso, Deporte)

que indica su número, el curso donde está matriculado y los deportes que practica.

Num Curso Deporte

10 Bases de Datos Baloncesto

10 Bases de Datos Natación

10 Bases de Datos Tenis

20 Física Baloncesto

20 Física Esgrima

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

ESTUDIANTE

Dependencias de Valores Múltiples

Page 28: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

La relación anterior está en 3FN pero presenta redundancia de datos aún.

Los atributos Curso y Deporte son dependientes multivalores de Num, es decir, cualquier valor de Num determina una serie de valores de los atributos Curso y Deporte.

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Dependencias de Valores Múltiples

Page 29: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Cuarta Forma Normal4FN

La 4FN es una generalización de la BCFN para descomponer relaciones que posean dependencias multivaluadas.

Una relación R está en 4FN si, y sólo si:

– Es BCFN

– No contiene dependencias multivaludas

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 30: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Cuarta Forma Normal 4FN

La relación R(A,B,C) con las dependencias multivaluadas :

Se puede descomponer sin pérdida en dos relaciones 4FN: R1(A,B) y R2(A,C).

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 31: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Cuarta Forma Normal 4FN

Volviendo al ejemplo de la relación ESTUDIANTE, y aplicando la 4FN, se generan las siguientes relaciones:

Num Curso

10 Base de datos

20 Física

Num Curso

10 Baloncesto

10 Natación

10 Tenis

20 Baloncesto

20 Esgrima

ESTUDIANTE

PRACTICA

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 32: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Más Formas Normales

● La 4FN no es definitiva● Dependencias de reunión: Forma

Normal de Reunión por Proyección FNRP o Quinta Forma Normal

● Forma Normal de Dominios y Claves FNDC

FNRP y FNDC se utilizan muy rara vez!

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 33: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

El Modelo ER y la Normalización

● Si el modelo E-R es identificado correctamente (entidades, relaciones, etc) los esquemas de relación generados a partir de él NO DEBEN necesitar mucha normalización

● Si se debe realizar mucha normalización es por que el diseño del diagrama fue mal realizado

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 34: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

● En general, el diseño E-R tiende a generar diseños en 4FN

El Modelo ER y la Normalización

Modelo E-RNormalización

en 4FN

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización

Page 35: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

● Por rendimiento● Usan la reduncia por mejorar el

rendimiento de aplicaciones concretas!.

● El problema es garantizar que los datos se mantengan consistentes!

Desnormalización

Page 36: Normalización - disi.unal.edu.codisi.unal.edu.co/profesores/eleonguz/old/BD_2014_II/presentaciones/... · Agenda 1. Diseño de Bases de Datos 2. Normalización 3. Dependencia Funcional

Bibliografía

• RODRÍGUEZ ALMEIDA, Miguel. Diseño de bases de datos. En: BASES DE DATOS. Madrid: Mc Graw Hill, 1992. Pág. 209-218.

Universidad Nacional – Prof. Elizabeth León Bases de Datos - Normalización