You are on page 1of 18

Institucion de Educacin Superior de Campeche Algoritmos de descomposicin.

Un algoritmo de diseo de base de datos relacionales y dependencia adicionales. Hay dos tcnicas principales para disear esquemas de base de datos relacionales. La primera es un diseo descendente, en la cual implica disear un esquema conceptual en un modelo de datos de alto nivel, cmo el modelo ER, y luego transformar el esquema conceptual en un conjunto de relaciones empleando un procedimiento de transformacin. Estudiaremos cada uno de las relaciones usando las dependencias funcionales y se le asignarn claves primarias, aplicando un procedimiento de normalizacin para eliminar las dependencias parciales y transitivas s an existiese alguna. El anlisis sobre la dependencia los deseadas pudiera efectuarse durante el propio diseo conceptual analizando la dependencias funcionales entre los atributos contenidos en los tipos de entidad y en los tipo de relacin, de esta manera un no tenemos que verlo en la necesidad de realizar una normalizacin adicional una vez que se haya realizado la transformacin. En el segundo enfoque el cual nombramos diseo ascendente, la cual es una tcnica ms refinada que implica observar el diseo de esquemas de base de datos relacionales estrictamente en trminos de dependencias funcionales y dependencias de otros tipos, especificadas por para los atributos de la base de datos. Una vez que se especifica las dependencias se aplica un algoritmo de normalizacin que tiene como objetivo sintetizar los esquemas de relacin. Cada esquema de la relacin individual de posee la caractersticas asociadas a la tercera forma normal o a la forma normal BD o alguna otra forma normal superior. Ms adelante veremos alguno de sus algoritmos de normalizacin as como otros tipos de dependencias. Tambin examinaremos ms detalladamente la dos propiedades deseables de las reuniones no admitidas (sin prdidas) y la conservacin de las dependencias. Los algoritmos de normalizacin suele comenzar a sintetizando un esquema de relacin un gigante, llamado relacin universal, que incluye todos los atributos de la base de datos. Luego se realizar repetidamente una descomposicin hasta que ya no sea factible seguir, de acuerdo con las dependencias funcionales a y de otra naturaleza que hayan sido especificadas. Presentaremos a continuacin varios algoritmos de normalizacin basado slo en dependencias funcionales que pueda servir para sintetizar los esquemas de la tercera forma normal a y de la forma normal B C. Comenzaremos describiendo las dos propiedades de descomposicin deseables, que son la propia de conservacin de las dependencias y la propia de reuniones sin prdidas, con las que los algoritmo de diseo efectan las de composiciones deseables. Demostraremos que la formas normales son insuficientes por s solas como criterio para disear un buen esquema de base de datos relacional. Las relaciones debe satisfacer conjuntamente est son propiedades adicionales para poder ser consideradas como un buen diseo. Luego estudiaremos otro tipo de dependencia con respecto a los datos entre las que se incluyen las dependencias multivaluadas y las dependencias de reunin, que especifica restricciones que no pueden expresarse mediante dependencias funcionales. La presencia de estas dependencias dado lugar a la

definicin de la cuarta forma normal y desde la quinta forma normal mundo. Tambin definiremos las dependencias de inclusin y las dependencias de plantillas finalmente examinaremos brevemente la forma normal de dominio clave. Veremos a continuacin ejemplos con lo que se pueda comprobar que una relacin individual estado en una forma normal superior no garantiza por s mismo un buen diseo; ms bien, un conjunto de relaciones, que constituyen el esquema de base de datos relacional deben posee cierta propiedades adicionales para asegurar un buen diseo. Dos de esas propiedades son la propiedad de conservacin de las dependencias y la propiedad de reunin sin prdidas. Los algoritmos de descomposicin garantizan estas propiedades y adems aseguran que las relaciones individuales estn correctamente normalizadas. Se ver adems los problemas asociados. Descomposicin de relaciones insuficiencia de las formas normales. Los algoritmos de diseos de bases de datos relacionales que presentamos aqu parten de un solo esquema de relacin universal R={A1,A2,,An} que contiene todos los atributos de la base de datos. Hacemos implcitamente la suposicin de relacin universal, que nos dice que todos los nombres de atributos son nicos. El conjunto F de dependencias funcionales que deben cumplir los atributos de R son especificados por los diseadores y est disponible para los algoritmo diseo. Con las dependencias funcionales, los algoritmo de componen el esquema de relacin universal R en un conjunto de esquemas de relacin D={R 1,R2,.,Rn} que se convertir en el esquema de la base de datos relacional; a D se le denomina descomposicin de R. Debemos asegurarnos que todos los atributos DE R aparezcan en por lo menos un esquema de relacin Ri, de la descomposicin, de modo que no se pierdan atributos. En trminos formales:

A esta condicin se le denomina condicin de conservacin de atributos de una descomposicin. Otro objetivo es lograr que cada relacin individual R I de la descomposicin D este e en la forma normal BC. Sin embargo, esta condicin no es suficiente por s sola para obtener un buen diseo de base de datos. Hay que considerar la descomposicin como un todo, adems de examinar las relaciones individuales. Mediante un ejemplo vamos a ilustrar este punto, considere la mala relacin LOCS_EMP de la figura siguiente que est en tercera forma normal y tambin en forma normal BC.

De hecho, cualquier esquema de relacin que slo tenga dos atributos estar automticamente en forma normal BC. Aunque LOCS_EMP est en forma normal BC, producir tuplas espurias cuando se le rena con EMP_PROY1(NSS,NUMEROP,HORAS,NOMBREPR,LOCALIZACIONP) que representa un esquema de relacin especialmente malo debido a lo rebuscado de su semntica segn la cual LOCALIZACIONP da la ubicacin de uno de los proyectos en lo que un empleado trabajo. Si reunimos LOCS_EMP con

PROYECTO(NOMBREPR,NUMEROP,LOCALIZACIONP,NUMD) de la figura siguiente, que est en forma normal BC, tambin tendremos tuplas espurias. Necesitamos otros criterios que, conjuntamente las condiciones de la tercera forma normal por la forma normal BC, eviten tales diseos deficientes.

Veamos a continuacin las condiciones adicionales que deben satisfacer globalmente una descomposicin D. Descomposicin y conservacin de las dependencias. Sera til que toda dependencia funcional X Y especificada en F apareciera discretamente en uno de esquemas de relacin RI. In formalmente, este es la condicin de conservacin de las dependencias.

Queremos conservar las dependencias porque cada dependencia en F representa una restriccin sobre la base de datos. Si alguna de la dependencia no est representada en alguna relacin individual RI de la descomposicin, no podemos hacer cumplir esta restriccin con slo examinar una relacin individual; tendremos entonces que running dos, relaciones de la descomposicin y luego verificar que la dependencia funcional se cumplen el resultado de la operacin de reunin. ste es a todas luces un procedimiento ineficiente y poco prctico. No es necesario que las dependencias exactas especficas en F aparezcan en relaciones individuales de la descomposicin D. Basta con que la unin de la dependencia que se cumplen en la relaciona individuales de D sea equivalente a F. Ahora definiremos estos conceptos en trminos ms formales. Primero necesitamos una definicin preliminar: dado un conjunto de dependencias de f sobre R, la proyeccin de F sobre RI, denostada por RI(F) donde RI es un subconjunto de R2, es el conjunto de dependencias XY en F+tal que los atributos de X Y estn todos contenidos en Ri. As pues, la provisin de F sobre cada esquema de la relacin Ri de la descomposicin D es el conjunto de dependencias funcionales en F+, tales que todos sus atributos de la parte izquierda en la parte derecha estn en Ri. Decimos que una descomposicin D={R1,R2,,Rm} de R es conservadora de las dependencias respecto a F si la unin de las proyecciones de F sobre cada Ri de D es equivalente a F; esto es,

Si una descomposicin no conserva las dependencias, alguna dependencia se perder en la descomposicin. Como ya mencionamos, para comprobar si se cumpli no una dependencia perdida debemos obtener la REUNIN de varias relaciones de la descomposicin para obtener una relacin que incluya todos atributos de la parte izquierda y derecha de la dependencia prdida, y luego comprobar que la dependencia sea plida en el resultado de la REUNIN, opcin que no resulta prctica. En la figura siguiente se muestra un ejemplo descomposicin que no conserva las dependencias pues ah se pierde la dependencia funcional DF2 cuando PARCELAS1A se descompone en{PARCELAS1AX, PARCELAS1AY}.

Sin embargo, la descomposicin de la siguiente figura, en cambio s conservan las dependencias.

De modo similar, para el siguiente ejemplo, independientemente de la descomposicin que se escoja para la relacin IMPARTE(ESTUDIANTE,CURSO,PROFESOR) de las tres mostradas, se pierde una o dos de la dependencia que estaban presentes originalmente.

A continuacin, expresamos una afirmacin relacionada con esta propiedad sin proporcionar ninguna demostracin.

AFIRMACIN 1: siempre es posible encontrar una descomposicin D conservadora de las dependencias respecto a F la tal que toda relacin Ri en D est en tercera forma normal. El algoritmo I crea una recomposicin conservadora de las dependencias D={R 1, R 2,.,Rm} de una relacin universal R basada en un conjunto dependencias funcionales F, de tal manera que cada Ri en D est en tercera forma normal. Este algoritmo garantiza slo la propiedad de conservacin de las dependencias; no garantiza la propiedad de reunin sin prdidas que analizaremos en la siguiente seccin. El primer paso del algoritmo es encontrar una cobertura mnima G para F. Para este paso se puede emplear el algoritmo siguiente: Algoritmos para hallar una cobertura mnima G para F. Asignar G:=F Reemplazar cada dependencia funcional X {A1,A2,..,An} en G por las n dependencias funcionales XA1,XA2,..,XAn. Para cada dependencia funcional X A en G Para cada atributo B que sea un elemento de X Si (G-{XA}) {(X-{B})es equivalente a G Entonces reemplazar X A coN (X-{B})A en G. Para cada dependencia funcional el restante X A en G. S {G{XA}) es equivalente a G Entonces elimina la X A de G

Un algoritmo I. Algo digno de sntesis relacional con conservacin de las dependencias. ENTRADA: una relacin universal R y un conjunto dependencias funcionales F sobre los atributos de R. Encontrar una cobertura mnima G para F. Utilizar el algoritmo anteriormente presentado. Para cada parte izquierda X de una dependencia funcional que aparezca en G, crear un esquema de relacin en D con los atributos {X {A1} {A2}.. {Ak}}, donde XA1, XA2,., XAk sean las nicas dependencia en G con X como parte izquierda (X es la clave de esta relacin);

Colocar cualquier atributos restante (no colocado) en un esquema de relacin para asegurar la propiedad de conservacin de atributos;

AFIRMACIN 1A: todo esquema de relacin creado por el algoritmo I est en tercera forma normal. Est claro que el algoritmo conservar todas las dependencias en G porque cada una de la dependencia aparece en una de las relaciones Ri de la descomposicin D. Puesto que g es equivalente a F, todas a las dependencias en F se conservan directamente en la descomposicin o bien pueden derivarse de las que se cumplen en las relaciones resultantes, garantizando as la propiedad de conservacin de las dependencias. El algoritmo I se denomina algoritmo de

sntesis relacional porque cada uno de los esquemas de relacin Ri en la descomposicin se


construye a partir de un conjunto de dependencias en G con la misma parte izquierda X.

Descomposicin y reuniones sin prdidas (no adictivas)


Otra propia que debe poseer una descomposicin de y es la propiedad de reunin sin prdidas o no adictiva, la cual garantiza que no se generarn tuplas espurias cuando se aplique una operacin de REUNIN NATURAL a las relaciones de la descomposicin.+++++ como ste es una propiedad de una descomposicin de esquemas de relacin, la condicin de ausencia de tuplas espurias deber cumplirse en todos los estados de la relacin permitidos; esto es, todos los estados de relacin que satisfaga las dependencias funcionales especificada sobre los esquemas. Por ello, la propiedad del unin sin prdida siempre se definen con respecto a un conjunto especfico de dependencias F. En trminos formales, una descomposicin D={R1,R2,,Rm} de R tiene la propiedad de reunin sin prdidas respecto al conjunto de dependencias F sobre R s, por cada estado de relacin r de R que satisfaga F, se cumple lo siguiente, donde * es la REUNIN NATURAL de todas las relaciones de D:

El trmino sin prdida se refiere a la prdida de informacin, no a la prdida de tuplas. Si una de composicin no posee la propiedad de reunin sin prdidas, es posible que tengamos tuplas espurias adicionales despus de aplicar las operaciones PROYECTAR () y REUNIN NATURAL (*); estas tuplas adicionales representan informacin errnea. Preferimos el trmino reunin no adictiva porque describe la situacin con mayor exactitud; si la propiedad es vlida en una descomposicin, estaremos seguros de que no se aadirn tuplas espurias, informacin errnea al resultado de aplicar las operaciones PROYECTAR y REUNIN NATURAL. Es obvio que la descomposicin de EMP_PROY(NSS,NUMEROP,HORAS,NOMBREE,NOMBREP,LOCALIZACIONP) de la siguiente figura ....

en LOCS_EMP(NOMBREE,LOCALIZACIONP) y EMP_PROY1(NSS, NUMEROP, HORAS, NOMBREP ,LOCALIZACIONP) de la siguiente figura

.. no posee en la propiedad de reunin sin prdidas como se muestra en la figura siguiente.

Podemos emplear el algoritmo II para verificar si una descomposicin D dada a tiene la propiedad de reunin sin prdidas respecto un conjunto de dependencias funcionales F. Algoritmo II Comprobacin de la propiedad de reunin sin prdidas (no adictiva). ENTRADA: una relacin universal R, uno de composicin D={R 1, R 2,...., Rm} de R, y un conjunto de dependencias funcionales F. Crear una matriz inicial S con una fila por cada relaciones Ri en D y una columna j por cada atributo Aj en R. Asignar S (i, j):=bij para todas las entradas de la matriz; (* cada bij es un smbolo distinto asociado a los ndices (i,j)*) Para cada fila i que representa el esquema de relacin Ri {para cada columna j que represente el atributo Aj {si (Ri incluye el atributo Aj), entonces hacer S(i,j): =aj;}: (* cada aj es un smbolo distinto asociado al ndice (j)*) Repetir el siguiente bucle hasta que una ejecucin del bucle completa no modifique S {para cada dependencia funcional X Y en F {para todas las filas en S que tiene los mismos smbolos en las columnas correspondientes a los atributos en X {hacer que los smbolos de cada columna que corresponden a un atributo en que sean iguales en todas estas filas de la siguiente manera: si cualquiera de las filas tiene un smbolo " a" en la columna, asignar el mismo smbolo " a" a las otra fila en esa columna; si no

hay ningn smbolo "a para el atributo o en ninguna de las filas, escoger uno de los smbolos "b" que aparece en una de las filas del atributo y asignar ese smbolo " b" a las otras filas en esa columna;};};}; Si una pila consta de lcidamente de smbolos "a", la descomposicin posee la propiedad de reunin sin prdidas; en caso contrario no la poseen.

Dada una relacin R que se descomponen una serie de relaciones R1,R2,..,Rm, el algoritmo crea un estado de relacin r en la matriz la S. La fila i en S representa una tupla ti (que corresponde a la relacin Ri) que tiene smbolos <<a>> en las columnas que corresponden a los atributos de Ri y simbolos <<b>> en las columnas restantes. A continuacin, en la corimo transforma las filas de esta matriz (durante el bucle el paso cuatro) para que representen las tuplas que satisfagan todas las dependencias funcionales de F. Al final del bucle de aplicacin de dependencias funcionales, dos fila cualquiera de S, las cuales representan dos tuplas de r, que coincide con sus valores para los atributos de la parte izquierda X de una dependencia funcional XY en F, tambin concedida en sus valores para los atributos de la parte derecha Y. Puede demostrarse que, si cualquier fila de S termina nicamente con smbolos <<a>> al final del bucle el paso cuatro, da de composicin D poseer la propiedad del unidos sin prdidas respecto a F. S, en cambio, ninguna fila terminar slo con simbolos <<a>>, entonces D no satisfar la propiedad de reunin sin prdidas. En este ltimo caso, el estado de redaccin r representado por S al final de la corimo ser un ejemplo de relacin r de R que satisface las dependencias en F pero que no posee la propiedad del unidos sin prdidas. De este modo, esta relacin sirve como contra ejemplo que demuestra que la descomposicin D no tiene la propiedad del unidos sin prdidas respecto a F . Advirtase que los simbolos <<a>> y <<b>> no tiene ningn significado especial al final del algoritmo.

La siguiente figura muestra cmo aplicamos el algoritmo II a la descomposicin del esquema de relacin EMP_PROY

Para dar los dos esquemas de relacin EMP_PROY y LOCS_EMP

El bucle el paso cuatro del algoritmo no puede cambiar ningn smbolo <<b>> a <<a>>; por lo tanto, la matriz S resultante no cuenta con una fila nicamente de simbolos <<a>> as que la descomposicin no posee de la propiedad de reunin sin prdidas.

La siguiente figura..

. Muestra otra descomposicin de EMP_PROY en EMP,PROYECTO Y TRABAJA_EN que posee la propiedad de reunin sin prdidas, y la siguiente figura..

Ilustra cmo aplicamos el algoritmo a esa descomposicin. Tan pronto como una fila conste nicamente de smbolos <<a>>, sabemos que la descomposicin posee la propiedad de reunin sin prdidas y podemos dejar de aplicar las dependencias funcionales (paso cuatro del algoritmo) a la matriz S. Propiedad RSP2 Si una de composicin D={R1,R2,.,RM} de R posee la propiedad de reunin sin prdidas respecto a un conjunto de dependencias funcionales F sobre R, y si una de composicin D1={Q1,Q2,.,QK} de Ri, entonces la descomposicin D2={R1,R2,..,Ri-1, Q1,Q2,..QK, Ri+1,.,Rm} de R posee la propiedad de reunin sin prdidas respecto a F. La propiedad RSP2 dicen que, si una descomposicin D ya posee la propiedad de reunin sin prdidas(respecto a F) y descomponemos uno de los esquemas de relacin Ri de D en otra descomposicin D1 que tambin tenga la propiedad de reunin sin prdidas, respecto a Ri(F), entonces el reemplazo de Ri de D por D1 ocasionar una descomposicin que tambin habr de poseer la propiedad de la unin sin prdidas respecto a F.

El algoritmo III utiliza la propiedades RSP1 y RSP2 para crear una descomposicin de reunin sin prdidas D={R1,R2,.,Rm} de una relacin universal R basada en un conjunto dependencias funcionales F, tal que cada Ri en D est en la forma normal BC. Algoritmo III.

Descomposicin relacional en relaciones que estn en FNBC con la propiedad de reunin sin prdidas. ENTRADA: Una relacin universal R y un conjunto de dependencias funcionales F sobre los atributos de R. Asignar D:={R}; Mientras haya un esquema de relacin Q en D que no est en forma normal BC hacer { Escoger un esquema de relacin Q en la D que no est en forma normal BC; Encontrar una dependencia funcional X Y en Q debi de la forma normal BC; Reemplazar Q en D por dos esquemas (Q-Y) y (X) }; En cada repeticin del ciclo que la algoritmo tres descomponemos un esquema de relacin Q que no est en forma normal BC para obtener dos esquemas de relacin. En virtud de las propiedades RSP1 y RSP2, la de composicin D posee la propiedad de reunin sin prdidas. Al final del algoritmo, dos esquemas de relacin en D estarn en forma normal BC. Se puede comprobar en el ejemplo de normalizacin de las siguientes figuras

Bsicamente sigue este algoritmo. En las dependencias funcionales DF3, DF4 y, posteriormente. DF5 de violar la forma normal BC, as que la relacin PARCELAS se descompone correctamente en relaciones FNBC, y entonces la descomposicin satisfar la propiedad del unidos sin prdidas. De modo similar, si aplicamos el algoritmo al esquema de relacin IMPARTE de la siguiente figura

. Siga este se descompone en y deIMPARTE1 (PROFESOR, ESTUDIANTE) ..()

You might also like