diseño de bases de datos normalización. proceso de construcción de una base de datos obtencion y...

Post on 24-Jan-2016

227 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Diseño de Bases de Datos

Normalización

Proceso de Construcción de una base de datos

OBTENCION Y ANALISIS DE REQUERIMIENTOS

DISEÑO FISICO

Independiente del SGBD

Específico para cada SGBD

Minimundo

Minimundo

DISEÑO CONCEPTUALModelo Entidad Relación

Extendido

DISEÑO LOGICOTablas

NORMALIZACION

¿Cómo utilizamos la normalización nosotros?

OBTENCION Y ANALISIS DE REQUERIMIENTOS

DISEÑO FISICO

Independiente del SGBD

Específico para cada SGBD

Minimundo

Minimundo

DISEÑO CONCEPTUALModelo Entidad Relación

Extendido

DISEÑO LOGICOTablas

NORMALIZACION

Normalización

Objetivo elegir “buenas” estructuras de relaciones

Expresar formalmente las razones por las que una agrupación de atributos

es mejor que otra

permitiendo

Normalización

“Bondad” de las relaciones

Nivel lógico

Forma en la que los usuarios interpretan:

• las estructuras de las relaciones

• el significado de sus atributos

Nivel de implementación

Forma en la que se manipulan:

• cómo se almacenan las tuplas de la relación

• cómo se actualizan las tuplas de la relación

Aspectos importantes a considerar a la hora de diseñar

1. Semántica de los atributos

2. Cada atributo debe contener un único valor

3. Reducción de valores redundantes en las tuplas

1. Semántica de los atributos:

Agrupación de atributos dentro de una relación

Supone un cierta relación semántica entre los atributos

Aspectos importantes a considerar a la hora de diseñar

2. Cada atributo debe ser monovaluado

Nro_Suc Nombre Localidad Departamento1 Sacramento 4234322 4234467 Toranzo 350 Norte Desamparados Capital2 Higueras 4332323 C.Cabot 3350 Oeste Rivadavia Rivadavia3 Espigas 4223434 4221367 Aberastain 333 Sur Concepcion Capital4 Santa Rita 4221123 4335678 Av. Libertador 1230 Oeste Desamparados Capital5 Excelencia 4228976 4223490 Av. Libertador 30 Oeste Capital Capital6 Castillo 4962579 Ig. de la Roza 671 Caucete Caucete

Direccion Telefonos

no es válido

grupo repetitivo

no es válido

atributo compuesto

Sucursales

Aspectos importantes a considerar a la hora de diseñar

2.Cada atributo debe ser monovaluado:Esto implica que la relación anterior debiera reemplazarse por las siguientes:

Aspectos importantes a considerar a la hora de diseñar

Nro_Suc Nombre Localidad Departamento1 Sacramento Toranzo 350 Norte Desamparados Capital2 Higueras C.Cabot 3350 Oeste Rivadavia Rivadavia3 Espigas Aberastain 333 Sur Concepcion Capital4 Santa Rita Av. Libertador 1230 Oeste Desamparados Capital5 Excelencia Av. Libertador 30 Oeste Capital Capital6 Castillo Ig. de la Roza 671 Caucete Caucete

DireccionSucursales

Nro_Suc Telefono

1 42344673 42213674 43356785 42234901 42343222 43323233 42234344 42211235 42289766 4962579

Telefonos_Suc

Aspectos importantes a considerar a la hora de diseñar

2. Cada atributo debe ser monovaluado:

3. Reducción de valores redundantes:

Dentro de los principales objetivos en el diseño de relaciones

Minimizar el espacio de almacenamiento que ocupan las relaciones

base (archivos)

Evitar anomalías de actualización

Aspectos importantes a considerar a la hora de diseñar

DNI_Cli Nombre_Cli Tel_Cli Direccion_Cli Nro_Suc Nombre_Suc Direccion_Suc17.343.232 Ana Perez 4223465 25 de Mayo 504 Este 1 Sacramento Toranzo 350 Norte 7.432.567 Juan Flores 4223312 Av. Cordoba 107 Oeste 1 Sacramento Toranzo 350 Norte 6.987.675 Sergio Alba 4221674 Aberastain 34 Sur 3 Espigas Aberastain 333 Sur14.878.234 Miguel Gomez 4340023 H. Yrigoyen 1171 Sur 5 Santa Rita Av.Libertador 1230 Oeste20.333.675 Silvia Gomez 4233495 Av. Libertador 3300 Oeste 3 Espigas Aberastain 333 Sur 6.967.908 Javier Lima 4231100 H. Yrigoyen 11 Sur 6 Castillo Ig. de la Roza 671

Clientes_de_Sucursal

3. Reducción de valores redundantes:

Aspectos importantes a considerar a la hora de diseñar

• ¿Cuantas veces aparece la información correspondiente a cada sucursal? ¿Qué problemas puede acarrear?

Analicemos la redundancia:

3. Reducción de valores redundantes:

Aspectos importantes a considerar a la hora de diseñar

• ¿Qué sucede si queremos ingresar un nuevo cliente? De que debemos asegurarnos?

• ¿Qué sucede si queremos ingresar una sucursal nueva que todavía no tiene clientes? ¿Es posible?

Analicemos las inserciones:

3. Reducción de valores redundantes:

Aspectos importantes a considerar a la hora de diseñar

DNI_Cli Nombre_Cli Tel_Cli Direccion_Cli Nro_Suc Nombre_Suc Direccion_Suc17.343.232 Ana Perez 4223465 25 de Mayo 504 Este 1 Sacramento Toranzo 350 Norte 7.432.567 Juan Flores 4223312 Av. Cordoba 107 Oeste 1 Sacramento Toranzo 350 Norte 6.987.675 Sergio Alba 4221674 Aberastain 34 Sur 3 Espigas Aberastain 333 Sur14.878.234 Miguel Gomez 4340023 H. Yrigoyen 1171 Sur 5 Santa Rita Av.Libertador 1230 Oeste20.333.675 Silvia Gomez 4233495 Av. Libertador 3300 Oeste 3 Espigas Aberastain 333 Sur 6.967.908 Javier Lima 4231100 H. Yrigoyen 11 Sur 6 Castillo Ig. de la Roza 671

• ¿Qué sucede si queremos eliminar el cliente Miguel Gomez?

Analicemos las supresiones:

3. Reducción de valores redundantes:

Aspectos importantes a considerar a la hora de diseñar

DNI_Cli Nombre_Cli Tel_Cli Direccion_Cli Nro_Suc Nombre_Suc Direccion_Suc17.343.232 Ana Perez 4223465 25 de Mayo 504 Este 1 Sacramento Toranzo 350 Norte 7.432.567 Juan Flores 4223312 Av. Cordoba 107 Oeste 1 Sacramento Toranzo 350 Norte 6.987.675 Sergio Alba 4221674 Aberastain 34 Sur 3 Espigas Aberastain 333 Sur14.878.234 Miguel Gomez 4340023 H. Yrigoyen 1171 Sur 5 Santa Rita Av.Libertador 1230 Oeste20.333.675 Silvia Gomez 4233495 Av. Libertador 3300 Oeste 3 Espigas Aberastain 333 Sur 6.967.908 Javier Lima 4231100 H. Yrigoyen 11 Sur 6 Castillo Ig. de la Roza 671

• ¿Qué sucede si queremos registrar que la sucursal Espigas cambio su dirección?

Analicemos las modificaciones:

3. Reducción de valores redundantes:

Aspectos importantes a considerar a la hora de diseñar

DNI_Cli Nombre_Cli Tel_Cli Direccion_Cli Nro_Suc Nombre_Suc Direccion_Suc17.343.232 Ana Perez 4223465 25 de Mayo 504 Este 1 Sacramento Toranzo 350 Norte 7.432.567 Juan Flores 4223312 Av. Cordoba 107 Oeste 1 Sacramento Toranzo 350 Norte 6.987.675 Sergio Alba 4221674 Aberastain 34 Sur 3 Espigas Aberastain 333 Sur14.878.234 Miguel Gomez 4340023 H. Yrigoyen 1171 Sur 5 Santa Rita Av.Libertador 1230 Oeste20.333.675 Silvia Gomez 4233495 Av. Libertador 3300 Oeste 3 Espigas Aberastain 333 Sur 6.967.908 Javier Lima 4231100 H. Yrigoyen 11 Sur 6 Castillo Ig. de la Roza 671

Estos problemas son denominados

Anomalías de actualización

Aspectos importantes a considerar a la hora de diseñar

Analicemos los mismos interrogantes con las siguientes relaciones:Sucursales

Nro_Suc Nombre Localidad Departamento1 Sacramento Toranzo 350 Norte Desamparados Capital2 Higueras C.Cabot 3350 Oeste Rivadavia Rivadavia3 Espigas Aberastain 333 Sur Concepcion Capital4 Santa Rita Av. Libertador 1230 Oeste Desamparados Capital5 Excelencia Av. Libertador 30 Oeste Capital Capital6 Castillo Ig. de la Roza 671 Caucete Caucete

Direccion

DNI_Cli Nombre_Cli Tel_Cli Direccion_Cli Localidad Departamento17.343.232 Ana Perez 4223465 25 de Mayo 504 Este Concepcion Capital 7.432.567 Juan Flores 4223312 Av. Cordoba 107 Oeste Capital Capital 6.987.675 Sergio Alba 4221674 Aberastain 34 Sur Capital Capital14.878.234 Miguel Rueda 4340023 H. Yrigoyen 1171 Sur Rawson Rawson20.333.675 Silvia Gomez 4233495 Av. Libertador 3300 Oeste Rivadavia Rivadavia 6.967.908 Javier Lima 4231100 H. Yrigoyen 11 Sur Rivadavia Rivadavia

Clientes

DNI_Cli Nro_Suc17.343.232 1 7.432.567 1 6.987.675 314.878.234 520.333.675 3 6.967.908 6

Es_cliente_de

3. Reducción de valores redundantes

Aspectos importantes a considerar a la hora de diseñar

Debemos diseñar las relaciones de manera de evitar las anomalías de inserción, eliminación y modificación en

las relaciones

Evitar la inconsistencia

de la base de datos

3. Reducción de valores redundantes:

Aspectos importantes a considerar a la hora de diseñar

Formas Normales (1FN a la 5FN):

Normalización

- Dependencia Funcional- Dependencia Multivaluada- Dependencia Join

Normalización (Formas Normales)

2FN 3FN FNBC 4FN1FN 5FN

Universo de todas las relaciones

Primera Forma Normal

Una relación R está en 1FN si los dominios de todos sus atributos son atómicos

Toda relación R está en 1FN, por definición

si para 2 tuplas cualesquiera t1 y t2 de R tales que t1(X)= t2(X) entonces t1(Y)= t2(Y) en todo

estado de R

Dependencia Funcional

Dependencia Funcional

X Y

si para cada valor de X le corresponde sólo un valor de Y en todo estado de R

o expresado de otra manera

X Y

Dependencia Funcional Trivial y No Trivial

es Trivial si X contiene a YX Y

Z+Y Y es Trivial

Caso contrario, es no TrivialX Y

Claves

Dada una relación R, un subconjunto de atributos S de R es superclave si su valor es único dentro

de la relación en todo momento.

Formalmente, si no existe un par de tuplas t1, t2 tal que t1[S]= t2[S], para todo estado permitido

de la relación.

ClavesDada una relación R, un subconjunto de atributos K de R

es clave candidata o simplemente clave si cumple:

Unicidad: No existe un par de tuplas que tengan el mismo valor para K, es decir, es superclave.

Minimalidad: Si se quita algún atributo de la misma deja de cumplir la unicidad.

Entonces, sea K={A1, A2, …, Ak}, si K es clave entonces K –{Ai} no es clave para 1≤i ≤k

Claves

Una relación puede contener más de una clave, llamadas claves candidatas:

Se elige una como clave primaria

A las restantes, se las denomina claves secundarias o alternativas.

Atributo Primo

Un atributo de R se denomina atributo primo de R si es miembro de alguna clave de R.

“Un atributo de R se denomina atributo no primo de R si no es atributo primo”

Segunda Forma Normal

Se basa en el concepto de dependencia funcional completa o total:

- Una dependencia funcional es completa si la eliminación de cualquier atributo A de X hace que la dependencia no sea válida. Es decir, X-A no determina funcionalmente a Y.

X Y

- Una dependencia funcional es parcial si es posible eliminar algún atributo A de X y la dependencia sigue siendo válida.

X Y

Segunda Forma Normal

Una relación R está en 2FN si todo atributo no primo A de R depende funcionalmente en forma

completa de la clave primaria de R.

Segunda Forma Normal

Si una relación no está en 2FN, descomponerla y crear una nueva relación para cada clave parcial

con su/s atributo/s dependiente/s.

Solución:

Descomposiciones válidas Toda descomposición debe cumplir una restricción

(no sólo para la 2FN, sino para todas)

No provocar pérdida de información, es decir,

el join (union) de las proyecciones genera la relación original

Inclusive, provocan ganancia de información.

Permiten registrar información que en la relación original era imposible.

Tercera Forma Normal

Una relación R está en 3FN si está en 2FN y ningún atributo no primo de R depende en forma

transitiva de la clave primaria.

Tercera Forma Normal

Definición General

Una relación R está en 3FN si para toda dependencia funcional no trivial se cumple:

a) X es superclave de R

o

b) Y es un atributo primo

X Y

Tercera Forma Normal

Solución:

Si una relación no está en 3FN, descomponerla creando otra relación que contenga el/los atributo/s no clave que determinen funcionalmente a otro/s atributo/s no clave.

Nota: “Tener cuidado con las posibles descomposiciones”

Forma Normal de Boyce y Codd

Una relación R está en FNBC si todo determinante es clave candidata.

Una relación que está en 3FN

No necesariamente está en BCNF

Una relación que está en BCFN Está en 3FN

Forma Normal de Boyce y Codd

Otra Definición

Una relación R está en FNBC si para toda dependencia funcional no trivial X es

superclave de R.X Y,

Forma Normal de Boyce y Codd

Veamos un ejemplo:

•Nro_Catastral

•Nombre_Municipio+Parcela

•Superficie

Determinantes:•Nro_Catastral

•Nombre_Municipio+Parcela

Claves candidatas:

DF1

Cada parcela es identificada por su nro. catastral

DF2

Cada parcela es identificada

dentro de un municipio, por su nro. de parcela

DF3

Las sup. de las parcelas de cada

municipio son diferentes, pero,

no existe una sup.que

corresponda a más de un municipio.

No es clave candidata FNBC

Forma Normal de Boyce y Codd

Al descomponer:

• Nro_CatastralDeterminantes:

• Nro_CatastralClaves candidatas:

• SuperficieDeterminantes:

Claves candidatas:• Superficie

BCNF BCNF

Dada una relación R con atributos (X,Y,Z), X multidetermina a Y, y se simboliza , si se cumple que dado un par (X,Z) el conjunto de valores de {Y} que coinciden con ese

par, dependen de X y no dependen de Z.

Cuarta Forma Normal

Se basa en el concepto de dependencia multivaluada (DMV)

X Y

DMV no funcionales

Cuarta Forma Normal

Una relación R está en 4FN sii está en FNBC y no existen DMV no funcionales.

DF

DMV

Cuarta Forma Normal

Otra definición:

Una relación R está en 4FN sii está en FNBC y toda DMV es DF.

DF

DMV

Cuarta Forma Normal

Veamos un ejemplo:• Cada curso puede ser dictado por varios profesores.

• Cada curso tiene libros asignados, independientemente del profesor que lo dicte. Es decir, el profesor no decide los

libros que usa en un curso determinado.

Dado un par (Curso, Profesor), por ejemplo (Bases de Datos I, Castro) el conjunto de valores de Libro {Fundamentos de Bases de Datos,

Introducción a los DBMS}:

¿Curso Libro?

Cuarta Forma Normal

Curso Libro1. ¿Depende del Curso?

2. ¿Depende del Profesor?

Sí depende

No depende

Cuarta Forma Normal

En esta relación se verifican:

DMV1

DMV2

Las dos dependencias multivaluadas no son funcionales.

Por lo tanto, la relación no está en 4FN.

Cuarta Forma Normal

Solución:

• Está en BCNF

• No presenta DMV

• Está en BCNF

• No presenta DMV

Está en 4FN Está en 4FN

Quinta Forma Normal

Se basa en el concepto de Dependencia Join (DJ)

Dependencia Join = n-descomponible n>2

Quinta Forma Normal

Una relación R está en 5FN sii está en 4FN y toda DJ es consecuencia de la clave primaria.

Cada proyección de la DJ contiene a la clave primaria

Quinta Forma NormalProveedores

¿La relación Proveedores está en 5FN?

Quinta Forma Normal

¿Es posible descomponerla en al menos 3 proyecciones sin perder información?

¿Existe al menos una Dependencia Join?

Contiene la clave primaria

Contiene la clave primaria

Contiene la clave primaria

Quinta Forma Normal

Está en 5 FN

Quinta Forma Normal

Ahora analicemos esta otra relación:

Supongamos que satisface la siguiente restricción en todo estado válido:

Si (S1,P1), (P1,J1) y (S1,J1) entonces debe aparecer la tupla (S1,P1,J1) en la relación.

Restricción cíclica

Quinta Forma Normal

La inserción de la tupla

Esta restricción genera la siguiente situación:

Quinta Forma Normal

Join de las 3 proyecciones genera la relación original

Clave primaria

No contiene la clave primaria

No contiene la clave primaria

No contiene la clave primaria

5FN

Analicemos ahora si está en 5FN…

Quinta Forma Normal

5FN

Solución:

5FN 5FN

No posee DJs No posee DJs No posee DJs

Silvina
Debiera incluir los resultados de los join para efectivamente ver que se obtiene la tabla original

Normalización

Bibliografía:

• Date - Introducción a los Sistemas de Bases de Datos

• Elmasri - Fundamentos de Bases de Datos

top related