Modelo Relacional

IV. MODELO RELACIONAL En el tema II se hizo una introducción del modelo de datos relacional. Este modelo, como se vio, h

Views 126 Downloads 0 File size 204KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

IV. MODELO RELACIONAL En el tema II se hizo una introducción del modelo de datos relacional. Este modelo, como se vio, hace una representación del mundo real por un conjunto de estructuras que se llaman relaciones, las cuales se constituyen de dominios y atributos. Sin embrago, en la mayoría de los casos, estas relaciones iniciales tienen, dentro de su constitución, inconsistencias semánticas que provocan anomalías de manipulación. Estas anomalías de manipulación pueden dejar la base de datos en un estado no deseado. Supongamos que en un sistema de hospitalario, lo referente a la atención de los pacientes así como los médicos asignados se representa por medio de la relación ATENCION DE PACIENTES. Cédula 2303776 3214568 4359087 5446872 5781445

Nombre Carlos María Pedro Adrián Juana

Dirección Managua Rivas Managua Granada Granada

ATENCION DE No Médico 125 125 130 135 135

PACIENTES Médico Especialidad Mario Neurología Mario Neurología Carmen Cardiología Isabel Hematología Isabel Hematología

Hospital H. Militar H. Militar Monte España H. Bautista H. Bautista

Esta estructura en la relación tiene problemas relacionados con inconsistencia y administración de las tuplas. Estos son, al insertar, modificar o suprimir tuplas dentro de esta relación. Supóngase que se va a ingresar una paciente de León llamada Carla y debe ser atendida en neurología. Entonces se asigna al médico Mario. Esta situación obliga a la introducción de la Tupla: [3435678, Carla, León, 125, Mario, Neurología, H. Militar] de esta manera se debe repetir la especialidad del medico así como el hospital en donde labora. Por otra parte, si el paciente Pedro es dado de alta y se borra la Tupla correspondiente, se estará perdiendo la información de que Carmen es una cardióloga y que trabaja en el hospital Monte España. Finalmente, si Isabel es remplazada por Erika se deben hacer varias modificaciones en diferentes tuplas. Para evitar este tipo de anomalías, se utiliza el proceso de normalización, que consiste en obtener una serie de relaciones, a partir de la relación original que permitan eliminar estas anomalías sin perder el contenido inicial de la relación. De esta forma la solución para el problema planteado es dividir la relación original en dos nuevas relaciones PACIENTES y MEDICOS: Cédula 2303776 3214568 4359087 5446872 5781445

Nombre Carlos María Pedro Adrián Juana

PACIENTES Dirección Managua Rivas Managua Granada Granada

No Médico Médico

No Médico 125 125 130 135 135

MEDICOS Especialidad

Hospital

IV. MODELO RELACIONAL 125 130 135

Mario Carmen Isabel

26 Neurología Cardiología Hematología

H. Militar Monte España H. Bautista

PROCESO DE NORMALIZACION El proceso de normalización se compone de una serie de seis etapas llamadas formas normales. Paralelo a la definición de las diferentes formas normales, es preciso definir varios conceptos, como son las dependencias funcionales, dependencia multivaluada y dependencia producto.

PRIMERA FORMA NORMAL (1FN) La primera forma normal (1FN) se refiere a la representación de una relación, en la cual los atribuitos son diferentes y los valores de cada uno de ellos son atómicos. EJEMPLO: sea la relación EMPLEADO(Número, Nombre, Fecha-Pago1, Monto1, Fecha-Pago2, Monto2, Fecha-Pago3, Monto3) Número 1068 985 123

Nombre

FechaPago1 Paredes 01/05/96 Martínez 01/05/96 Huete 01/05/96

EMPLEADO Monto1 FechaPago2 50000 01/06/96 70000 01/06/96 60000 01/06/96

Monto2 55000 70000 60000

FechaPago3 01/07/96 01/07/96 01/07/96

Monto3 55000 70000 60000

A pesar que los atributos tienen nombres diferentes, en realidad las fechas de pago representan una sola fecha, lo mismo ocurre con los atributos montos. El problema en esta relación es el hecho que para cada nuevo mes se deben crear dos atributos en el esquema de relación. Una solución al problema anterior seria transformar el esquema de relación a EMPLEADO(Número, Nombre, Fecha-Pago, Monto) donde se comprueba la primera forma normal. Número 1068 985 123 1068 985 123 1068 985 123

EMPLEADO Nombre Fecha-Pago Paredes 01/05/96 Martínez 01/05/96 Huete 01/05/96 Paredes 01/06/96 Martínez 01/06/96 Huete 01/06/96 Paredes 01/07/96 Martínez 01/07/96 Huete 01/07/96

Monto 50000 70000 60000 55000 70000 60000 55000 70000 60000

IV. MODELO RELACIONAL

27

DEPENDENCIAS FUNCIONALES En un esquema de relación se pueden establecer asociaciones entre varios atributos. Así, los valores de algunos atributos en una relación pueden determinar de forma única, el conocimiento de los valores de otros atributos de la misma relación. Formalmente, sea R un esquema de relación y sean X, Y subconjuntos de atributos de R. Se dice que existe una dependencia funcional entre X y Y, y se denota por X  Y. Sí para cualesquiera tuplas t1, t2 de una relación R tal que t1[X]=t2[X] entonces t1[Y]=t2[Y]. En este caso, a X se le llama determinante y a Y el dependiente. Sea el esquema de relación: CHOFER(Cédula, Nombre, Dirección, Fecha-Ingreso, #Placa) Cédula 2303776 3214568 4359087 5446872

Nombre Juan Mora Juan Mora Pedro Adrián

CHOFER Dirección Managua Rivas Managua Granada

Fecha-Ingreso 12-06-91 10-12-87 10-12-87 12-11-86

#Placa 123456 103645 325486 657844

En este caso se puede establecer varios hechos:  Para cada numero de cédula, existe un único nombre asociado, es decir, se verifica la dependencia funcional Cédula  Nombre.  Puesto que un camión puede ser conducido por varios choferes no se verifica la dependencia funcional #Placa  Cédula. En este caso se representa #Placa / Cédula.  Se tiene que Nombre / #Placa, puesto que dos personas distintas pueden tener el mismo nombre. Sin embargo, {Nombre,FechaIngreso}#Placa. Las dependencias funcionales es un concepto que deriva del significado de los datos y no del comportamiento de una relación dada.

CERRADURAS Una vez que se ha obtenido un conjunto de dependencias funcionales que se verifican en un esquema de relación, es interesante preguntarse si a partir de este conjunto de dependencias se pueden inferir otras dependencias funcionales. Un diseñador puede definir para una base de datos un conjunto de dependencias funcionales que son evidentes para él. Sin embrago, pueden existir otras que quizás no consideraron previamente y que son de utilidad para el diseño futuro de la base de datos. El conjunto de todas estsa dependencias funcionales se llama cerradura. Para determinar la cerradura de una relación existe un conjunto de reglas. Esto significa que si F es un conjunto de dependencias funcionales, cualquier dependencia funcional que se infiera a partir de F, se hace sola aplicando las reglas a las dependencias funcionales de F.

IV. MODELO RELACIONAL

28

Axiomas de inferencia de armstrong Sean X, Y, Z y W subconjuntos de atributos de una relación R, en donde se verifican las dependencias funcionales XY, YZ Entonces las siguientes reglas se cumplen: A1 Reflexividad A2 Aumento A3 Transitividad

X  X X  Y  X  Z  Y {X  Y, Y  Z}  X  Z

Reglas derivadas de A1, A2 y A3: A4 Union A5 Descomposicion A6 Pseudotransitividad

{X  Y, X  Z}  X  Y  Z X  Y  X  Z con Z  Y {X  Y, Y  Z  W}  X  Z  W

DERIVACION DE DEPENDENCIAS Sea F un conjunto de dependencias funcionales, en donde U es el conjunto de atributos involucardos en F. Se dice que la dependenciafuncional g:X  Y se deriva de F y se detona F|-g si existen n dependencias funcionales f1, f2, ...,fn talque: 1. fn = g 2. i, i {i, ...,n}, fi  F o bien fi se infiere de {f1,f2,...,fi-1} usando las reglas A1, A2 y A3. EJEMPLO: Sea F el siguiente conjunto de dependencias {f1:Direción, #Dpto.  Fecha-Inicio, Salario f2:Nombre  Dirección}

funcionales

Sea g: Nombre, #Dpto.  Fecha-Inicio, Salario. Entonces F|-g, como se muestra a continuación. 1. Nombre, #Dpto.  Nombre, #Dpto., por A1 2. Nombre, #Dpto.  Dirección, por A1 aplicada a f2 3. Nombre, #Dpto.  Nombre, #Dpto., Dirección, por A3 aplicada a 1 y 2 4. Nombre, #Dpto.  Fecha-Inicio, Salario, por A2 aplicada a f1. 5. g, por A3 aplicada a 3 y 4. Al conjunto de dependencias funcionales que se pueden derivar de un conjunto de dependencias funcionales F se le llama cerradura de F y se denota F+, es decir F+ = {f / F |- f}

IV. MODELO RELACIONAL

29

TEOREMA DE DESCOMPOSICION Sea un esquema de relación R(X, Y, Z), con X, Y, Z conjuntos de atributos de R, tal que la dependencia funcional X  Y se verifica en R. Entonces la relación R se descompone en las relaciones R 1=R[X,Y] y R2=R[X,Z], es decir R = R1 * R2. EJEMPLO: Considere el esquema de relación CURSO(Grupo, Código, Profesor, Aula, Día, Hora) Grupo 01 03 04 07

Código 3M1-IS 3T1-IS 4M1-IS 4M2-IS

Profesor Paredes Martínez Martínez Huete

CURSO Aula H-06 M-01 H-06 H-06

Día Lunes Lunes Martes Jueves

Hora 09 14 10 16

Según el esquema de relación se puede verificar la dependencia funcional Código, Profesor  Aula, Día, Hora. Si se aplica el teorema de descomposición usando esta dependencia se obtienen los siguientes esquemas de relaciones: R1=R[Código, Profesor, Aula, Día, Hora] y R2=R[Grupo, Código, Profesor] Grupo 01 03 04 07

Código 3M1-IS 3T1-IS 4M1-IS 4M2-IS

R1 Aula H-06 M-01 H-06 H-06

Día Lunes Lunes Martes Jueves

Hora 09 14 10 16

Grupo 01 03 04 07

R2 Código 3M1-IS 3T1-IS 4M1-IS 4M2-IS

Profesor Paredes Martínez Martínez Huete

Es importante notar que la descomposición genera redundancia. En efecto, si la dependencia funcional X  Y se verifica, el conjunto de atributos X se duplica en las dos relaciones.

SEGUNDA FORMA NORMAL (2FN) Antes de introducir el concepto de segunda forma normal (2FN), se requiere conocer lo que significa dependencia parcial. En efecto, sea un esquema de relación R, X una llave para R y A un atributo no llave. Se dice que el atributo A depende parcialmente de X si se verifica Y  A, en donde Y es un subconjunto propio de la llave X. Así, una relación R se dice que esta en segunda forma normal, si se encuentra en 1FN y ningún atributo no llave depende parcialmente de la llave de la relación.

IV. MODELO RELACIONAL

30

EJEMPLO: Considere la siguiente relación: INTINERARIO(Num-Viaje, Fecha-Salida, Tarifa, Num-Sitio, Num-Turista) En el esquema de la relación los atributos subrayados forman la llave primaria de la relación (Ver definición Tema II, Pag-13). Puesto que cada viaje tiene asociada una sola tarifa, en esta relación se verifica la dependencia funcional Num-Viaje  Tarifa. En este caso la relación no se encuentra en 2FN ya que el atributo Tarifa depende parcialmente de la llave primaria. Con el fin de eliminar las anomalías provocadas por este hecho, se aplica el teorema de descomposición a la dependencia funcional que viola la 2FN. Al aplicar dicho teorema se obtiene las relaciones R1=INTINERARIO(Num-Viaje, Fecha-Salida, Num-Sitio, Num-Turista) R2=COSTO-INTINERARIO(Num-Viaje, Tarifa)

PROBLEMA

SOLUCION

Como se puede observar, la solución elimina las anomalías almacenamiento, sin embargo, otro tipo de problema persiste.

de

TERCERA FORMA NORMAL (3FN) Sea R(X,Y,Z) un esquema de relación, en donde X, Y, Z son subconjuntos de atributos. Se dice que Z es transitivamente dependiente de X si existe Y tal que se den las siguientes condiciones:   

Se verifica X  Y, No se verifica Y  X, Se verifica Y  Z.

Se dice que una relación R esta en tercera forma normal (3FN), si se encuentra en 2FN y no existen dependencias transitivas entre atributos no llaves. Veamos con más claridad esta definición. Partiendo de las relación R 1 del ejemplo anterior comprovemos que se cumple la 3FN. R1=INTINERARIO(Num-Viaje, Fecha-Salida, Num-Sitio, Num-Turista) Si hacemos la supocision de que cada turista visita un solo sitio al año. Esto significa que se verifica Num-Turista  Num-Sitio. Así el

IV. MODELO RELACIONAL

31

atributo Num-Sitio depende transitivamente de la llave y por lo tanto esta relación no se encuentra en 3FN. Para resolver esta situación hay que aplicar el teorema de descomposición a la dependencia funcional transitiva. De esta forma se obtienen las relaciones:

R1a= INTINERARIO(Num-Viaje, Fecha-Salida, Num-Turista) R1b= SITIO-VISITADO(Num-Turista, Num-Sitio)

IV. MODELO RELACIONAL

PROBLEMA

32

SOLUCION

FORMA NORMAL DE BOYCE-CODD (FNBC) Una relación se encuentra en forma normal de Boyce-Cood si todos los atributos son determinados por llaves. Para analizar esta situación tomemos la relación R1a y supongamos que se tiene la siguiente regla de integridad: Cada turista tiene una sola fecha de salida. Num-Turista  Fecha-Salida. R1a= INTINERARIO(Num-Viaje, Fecha-Salida, Num-Turista) En esta situación aun persisten anomalías de actualización, por ejemplo si se desea suprimir un numero de viaje para una fecha dada, se puede perder la información de cuando el turista realizara su viaje. Entonces para resolver este problema se debe aplicar el terorema de descomposición sobre la dependencia funcional Num-Turista  Fecha-Salida. El resultado es: R1a1= INTINERARIO(Num-Viaje, Fecha-Salida) R1a2= SALIDA-TURISTA(Num-Turista, Fecha-Salida)

DEPENDENCIAS MULTIVALUADA Las dependencias multivaluadas se pueden ver como una generalización de las dependencias funcionales. En efecto, se puede decir que una dependencia multivaluada existe entre dos conjuntos de atributos X, Y, si solo el conjunto de X, e independientemente de otros atributos, determina un conjunto de valores relativos a Y. Se denota X  Y. Axiomas de inferencia Sean X, Y, Z y W subconjuntos de atributos de una relación R, Z el complemento de los atributos X  Y con respecto a R. Entonces las siguientes reglas se cumplen: 1. Reflexividad X  X 2. Complemento X  Y  X  Z 3. Aumento X  Y, V  W  X  W  Y  V 4. Union {X  Y, X  Z}  X  Y  Z 5. Transitividad {X  Y, Y  Z}  X  Y - Z 6. Pseudotransitividad {X  Y, Y  W  Z}  X  W  Z-(Y  W) 7. Descomposición {XY, XZ}  X  Y  Z, X  Y - Z, X  Z - Y.

IV. MODELO RELACIONAL

33

TEOREMA DE DESCOMPOSICION Sea un esquema de relación R(X, Y, Z), con X, Y, Z conjuntos de atributos de R, tal que la dependencia multivaluada X  Y se verifica en R. Entonces la relación R se descompone en las relaciones R1=R[X, Y] y R2=R[X, Z], es decir R = R1 * R2.

CUARTA Y QUINTA FORMA NORMAL (4FN y 5FN) Estas formas normales solamente se verifican cuando las relaciones tiene tinen una llave primaria copuesta por tres o más atributos. Se dice que una relación esta en 4FN, si se encuentra en forma normal de Boyce-Cood y si cada vez que una dependencia multivaluada X  Y se verifica, entonces X contiene a una llave de R. La quinta forma normal se refiere a las llamadas dependencias producto que garantizan la descomposición de una relación en tres o más relaciones, manteniendo el contenido original y con menor redundancia. Formalmente, Sean X1, X2,..., Xn subconjuntos de atributos de una relación R. En donde la unión es igual a los atributos de R. Se dice que la dependencia producto de orden n, denotada por *[X1][X2]...[Xn] Se verifica en R sí R = R[X1]*R[X2]*...*R[Xn] Una relación R se encuentra en 5FN si cada dependencia producto de R esta inducida por las llaves candidatas de R, es decir, cada X i contiene una llave candidata de R.

CONCLUSIONES El proceso de normalización elimina inconsistencias semánticas que provocan anomalías de manipulación. Estas anomalías de manipulación pueden dejar la base de datos en un estado no deseado. En un esquema de Deforma tal que pueden determinar otros atributos funcional.

relación, las asociaciones entre varios atributos, los valores de algunos atributos en una relación de forma única, el conocimiento de los valores de de la misma relación se denomina dependencia

Una relación esta en primera forma normal si:  Sus atributos son atomicos.  No existen campos repetitivos.  Tuplas de igual estructura. La segunda forma normal establece que la relación:  Debe estar en 1FN.  No existen atributos dependientes de parte de la llave. Para que una relación este en tercera forma normal debe cumplir:  Debe estar e 2FN

IV. MODELO RELACIONAL 

No existan atributos respecto a la llave.

34

secundarios

con

dependencia

transitiva

Los teoremas de descomposisión proporciona las herramientas solucionar los problemas de actualización en las bases de datos.

para

EJERCICIOS 1. Dar un ejemplo de esquema de relación que este en 3FN y no este en FNBC. 2. Dado el esquema R(A,B,C,D) y el siguiente conjunto de dependencias F={A  B, B  C} Determine cuales de las siguientes dependencias funcionales se pueden derivar de F usando las reglas de Armstrong. a) A  C. b) A  B,C. c) A,B,C  D. d) A, D  B,C. 3. Sean los atributos A, B, C y D. Dar ejemplos de relaciones con almenos cuatro tuplas, en donde se verifique: a) A,B  C y C  D. b) A  B y B  C. c) A  B y B,C  D.

IV. MODELO RELACIONAL

35

IV. MODELO RELACIONAL.......................................................................................................................25 PROCESO DE NORMALIZACION...................................................................................................... 26 PRIMERA FORMA NORMAL (1FN)........................................................................................................26 DEPENDENCIAS FUNCIONALES..........................................................................................................27 CERRADURAS..........................................................................................................................................27 DERIVACION DE DEPENDENCIAS.......................................................................................................28 SEGUNDA FORMA NORMAL (2FN)......................................................................................................29 TERCERA FORMA NORMAL (3FN).......................................................................................................30 FORMA NORMAL DE BOYCE-CODD (FNBC)......................................................................................32 DEPENDENCIAS MULTIVALUADA.......................................................................................................32 CUARTA Y QUINTA FORMA NORMAL (4FN y 5FN)............................................................................33 CONCLUSIONES.................................................................................................................................. 33 EJERCICIOS......................................................................................................................................... 34