Tema 4.7 Algoritmos de Descomposición
Descomposición (Tema 7.4)
En los esquemas de relación, cuando tienen muchos
atributos se descomponen en varios esquemas con menos atributos. Una
descomposición poco cuidadosa, puede llevar a un mal diseño. Estas pueden
ser una descomposición con pérdida, o una descomposición de reunión con
pérdida. Una descomposición que no es una descomposición con pérdida
es una descomposición de reunión sin pérdida. Quedando claro que una
descomposición de reunión con pérdida supone, en general, un
mal diseño de base de datos. Siempre se tiene que averiguar el motivo
por el que la descomposición es una descomposición con pérdida. El
concepto de descomposición de reunión sin pérdida resulta fundamental para
gran parte del diseño de bases de datos relacionales. Para tener una
descomposición de reunión sin pérdida hay que imponer restricciones en el
conjunto de las relaciones posibles.
Ejemplo: Descomposición de relaciones
Esquema-sucursal-cliente = (nombre-sucursal,ciudad-sucursal, activo, nombre-cliente)
Esquema-cliente-préstamo = (nombre-cliente,número-préstamo, importe)
Ejemplo: Descomposición de relaciones
Esquema-sucursal-cliente = (nombre-sucursal,ciudad-sucursal, activo, nombre-cliente)
Esquema-cliente-préstamo = (nombre-cliente,número-préstamo, importe)
Propiedades (Tema 7.5)
Se pueden utilizar un conjunto de dependencias
funcionales para diseñar una base de datos relacional en la que no se
encuentren la mayor parte de las propiedades no deseables. Cuando se
diseñan este tipo de sistemas, puede hacerse necesaria la descomposición
de una relación en varias relaciones de menor tamaño. Algunas de las propiedades
deseables de las descomposiciones de los esquemas relacionales se
describen maneras concretas al descomponer un esquema relacional para
obtener las propiedades deseadas.
Para demostrar esta afirmación antes hay que presentar
un criterio para determinar si una descomposición es una descomposición con
pérdida. Sea R un esquema de relación, y sea F un conjunto de
dependencias funcionales de R. R1 y R2 forman una descomposición de R.
Esta descomposición es una descomposición de reunión sin pérdida de R si al
menos una de las siguientes dependencias se halla en F+:
• R1 ∩ R2 → R1
• R1 ∩ R2 → R2
Otro de los objetivos en el diseño de las bases de datos
relacionales es la conservación de las dependencias, cuando se lleva
a cabo una actualización de la base de datos el sistema debe poder
comprobar que la actualización no crea ninguna relación ilegal, es decir,
una relación que no satisface todas las dependencias que se
tienen. Si hay que comprobar de manera eficiente las actualizaciones se
deben diseñar unos esquemas de bases de datos relacionales que permitan la
validación de las actualizaciones.
Tema 4.8 Formas Normales Superiores
Cuarta Forma Normal (Tema 7.8)
Algunas veces parece que algunos
esquemas de relación, estén lo bastante normalizados, en el sentido de que siguen
sufriendo el problema de la repetición de la información. Las dependencias
funcionales impiden que ciertas tuplas estén en una relación. Si A→B, entonces no
puede haber dos tuplas con el mismo valor de A y diferentes valores de B.
Las dependencias multivaloradas, por otro lado, no impiden la existencia de
esas tuplas. Por este motivo, las dependencias funcionales se denominan a veces
dependencias de generación de igualdad y las dependencias
multivaloradas se conocen como dependencias
de generación de tuplas. Sea R un esquema de relación y
sean α ⊆ R y β
⊆ R. La dependencia multivalorada: α →→β se cumple en R si, en toda relación legal r(R),
para todo par de tuplas t1 y t2 de r tales que: t1[α]
= t2[α], existen unas tuplas t3 y t4
de r tales que
t1[α]
= t2[α] = t3[α]
= t4[α]
t3[β]
= t1[β]
t3[R – β]
= t2[R – β]
t4[β]
= t2[β]
t4[R – β]
= t1[R – β]
Al igual que con las dependencias
funcionales, las dependencias multivaloradas se utilizan de dos maneras:
1. Para verificar
las relaciones y determinar si son legales bajo un conjunto dado de
dependencias funcionales y multivaloradas.
2. Para especificar
restricciones del conjunto de relaciones legales; de este modo, sólo habrá
que preocuparse de las relaciones que satisfagan un conjunto dado de
dependencias funcionales y multivaloradas. A partir de la definición de dependencia
multivalorada se puede obtener la regla siguiente:
•
Si α →β, entonces α →→β.
En otras palabras, cada dependencia
funcional es también una dependencia multivalorada.
Por Ejemplo:
Esquema-BC=(número-préstamo,nombre-cliente,calle-cliente,ciudad-cliente)
depende funcionalmente de: nombre-cliente → calle-cliente ciudad-cliente
debido a que nombre-cliente no es una clave de Esquema-BC.
Por Ejemplo:
Esquema-BC=(número-préstamo,nombre-cliente,calle-cliente,ciudad-cliente)
depende funcionalmente de: nombre-cliente → calle-cliente ciudad-cliente
debido a que nombre-cliente no es una clave de Esquema-BC.
Otras Formas Normales (tema 7.9)
La cuarta forma normal no es, de ningún
modo, la forma Normal definitiva. Como ya se ha visto, las dependencias multivaloradas
ayudan a comprender y a abordar algunas formas de repetición de la información
que no pueden comprenderse en términos de las dependencias funcionales. Hay tipos
de restricciones denominadas dependencias
de reunión que generalizan las dependencias multivaloradas y llevan a
otra forma normal denominada forma normal
de reunión por proyección (FNRP)
(la FNRP se denomina en algunos libros quinta forma normal).
Hay una clase de restricciones todavía más generales, que lleva a una forma
normal denominada forma normal de
dominios y claves (FNDC). Un problema práctico del empleo de estas
restricciones generalizadas es que no sólo es difícil razonar con ellas, sino
que tampoco hay un conjunto de reglas de inferencias seguras y completas para
razonar sobre las restricciones. Por tanto, la FNRP y la forma normal de
dominios y claves se utilizan muy raramente.
Conclusión:
La idea principal de los Algoritmos
de Descomposición trata sobre problema de la especificación de
restricciones para las bases de datos y del modo de obtener
descomposiciones de reunión sin pérdida que eviten los
inconvenientes representados en malos diseños de bases de
datos, además la falta de redundancia de la descomposición es algo
deseable. El grado hasta el que se puede conseguir esta falta de
redundancia viene representado por varias formas normales en base a
dependencias de generación de igualdad o multivaloradas.
No hay comentarios:
Publicar un comentario