Upload
injgo-urena
View
227
Download
0
Embed Size (px)
Citation preview
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
Normalización
Bibliografía:
• Date - Introducción a los Sistemas de Bases de Datos
• Elmasri - Fundamentos de Bases de Datos