TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y...

35
TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y MODELACIÓN DE DATOS

Transcript of TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y...

Page 1: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

TEORÍA DE LA NORMALIZACIÓN

GESTIÓN Y MODELACIÓN DE DATOS

Page 2: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Problemas que se pueden presentar en un esquema relacional

● Información duplicada

● Actualizar el nombre de un jefe es complicado

● Como saber en que ciudad está un departamento, si aún no tiene empleados?

● 'Juan Carlos Melo' = 'Juan C. Melo'?...

CcEmpleado Nombre Departamento CiudadDpto Jefe

39288271 Sonia Maria Osorio Ventas Cali Santiago de Cali Mario Alfonso Gil

29282813 Mario Alfonso Gil Gerencia Reg. Cali Juan C. Melo

39372722 Juan Carlos Melo Presidente Bogotá

39387472 Andrea Solano Ventas Bogotá Bogotá Carolina Reyes

….

Page 3: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Problemas que se pueden presentar en un esquema relacional

● Redundancia de datos● Ambigüedad● Anomalías de inserción, modificación y

borrado de datos

Page 4: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Normalización

Formas Normales (FN): conjunto de restricciones que evitan problemas de redundancia y anomalías de inserción,

modificación y borrado de datos

Con base en las dependencias funcionales entre los atributos

Page 5: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Dependencias Funcionales

Page 6: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Dependencias Funcionales

Sea R una relación, X e Y subconjuntos de sus atributos:

Y depende funcionalmente de X si cada valor de X tiene asociado el mismo valor de Y en la

relación R

● Se denota X → Y ● X se denomina determinante o implicante● Y son los atributos implicados

Page 7: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Dependencias Funcionales - Ejemplo

ProgramaAcademico(codProg, registroIcfes, nombre,

noCreditos, codDirector, nombreDirector)

Dependencias funcionales:

codProg → registroIcfes nombre noCreditos

codDirector NombreDirector

registroIcfes → CodProg nombre noCreditos

codDirector NombreDirector

codDirector → nombreDirector

Page 8: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Dependencias Funcionales - Ejercicio

Encontrar las dependencias funcionales en:

Escribe(autor, pais, ISBN, titulo, editorial)

Teniendo en cuenta que un libro puede tener varios autores, pero solo esta publicado por una editorial.

Page 9: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Dependencias Triviales

Ejemplo:

A → A

AB → A

AB → B

α → β es trivial si β α

Page 10: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Normalización

Primera Forma Normal

Una relación R está en la primera forma normal (1FN) si los dominios de todos los atributos de R

son atómicos

1FN

Page 11: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Normalización

Segunda Forma Normal

Una relación R está en la segunda forma normal (2FN) si está en 1FN y todos los atributos que no

son parte de la llave primaria dependen funcionalmente, de manera completa, de ella

Page 12: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

NormalizaciónSegunda Forma Normal

Eliminar dependencias parciales

Page 13: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Descomposición

● Para cumplir con las formas normales puede ser necesario descomponer una relación en varias relaciones

● Propiedades deseables de la descomposición:● Descomposición de reunión sin pérdida● Conservación de las dependencias funcionales

Page 14: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Normalización

Tercera Forma Normal

Una relación R está en la tercera forma normal (3FN) si está en 2FN y los atributos que no son

parte de la llave primaria no tienen dependencias funcionales transitivas

● Dependencia Funcional Transitiva: cuando un atributo Y depende funcionalmente de un atributo X, y X no hace parte de la llave de R

Page 15: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

NormalizaciónTercera Forma Normal

Eliminar dependencias transitivas

Page 16: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Normalización

Forma Normal de Boyce-Codd

Una relación R está en la forma normal de Boyce y Codd (FNBC) si siempre que la dependencia

funcional no trivial X → Y se satisface en R, X es una superllave

Page 17: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Normalización

Forma Normal de Boyce-Codd

Llaves candidatas: {cod-e, cod-asig}, {cod-asig, cedula}

Page 18: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Normalización

Cliente Sucursal Vendedor

Frecuencia

● Ejemplo: una relación en 3FN, pero no en FNBC

Cliente-Sucursal

{Cliente, Sucursal} → Vendedor Frecuencia

Vendedor → Sucursal

● Para convertir la relacion a FNBC:

Vendedor

SucursalCliente Sucursal Frecuencia

Page 19: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Ejercicios● Para cada una de las siguientes relaciones:

● Encuentre las dependencias funcionales ● Identifique en que forma normal esta● Lleve el diseño hasta la FNBC

Book (authorName, title, ISBN, publisher, pubYear, pubCountry)

Student (rollNo, name, sex, hostelName, hostelAddress, hostelPhone, roomNo, admitYear) - Cada estudiante tiene una habitación independiente - Hay hospedajes exclusivos para hombres y para mujeres

gradeInfo(rollNo, studName, course, grade) - Cada estudiante tiene una nota en un curso - El nombre del estudiante es tambien un identificador del mismo

Page 20: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Normalización

Cuarta y Quinta Forma Normal

● Aplican en tablas en con 3 o más atributos, en las que todos los atributos hacen parte de la llave primaria

● 4FN: eliminar dependencias multivaluadas

● 5FN: continuar el proceso de descomposición, con base en llaves candidatas

Page 21: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Dependencias Multivaluadas

Dada una relación R y las tuplas t1, t2, t3, y t4:Si t1[α] = t2[α], existe t3 y t4 tal que: t1[α] = t2[α] = t3[α] = t4[α] t3[β] = t1[β] t3[R-β] = t2[R-β] t4[β] = t2[β] t1[R-β] = t4[R-β]

Ejemplo: prof(nombre, dir, tel, asignatura)nombre dir tel asignatura

Juan Cra 23 .. 12345 as2

Juan Cra 23 .. 98765 as1

Juan Cra 23 .. 12345 as1

Juan Cra 23 .. 98765 as2

nombre → dirnombre →→ telnombre →→ asignatura

Page 22: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Dependencias Multivaluadas

Una dependencia multivaluada (DMV) en R, X→→Y , significa que si dos tuplas de R

coinciden en todos los atributos de X, entonces sus componentes en Y se puede intercambiar, y el resultado serán dos tuplas que también están

en la relación

Ejemplo: prof(nombre, dir, tel, asignatura)

nombre dir tel asignatura

Juan Cra 23 .. 12345 as2

Juan Cra 23 .. 98765 as1

Juan Cra 23 .. 12345 as1

Juan Cra 23 .. 98765 as2

Page 23: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Normalización

Cuarta Forma Normal

Una relación R está en 4NF si: siempre quela dependencia X →→ Y es una DMV no

trivial, entonces X es una superllave

Una dmv no trivial significa que:1. Y no es un subconjunto de X, y2. X y Y no son, juntos, todos los atributos.

Page 24: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Normalización● Ejemplonombre dir tel asignatura

Juan Cra 23 .. 12345 as2

Juan Cra 23 .. 98765 as1

Juan Cra 23 .. 12345 as1

Juan Cra 23 .. 98765 as2

nombre dir

Juan Cra 23 ..

nombre tel asignatura

Juan 12345 as2

Juan 98765 as1

Juan 12345 as1

Juan 98765 as2

nombre tel

Juan 12345

Juan 98765

nombre asignatura

Juan as2

Juan as1

Page 25: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Ejercicios

Para cada una de las siguientes relaciones:● Encuentre las dependencias funcionales

multivaluadas ● Lleve el diseño hasta la 4FN

Libro(ISBN, Titulo, Materia, Autor, Fecha) - Un libro tiene varios autores y se usa en varias materias

Vendedor(cedula,nombre,producto,cliente)

- Un vendedor vende varios productos a varios clientes

Page 26: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Cierre de un Conjunto de Dependencias Funcionales

● Dado un conjunto F de dependencias funcionales se puede probar que se cumplen otras dependencias que están implicadas lógicamente por F

Ejemplo: Dado R = (A B C G H I) y

A→ B A→ CCG → H CG → I B → H

La dependencia funcional A→H está implicada lógicamente: Si t1 y t2 son dos tuplas tales que t1[A] = t2[A] Como A → B, entonces t1[B] = t2[B], Como B → H, entonces t1[H] = t2[H], Por lo tanto, siempre que t1[A] = t2[A] se cumple que t1[H] = t2[H], lo cual es la definición de A → H

Page 27: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Cierre de un Conjunto de Dependencias Funcionales

El Cierre de un Conjunto de Dependencias Funcionales F, denotado por F+, es el conjunto de

todas las dependencias funcionales implicadas lógicamente en F

Axiomas de Armstrong● Regla de la Reflexividad● Regla de la Aumentatividad● Regla de la Transitividad

Page 28: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Cierre de un Conjunto de Dependencias Funcionales

Axiomas de Armstrong● Reflexividad: Si β ⊆ α, entonces α→β

● Aumentatividad: Si α→β, entonces γα →γβ

● Transitividad: Si α →β y β →γ, entonces α →γ

Notación: α,β,γ,... denotan conjuntos de atributos A,B,C,... denotan un atributo particular αβ... denota α ᴜ β

Page 29: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Cierre de un Conjunto de Dependencias Funcionales

Los Axiomas de Armstrong son correctos y completos (sound and complete)● Correctos (sound): no generan dependencias

funcionales incorrectas● Completos (complete): generan todas las

dependencias funcionales implicadas lógicamente

Page 30: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Cierre de un Conjunto de Dependencias Funcionales

Reglas Adicionales (se pueden demostrar con los Axiomas de Armstrong):● Unión: Si α→β y α→γ, entonces α →βγ● Descomposición: Si α→βγ, entonces α→β y

α→γ● Pseudotransitividad: Si α →β y γβ →δ,

entonces αγ →δ

Page 31: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Cierre de un Conjunto de Atributos

● El cierre de un conjunto de atributos α, denotado α+, permite determinar las llaves de una relación, y si se cumple una dependencia funcional α → β

resultado := α;while (cambios en resultado) do for each dependencia funcional β →γ in F do begin if β ⊆ resultado then resultado := resultado ∪ γ; end

● α es una super llave si en resultado quedan todos los atributos de la relación

● α → β si β ⊆ resultado

Page 32: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Cierre de un Conjunto de Atributos

Ejemplo: Dado R = (A B C G H I) y

A→ B A→ CCG → H CG → I B → H

● Calcular (CG)+● ¿Es (CG) superllave de R?● ¿CG → A ?

● Calcular (AG)+● ¿Es (AG) superllave de R?

Page 33: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Normalización y Diseño de BD

● Generalmente un buen diseño E-R al trasladarse a relacional queda normalizado. Los problemas de normalización que se encuentren en el m.relacional se podrán corregir modificando el MER.

● Enfoque de Relación universal: un segundo enfoque de diseño de BD.● Consiste en definir un solo esquema de relación

con todos los atributos, y normalizarlo

Page 34: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Desnormalización y Rendimiento

● Algunas veces es necesaria la redundancia para mejorar el desempeño de operaciones críticas

● Se debe garantizar que los datos redundantes se mantengan consistentes: costo de codificación y de tiempo de ejecución, posibilidad de errores

● Alternativa: usar vistas materializadas (almacenadas fisicamente), que son actualizadas automáticamente por el gestor de BD. Solo costo de tiempo de ejecución

Page 35: TEORÍA DE LA NORMALIZACIÓN GESTIÓN Y ...cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:bd1:...Ejercicios Para cada una de las siguientes relaciones: Encuentre las dependencias

Ejercicio

● Usando el enfoque de Relación Universal, modele la base de datos de un banco, con la siguiente información:

● El banco ofrece a sus clientes cuentas corrientes y cuentas de ahorro. Las cuentas pertenecen a una sucursal.

● De los clientes se almacena la información básica: identificación, nombre, apellido, dirección de correspondencia, uno o varios números de teléfono, y empresa donde labora.

● De las sucursales se tiene código, nombre y dirección.● Las cuentas tienen saldo a la fecha y movimientos de

depósito y retiro, en los cuales se registra un número de transacción, el valor, la fecha, y la sucursal en que se realizó