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

56
Diseño de Bases de Datos Normalización

Upload: injgo-urena

Post on 24-Jan-2016

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

Diseño de Bases de Datos

Normalización

Page 2: 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

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

Page 3: 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

¿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

Page 4: 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

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

Page 5: 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

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

Page 6: 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

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

Page 7: 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

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

Page 8: 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

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

Page 9: 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

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

Page 10: 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

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:

Page 11: 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

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

Page 12: 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

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

Page 13: 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

• ¿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

Page 14: 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

• ¿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

Page 15: 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

• ¿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

Page 16: 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

• ¿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

Page 17: 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

Estos problemas son denominados

Anomalías de actualización

Aspectos importantes a considerar a la hora de diseñar

Page 18: 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

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

Page 19: 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

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

Page 20: 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

Formas Normales (1FN a la 5FN):

Normalización

- Dependencia Funcional- Dependencia Multivaluada- Dependencia Join

Page 21: 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

Normalización (Formas Normales)

2FN 3FN FNBC 4FN1FN 5FN

Universo de todas las relaciones

Page 22: 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

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

Page 23: 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

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

Page 24: 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

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

Page 25: 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

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.

Page 26: 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

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

Page 27: 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

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.

Page 28: 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

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”

Page 29: 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

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

Page 30: 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

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.

Page 31: 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

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:

Page 32: 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

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.

Page 33: 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

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.

Page 34: 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

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

Page 35: 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

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”

Page 36: 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

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

Page 37: 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

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,

Page 38: 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

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

Page 39: 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

Forma Normal de Boyce y Codd

Al descomponer:

• Nro_CatastralDeterminantes:

• Nro_CatastralClaves candidatas:

• SuperficieDeterminantes:

Claves candidatas:• Superficie

BCNF BCNF

Page 40: 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

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

Page 41: 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

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

Page 42: 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

Cuarta Forma Normal

Otra definición:

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

DF

DMV

Page 43: 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

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.

Page 44: 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

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

Page 45: 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

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.

Page 46: 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

Cuarta Forma Normal

Solución:

• Está en BCNF

• No presenta DMV

• Está en BCNF

• No presenta DMV

Está en 4FN Está en 4FN

Page 47: 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

Quinta Forma Normal

Se basa en el concepto de Dependencia Join (DJ)

Dependencia Join = n-descomponible n>2

Page 48: 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

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

Page 49: 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

Quinta Forma NormalProveedores

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

Page 50: 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

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

Page 51: 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

Quinta Forma Normal

Está en 5 FN

Page 52: 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

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

Page 53: 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

Quinta Forma Normal

La inserción de la tupla

Esta restricción genera la siguiente situación:

Page 54: 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

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…

Page 55: 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

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
Page 56: 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

Normalización

Bibliografía:

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

• Elmasri - Fundamentos de Bases de Datos