Sunteți pe pagina 1din 151

- I-

T E S I S

CARACTERIZACIN MATEMTICA DE LAS {ASES DE DATOS RELACINALES A 'W'riR DE LOS AXIOMAS DE ARMSTROMG: UNA APROXIMACIN DESDE EL i .INTO DE VISTA ANALTICO. Por MARA COVADONGA FERNANDEZ BAIZAN Ingeniero Superior de Telecomunicacin Presentada en la FACULTAD DE INFORMTICA de la UNIVERSIDAD POTECNICA DE MADRID Para la obtencin del ORADO DE DOCTOR EN INF

T- l
Madrid, Septiembre de 1.981

- II -

T E S I S

D O C T O R A L

CARACTERIZACIN MATEMTICA DE LAS BASES DE DATOS RELACINALES A PARTIR DE LOS AXIOMAS DE ARMSTRONG: UNA APROXIMACIN DESDE EL PUNTO DE VISTA ANALTICO.

Por: D- Mara Covadonga Fernndez Baizn

Director de Tesis: D. Rafael PORTAENCASA BAEZA

LB_LLy_!LA_L_9-LLLLl-C_A_L9_R.

Presidente :

Vocales :

Madrid,

de Septiembre de 1.981

- III -

PLANTEAMIENTO Y RESUMEN DE LA TESIS

El contenido de este trabajo se inscribe dentro del campo de las Bases de Datos, ms concretamente, de las Bases de Datos Relacinales, para las que los resultados obtenidos son de inmediata aplicacin.

El so.ftwarede gestin de una Base de Datos Relaciona!, debera incluir un modo de conocer el grado de normalizacin de una relacin, ya que, del manejo de relaciones no normalizadas, pueden derivarse ciertas inconsistencias (son las denominadas anomalas de insercin, borrado y actualizacin). Nuestro objetivo es proporcionar un fundamento matemtico para tales tcnicas.

El mtodo utilizado, parte de las dependencias funcionales

definidas en el esquema inicial, calculando todas las claves. Esta dete minacin, unida a un estudio en detalle de las propiedades matemticas de las Formas Normales, y a la caracterizacin de los atributos principa_ les y no principales; permite la elaboracin de dos sencillos Algoritmos, que,aplicados lizacin. a una relacin, producen como resultado su nivel de norma-

- IV -

ABSTRACT

The matter dealt with in this paper belongs to the Data Bases field or, more specifically, to Relational Data Bases; results obtained are therefore suitable for being appied directly.

A relational Data Bases management software should include so_ me way knowing the standardizaron degree of a relation because the use of non-standarized relations may entail inconsistencies (called e n t e ring, erasing and bringing up to date anomalies). Our purpose in to fing a mathematica! basis for such techniques. -

The method employed starts from functional dependencies shown in the initial diagram, all the code groups being calculated. This dete niination together with a detailed examination of the mathematical proper_ ties of standard forms and with the identification of the chief and less

important inherent characteristics, allows to work out two simple Algo-rithms that when applied to a relation show its standardization level.

- V -

AGRADECIMIENTOS

Deseo expresar en primer lugar mi gratitud al Profesor D. Ra_ fael Portaencasa Baeza, director de la Tesis, por la valiosa ayuda, consejo y orientacin que en todo momento me ha prestado a los largo de su realizacin.

El desarrollo de este trabajo no habra sido posible sin las facilidades que para ello se me han brindado en la Facultad de Informtj_ ca de Madrid, a cuyo Decano, D. Antonio Insua Negrao, deseo expresar por ello mi agradecimiento.

Me ha sido asimismo de gran utilidad la colaboracin manteni_ da con la Profesora D- Adoracin de Miguel, por su gran experiencia profesional en el campo de las Bases de Datos.

Debo mencionar tambin a todas las personas e instituciones cuya labor de investigacin constituye el punto de partida de este traba_ jo. Agradezco en particular la ayuda prestada en este sentido por I.B.M., S.A.E.

La recopilacin de la bibliografa "consultada ha sido fcil con la eficiente ayuda del Centro de Documentacin y Biblioteca de la Fa_ cuitad de Informtica de Madrid, a cuyo Departamento de Publicaciones de_ seo tambin dar las gracias por su ayuda.

Vaya por fin la expresin de mi profunda gratitud a mis p a dres, cuyo aliento y confianza en m, han constituido un importante estj_ mulo en la realizacin de este trabajo.

- VI -

L I S T A

DE

S M B O L O S

Cuantificador universal Cuantificador existencial

i
CZ. C G

No existencia de A continuacin de cualquiera de los anteriores, expresa una condicin y se lee "tal que" Inclusin Inclusin o igualdad Pertenencia Menor o igual
<

Menor Mayor o igual Mayor

u
O V

Unin de conjuntos Inteseccin de conjuntos Or And


Cardinal de un conjunto

I/

N D I C E Pqina

CAPITULO

0.

INTRODUCCIN

CAPITULO

I. GENERALIDADES ACERCA DE LAS BASES DE DATOS RELACINALES.

1. 2. 3. 4.

El modelo relacional Algebra relacional Restricciones y esquemas de relacin Dependencia funcional 4.1. 4.2. Dependencia funcional completa Dependencia funcional transitiva

6 7 12 12 13 13 14

5.

Implicacin lgica de dependencias 5.1. Clculo del cierre de un descriptor con respecto a un conjunto dado de dependencias

15 17

6. 7.

Claves Descomposicin de relaciones conservando las dependencias : Normalizacin 7.1. 7.2. 7.3. Primera Forma Normal Segunda Forma Normal Tercera Forma Normal

17 18 19 19

CAPITULO II. DETERMINACIN DE LAS CLAVES DE UNA RELACIN 1. Introduccin 22

2.

Matriz de implicacin. Sistematizacin del Clculo del cierre de un conjunto de dependencias funcionales 23 25

3. 4.

Fundamentos Matemticos Algoritmo para determinar las claves de una relacin

33

5.

Ejemplo de determinacin de las claves de una relacin 36

6.

Funcin "cierre" APL para determinar el cierre de una matriz de implicacin 39

CAPITULO III. PARTICIN FUNCIONAL: UN FUNDAMENTO MATEMTICO PARA REDUCIR EL ESPACIO DE MEMORIA NECESARIO EN EL PROCESO DE BUS QUEDA DE LAS CLAVES DE UNA RELACIN 1. 2. 3. 4. 5. Introduccin Particin Funcional Determinacin de una particin funcional Propiedades de una particin funcional Caracterizacin de los atributos principales y no principales 6. Reduccin de las dependencias funcionales del esquema inicial 7. Supresin de dependencias en forma reflexiva 66 63 59 43 43 46 54

CAPITULO IV.

CARACTERIZACIN MATEMTICA DE LA SEGUNDA Y TERCERA FORMA NORMALES

1.

Introduccin

70

2.

Caracterizacin matemtica de la Segunda Forma Normal

3.

Algoritmo para establecer si un cierto esquema de relacin est no en Segunda Forma Normal 80

4.

Caracterizacin matemtica de la Tercera Forma Normal 83

5.

Algoritmo para establecer si un cierto esquema de relacin est no en Tercera Forma Normal 88

CAPITULO V.

SNTESIS DE ESQUEMAS EN TERCERA FORMA NORMAL.

1. 2.

Introduccin Conceptos previos 2.1. 2.2. Recubrimiento mnimo Conexin mltiple entre atributos

90 91 91 94 95 95 95 97 97

3. 4.

Semntica de las dependencias funcionales Procedimiento de sntesis 4.1. 4.2. Descripcin del Algoritmo Conexiones mltiples entre atributos

5. 6.

Esquemas en Tercera Forma Normal Minimizacin del nmero de relaciones sintetizadas

105 107

7.

Resumen

CAPITULO VI. CONSIDERACIONES PARA UN ESTUDIO POSTERIOR: EVOLUCIN ACTUAL DE LA TEORA DE NORMALIZACIN.

1. 2.

Introduccin La unin sin prdida : Un criterio para la descomposicin de esquemas de relacin

109

110 115 115

3.

Forma Normal de Boyce-Codd (BCNP) 3.1. 3.2. Definicin "Descomposicin LJ" en Forma Normal de Boyce-Codd

116 125 128

4. 5. 6.

Dependencias mu ti valuadas Definicin de la Cuarta Forma Normal Consideraciones en la integracin de los tres tipos de restricciones estudiados: dependencias funcionales, dependencias multivaluadas y dependencias respecto de la unin

131 Posibles puntos de partida 132

7.

Conclusin:

para posteriores trabajos sobre el tema

CAPITULO VII.

CONCLUSIONES.

134

BIBLIOGRAFA.

136

C A P I T U L O

JJ^RODUCCION

El estudio y potenciacin de los Sistemas de Bases de Datos Relacinales ha experimentado un inters creciente, fundamentalmente en esta ltima dcada, por la diversidad de sus posibles aplicaciones e implicaciones en todo desarrollo informtico futuro, dados los importantes avances de la tecnologia electrnica y de las Comunicaciones que han permitido disear y fabricar quinas cada vez ms potentes y econmicas. m-

As pues, las tcnicas de Bases de Datos Relacinales que fueron concebidas inicialmente con fines docentes y de investigacin (tales como el sistema EDBMS desarrollado por el Profesor Tschiritzis dla Universidad de Toronto) se empiezan a utilizar progresivamente en instalaciones informticas reales (podemos citar como ejemplos de tales Sistemas el Query-By-Example y el IMPS , desarrollados por un Centro de Investigacin de EE.UU.).

Todos los Sistemas de Bases de Datos Relacinales tienen como caracterstica fundamental el que los datos se presentan al usuario organizados en tablas, y no en forma de jerarquas o en red, como los modelos IMS CODASYL. El formato de almacenamiento interno

de los datos no es relevante para la percepcin relacional. Esto no quiere decir que las tcnicas de acceso y almacenamiemto internos no sean importantes, puesto que determinan si el rendimiento

- 1 -

del sistema es aceptable.

Ahora bien, las consideraciones de

rendimiento no son parte de la definicin del modelo relacional en si mismo. Los sistemas anteriormente mencionados no son en

este sentido puramente relacinales, sino que proporcionan el modo de gestionar relacionalmente los datos organizados en tablas en el rea de trabajo de usuario.

Prototipos en desarrollo de Sistemas estrictamemte relacinales son el Sistema R y el IS/1- PRT V.

En los modelos jerrquico y en red, los caminos de acceso tienen que ser previamente definidos en el subesquema o percepcin del usuario. Por lo tanto, cualquier nueva necesidad de acceso

que no pueda derivarse directamente de ese camino, requiere una lgica de programacin adicional.

En el modelo relacional la bsqueda se realiza por valores de campo (elementos de la tabla) y ya que no hay lugares privilegiados en cuanto a facilidad de acceso, existen potencialmente muchos posibles caminos lgicos y no es necesario definir ninguno previamente.

Los actuales lenguajes relacinales de manipulacin de datos suelen ser generalmente muy sencillos, lo que les hace muy atractivos para el usuario final no informtico.

Pueden ser de tipo procedural, basados en el Algebra Relacional, como el SQL (el lenguaje del Sistema R ) , no procedura-

- 2 -

les, basados en el Clculo Relacional, como el ALPHA, que dise el profesor norteamericano, E.F. Codd. En cualquier caso, si se

trabaja con tablas muy grandes, y aparte de los problemas de almacenamiento que ello pueda suponer, pueden producirse problemas

en las operaciones usuales de insercin, borrado o actualizacin. La bsqueda de estructuras queobviasen estos problemas, redu-

jeran la necesidad de reestructuraciones en la Base ;al aadir nuevos tipos de datos y alargasen la vida de los programas de aplicacin, llev a E.F. Codd a la definicin de las Tres Formas Normales, definicin basada en dos importantes conceptos: Dependencia funcional y clave.

En el trabajo que hemos desarrollado al hablar de Base de Datos ncs estamos refiriendo, tal como hemos especificado al principio, al nivel lgico. Este nivel lgico es el modelo de una

realidad determinada, modelo realizado en base a unos cuantos elementos (atributos), sujetos a unas ciertas limitaciones (especificaciones del usuario). Estas restricciones pueden ser tan comple-

jas como lo sea la realidad a modelar, siendo preciso en cualquier caso poder establecer una definicin y caracterizacin matemtica precisa de estas restricciones, para poder establecer la validez

de la sutitucin del modelo inicial por otros ms adecuados (en el sentido, por ejemplo de que contenga matrices de menor tamao y planteen por ello menos problemas de espacio en memoria . consiguiente ahorro econmico que ello implica ). con el

Para poder elaborar una teoria matemtica slida en esta lnea, es preciso contar con un conjunto completo de reglas de

- 3 -

inferencia para el tipo de restricciones dado.

Slo en dos

casos muy concretos existen conjuntos completos de reglas de inferencia (recordemos que un conjunto de reglas de inferencia sea completo quiere decir que cualquier restriccin que pueda tener lugar en el modelo en estudio, puede derivarse de las enunciadas inicialmente por aplicacin de dichas reglas ): Cuando las restricciones son dependencias funcionales o bien dependen-

cias funcionales y multivaluadas.

De estos dos casos, slo en el primero es fcil calcular la totalidad de las dependencias implicadas por las inicialmente enunciadas, aun cuando su nmero sea muy grande. Adems, las de-

pendencias funcionales son suficientes para modelar con precisin un importante nmero de casos reales.

En el Captulo V

figuran las tcnicas de Bernstein para

sntesis de relacin en Tercera Forma Normal a partir de un modelo inicial, tcnicas que se apoyan en criterios de diseo incluyendo un nmero mnimo de relaciones, y que completan este estudio.

En nuestro trabajo, pretendemos

inicialmente elaborar un

Algoritmo que permita determinar todas las claves de una relacin, lo que es fundamental en la definicin de las Formas Normales.

Basndonos exclusivamente en el conjunto completo de reglas de inferencia para las dependencias funcionales (Axiomas de Armstrong), establecemos los criterios que definen si una cierta relacin est o n normalizada, y su correspondiente ni-

vel de normalizacin, en caso afirmativo.

Consideramos que este trabajo puede ser de indudable inters en el desarrollo futuro de los sistemas de Bases de Datos Relacinales.

En el Capitulo VI figuran diversas consideraciones para un estudio posterior, de acuerdo con la evolucin actual de la teora de Normalizacin.

5 -

C A P I T U L O

GENERALIDADES ACERCA DE LAS BASES DE DATOS RELACINALES

1.

EL MODELO RELACIONAL

En el modelo relaciona!, los datos se organizan en tablas llamadas relaciones. Una relacin tiene un nmero fijo de co-

lumnas (a cada ima de las cuales se la designa por un nombre de atributo) y un nmero variable de filas (tupias) . Cada tupia , de una relacin describe una entidad mediante una asignacin de valores a los atributos que dan nombre a las columnas de la relacin.

Una Base de Datos relaciona! consiste en un conjunto de relaciones de formato fijo, pero cuyo contenido es variable en el tiempo.

Las relaciones y Bases de Datos relacinales se describen mediante esquemas. Un esquema de relacin consiste en un nombre

de relacin, un conjunto de atributos y un conjunto de restricciones. Una ocurrencia del esquema es una relacin definida sobre el conjunto de atributos del mismo y que satisface todas sus res tricciones. Un esquema de Base de Datos relaciona! es un conjun

to de esquemas de relacin (uno por cada relacin de la Base), y una ocurrencia de la Base es un conjunto adecuado de ocurrencias de estos esquemas de relacin.

6 -

2.

ALGEBRA RELACIONA!.

Los operandos del lgebra relaciona! son relaciones constantes, o bien variables que representan relaciones de grado (nmero de columnas )fijo.

Los atributos son smbolos tomados de un conjunto finito U ("universo " del modelo conceptual). Usaremos A, B, C para

denotar atributos simples y S, T, X.... para designar conjuntos de los mismos (en lo que sigue denominaremos indistintamente "descriptor" a un atributo simple o a un conjunto de atributos). Con cada atributo se asocia un conjunto de valores que pueden serle asignados, descriptor T e conjunto que denominamos "dominio". Dado un

U, un valor de T es una correspondencia t que El valor

asigna a cada elemento de T un valor de su dominio. que t asigna al atributo A se representa por t [A].

Una relacin sobre T es un conjunto de valores de T. Si representamos poiL^Jna relacin^J/^lT) quiere decir que la rela-ciye define sobre el conjunto de atributos T.

Con las convenciones de notacin expuestas, pasamos a describir brevemente las principales operaciones de Algebra Relacio nal:

la) Unin : la unin de dos relaciones^vvT ts%> PCSs\VtS/? ?> a -/0%>


a es e

denotada,

^ conjunto de tupias que pertenecen - Aplicamos e l operador de unin

>y?

a amDas

tan slo a aquellas relaciones que tengan el mismo grado y el mismo nombre de a t r i b u t o en columnas iomloqas.

2)

Diferencia:

Cumpl ienjryjr!

(y^

las condiciones ante es el con-

riormente expuestas, la diferenci&yfi^^yfo junto de tupias que pertenecen^ayfc

pero no t _a^.

3o)

Interseccin:

de r\ueyoy, ^y/^

cumpliendo las condi-

ciones exigidas para la unin, l a interseco i6rr//fn es el conjunto de tupias comunes ^

4o)

Proyeccin : La proyeccin d e ^ y y (T) sobre el descrip tor X ^ l/[^) , se define as :

{t W
5o) Seleccin : Conjunto de tupias deyT(T)

,&}
en las que el

valor que adquiere el descriptor X cumple una cierta condicin prefijada.

6o)

Producto cartesiano : S grado K, y

. Ml

son relaciones de

K9, respectivamente, el producto cartesia^

no se define como el conjunto de todas las (K, x K?) tupias cuyas primeras K , componentes son una tupia . y cuyas ltimas K componentes son una tupia &$yh El producto cartesiano d e ^ f , tL/? se representa por <^/A

i
7o)

*
Ty relaciones de grado K, y Kr y -2 f 0. Definimos

Divisin : Serf^X

respectivamente, siendo K. > K?

el COC iente<_y/i '~tj/t? "

como

el

conjunto de (K - K )

tupias "t" tales que, para toda tupia "u" >_ *-/?. ?, la tupia "tu" Ilustremos esta definicin con un ejemplo:
A 1 1 2 5 5 1 B 2 2 3 4 4 2 C 3 5 5 3 5 4 D 4 6 6 4 6 5

_D

3 5

4 6

2 4

8o)

Asociacin : La 9 - Asociacin _ de las columnas j y K, denotada p


1

l^y2
6

fer el es
K x<^ L ?

r, respecto

conjunto de tupias del producto cartesiapte^T;.. tales que el j-simo elemento d~^/ 0

est en relacin

(cualquier operador a r i t m t i c o de comparacin) con

el K-simc elemento

9o)

Unin natural

Sean las r e l a c i o n e j r ^ f
1

(Ti), i = l,2..

n ...n y sea T= U

T. . La unin natural de esas n re

laciones, denotada por

*^yi~i=l

^ es una relacin de-

finida sobre T de la forma siguiente: n i=l Para entender cmo se construye la unin natrual, considrese una secuencia t , , t 0 . . . . 1 2 , t ; donde t - . t ^ / T n r~^ Li Estos valores

- { t / vi

,t1^ : t

[,^t.jMr.

pueden combinarse para constituir un valor de T, tt^x, si y slo si son compatibles dos a dos , esto es: Vi l . V J n , t. [T. H Tj] = t. [T. D Tj]

Obsrvese que si los T. son disjuntos dos a dos, la asociacin natural es el producto cartesiano.

Ilustremos esta definicin con un sencillo ejemplo:

A a d b c b

B e b b a

<^2

B b

C c c d

D d e b

c f d

b a

i=l

A a a
d
d
i

B b b b b

D d

c c c c

e
d

10 -

Mencionemos a continuacin alguna la unin natural.

de las propiedades de

Se trata de una operacin conmutativa y aso- ~

ciativa. Adems se tiene que :K^r$_y?

Si para algn

i ^ j , T. Pl T.

0, pero

CTi

j i O ^

Ti

T.]= 0, la unin natu-

ral es el conjunto vacio.

De modo ms general : si proyectamos

jxLi i=l

sobre algn T., obtenemos un subconjunto d


J

Ser un subconjunto propio cuando para algn elemento d ^ r , no haya ningn elemento compatible con las otras relaciones, en cuyo caso estos elementos se pierden en la unin.

Un conjunto <J/-

(T.) }

de relaciones se dice que es com

patible respecto de la unin, si es el conjunto de proyecciones de una relacin sencilla. En este caso se verifica:

i=i

'j

Obsrvese sin embargo que si proyectamoj^/Ten subrelaciones, la unin natural de las proyecciones, no tiene por qu ser necesariamente igual a^J^f. Por ejemplo : Sea la relacionara), = / A, B i y T ? =|B, C .

T = / A , B, C I , que proyectamos sobre T

Delobel y Casey [22], demostraron que si C depende funciona]^ mente de B (el concepto de dependencia funcional se ilustrar ms adelante en este mismo captulo), entonce{s^rjt"] 11 SC\

3.

RESTRICCIONES Y ESQUEMAS DE RELACIN

Una restriccin es, en esencia, un predicado sobre una relacin. A veces estaremos interesados en restricciones que

afectan tan slo a una parte del universo descrito por un esquema de relacin. \. Definiremos pues formalmente una r e s t r i c c i n como un par (S, p ) , donde p es un predicado y S es un conjunto de atrj_ butos. La r e s t r i c c i n / si SgT se define para una r e l a c i q r f x u ) , /vlida

y p se define par 5 aj^r[S] > siendo entonces


e

erjj^si

p es c i e r t o ,

yf\f /.

Al conjunto S se l e denomina

contexto de la r e s t r i c c i n

Un esquema de relacin es un Vz/-

* ~^\y>'-> siendo T

un conjunto de a t r i b u t o s y j u r i conjunto de r e s t r i c c i o n e s . Con cada esquema de r e l a c i n ^ T x , nes, R E L ( ^ Y '


(

asociamos un conjunto de r e l a c i o -

c o n s t i t u i d o por todas las relaciones definidas ^r^rU) ' SJr;


RE

sobrei T que v e r i f i c a n las r e s t r i c c i o n e s de_/|

^^

, decimos q u ^ r ( T ) es una ocurrencia d%_^/,

4.

DEPENDENCIA FUNCIONAL Una clase particularmente importante de r e s t r i c c i o n e s la

constituyen las denominadas dependencias funcionales.

Sea l a r e l a c i q r f ^ T l T ) y los descriptores X e Y, tales que X U Y T. Decimos que Y depende funcionalmente de X, lo 12 -

cual se expresa como X * Y

("X" implica "Y"), cuando para

cada dos f i l a s d ^ 7 , t y t 2 ;

[ x ] = t ["xjimpl ica t

[Y] =

t2 [ y].
En otras palabras: El descriptor Y depende funcionalmente de X en la relacin^y(l) cuando en dicha relacin a cada valor de X se le asocia un valor determinado de Y (y slo uno). Por el contrario, si Y no depende de X, representaremos este hecho por X - ^ Y. Por fin, la mutua dependencia entre X e Y se simbolizan

as : x *>Y (en este caso tambin se suele decir que ambos des_ criptores son equivalentes).

4.1.

Dependencia funcional completa: Y tiene dependencia funcional completa respecto de

X, X=^Y, si tienen lugar las siguientes condiciones:

a)

X -> Y

b)

Y no depende de ningn subconjunto propio de X.

4.2.

Dependencia funcional transitiva:

El descriptor Y depende transitivamente del descriptor X, X > Y, si tienen lugar las siguientes condiciones:

a)

X n Y

= 0

b)

Existe un descriptor Z tal que :

13 -

z z x z

nx = 0 r> Y = 0 - z -/-> x

Z -> Y

Si adems se verifica que tiva se dice que es estricta.

Y-/->Z, de la dependencia transi-

Veremos enseguida cmo todos estos tipos de dependencias funcionales son el fundamente del importante concepto de normalizacin.

IMPLICACIN LGICA DE DEPENDENCIAS

S e a ^ j / T ^ T ^ / ^ un esquema de relacin, donde^j^" (conjunto de restricciones ) es un conjunto de dependencias funcionales. Decimos que J, implica lgicamente la dependencia X Y, si RE jf

sta tiene lugar v Jyp

El conjunto de todas las dependencias funcionales implicadas lgicamente porS/^se representa por C/y-v "cierre de^-f^". y se denomina

S i O ^ C / ^ , de ('y^se dice que es un conjunto

completo de dependencias.

Los axiomas de Armstrong

[2] , que se enuncian a conti-

nuacin constituyen un conjunto completo de reglas de inferencia que permiten calcular el cierre de cualquier conjunto de depen14 -

dencias funcionales.

Al A2 A3

Refle;xividad :

S -> S S-^X

Transitividad: Si S>V y V-rX, entonces Aumentacin: S' 2 S

Si S-^V, entonces S ' -, V para todo

A4:

Proyectividad: Si S ->V, entonces V'cV (V 1 0 ) y

S -~r V'

para todo

A5:

Aditividad : Si S-*V

X-^Y, entonces SUX-^VUY

Dado el conjunto de dependencias^/^ el descriptor X, se define el cierre de X con respecto a ^~r, X' , como el conjunto

daatributos A tales que X > A puede deducirse a partir de( por aplicacin de los axiomas de Arrnstrong.

Exponemos a continuacin un sencillo algoritmo descrito por ULLMANN f3lj para calcular el cierre de un descriptor.

5.1. Calculo del Cierre de un Descriptor con respecto a un Conjunto dado de Dependencias. Se calcula una secuencia de conjuntos de atributos, X^ ,X^ '' .... X de la forma siguiente : X(0) X^ = X ' es X^ ' ms el conjunto de atributos A, tales que en^r , en la que A e Z e .... c X ^ C .... c T , y T es

hay alguna dependencia Y > Z y e J('j'. Ya que X = X ( t

un conjunto finito, tiene que alcanzarse eventualmente un j tal

15

que: X ^ = X ' J + 1 ) . X proceso.

Se sigue entonces que X ^ = X^J+1^ =

.... Por lo que puede detenerse en este momento el

Se demuestra fcilmente por induccin que efectivamente (i)


+

X VJ/ = X para este valor de j, (la demostracin puede encontrarse en [31] )

Ejemplo : Sea el conjunto l_ de dependencias:

A B

->

C A D B

D B E CG CE

> > * *

EG C BD AG

C - BC ^

ACD-^

Aplicando el algoritmo de clculo de X , tendremos X^ 0 ^ BD. Para calcular X^ , busquemos las dependencias que tengan EG, as

como primer mienbro B, D BD. Hay slo una : D > que aadimos E y G a x'0', obteniendo : X^1' = BDEG.

Para calcular X (2), buscamos aquellas dependencias cuyo primer miembro sea subconjunto de X^ BE > C. Por tanto : X ^ = BCDEG . Estas son: D->EG ,

Para calcular X(3) buscamos las dependencias funcionales (2) cuyo primer miembro sea subconjunto de Xv , y encontramos: EG, BE > C, C -* A, BC > D, CG - - BD, CE -> * AG. (3) Asi pues: Xv = ABCDEG, que coincide con el conjunto de todos 16 D

los atributos. ABCDEG.

Se tiene por tanto en este caso que (BD)

6.

CLAVES

Denominaremos clave de una relaciqr^Y(T) a un subconjunto no vacio de T, K, tel que T tiene de dependencia funcional coinple ta respecto de K : K zr> T.

En una relacif^77(T) se denominan atributos principales a aquellos que son miembros de alguna clave dy[T). atributos se les denomina no principales. A los dems

Entre todas las claves dejy\T), primaria.

elegiremos una como clave

Ningn atributo de la clave primaria puede tener un valor indefinido.

7.

DESCOMPOSICIN DE RELACIONES CONSERVANDO LAS DEPENDENCIAS: NORMALIZACIN

Descomponer una relaciQj^^fT), es reemplazarla por un conjunto de proyecciones. De un modo muy general, esta descomposi-

cin se realizar con el criterio de conservar la informacin contenida en la tabla original.

Un criterio para realizar esta descomposicin es que el con junto de dependencias funcionales verificadas p o r ^ , sea im17 -

plicado por la proyeccin de_^/sobre las relaciones de la descomposicin. Formalmente, la proyeccin de'/sobre un conjunto

O?
de atributos Z><=J/^fZJ , es el conjunto de dependencias X * Y dey^ ' tales que XUY Z.
t_^?i

S^/Tse ha proyectado en las sub'>


na

repciones

\_yTo

Z//^

y preservacin de depen-

dencias si la unin de todas las dependencias d e ^ / fT-1 > i=l, 2 n; implica lgicamente todas las dependencias d e /

El proceso de normalizacin consiste en esencia en una sis temtica de realizacin de sucesivas proyecciones a partir del esquema original, con conservacin de las dependencias funcionales. Codd [141 enumer hasta seis objetivos que se realizan destacamos los siguien

al normalizar las relaciones, de los que tes:

- Se reduce la necesidad de reestructuraciones en la Base al introducir nuevos tipos de datos, con lo que se alarga la vida de los programas de aplicacin.

- Se reduce la incidencia de anomalias de insercin, borrado y actualizacin (ver Date [21] y Ullmann [31] ).

7.1.

Primera Forma Normal: ^yy(T) est en Primera Forma Normal (FNF) si todas sus en-

tradas son simples (no hay grupos repetitivos, o sea: Est constituida por elementos atmicos). 18 -

7.2.

Segunda Forma Normal Una relacirr/7}T) est en Segunda Forma Normal (SNF),

ST :

Est en Primera Forma Normal y Cada atributo no principal tiene dependencia funcional completa respecto de cada una de las claves.

7.3.

Tercera Forma Normal Una relaciQrV^r(T) est en Tercera Forma Normal (TNF) si: Est en Segunda Forma Normal y Ningn atributo no principal kyfy(l) vamente de ninguna clave de^/T(T) depende transiti-

Ejemplo: Consideremos el conjunto de dependencias: A AB AB. C . E . C D E D D

El descriptor AB es evidentemente la clave de cualquier relacin definida sobre A, B, C, D, E; que cumpla el conjunto de restricciones especificado.

Sea pues una relaci,n^r(A, B, C, D, E) que verifica el

19

esquema anterior. Si queremos normalizarla, procedemos a proyectarla en subreaciones que se ajusten a las definiciones de las formas normales.

Si, como supondremos, los atributos son simples, la relacin ya se encuentra en Primera Forma Normal.

Segunda Forma Normal: Sustituimos la relacin_^?, por el conjunto de proyecciones

Si

^ , C, D = J ^ C A , C, D] )

ffi 2 (A, B, E, D) ^cJ/rfA, B, E, DJ J f 3 ( A , B, D) - J f [ A , B, D]


Y el diagrama de dependencias funcionales es ahora :

2r

> C > D

&

AB

E ~ D

->D

Tercera Forma Normal

JfU

(A, C) ^ [A,C] /Yn


C^?T? Ly M

(A,B,E) {%,

[A,B,E" [E, D]

c_719 (C, D)

f C , D j ^ 2 (E, D) /f2
(A, B, D)

Con las dependencias funcionales: (11) A -^ C (21) AB E (3) AB (12) C + D .'22) E D

20

Cuya unin es precisamente el conjunto inicial de dependencias dado.

En lo que sigue, consideraremos como criterio de normalizacin la proyeccin en subrelaciones conservando las dependencias funcionales descritas para el esquema inicial. Ya hemos visto que las claves juegan un papel fundamental en la definicin de las fechas normales, as como en el proceso de normalizacin propiamente dicho.

El siguiente Capitulo est dedicado a la bsqueda de las claves de una relacin.

Partiendo de los Axiomas de Armstrong, hemos deducido un conjunto de Lemas y Teoremas en los que se basa un Algoritmo que permite determinar todas las claves candidatas.

21

C A P I T U L O

II

DETERMINACIN DE LAS CLAVES DE UNA RELACIN

1.

INTRODUCCIN

En el Captulo primero hemos puesto de manifiesto cmo las Claves juegan un papel decisivo en el proceso de normalizacin.

Dado el esquema de relacin o / ^ C T , ^ / ^ mismo es un descriptor K, tal que:

, una clave del

- K T

(K-^TjeJ^
No existe ningn subconjunto propio de K, K', tal que: K'-*. T

La propiedad de transitividad de las dependencias funciona les condujo a Delobel y Casey F 22 ] a establecer el isomorfisnio

entre la estructura inferencia! de las dependencias funcionales y la estructura inferencial de las funciones Booleanas de conmutacin. Este isomorfisnio les permiti desarrollar un algoritmo

para encontrar todas las claves de una relacin, algoritmo basado en la correspondencia entre dependencias funcionales y una funcin Booleana y en la determinacin de implicantes principales.

22

Aqu presentamos un procedimiento alternativo, basado exclusivamente en los Axiomas enunciados por Annstrong para las de pendencias funcionales que, tal como hemos sealado con anterioridad, constituyen un conjunto completo de reglas de inferencia para este tipo de restricciones.

2.

MATRIZ DE IMPLICACIN. SISTEMATIZACIN DEL CALCULO DEL CIERRE DE UN CONJUNTO DE DEPENDENCIAS FUNCIONALES.

El dato de partida en el proceso de la bsqueda de Claves (y posterior normalizacin) es el Conjunto de dependencias funm especificadas por el usuario

cionales | S . > X . t i = 1,2

o por el Administrador de la Base, que tienen lugar e n ^ y ^ T ) . Sin prdida de generalidad podemos suponer que S. vi f j y que S. O X. = 0 vi (ya que si S - > (S n , S. ,

X tambin, X)).

por proyectividad, se verifica S > X

Designaremos la matriz de implicacin por la misma letra Sr> con que hemos denominado al conjunto de dependencias fun

cionales del esquema.

La matriz de implicacin sobre T = I A., A - - - A |

de una relaciqrf/^u) definida es una matriz m x n cuyas filas

se identifican por los primeros miembros de las m dependencias funcionales: A. ,A 1 2 S., S.... S y sus columnas por los n atributos: A , de modo que : n ' 1 si A, 6
J

(S. U
i

X.)
i

1
0 23 -

en caso contrario.

El problema de encontrar el cierreC/^

de la matriz de

implicacin se reduce al de encontrar el cierre de los descriptores de fila con respecto al conjunto ^r de dependencias fun-

cionales dado. Ya hemos visto cmo se calcula el cierre de un descriptor, ahora expondremos sobre un ejemplo una sistematizacin del proceso que permite hallar facilmemte el cierre/' del conjunto de dependencias dado.

Consideremos la relacin <J/<(T) definida sobre T = j A,B,C,D,E,F,G j con el conjunto de restricciones dado por:
ABC A B CD EG * > - ^ ^

DEG
C F E F A C

La matriz de implicacin es :
A
ABC ^ A B C D E G

B 1 1 0 0

C 1 1 1 1

D 1 0 1 0

E 1 0 1 1

F 0 1 1 0

G 1 0 0 1

1 1 0 1

Para encontrar la correspondiente matriz de cierre, seguiremos los pasos siguientes :

2 - Para cada dos filas distintas S. y i J para todo A. S. se verifica S. K J i todos los unos de la fila S. en los J de la fila S i - 24 -

S. ds / , si j raA. = 1, copiamos k lunares homlonos

En nuestro ejemplo la aplicacin del anterior algoritmo produce el resultado siguiente:

A ABC 1 1 0 1

B 1 1 0 0

C 1 1 1 1

D 1 1 1 0

E 1 1 1 1

F 1 1 1 0

G 1 1 0 1

jar

A B C D E G

En lo que sigue, salvo que se indique lo contrario, trabajaremos con el cierreC/? y no con el conjunto de dependencias

inicialmente definido. Las nuevas dependencias funcionales son ahora S. * Y., i = 1, 2 m, donde Y. o X.,

S. O Y.

= 0 , t a l como puede deducirse fcilmente del proceso

del clculo cle>

El conjunto de atributos que corresponden a entrada 0 en la fila S. lo denotaremos por Y'..

Es obvio adems queJ S., Y., Y'.| constituye una particin

de T si Y' . f
i

0.

Al final de este Captulo, se incluye una funcin APL que realiza el algoritmo de clculo de la matriz de cierre.

FUNDAMENTOS MATEMTICOS

Exponemos a continuacin un conjunto de Lemas y Teoremas

- 25 -

que, partiendo exclusivamente de las propiedades axiomticas de las dependencias funcionales tal como fueron enunciadas por Armstrong, constituyen el fundamento terico para el algoritmo de determinacin de las claves de la relacin.

Lema

3.1 ene lugar la dependencia funcional T vi (i= 1, 2 .... m)

f
Prueba : S. U Y. U
1 1

S.U Y' . - *

Y' .
1

T (1) (2)

S.(j

Y' . Y . (aumentacin) * Y', (reflexividad)

S.<JY'.->S.U

Luego, por aditividad entre (1) y (2) S. U


i

Y' . - >
i

Lema

3.2 S. [J Y. , y adems Y ' . = 0 , entonces

EnO^ 7 , s i S. C tambin Y . = 0 * Prueba:


S

J-
J

J
\J

(1)

S. _ *

S.

(reflexividad)

(2)

Por aditividad entre (1) y (2)

Sj -> T (3)

(ya que Y'j

= 0)

26

adems S. * S. __^ S. Y. (reflexividad) (4) (5)

Por aditividad entre (4) y (5), resulta : S. * S.U Y. (6) Y. por hiptesis, luego de (6) se

Ahora bien: S. C. S. (j deduce por.proyectividad que

Si entre (7) y (3) aplicamos la propiedad de transitividad, se tendr que: S. - > T , luego Y' . = 0

Lema
r

3.3

^T

. s S . C %.\) i i
0

Y.,

Y'.?* 0, entonces

Y^.fl Y'j f Prueba:

Cualquier entrada de valor 1 de la fila S. es una entrada de valor 1 en la fila S. (recurdese el proceso de clculo de la matriz de cierre^r ). Por tanto, cualquier entrada de va-

lor 0 de S. es una entrada 0 en S. , de modo que, Y1 . O


J

Y' ., por lo cual: Y'. O Y'. f


i
3

Lema Er^^\

3.4 si S. S.U Y. ; siendo Y' . i 0, para cualquier 27

~. c
J
~~

Y' .
J

t a l que S. t a l que S. u
U J

&. > T, se v e r i f i c a
u

Prueba: Razonemos por reduccin al absurdo. y ya que seriamente Si


a

D Y'. = 0,

S., Y. , Y'. tconstituye una particin de T, nec a c S. U S. d Y. . S.c/ Y., de. modo que

Por otra parte 2?. t S. c ^

S. U

Y..

Se tendr entonces que:

S . ->
S. -> T fila

Sn. U

Y.

_>

S. v ^

_> T, o sea :

(transitividad), lo cual es imposible por contener la elementos nulos. As, pues, debe ser

correspondiente a S.
f 9

*i n v.

Lema EjvC

3.5 , s i S. <t S. O Y. siendo Y ' , f 0, se tiene que

Sjnr, 1 1
Prueba: Ya que\S., Y., Y'.J constituyen una participacin de T, si S. O Y'. = 0 se tendr que S . c S.OY 1 .
J i

S. u Y., contra la hip-

tesis. Luego debe ser


3

Lema &y\

3.6 , si S.c S. \j Y., se tiene que S. y S. U S . impli .

28

can el mismo subconjunto de T Prueba: S. S. > ^ S. Y. (1) (2) (reflexividad)

De (1) y (2)>por aditividad: S. S.


vJ

__ >

S. U Y. S.
J

(3) (reflexividad)

(4)

De (3) y (4) por a d i t i v i d a d : S . U S.


'

-*

(S. \J Y.) U S., o sea, ya que


\J

S.eS.u
J

Y.

\J

S. U S. _

S. U Y. S.

(5) implican ambos el mismo descriptor,

Luego, S. y S. U S. U
i

Y., de T.
i

Teorema ^/
r

3.1.
S1

>

S-; ^ y S.

^ S.

Y . , existe un descriptor z c S i implican ambos el mismo descrip-

t a l que S.\jz

t o r (subconjunto de T ) .

Prueba: En el caso de que S.> T, basta con considerar sr= 0, siendo obvio que S . U S. - ^ T.

Si por el contrario S. - - T, en virtud del Lema 3.5 sabe/> mos que S. f) Y1 . f que aS. . 29 0. Sea t = S. O Y' ., se tendr entonces

Puesto que) S., Y., Y'.j- es una particin de T, se tendr que, o bien S. c Y.', o bien S. f)
J
i

(S. Y.)
i i

C/.

En el primer caso, S,c Y'., ^ =


J '

S . f) Y ' . = S ., de moJ ' J

do que S.y^ =

S. o

S., por lo cual ambos implican el mismo

subconjunto de T.

Si por el contrario S. <t Y'., se tendr que j

S. O J (S. U Y.) T 0. Ya que ^ S., Y., Y' . ^ constituye una < particin de T, se tiene:

Sj =

(Sj.n s.) u

(Sj o

Y.)

\j

(s. n

V =

= [S-C\ (S^Y.JJU^
nos permite escribir: S. c Ahora bien, S. ->

(Si U Y.)U, que


) ^ Y. )->Y.; por lo Y. , con

(S. \j a

Y., as que tambin {S.\ja-

que, usando el Lema 3.5, ya que S. c. (S- \J &

(S.j z ) O

) - Y., podemos afirmar que el descriptor que depende es el mismo que el que depende de

funcionalmente de $.\)a

(S.ua

) \j s. = S. ^ S., (ya que a c

s.)

Teorema

3.2

Cualquier clave que pueda derivarse de S. o S., puede serlo tambin a partir de S. S. independientemente

Prueba:

Del Lema 3.6 y el Teorema 3.1., se deduce la existencia de un descriptor a L S. tal que S.(Jz y 30 S. U S. implican

el mismo subconjunto de T. tambin S. V (S. u a ) o S. ^

En el caso de que %.\ja

-^

T,

T, pero, ya que que ? c S. se tendr que 5 S.) por lo cual (y excepto en el caso S.), S. U S. no podr ser una clave si

(S. v>

particular en que ^ S . Uzlo es,

Si

S.Vtz

++

T ( por tanto S.\J

S. -/-^ T), sabemos (Lema )u

3.1.) que existir un subconjunto b mnimo tal que : (S.K)a (Jb->T y(S.u S.) 1/ b -> T. Pero tal como hemos razonado (S. U S . ) u b no podr ser una clave si

antes, ya que c S . , (S.Uz) O b.

b lo es, excepto en el caso : (S. U

)ub = (S . \J S.v^

Lo que hasta aqu hemos deducido, nos permite asegurar que para encontrar las claves de una relacinj^; (T) basta con consi^ derar el conjunte/-/^ = \S. > Y. 1 1 = 1, .... m ,' procediendo

a la aplicacin reiterada de la propiedad transitiva para encontrar el mnimo a tal que S. \j > T.

Teorema 3.3. Si Y'. f S es un subconjunto de T tal que S > T, siendo

0, se tiene que S. u (Y1 . f) S ) y T.

Prueba: Los Lemas 3.3., 3.4 y 3.5 nos permiten afirmar que si T, Y'. n S f 0 siempre que Y'. f 31 0.

Realicemos la particin de S a Y'

en S, c S. u Y.

Una tal particin es siempre posible ya que \ S., Y., Y'. r constituye una particin de T y S = SOY'- / ?

Se tienen las siguientes dependencias funcionales:

S. __> S. _ *

Y. S.

(1) (reflexividad) (2]

De (1) y (2), aplicando la propiedad de aditividad resulta:

S.

_>

S. U

Y.

(3)

Ya que S, C

S.U Y., por proyectividad de (3) se dedu-

ce:
Sn. -> S2 (4)

Por otro lado, S ? 0 Y'. = S ? , as que, por reflexividad: S2 O Y'. - * S2 (5) S p n Y ' . , aplicando a (5) la propiedad

Y ya que

S O Y ' . _3

de aumentacin, se tiene:

snv.-> s2

() 6

Por aditividad entre (4) y (6) resulta: S. V (Y'.D S) - * S Y ya que por hiptesis sitividad: 32 (7) S*T, resulta finalmente por tran-

S i \J

(Y'. O

S )

4.

ALGORITMO PARA DETERMINAR LAS CLAVES DE UNA RELACIN

La formalizacin matemtica que hemos desarrollado, conduce al siguiente algoritmo de bsqueda de las Claves de una relacin (en el que por JA Idesignamos la cardinalidad o nmero de elementos del Conjunto A ): I - Calcula^; , matriz mxn de cierre de la matriz de impli cae ion. II - Mj = 0 M2 = 0 S. U Y 1 ., i= 1,2.... m I Y' . I 1 se tiene que : ( M j ) , borrar S.V V.

III - Introducir en M. IV - Si con I Y 1 . I c 1 S.^Y'. c de M r V S.^Y1.

- Si para todas las restantes entradas de M, se tiene que i Y' . | _- 1, el algoritmo concluye: M contiene todas las Claves.

En caso contrario : 1)
vi

: |Y'.|^ 2, hallar ' i ( !Y'jl

ij = Y 1 . O (S-0 Y'J)

V j '

>s o). (j f j') m

2) y , borrar cualquier &\ j' : ^ i j ' P ^ i j 3) Introducir en M ? S.

U ^ i j , i = 1, 2

- 33 -

Luego suprimir en M cualquier entrada que sea superconjunto de otra ya existente en M ? .

4)

V i

e n M

| Y'

. \>y 2

y \J .

en ^

: S. t

Sy

hallar

*iKj = Y ' . O

( S ^ j K )

5)v.

borrar

^iK'j'

: ik'j'2

^ikj

((K', j ' ) f S. 0 ^ i k j ,

(K,j))

6) Introducir en M todos los Conjuntos

a condicin de que no sean superconjuntos de otros ya existentes en M.

Si as se crea alguna nueva entrada en M, volver al punto V.4. En caso contrario , ir a VI VI -Copiar en M los conjuntos S.\J Y1 . de M, con | Y' . /. 1.

VII -Borrar de M ? las entradas que sean superconjunto de otras ya existentes en NL. Los conjuntos restantes en M son todas las claves, y el algoritmo concluye. Por construccin, las entradas de NL satisfacen: S. \J Y'. _ > T y, en virtud del Teorema 3.3. todas - > T. Nos que-

las entradas de M ? satisfacen S. aij

da solo comprobar que el algoritmo es completo en el sen tido de que encuentra todas las claves.

34

Teorema 4.1. Si S. \J zentonces


y.

S es una clave de^/(T) (siendo | a. \ , 1) i :


a

i=Y'.n

(S. U b . ) , |b.| ^ o

Prueba: Siendo Z. \)a. una Clave, se tiene que S . ^ ^ . ^ T.

Ahora bien, ya que S./> T, debe existir una subconjunto Z.c S. \j Y K) a como : tal que Z._*. Y' ., y que podemos escribir

2i

= (z. n y,) / [z.n (s,y| Y,.)] -

-a.
Z. = S.v a^ , Z. -

y [z. O (Sj u V.)]


T - > Y'.)

(siempre es posible la existencia de una tal Z., en particular:

Asi pues, si Z.. _^ Y'., hay que demostrar la existencia de un j f i tal que

Z.

Sj

bj

En el caso en que S. => Y 1 ., hacemos Z. = S. ( y esto y .: S. $. Y'.)- Luego, elegimos el mnimo a. H S. y S. U ^. ___ T. ' a=

Y'f)

Si por el contrario, S. -/-> Y'., por aplicacin de los axiomas de aditividad y aumentacin,

V S, \J b, U b' . = T, donde
J J J

b' . c S. U Y.; por lo que b' .flY' .= 0


J I I J I

35

(ya que \ S., Y., Y ' A

sabemos constituye una particin de T).

Sea Z. = i Y'
1

S. v {) J

b.. J

En este caso se tendr:

(S,U

bjUb'j)

Y'.n (Sju

bj)

=Y'.^Zr

Este proceso se realiza para cada S. \j

bj : Sj U bj * Y'i

Esto es precisamente lo que el algoritmo realiza: Encontrar iterativamente los descriptores ^ i : Si U ^ i > T, eligiendo

luego los mnimos de entre estos a \

Cuando el Algoritmo concluye, cada entrada de M2 es una clave; y no se ha omitido ninguna (el Algoritmo es completo ).

5.

EJEMPLO DE DETERMINACIN DE LAS CLAVES DE UNA RELACIN.

Consideremos de nuevo el esquema porpuesto como ejemplo cuando tratamos del clculo de la m a t r i z C ^ de cierre de una matriz de implicacin definida funcionales dado: por un Conjunto de dependencias

T = jA, B, C,

D,

E, F,

G \

J; : ABC y DEG
AB > CD > EG > CF EF AC

36

A j
+

B 1 1 1 1 0

C 1 1 1

D 1 1 1

E 1 1 1

F 1 1 1

G 1 1 0 1

ABC AB CD EG 0

1 0

1 0

1 0

M2 Mj

= 0 : ABC AB (S^ (S2) (S3 y Y'3)

CD U (ABG) EG U (BDF)

(S4 U Y ' 4 )

Y =0 , Y = 0 , ABC AB BORRAR ABC EN Mj

1)

^32 = Y , 3 (S 2 U Y V ^ 3 4 = Y '3 ^ ^ S 4 U Y V

= ABG n (AB) = AB = ABG

^EG " BDF)::BG

^ 4 2 = Y'4 O (S2 UY' 2 ) = BDF n ^43


= Y

(AB)

=B

' 4 n (s3 O Y ' 3 )

BD

(CDUABG) = BD

BORRAR a 43

(a43

a42)

37 -

3)

M2
S

3
o

21
34

CDAB

ABCD

Sn
S

U z.
U

=
=

CD UBG
EGB =

BCDG
BEG

41

4)

anA

= Y ' 3 0 (S 4

U ^ 4 2 ) = ABG A (EGt/B ) = B G U ^
3 i

z 4a3 = Y ' 4 A (S 3 ^443 = 5) 6)


Y

= BDFA (CDAB) = BD

' 4 A (S 3

U ^ 3 4 ) = BDF A (CDBG) - BD

BORRAR a 4 4 3 S3 U a^.

(a443=a423) = = CDUBG EGUBD = CDBG (ya existente en M 2 ) = EGBD (Superconjunto de BEG

S* U S" 4 423

ya existente en M ? ) No se ha creado ninguna nueva entrada en M ?

VI

- M2

ABCD BCDG EEG AB

V I I - Borrar en M ? los superconjuntos' BCDG BEG AB

Las claves de^^T ^ T x > , son:

38

A3
BEG BCDG

6.

FUNCIN "CIERRE" APL PARA DETERMINAR EL CIERRE DE UNA MATRIZ DE IMPLICACIN

El Algoritmo que hemos desarrollado es de una gran sencillez de clculo, incluso (tal como hemos hecho en nuestro ejemplo) para computacin manual.

El nico paso que puede resultar laborioso es el primero, en el que se calcula el cierre de la matriz de implicacin.

La funcin "CIERRE" APL facilita el clculo de la matriz de cierre.

Por "implicante" designamos al primer miembro de una depen^ dencia funcional. La matriz de implicantes tiene sus filas idejn

tificadas por cada uno de los implicantes del conjunto de dependencias inicialmente dado, y sus columnas por los atributos sobre los que se define la relacin. 1 Si Sus elementos vienen dados por: A. fc S.

0 en caso contrario *

A continuacin se muestra el Algoritmo de clculo en APL, realizando de nuevo como ejemplo el cierre del conjunto de depen

39

dencias : ABC AB C D E G

+
^ > *

DEG CF EF AC

40

II. . 1 I".! 3 1:3:1 I;M;;I I"'r:.l i.;i l"7J I.3 1.93


ci3

VCIERRE ' M A T R I Z DE I M P L I C A M ' D N ' PH'J ' M A T R I Z DE I M P L I C A N T E ; ; ; ' I.H:I P1 <( V-,'>P)pO i . i : i.<o L2:J<() < < ] > I + :I. ) > V i : i 3 ) / L ' l L 3 : - K < J < - . . J M ) > V r : 13 >/!...:!
><~A/<PI:J; 3ALI::J; 3 ) ~ L I : J ; :D/L3

I: I I 3 P c i ; 3<-Pi c i ; 3 V P C J ; 3 II123 ->L3 II133 L4-: -> < A / A / P = P 1 ) / E N D

C143 P<~P1 11153 Plt-VpO L'163 -L1


II173 END: 'LA MATRIZ DE CCERR E S ' i : i 8 3 PV

41

CIERRE M A T R I Z DE I M P L I C A C I N 11: 1 7p1 I 1 . 1 0 1 j 1 .. 0 0 I 0 0 0 I I I I i I > ! O ! . ! 1 . 1 . i i M A T R I Z li I M P L I C A N T E S .

D '
' 7p.l I 1 0 0 0 0 : I 0 O O O l O 0 .. 1 O O O O ! 0 O I I + i . ) 1 ; ! LA M A T R I Z HE C I E R R E ES J 1 I 1 . I 1 . . 1 1 1 : 1 1 i 1 l O 1 1 1 1 O 10 10 10 1

42

C A P I T U L O

III

PARTICIN FUNCIONAL:

UN FUNDAMENTO MATEMTICO PARA REDUCIR

EL ESPACIO DE MEMORIA NECESARIO EN EL PROCESO DE BSQUEDA DE LAS CLAVES DE UNA RELACIN.

1.

INTRODUCCIN La particin funcional proporciona el modo de encontrar las

claves de una relacin^/{T), conjunto de restricciones

definida sobre T y sujeta a un a partir de sus proyecciones en Esto implica el

subrelaciones definidas sobre subconjuntos de T.

que los cierres se tomen en submatrices de la matriz de implicacion)cJ>, rio. de modo que se disminuye el espacio de memoria necesa-

El concepto de particin funcional y su clculo algebraico, que exponemos a continuacin en los puntos 2 al 4, han sido tomados del libro de Youssef Fadous [35] , adaptando la notacin al resto de nuestro trabajo e incluyendo dos funciones APL que facilitan el clculo de una particin funcional.

2.

PARTICIN FUNCIONAL

En el Captulo II, hemos presentado al Algoritmo que encuentra las claves de una relacin a partir del conjunto de restricciones definidas por el Administrador de la Base o por el

43

usuario.

Ahora bien, si el nmero de estas restricciones es muy grande, el nmero de pasos de computacin es enorme, por lo que trataremos de determinar si es posible encontrar las claves de a partir de subconjuntos del conjunto original de dependencias funcionales y, em caso afirmativo, encontrar tales subconjuntos.

Sea

pues el conjunto inicial de dependencias funcionales:

\ S T h \
y

-* V
i=l
1 1

i = 1 2 - - - m f , en e . l
(esta suposicin la uti-

que supondremos : T =

(S.i/X.)

Tizaremos a lo largo de todo el Captulo salvo que se especifique lo contrario, y no es en absoluto restrictiva, ya que cualquier conjunto de dependencias puede, sin ms que aplicar alguno de los Axiomas de Armstrong, completarse si fuera necesario de modo que tenga lugar la igualdad T =y
i= l

(S, U X.). i i

Definicin 2-1

Dos dependencias funcionales^^/' y i^ f

pertenecientes a

denominan adyacentes.^y^J^f , si (S. U X.) 1 (S. U X.) 0 . En caso contrario, ^*. y (Qfc son no adyacentes:

iT

y^J

44

Definicin 2-2

Dos dependencias funcional es<Q^.

y^.

pertenecientes > >

estn conectadas, <-# ^ < S , si tiene lugar una al menos de las siguientes condiciones:

< ^

Teorema

2-1

La relacin de conexin, ^ ca en

, es una relacin de equivaler^

Prueba:

De la definicin de relacin de conexin es evidente deducir las propiedades de reflexividad, simetra y transitividad. Luego se trata de una relacin de equivalencia, que determinar en | t[^' \ . una particin en clases de equivalencia, denota-

das p o r & / . ~

Cada clase puede representarse por uno cualquiera

de sus elementos.

Definicin

2- 3

Si enj^rse tiene

quej/'^y/'.

y . f i, la relacin de

conexin induce la particin identidad. - 45 -

Definicin

2-4

i enS/se tiene que*-^ ^

T \

V '

la

rel

acin

de conexin induce la particin universal

Lema

2 -1

Una particin en y~\

S*- r > induce otra particin en

T.

Prueba:

^T y Si~//"

3 ~v

estn en diferentes clases de equivalencia o que i M ^ #

se sigue, o bien que ^fi.-*Q6. Luego, si C. C. O C. = 0

es el conjunto de atributos de^. es obvio que V , f j, y UC, = T. Luego ( C. \ es una

particin de T.

DETERMINACIN DE UNA PARTICIN FUNCIONAL

Dado el Conjunto^^=JJ/T [de dependencias funcionales, los pasos necesarios para obtener la particin inducida por la relacin de conexin entre sus elementos, son los siguientes:

Formar la matriz de implicacin/

II

Formar la matriz de incidencia,/> fine como sigue: 46 -

que se de

j;J expresin simblica tomada de la notacin APL cuyo significado es el si guiente: Realizar la operacin AND lgica entre los elementos . Luego, rea-

homlogos de las filas i-sima y j-sima de Cf^ lizar la operacin OR

lgica entre todos los elementos del

Vector binario resultante.

III

Hallar el cierre d

f'^T
, defi(Teniendo en

IV

- Los "unos" de cada diferente fila de ( 7 ^ nen una clase de equivalencia bajo r^

cuenta que las filas y columnas ce/^' y, por tanto, de su cierreVyr * & Ejemplo : , son ahora las dependencias fun
<OJ

cionales < ^ T O o

m)

Sea el esquema de relacin & < & . > con *

= \A,B,C,D,E,F,G,H,I,J,K,L,M i

y el conjunto de dependencias funcionales ,

AB-*

C,

H - KL ,J^

BD ->FG, 'O \ AE

La correspondiente matriz de implicacin es

- 47 -

A B C D E F G H I J K 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0

**ZL>~

J^4

07^"

10

10

1 1 0

0 0 0

1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1

De la que se deduce la matriz de incidencia ;

^y\

A
i

<~/i c / 3
o
1 1

-/^ys
i

O ^

o
i

o
1
& - . % ^

o
1

o o
i

o o
1

o o
i

o o

Cuyo cierre es: i

2 ^3
0 1 0 0 1 1 0 1 1

<_A <^5
1

<a~

o
1

o
1 1

o
1 1

Las clases de equivalencia inducidas por la relacin de conexin, son pues : - 48 -

^i

| t y i ' ^ 3 ' J>^4

Damos a continuacin dos funciones APL que realizan el clculo de una particin funcional.

La funcin INCD

P calcula la matriz de incidencia de

una matriz de implicacin dada cuyo contenido se ha asignado a la variable P. La matriz de incidencia queda almacenada en otra

variable, P PRIMA, lo que permite su uso en clculos posteriores.

CIERRE1 X es una modificacin de la funcin CIERRE que hemos utilizado en el Capitulo II. A diferencia de aquella, sta es una funcin mondica (se aplica a un argumento) que acta sobre una variable definida en el rea de trabajo de usuario con anterioridad a su ejecucin (la funcin no solicita entrada de datos al usuario al ejecutarse ). Tngase en cuenta asimismo que ahora la matriz de implicantes es la matriz unidad m x t n (si la matriz de implicacin era m x n ) , y que dicha matriz de implicantes debe haberse definido antes de llamar a la funcin.

Las clases de equivalencia estn definidas por los "unos" de las filas de la matriz

CIERRE!

(INCD

P)

Como un segundo ejemplo, hemos tomado el utilizado a lo

49

largo del Capitulo anterior, es decir, el esquema de relacin:


/l*>x> siendo:

T = |A,

B,

C,

D,

E,

F,

&

ABC

^ > DEG CF EF AC

AB CD ==* EG *?

Obteniendo en este caso como resultado la particin universal (por simple inspeccin de las dependencias funcionales dadas ya se ve que todas estn conectadas entre si).

- 50 -

A1 21 C33 C+3 C53


\::i

VPPRIMA-INCL1I' M<-(2p(ltpP))pO I-Q L2:J<0 -<<]>I + l>>ltpP>/END Ll :->( (J<-J+l)>ltpP)/L2


MCI; J3<-V/PCI; 3APCJ; 3

->u.

I:O:J END:PPRIMA<-MV

- 51 -

CU C2J C3."J C'+II C51 .61 C73 C8I!


C93

7CP-CIERRE1 X PK-(V<-pX)pO L l : K-0 L2:J-0 +< < : i > . l > l ) > V C U ) / L > + L 3 : -* < < J f - J + 1 > > Vi: 1 3 ) / L . 2 - > ( ^ A / ( X C I ; I A L C J ; 3)=LCJ; :])/L3 PlCIU<-PlCIUvXL"J;3 ->L3
LM:-><A/A/X = P1)/END

CO:

n . u Pi<-vpo
C12II ->L1 C13 3 END:CP-XV

X<--PI

- 52 -

1 I 1. .1 :l. .1. 0 0 1 1 0 1

1 ! 0 O 1 1 0 1

0 1 1 O 1 0 0 1

1 0 0 0 1 0 0 0 1 0 0 0

0 0 0 1

1 1 1 1 1 1 1 :i

INCDP 1 1 1 1 1 1 1 1

1 :iERREl ::: 1 1 1 1.
I 1 1 , 1

( I N C DI')

.1

.1. 1 :i J. .1. i

i i

- 53 -

4.

PROPIEDADES DE UNA PARTICIN FUNCIONAL

Sea

| J , T ? .... T \ la particin inducida en T por una \y^\La relacin ^^/(T) definida sobre T pue

particin en

de proyectarse en subrelaciones.

(T.) - J-/T.

, definidas sobre T.,

i= 1, 2

n.

Sea S . . > K..I el conjunto de dependencias funcionales S. fr X. que tienen lugar en <_S .

El Lema y Teorema siguiente demuestran que las claves de se pueden obtener a partir de las de_yX , i= 1, 2,.... n.

Lema

4-1

Seis..> X..\ , 7J), (T.). Si


i

el conjunto de dependencias funcionales de S. >


j

X. es una dependencia funcional de


i

S. C. T, X. . = X. Q Y

T., entonces existe K..


J iJ

S.
i

tal que K.. c, T.

K. . -* X..

Prueba:

La aplicacin de las propiedades de reflexividad, proyectividad, transitividad y aditividad a las dependencias funcionales de < ~ ^ , produce como resultado dependencias funcionales cuyos atributos pertenecen a T.. Sin embargo, la aplicacin de la propiedad

de aumentacin con atributos no pertenecientes a T. produce como

54 -

resultado dependencias funcionales S. lugar enJy(T), con S. Q T

>

X.

que tienen Por tanto, tiene

X.. = X. <== T.. tal que

que existir un descriptor K..C.T.

K..b-X..

Teorema 4 - 1

Si T = I T., T ? ....,

es la particin inducida en T , [ / } , y si K S , T, la condicin

por una particin funcional en

necesaria y suficiente para que K sea una clave de T es que se cumpla: K = UK., donde K.
i i

0 J y

K. c
i

T.
i

es una clave de

Prueba

Condicin necesaria Ya que \ T , T,,, , T \

Sea K una clave dej^lT).

es una particin de T, se tendr :

K = K. =
i

(K O Tj)

(K O T 2 )
M

U.... U .
i

(K O T ). Sea K.
i

K O T. . Hay que demostrar que i


_1

K. es
i

^ ^

clave de^j^^. K = K.U 1

. Supongamos que

3 . : K. f U

0 , en ese caso: K T - T., i

K0 U ... U 2

K. .UK.^. U i-l +l

K ,Y n

resultado que contradice el Lema 4 - 1 al no tener K ningn subconjunto perteneciente a T. . De aqu que deba ser K.= 0 y ., '

por lo que : K = K' K U ...U K.U UK , K -* T -* T. . 1 2 i n i Por el Lema 4 - 1 debe e x i s t i r M. c. K t a l que M . - - T . Y M.>J..
i

5^ -

Pero K. C. K es el nico subconjunto de K que pertenece a T., luego M . K. 3


i i

Y M. > T . .
i i

Por lo tanto M = Mn U...U M


1

es tal que que M & K Y M *-T, pero esto contradice la hiptesis de partida segn la cual K es clave o^y{~\). tanto M. = K., por lo que K. es clave de,
^

Debe ser por

Condicin suficiente

Si K. c.T. que K > T

es clave doJ?'/

\/ ., entonces K = UK. es tal

(aditividad). Nos queda ahora demostrar que no existe

ningn subconjunto propio de K que a su vez implique T. En efecto: Supongamos M c K y M > T. 0. Se tendr pues que M=UM..,

donde Mi c. Ki, M . f .

De nuevo, siguiendo el mismo razonalo cual contradice el hecho de que

miento anterior, Mi T i ,

Ki sea clave dej/^T. , excepto si Mi = Ki. Luego K = UKi es clave

de

M
Corolario 4 - 1 Si la relacin de conexin induce en {, T. } la particin

identidad, K = US. es la nica clave

ety?(T).

Prueba

Se siguedel Teorema

4 - 1 ya que cada c/

: Si > Xi Sea Ti =(SiUXi)

constituye una clase de equivalencia en s misma. y

proyectmosla/en subrelacionoXi (Ti). Se tiene que Si es

la nica clave de<_

'5
56

Corolario

4-2

Si no hay dependencias funcionales definidas en el esquema < T, ,J2T> , esto es: <^ = 0, entonces T es la nica cla-

ve e<_y (1).

Corolario

4-3

Sea t_V-una relacin definida sobre el conjunto de atributos T, y supongamos que las dependencias funcionales se definen en T CZ T.

Sea Jsi-, T..

(T-) = L-^-TT,"] la proyeccin de t.>v (T) sobre entonces K = K U (T-T,) es

Si K, es una clave de .yj,,

una clave de<^/(T).

Prueba :

Seajg? sobre T-T1.

(T - Tj)

^fr-Tj

la proyeccin de

Est claro que, al no haber dependencias

funcionales

definidas p a r a j p ^ la nica clave dr que T = T U .

, en virtud del Corolario 4-2, T- T es Ya que "L y T - T. son disjuntos, se ten-

(T-T..) y, en virtud del Teorema 4-1, K = K U de/y7{T).

(T-TJ es una clave

Ejemplo

Consideremos de nuevo el esquema de relacin sobre el que 57 -

realizamos en primer lugar una particin funcional.

T =

{ A,B,C,D,E,F,G,H,I,J,K,L,Mj

jf: AB
H BD AE KM

>
__ > >
>

C
KL FG C L

Vimos que la particin funcional comprenda dos clases de equivalencia. Aadiremos ahora que dicha particin induce otra en el conjunto T de atributos, a saber : T = J A,B,C,D,E,F,G } y T 2 = j H,K,L,M . T y T = \ T , T 0 ^ , con

^7' ProyectemosJ/Tsobre

sobre T. Las dependencias funcionales son ahora, pa-

BD AE

> >

FG C

y para, S%T

=J^f

(T2) : H
KM

-> KL
> L

Fcilmente se obtiene que la nica clave de s y que la nica clave deJ^TX es K = HM.

es K ,

ABDE

La nica clave d e o V . e s

K = Kr U

= ABDEHM.

58

5 -

CARACTERIZACIN DE LOS ATRIBUTOS PRINCIPALES Y NO PRINCIPALES

La caracterizacin de los atrnbutos principales y no principales juega un importante papel de normalizacin de una relacin. estudio. en la determinacin del grado

De ah la importancia de su

Supondremos que nuestro esquema es ahorat^-/^ T, c=^7,>, donde es ahora un conjunto de relaciones conectadas entre s y tales que T = U (Si U Xi).

Lema 5 - 1

Si un atributo A. no pertenece a ningn implicante S.5 no existe ninguna dependencia S ^ X y A, en <J/, tal que A. S

X, excepto en el caso de que exista un descriptor S'c S


>

tal que A k S' y S"

X.

Prueba

Si ^9 i: A. U (Si U Xi)).

S., entonces

3 j: A,

X.

(ya que T=

Por aumentacin del implicante de la dependencia S. * X^ con el atributo A, , obtenemos : S


K

& X., y por proyectividad


J

se verifica tambin : S > S fc X

(X. - A, ),

de modo que existe

con A, . S y A, < X tal que S' 1> X. - 59 -

slo en el caso de que exis-

ta S' c: S

Teorema 5

-1

Si A, no pertenece a ningn implicante S., A, es no principal .

Prueba En el Captulo anterior hemos visto cmo toda clave de (T) es de la forma S.U ^ . , siendo S. alguno de los implicantes

del conjunto de dependencias funcionales inicialmente definido y con ^.cV. , \a .\ >. 0. Si y \


a

= 0, S.

es una clave y ya que, por hiptesis, A implicante, se tendr que A,

no pertenece a ningn

es no principal.

Si, por el contrario, para algn Si U . ^ . * T,

i se tiene que

\a-\>Q,

Si -/>T, tiene que existir

Zi Y

Si

Y.

\] a.

tal que

Z. = &. Z. n Y'

U y

Z.

(S.UY.)

Z. * Y' .

^. .

Adems, a . =

^ . es el

mnimo subconjunto de Y'i tal que Z. > Y'.. - .. a ., entonces A k Y'. - <#. 1. y A k Y'.

Pero si A, ^ y es

- <*. ya que Z {

son disjuntos. Por tanto, Zi * Y --^j

una dependencia funcional cuya verificacin contradice el Lema 5 - 1 ya que A. { Z . = _ y A, (r Y'i f - ^ i . Debe por tanto suceder o sea A es no princi-

que A, ^ a , con lo cual A, ^ pal .

S. U a.,

Corolario

5 -1

Si A, es principal, entonces es miembro de algn implicante


S

i 60 -

Corolario

5-2

Toda clave K de ,^/es un subconjunto de US.

Lema

5-2

Si A. no pertenece a ningn X., no existe ent-^- ninguna


K 1

dependencia funcional S * X

con A,

^. S y

A. : X.

Prueba:

Si jj . :

A k X., entonces

j% :

AR

Por aditividad entre las dependencias S. >X. y A, >A. ,


J j k k

se obtiene otra nueva, S - > X , tal que A, X (pero en la que A k tambin forma parte del implicante ). Y no hay ms dependencias en las que A. e X que las as obtenidas.

Teorema

5-2

Si A. no pertenece a ningn X., entonces A, entra a formar parte de todas las claves de ^y.

Prueba : COI

Sea K = S. K. Entonces

U &.

una clave dec

y supongamos que A, ^c f proyectividad.

K -& T

^ A, , por aplicacin de

61

Entramos pues en contradiccin con el Lema 5 - 2, lo que quiere decir que A. K, \/K que sea clave de

Corolario

5-3

Si un atributo A. no forma parte de ningn X-, entonces A, es principal.

Corolario

5-4

Si un atributo A, es no principal, entonces debe pertenecer a algn X.

Corolario

5-5

Si todos los atributos de UX. son principales, entonces todos los atributos de T son principales.

Corolario

5-6

Si cada atributo de UX. es p r i n c i p a l , T = US.

Corolario

5-7

Sea T

= US., T

= UX..

Si

i 1 , T 1 es una particin de

T, entonces T- es la nica clave de J ^ V ) .

62

Prueba :

Ya que < T,, J

constituye una particin de T, ningn atri-

buto de "L puede pertenecer a ningn X. y ningn atributo de T puede pertenecer a ningn S..

Pero, en virtud del Teorema 5-1, ningn atributo de J? es principal y segn el Teorema 5-2, todo atributo de T de alguna clave de^j^r; T. c es miembro dejyl,

Por lo tanto, si K es una clave

K; y segn el corolario 5-2, K c T .

Luego debe ser K=T ,

nica clave de

Lo expuesto en los Teoremas y Corolarios precedentes, pone de relieve cmo las claves de una relacin son subconjuntos de US.., siendo S. los implicantes o primeros miembros de las dependencias funcionales S. #>X. definidas inicialmente.

Este resultado nos lleva a afirmar que podemos, en el proceso de la bsqueda de claves, borrar en la matriz de implicacin las columnas correspondientes a los atributos del conjunto diferencia:

(UX.) -

(US.), obteniendo exactamente el mismo resultado

y con la consiguiente economa de almacenamiento.

- REDUCCIN DE LAS DEPENDENCIAS FUNCIONALES DEL ESQUEMA INICIAL,

Sea^/7(T) una relacin definida sobre T y sujeta al conjun-

63

to de restricciones J Qp.

S. .> X. r , todas ellas conec(S.UX.)


i i

tadas entre si, siendo adems T = U

Sea is

K^/I

(TJ la proyecci

TJ

de la rea-

cin ^J^/sobre el conjunto de atributos T1 . Las dependencias funcionales "reducidas", se obtienen a partir de las dependencias funcionales definidas pargyjXT) sin ms que borrar los atribu-

tos pertenecientes a T. Ntese que, \/ . las dependencias funcionales de Cy,*"A (T-.) , son de la forma : S. ->X'., i i i con X1 . cL X. siempre que T ? ^> 0 T? cionales de *^/[A y X'. = X. solo si

=j0f ; de modo, que, por proyectividad, las dependencias fun(T,) siguen verificndose.

El Teorema siguiente es un resultado fundamental que muestra cmo las claves de v-/(T) pueden obtenerse exclusivamente a partir de las dependencias funcionales de si-\ (!-) "",.

Teorema 6 - 1

El descriptor K o

T es una clave de J/.(T) si Y slo

si es clave de la proyeccin de ^ Y sobre US..

Prueba

Condicin necesaria

Si K es clave de_/2(T), se tiene por definicin que K*T,

64

luego K 1> T 1 , por proyectividad, adems, K es el subconjunto mnimo de T tal que K->T. Pero, en virtud del Corolario 5-2,

podemos afirmar que K T1 , o sea que K es un subconjunto mnimo de " \ tal que K > T \ . !

Sea K. c

K y supongamos que K . > T 1 . .

Por aditividad resulta: T, dad: K1 *(US.) U (UX.) = T.

(=US.) -* UX., y por transitiviSin embargo, K. _*. T contradice er/y'J).

la hiptesis de partida, segn la cual K es una clave Luego K es tambin clave d e J ^ X (T,).

Condicin suficiente -

Si K es una clave e/vl


^^

(T.), entonces
l

K-*- T. y K-+-T,*-UX.
i i i

por transitividad. Por tanto K(US.) U (UX.) = T, por aditividad. Ahora bien: Si existe un subconjunto propio K-.dK tal que K. &"!", entonces K, &.T. por proyectividad, lo cual contradice la hiptesis de que K sea clave $?,, (T,). Luego K es clave

de^T).
Ejemplo:

Sea el esquema de r e l a c i J T ^ < T , J ^ > , siendo: T = \ A,B,C,D,E,F,G,H,K|

JT:

AB -* C D
ABE

> >

FG HK
BFK

CE

AH _

65

El Algoritmo de bsqueda de claves expuesto en el Capitulo segundo, produce como resultado.

ABE,

AEH,

ACE

Proyectamos_^/sobre T, = US. = ABCEH, T es el conjunto T - T = JD,F,G,K| . Las dependencias funcionales reducidas son:

AB

-* *

C ABE (Reflexividad)

ABE . CE .

H B

AH

El cierre de la matriz de implicacin relativa a las dependencias reducidas es ahora :

A B C E H AB ABE CE AH 0 1 1 1 0 0

1 1 1 1 1 0 1 1 1 1

1 1 1 0

Y obtenemos a partir de ella como resultado el mismo conjunto de claves: ABE, AEH y ACE.

SUPRESIN DE DEPENDENCIAS EN FORMA REFLEXIVA

Una dependencia funcional de la forma S. S., se denomina


i i

66 -

forma reflexiva. va.

En caso contrario, se denominar no reflexi

Propiedad 7 - 1

Si

S X es una dependencia funcional obtenidad del con-

junto inicialmente dado jL'MPor aplicacin de los Axiomas de Arsmtrong, entonces 3 ' S o S., ya que la aplicacin de di-

chos Axiomas, o bien no altera el implicante (primer miembro) de una dependencia, o bien lo incrementa en algn nuevo elemento.

Lema 7 - 1

Si ^T- es una forma reflexiva y J ^ 1

<3T

3 . , .: -^ 3 f i

S. c J

S. en ei " i

conjunto original de dependencias, entonces cualquier clave que pueda obtenerse a partir de S. puede serlo tambin a partir de S.. J Sea S.. = S. - S..
U i j

Si

S.U b. >
i i

T, entonces (S.U S..)


j U

Ub. = S. U (S..U b.) = S.U b. b- T. As pues hay siempre al i J iJ i J J menos un b. c S.U S.U b. T.
vi

b. (y de aqu que S.U

b.cS.U b.), tal que si

Por tanto, S.U

b. no puede ser clave e^y~{l)


'

S.U

b- lo es, excepto en el caso de que S.U b. = S.U

b..

Lema 7

Si t ^s'. es una forma reflexiva y si S. < S.

y . , . se tiene que

en el conjunto de dependencias funcionales original,

67

cuaquier clave que pueda deducirse a partir de S. puede serlo tambin de S. para algn K f i.

Prueba

Si V / se tiene que S.. cjl

S. en el conjunto original

de dependencias, las nicas dependencias que pueden deducirse de la matriz C ^ modo ) Y. = 0 , i de cierre son del tipo : S. > S. . De este , Y' i = T -S.,J ya ^ que hemos supuesto S.n i = 0. . Y. i ' i b. &> T para b. c Y ., tiene que existir

De aqu que, si S.U

Z- S. U b. tal que Z. *. Y', de modo que, segn la Propiedad 7-1, Z. = S. Ug. para algn K f i, y S.Ug. - > Y'.-

Ahora bien, ya que S. cz S.U b. y S.U b. ' J \ k i i i i entonces b, Sr S.U b. tal que S, U b, cz S.U b. ! k i i k k i i
i
i 1 K K

e>T, existen
y
Sc . U b, * .

, , ,

T T

(Lema 7 - 1 ) . Por tanto, S. U b. no puede ser clave si S.U b. lo


i
K

es, excepto si S. U b. = S. U b..

Teorema

7 -1

Cualquier forma reflexiva puede suprimirse de (-/

= j jfc-.

/)
sin alterar por ello las claves de Prueba : t_J/ul

'

Si <_y\

es una forma reflexiva, por los Lemas 7 - 1 y 7 - 2,

toda clave que pueda deducirse de S. puede serlo tambin a partir de S., para algn j ? i. Por tanto, slo queda demostrar que si, ' con j f i, S.U &. es una clave, entonces^^^/! no necesita - 68 -

usarse para determinar

En efecto, si S.U b. & T, b. 3 a. , tiene que existir J J J J Z. s. UY. U b. tal que Z. h . Y'.. De aqu que, si J J J J J J Z. = s.Ug. (propiedad 7 - 1 ) , entonces para g' i c S.Ug.Ug'i = S.U b. T -^ S.UY.,

Y'.; siendo bj = Y' . O(S.U g.) =

Y', n (S.U b.) ; de modo que, por los Lemas 7-1 y 7-2, existe siempre S.U b, c. S.U b. para algn -f Y'.. Kf i, tal que S. U b * T

Por tanto, si S.U

& . es una clave, y recordando cmo pro-

cede el Algoritmo de bsqueda de las claves de una relacin, S.U b. no precisa ser usado ya que es un superconjunto.

Podemos pues borrar

t_y.

del conjunto original ^,

Ty^

de dependencias funcionales sin alterar por ello las claves de una relacin definidad sobre T ciones. y sujeta a ese conjunto de restric-

69

C A P I T U L O

IV

CARACTERIZACIN MATEMTICA DE LA SEGUNDA Y TERCERA FORMAS NORMALES.

1.

INTRODUCCIN

El objetivo del presente Captulo, es dada una relacin normalizada (es decir, una relacin en Primera Forma Normal con entradas simples ) poder determinar si adems se encuentra en Segn da Forma Normal (y, en caso afirmativo, si adems est en Tercera Forma Normal).

Este es un enfoque analtico: Dado un esquema de relacin, averiguar cul es su nivel de normalizacin. En un Captulo pos-

terior esbozaremos el problema de sntesis: Construir un conjunto de relaciones normalizadas (y adems en TNF) a partir de un universo de atributos y de un conjunto de restricciones (dependencias funcionales).

CARACTERRIZACION MATEMTICA DE LA SEGUNDA FORMA NORMAL

Sea la relacinjy^,. (T) una ocurrencia del esquerna^vyxT,c^/'> tal que las dependencias funcionales i = 1,2, m (siendo J^r -[J^r(S.U X.
f

jr.

: S. * X.,

\ )> estn todas conecta-

das entre s, y adems T = U

70

Sea T

= US. y T 0 = UX., P^ y O, son respectivamente,

los conjuntos de elementos principales y no principales de T. Por p representaremos un elemento cualquiera de P y por q un elemento cualquiera de Q . Resulta evidente que, si todo elemento

de T ? es principal, entonceSjJ^est en Segunda Forma Normal, ya que, en ese caso (ver Corolario 5-5 en el Capitulo anterior) P . = T y Por tanto Q * = 0 (existen sin embargo relaciones en Se= 0)

gunda Forma Normal en las que Q

Resulta asimismo fcil demostrar que, si K es una clave, entonces ningn subconjunto propio de K puede depender de otro subconjunto propio de K, ya que, en caso de que as fuera, un subconjunto propio de K implicara T y K no podra ser clave.

En efecto: Sean K . y K? dos subconjuntos propios diferentes . de una misma clave K. Las siguientes dependencias funcionales resultan evidentes (sin ms que aplicar los Axiomas de reflexividad y proyectividad, respectivamente):

K - (K2 - Kj) K - (K2 - Kj) *

K - (K2 - Kj) Kj

(1) (2)

Supongamos que tiene lugar la dependencia : Kj->K 2 (3)

De (2) y (3), por la propiedad transitiva, se sigue que K - (K2 - Kj) . K2 (4)

Y de (1) y (4), por aditividad, resulta : K - (K2 - Kj) ~ * K (5)

71

que por transitividad permite escribir : K - (K - K1) ^ T , lo que contradice el hecho de ~f~^. K? .

que K sea clave. Luego debe ser ! <

Como consecuencia, si con de<_y(T), se tendr que Q = T?

/ J o !**' ^i f

es

^a nica clave (T) no pue-

0, as que J/L

de estar en Segunda Forma Normal, ya que tienen lugar las dependencias funcionales ^ / . : S. X- c. Q (en efecto, si fuese X. X. P. f con S. ci T, y

0, un subconjunto pro-

pio de T1 dependera funcionalmente de otro subconjunto propio de T , y ya hemos visto que esto no es posible al ser T. la clave). -

Las anteriores reflexiones, conducen fcilmente a enunciar los resultados siguientes:

Teorema 2-1

Si

{ T., T_

constituye una particin de T, <^s? (T) no

est en Segunda Forma Normal.

Prueba :

En este caso, segn el Corolario 5-7 (Captulo Tercero),

O
T. es la nica clave do^yZiT); tar en Segunda Forma Normal. Teorema 2-2 tz ., \a . | .

02)
de modo que ^ 7 O ) no puede es-

Si

J? . :

S.U

1, es la nica clave

72

& t J ^ T ) , y adems Q

S, entoncest_yl(T) no est en Segun-

da Forma Normal.

Prueba :

Si P, = S.U

S.U

a.

es la nica clave de,_Xc(T), es obvio que

tz .

. Ahora bien, al conjunto inicial de dependencias r

funcionales pertenece la dependencia : S. -v X., S. CL S.U & . (ya que 1 ^ - 1 ^ . 1 Por hiptesis).

Si X- c. S.U cia funcional

&.,

entonces la verificacin de la dependen-

S. *> X-, supone que un subconjunto propio de *

una clave sea funcionalmente dependiente de otro subconjunto propio de la misma clave, lo cual no es posible. Por tanto, debe ser X. c Q., con lo cual Jyt(T) no est en Segunda Forma Normal.

Deduciremos a continuacin la siguiente interesante propiedad, como inmediata consecuencia de la definicin de la Segunda Forma Normal.

Propiedad 2-1

Si toda clave dej^/tl") consiste en un tributo simple^Jx(T) est en Segunda Forma Normal. Esto es evidente ya que, en este caso, ninguna de las claves tiene un subconjunto propio del que pueda ser dependiente algn atributo no principal.

Cuando en el Capitulo Segundo nos ocupamos de cmo podran

73 -

determinarse las claves de una relacin, vimos que stas eran siempre de la forma S.U
1

&.
T

, \a.\
* 1 i

)>
-^

0; para algn S.,


1

implicante extraido del conjunto de dependencias asociado al esquema de relacin. As pues, si S.U a. es una clave y si zi . i : S.cr. S. en el conjunto inicial de dependencias J J i funcionales, entonces S.U tz . = S.U z., es tambin la misJ J i i

ma clave ( es decir: Ya que las claves son subconjuntos mnimos, por aumentacin de S. y S. con descriptores diferentes, llegaremos a claves idnticas ). En lo que sigue supondremos pues que si S.U ve, S. (z S. funcionales).
a

. es una cla-

\/j f i (en el conjunto original de dependencias

Lema 2-1

Si tiene lugar la dependencia funcional S. ^ X. y el conjunto original de dependencias funcionales no existe ningn S. tal que S - o S - , entonces, para cualquier S, a. S.. y S ? o se tiene que S. -t-> S . T,

Prueba :

Razonemos por reduccin al absurdo, suponiendo que tiene lugar la dependencia funcional 5 -e*S
K K

. En este caso (Propie1

dad 7-1, Captulo Tercero), f , : S, =L S,, de modo que : Sk $i C^ S., lo que contradice la hiptesis de en el conS, <. S. \/ , f i .

junto original de dependencias funcionales 74

Luego debe ser S1 -7 S.

A continuacin exponemos unos Teoremas que constituyen otros tantos casos particulares en el proceso de determinacin del nivel de normalizacin de una relacin.

Teorema 2-3

Si toda clave &~/{7)

es un

implicante S. del conjun to

inicial de dependencias funcionales, entoncejrxi. (T) est en Segunda Forma Normal.

Prueba

Si Sj -++S2

S.

es una clave, para cualquier S . <^ . (Lema 2-1)

S.

y ScT,

Si q & Qt hagamos S ? = q. S- -H> q. Luego

De nuevo tendremos (Lema 2-1

(T) est en Segunda Forma Normal.

Teorema 2-4

Si toda clave d e J ^ x ( T ) es de l a forma S.U y si


)

a ^

\&\<.}

</ . :S.c c V,-:S.


3 3 ^~

SJJ S.U
i

a.a .
i

se cumple que S. _y_>q; entonces se cum|

T) est en Segunda Forma Normal

Prueba :

Si

S c

Sn.U * .

y si 75 -

, X es una dependencia

obtenida a partir del conjunto de dependencias inicialmente dado, entonces 3 ^ : S. c: S (Propiedad 7-1, Captulo Tercero). De modo que: S, c S cS.li a..

Pero S.U y por tanto

& . S <z S..


1

es una clave, asi que S cp. S.

v/,

f i,

En consecuencia, o bien S = S., o S=S


1 K

para algn K ^i . Segn esto, por la hiptesis del Teorema, S $ q __,, as que si q Q t entonces q X, por lo que con!uirnos afir-

mando que<_J^(T) est en Segunda Forma Normal.

Para determinar si una cierta relacin est o no en Segunda Forma Normal, obsrvese que basta con considerar los dependencias funcionales S. * Y.
i i

que se deducen de la matriz de cierre cali i


t

culada sobre las dependencias S.t*X. oriainales cuyos implicanJ

tes S. sean subconjuntos del conjunto P de elementos principales.


1

&

Esto es as ya que, si <_VY-(T) no est en Segunda Forma Normal, existe al menos una clave, por ejemplo S.U a . y S > q, q Qt. z ., tal que S c S.U

Por tanto, segn la propiedad 7-1 (ver Captulo Tercero), 3 i J. S.U J b. = S. J Pero S c P,, Jya M que S es subconjunto de t P.

una clave, de modo que : S. c: Se

Sea T. el conjunto de atributos de T, tales M que S.U b.> T. J J J J Para encontrar T., hay aue hallar el cierre del descriptor S.U b. con respecto al conjunto =-^de dependencias funcionales correspondientes al esquema dado. Ya vimos (Captulo Primero), que el

Algoritmo de clculo del cierre de un descriptor respecto de un

- 76 -

conjunto de dependencias dado, procede por pasos sucesivos, que aqu resumimos as :

S.U b . H , .,

S.U b.

>T0.,

S.U b. *>T . = T.

Si para algn K se verifica : S. c c P f S, cr S. U b.U


K
J J

J3 .:

T.. , entonces S,ch.S.U b., ya que


1J
K"r~" J

J
t

S.U b. cz P , por lo cual que existir q 6 Qt

T.. C\
IJ

S,
K

0.

De aqu que tenga


S R

tal que: q (T . n

)-

En conclusin, si

S. g P, , ^ .: S, c S . U b . U T . . .

excepto si S = S.U b . > q, en cuyo caso<_y(T) no est en Segunda Forma Normal ya que S > q , y S, no se necesita.

Exponemos a continuacin una condicin cuya verificacin asegura que<JyCT) est en Segunda Forma Normal (condicin suficiente]

Corolario 2-1

Sea K una clave arbitraria de S. f K; se cumple que S . + * ^

(T).

Si y..:

S. , Pt, -

(siendo q, tal como hemos venido

considerando, un elemento arbitrario de Q ) , entonces_v?T(T) est en Segunda Forma Normal.

Prueba :

Acabamos de ver cmo para determinar si una cierta relacin t"T) est o no en Segunda Forma Normal, basta con considerar 77 -

las dependencias funcionales S. S. c: Pf. Si

> Y.

der/^

en

^ a s c l ue

S. cr P,, entonces S._y-^q, excepto en el caso ..

de que se trate de una clave (hiptesis del Corolario ). Pero, si S. es una clave, s/ . ^ i S. cfz S.. Adems siendo K ^ i a r, ,

y continuando en el supuesto de que S. sea clave, si S, U {z. | ^ 1 tambin lo es, y si S = S.U b, , b. <r a.

entonces S. dz
1 "i**

S.U Y, U b, , ya que, en caso contrario S.U b, ^ T


K t \ K K K

(ya que S. es clave) y S.U

, no podra ser una clave. Por tan-

to, si SkU b, t> q, tomando el cierre transitivo de S.U b. respecto dejs. * Y.l(S. c la existencia de S. c. p
J
* *

P ), tiene que llegarse a determinar (j f k, S. f K), tal que S. %, q .


J J

Pero S. * q ,
J

S.
J

f K, contradice la hiptesis del Corolario; le-

go S.U

b k "/*q; y podemos afirmar queJ//(T) est en Segunda For

ma Normal.

Ejemplos:

Sea el esquema de relacin definido por T =


(A,

B, C, > * : C D B

D,

E^

A B CE AD

Las claves son : A B E, A D E, A C E; por lo tanto:

Px = T, Q

= 0.

As pues, por definicin^J/^Tv^/''>est

en Segunda Forma Normal

78 -

Sea el esquema de relacin definido por T = (A, B, C, D \

tzf:

A B * D
D . > A C &. A D

La nica clave es BC.

Por tanto: P

= B C y Q

= A D.

Luego, por e 1 Teorema 2-4<J^^T,J'fj>no est en Segnda Forma Normal.

Sea el esquema de relacin definido por T - \ A, B, C, D, E, F \

f:

AB .
A C D F B E

* ^

C D
BEF A E D C

-r f

Las claves son : AB, AC, BEF, BDF, CDF. Por lo tanto : Pt
=

y Q.

=0.

As pues, por definicin^^^^T, J^/^no est

en Segunda Forma Normal.

79

3.

ALGORITMO PARA ESTABLECER SI UN CIERTO ESQUEMA DE RELACIN ESTA O NO EN SEGUNDA FORMA NORMAL.

Este Algoritmo resume y utiliza todos los resultados anteriores.

Emplearemos la notacin siguiente:

S. /

(S.crPj

( S. -*,X.) es una de-

pendencia funcional dadaj .

C (Es obvio que

i Si /

( S U
21

i *i>
p

es c 1 a v e

) ll * l

l^cl

^c

El conjunto de dependencias funcionales definidas en el esquema es :

\T: ^

S -w , .,-

Xi

i = 1, 2 -

El subconjunto constituido por aqullas dependencias cuyos implicantes pertenezcan a JT :

\SC\*

i =

I- 2,

H_p

( np m)

80

Habiendo ordenado ambos conjuntos de forma tal que :

S l

'

k ^o)
c

V1
Y si S. G J

^ K <

n .

Si
i < 3-

S. e ^

( ^ p - ^ c ) , entonce ' *- P

En el Algoritmo el cierre se calcula respecto de /<__& \ i = 1,2 K- . excepto en el clculo de CJ?


I

(punto II),

I que se realiza sobre , <CY yr.

i = 1,2,

m.

r Por N \y) representaremos simblicamente el nivel de

normalizacin dej/, que puede tomar el valor 2 (Segunda Forma Normal) 1 (Primera Forma Normal)

Algoritmo

I II -

(J^j

=2
ver Captulo Segundo) Z
Q

Calcular claves de Hallar P t , Q t , Z p,

III -

Si Q = 5?, acabar Algoritmo . (ya vimos que si

Qt = 0
IV -

,N

t (9l)

=2)
(ya que entonces

Si <2~. - 0 , acabar Algoritmo,

toda clave deJ^x(T) es una de las originales S., y ya vimos cmo en este caso, N yZ 81 ) =2 )

S Q i .

Hy

0, hay que averiguar si al

gn subconjunto propio de una clave implica q: ~-{ : 1 ^ i H, , para el que St q ?


=

En caso afirmativo, N kyi) En caso contrario :

1- Acabar Algoritmo

Si V

: S.U

es clave, se tiene que \a. 1 1, (ver Teorema 2-4)

Acabar Algoritmo En caso contrario :

1.
2. 3.

- i = o
i - i+ 1 i > nc ?

En caso afirmativo : Acabar Algoritmo En caso contrario:


J

J ( (S.CZ ^-j

S.U Y.U ^.) A ( <z.. = S.t\<*-.? 0) * 1 a .) ?

En caso negativo : Siguiente j En caso afirmativo: Calcular (S.U a. .) + con respecto ai y: '\
y

1
Tiene luegar la denendencia S.U . . - ^ o ? En caso afirmativo : N ^/i) Acabar Algoritmo En caso negativo : siguiente j. 5. Ir a VII.2 = 1

Fin
82

4.

CARACTERIZACIN MATEMTICA DE LA TERCERA FORMA NORMAL.

En el Capitulo Segundo hemos dado la definicin de Tercera Forma Normal. Teniendo en cuenta esta definicin a continuacin

formalizamos sus propiedades matemticas en un conjunto de Lemas y Teoremas.

Teorema 4 - 1

Dada una relacint-^(T) (no necesariamente en Tercera Forma Normal ) , si los descriptores K1 y K son ambos claves de la

misma relacin entonces tienen una mutua dependencia funcional completa :


Kj <==z> K2

Prueba :

Es evidente que tiene lugar la dependencia funcional : K1 s K, ya que K . es clave. . 3 S, c=_ K1 : S, Si esta dependencia no es comPero ya que K ? es clave,

pleta

t, K.

por transitividad tiene entonces lugar la dependencia: S, > T, y ya que S clave. Debe ser por tanto: cz. K., K. no puede ser

Razonando anlogamente a partir de la dependencia funcional evidente:

83

K9

>

K1

llegaramos a establecer que dicha de-

pendencia funcional debe ser completa; de donde resulta que :

Lema 4 - l

S^j(T) es una relacin en Tercera Forma Normal, todo atributo no principal depende de s mismo, de las claves y eventualmente de descriptores cuya interseccin como P, (conjunto de los atributos principales ) es no vacia:

Prueba :

Sean q,

y q9

elementos arbitrarios de Q f .

Si K es cla-

ve, por definicin se tendr que : K *

q, , K * q,,.

Ahora bien, ya quec_J/7;(T) est tambin en Segunda Forma Normal, se tiene que K r=>q., K rrr>q.

Adems q,

> q.

(reflexividad). Si q,

* q 9 , enton-

ces, ya que q,, q ? y K son disjuntos, y puesto que k * q,--> o (transitividad) llegamos a una contradiccin respecto a la hiptesis de que/2
qx
f^ qr

("O est en Tercera Forma Normal. Por tanto :

Mediante un ejemplo (ver ms adelante en este mismo Captulo), veremos que pueden existir subconjunto S tales que :

- 84

Pt

y S __*. q2

S _.^ q2

Cualquier otra dependencia contradecira la definicin de Tercera Forma Normal.

Teorema

4-2

Una relacirf/2;(T) en Segunda Forma Normal, esta en Tercecera Forma Normal si y slo si para dos subconjuntos propios cualesquiera no vacios y disjuntos, S y S ? , de Q,, se verifica:

Sj

/-;> S 2 ,

S2

/-* S r

Prueba :

Condicin necesaria -

Si i~/j{^)

est en Tercera Forma Normal, ningn atributo

no principal depende transitivamente de ningn descriptor que sea clave de la relacin. K Si S.e> S ? , entonces se verifica Pero K, S y S_ son dis

^ S1 & S (siendo K una clave).

juntos, de modo que la anterior dependencia contradice la hiptesis de qu est de Tercera Forma Normal. As pues,
S,-H>S9

( y Sf* S,, resultado que puede establecerse sin ms que razonar anlogamente partiendo del supuesto de que S & S,).

Condicin suficiente Si S, -/-* S y S _y_&, S1 , entonces S . y S ? son slo de.

pendientes de s mismos de las claves y de descriptores cuya interseccin con Pf es no vacia (ver Lema 4-1). Ahora bien, en cualquiera de estos casos, es fcilmente demostrable que S. y S no depende transitivamente de ninguna clave de^/2(T) (vase en

el Captulo Primero la definicin de dependencia funcional transitiva ). Luego<_>/AT) est en Tercera Forma Normal.

Corolario 4 - 1

O/?
Si todo atributo de UX. es principal, entonces<><(T) est en Tercera Forma Normal.

Prueba :

Si UX. c= P. , entonces P 5-5, en el Captulo Tercero).

= T

y Q

= 0

(ver Corolario

Ya que no hay atributos no princi-

pa les c/2( "O est en Tercera Forma Normal.

Corolario

4-2

Sit^^T) est en Segunda Forma Normal y ces < y(T) est en Tercera Forma Normal.

1 Q 1 = 1 , enton-

Prueba:

Si

= 1, no hay que Q. subconjuntos propios disjuntos,

luego, segn el Teorema 4-2 ^ / ^ T ) est en Tercera Forma Normal

86

Teorema

4-3

Si

S c Q . , entonces

S-y-*-p .

\/

Prueba

Supongamos que S sp. Al ser p principal, es miembro de z., al menos una clave deC/(T), digamos S. U a., \a Sea M = (S.U z.) ^ . ) - o; se ti tiene que M c & . lo es S.U z. . .j >. 0. y M no es

clave ya que S.U

Portante SUM * pUM = S.U a. *>T, por adit.ividad y transitividad. Pero SUM - T y SUM no es superconjunto de ninguna clave, ya que S H P = 0. Por lo tanto SUM es clave, o sea :

S SL P . Pero esto contradice la hiptesis de partida, segn la cual S L Q . Luego, S -f^p.

Teorema

4-4

Una relacin en Segunda Forma Nomral est en Torcera Forma Normal si y slo si S.A P f 0 , y ..

Prueba :

Condicin necesaria -

Supongamos quec/(T) est en Tercera Forma Normal. algn i se tiene que S. f\ P

Si para

= (?, entonces S. c - Q , de modo que

87

v/
v

c. P. , S. -*- P p~ t i

(ver Teorema 4-3). Siendo S. X . i i

una dependencia funcional del conjunto correspondiente del esquema de relacin, debe ser (S.U X.) c Q visto cmo S . c Q . Si X. f) P. En efecto, ya hemos

i 0, para algn p (X.flPJ

se cumplira : S. =* X. dad).

= P (por proyectividad y transitivi>

Pero la dependencia S . * P contradice el Teorema 4-3 Luego , X. c= Q, y, por tanto, ( . U X.)cQ S.

al ser S. c Q t -

Por el Teorema 4-2, en este cascc/(T) no puede estar en Tercera Forma Normal, ya que S.> X., S. O X. = 0 y (S.UX.. ) c

Q. contradice la hiptesis de o.xx^y) (T') est en Tercera Forma Norma 1. Por lo tanto debe ser S. P f 0, j .

Condicin suficiente -

Supongamos S. f\ P.

f 0 y ..

Si

j Q \ ^. 2, sean S, y S

dos subconjuntos propios no vacios, disjuntos , de Q . Si S.>S , "3. : S, D


* i

S. (ver Propiedad 7-1, Captulo Tercero). Por lo


i

tanto : Si c

S. C

Q t de modo que S. O

p t

0 ya que P (1 Q =0.

Luego , con S. y S 9 arbitrarios y disjuntos, S.-f-^S, as que (T) est en Tercera Forma Normal (ver Teorema 4-2)

5.

ALGORITMO PARA ESTABLECER SI UN CIERTO ESQUEMA DE RELACIN ESTA 0 NO EN TERCERA FORMA NORMAL.

Establecer s el esquema dado est o no en Segunda Forma Normal - Hallar P y Q

II

Si no est en Segunda Forma Normal, ir a V En caso contrario, ir a III.

III

Si "3 . : S. c ( , ir a V. 1 IV.

En caso contrario, ir a

IV

El esquema est en Tercera Forma Normal - FIN DEL ALGORITMO.

El esquema no est en Tercera Forma Normal - FIN DEL ALGORITMO.

Ejemplo :

Sea el esquema de relacin definida as : T = \ A,B,C,D,E,F( AB CD; BE > AF; DE * BC; BD -*A

J^f 7 :

Las claves son : BE, DE. Por lo tanto : P = BDE y Q = ACF (obsrvese que BE <j=> DE)

En virtud del Teorema 2-3 <^/< T,C/>est en Segunda Forma Normal. Por aplicacin del Algoritmo correspondiente, comprobamos

que tambin est en Tercera Forma Normal. f 0, B D * A y A es no prin-

Obsrvese tambin que B D O P cipal.

Esto sirve como comprobacin de lo que afirmamos anterior-

mente en el Lema 4-1. (en una relacin en Tercera Forma Normal pueden tener lugar dependencias del tipo S>q a condicin de que

C A P I T U L O

SNTESIS DE ESQUEMAS EN TERCERA FORMA NORMAL 1. INTRODUCCIN

Los Captulos Segundo, Tercero y Cuarto, constituyen el ncleo fundamental de nuestro trabajo: Partiendo de los Axiomas de Armstrong, hemos enunciado y demostrado un Conjunto de Lemas y Teoremas sobre los que hemos construido Algoritmos de bsqueda de claves y de caracterizacin del nivel de normalizacin de una relacin. Este es por tanto un enfoque analtico del problema.

Sin embargo, hemos considerado interesante presentar aqu otra forma de abordarlo; es el enfoque desde el punto de vista de sntesis.

El problema de la sntesis de Bases de Datos lgicas, puede considerarse como el de convertir el .conocimiento que el usuario ' posee acerca de un conjunto de datos en un modelo lgico. Concretamente : Dado un universo T de atributos y un Conjunto tricciones (dependencias funcionales), construir un esquema de relacin que est en Tercera Forma Normal. lucin puede no ser nica. Intuitivamente, la sores-

Como criterio de diseo, aadiremos

el que dicho esquema contenga el mnimo nmero de relaciones.

Este Captulo se basa en los trabajos de W. Cheng P. Bernstein T8] , y Bernstein et al.

[19] ,

[101 , especialmente en

el segundo de los trabajos mencionados, de donde hemos tomado los 90 -

dos Algoritmos de Sntesis que incluiremos ms adelante.

2.

CONCEPTOS PREVIOS: RECUBRIMIENTO MNIMO Y CONEXIN MLTIPLE ENTRE ATRIBUTOS.

2.1. Recubrimiento mnimo

^ ean j2/j

y Jy/p

dos conjuntos de dependencias funciona ~Sy? ^'-"i (y reci(-/? com-

les. Decimos que son equivalentes siO^j y S/n

son equivalentes, decimos ue_y-/K recubre &J^/n : Y Z, ^^

procamente ). Para cada dependencia ^ prubese ^j/Z^y?

calculando-el cierre Y de Y respecto Si j ? y y\ '

de <-I y luego comprobando si Z C y , yfc y^ c


(

y^

, entonces Jy\
es

C ^

Si por el contrario,

yTV^^^T'p

fcil demostrar que cualquier dependencia , est tambin en <->/? (ver [31J)

funcional perteneciente a ^ /

Del mismo modo, si todo elemento de entonces todo elemento de^-fK,

V i est presente en J^\ >


1

tambin pertenecer a\}y ^p


son

. Po-

demos pues concluir afirmando que J^i

equivalente y toda depen-

si y slo si toda dependencia de O ^ est en C^p dencia O^p est en 0 ^ | .

Lema 2-1-1

Todo conjunto ^^de dependencias funcionales est recubierto por un conjuntq^^ftal que ningn miembro de la derecha tiene ms de un elemento.

-91 "

Prueba :

Sea<^/Zel conjunto de dependencias de la forma q u e ^ J ^ T X - * Y ^ ^ -<i A. Y.

X*A.,

tal

Es evidente que

X > A. se deduce de X * Y por proyectividad. Por lo tanto :


C

^+.

Ahora b i e n e ^ / s / ^ ; +

ya

que

Y = A}

A2

A ^

por lo que X > Y puede obtenerse a partir del conjunto de dependencias: X Av X A, A , por aditividad. n

Luego debe ser '-^^

"

J/f

Un conjunto de

dependencias se dice que es mnimo si:

Todo miembro a la derecha del signo de implicacin es un atributo simple.

No hay en ^^f ^^^i X > A ^

ninguna dependencia X-A tal que sea equivalente &s

No hay en ^^/ninguna dependencia

XA, ni existe nin-

gn subconjunto propio de X, Z, tales que : X A] - - Z > A y sea equivalente a fj

La segunda condicin garantiza que ninguna dependencia de ^^ es redundante y la ultima garantiza que ningn implicante es

redundante.

- 92 -

Teorema 2-1-1

Todo conjunto^^/. de dependencias, equivale a un conjunto que es mnimo.

Prueba

Supongamos que ningn miembro a la derecha del signo de implicacin en el conjunto^/I tiene ms de un atributo. Para satisfacer la segunda condicin de recubrimiento mnimo, consideremos cada dependencia S^X * Y der-H/, en el mismo orden, y, si

\ X > Y| equivale a O ^ s e suprime la dependencia en

cuestin. (Obsrvese que si se consideran las dependencias en rdenes diferentes se llega a la eliminacin de distintos grupos de dependencias ).

Ejemplo :

Sea el conjunto

J :

AB C BC ACD

C A , D

D
BE CG CE


= r

EG

C
BD AG

>

B * C ^ A > D * B

>
>

Equivale a

AB C BC ACD

D D
BE CG CG CE CE

E G C B D A G

> ,
1

- 93 -

Dependencias redundantes : CE

> A

(ya que C

*A)

CG -= B

(ya que puede dedu-

cirse de CG ^ D, C -> A y ACD -> B) Adems, y ya que C sustituirse por CD * B > A , , la dependencia ACD - > B puede

El conjunto de dependencias queda as

Jf:

AB _
r
BC A D B F / D
>

en
D

G
>
>

BE C G CE Y esta solucin no es nica.

C D G

2.2. Conexin mltiple entre atributos

Tiene lugar cuando a un conjunto de valores de A corresponde un conjunto de valores de B. Esta conexin mltiple se repre-

senta mediante una dependencia funcional del siguiente modo:

5^7
9

AB _* 9

es un atributo que toma sus valores en el dominio 0,1j

94

Para cada elemento (a,b) Dominio , y\z., b) = 1

(A)

Dominio (B), -

si y solo si a y b estn relacionadas bajo^*'.

(Este concepto se extiende fcilmente a cualquier nmero de atributos) .

3.

SEMNTICA DE LAS DEPENDENCIAS FUNCIONALES

Las dependencias funcionales que van a constituir la entrada del Algoritmo de sntesis satisfacen no slo los Axiomas de Armstrong, sino tambin la suposicin de unicidad, esto es : Si dos dependencias funcionales^/T y t jTT tienen iguales sus = yfr?.

implicantes y sus segundos miembros, entonces ^ y

4.

PROCEDIMIENTO DE SNTESIS.

4.1. Descripcin del Algoritmo

Diremos que un atributo A. funcional Aj ^jf\ A.^ A. A


1

es extrao en una dependencia A


i p

A ---Ap _

>

Y , si

A. +1

Y pertenece a C / ^

La eliminacin previa de atributos extraos, ayuda a evitar dependencias parciales y superclaves (descriptores que incluyen claves'

Si dos relaciones tienen claves que dependen funcionalmente la una de la otra (claves equivalentes), ambas relaciones pueden sintetizarse conjuntamente. Esto puede realizarse agrupando las

95 -

dependencias funcionales cuyos implicantes sean equivalentes.

El

Algoritmo de sntesis queda pues como sigue

Primer Algoritmo de Sntesis :

Eliminar los atributos extraos en los implicantes de cada dependencia funcional de^,/, el obteniendo

Conjuntq_y^ (la eliminacin de atributos extra-

os no altera el cierre del conjunto de dependencias ).

II

Hallar un recubrimiento mnimo do

y ' 1

III

Dividi/^en grupos tales que todas las dependen-

cias de cada grupo tengan los mismos implicantes.

IV

Unir los grupos cuyos implicantes sean equivalentes.

Para cada grupo,construir una relacin consistente en todos los atributos que aparecen en ese grupo. Todo implicante que aparezca en cualquier de-

pendencia del grupo, es una clave de la relacin. El conjunto de todas las relaciones as construidas, constituyen un esquema para el conjunto de dependencias dado.

96

4.2. Conexiones mltiples entre atributos

Para representar una conexin mltiple entre atributos (atributos que escribiremos abreviadamente como el descriptor X ) , introdujimos la notacin de dependencia funcional :r ^r En [8] se demuestra el Lema siguiente : : X > 9.

Lema 4-2-1

Si X * 9 pertenece al conjunto de dependencias funcionales


r^,

entonces, para cualquier recubrimiento minimgy^^de,^^ o Y * 9 pertenece a

bien X 9 pertenece a Jw siendo X

e Y descriptores equivalentes.

Esto garantiza que las conexiones mltiples (no funcionales) entre atributos, siguen teniendo lugar en el esquema sintetizado en la misma forma en que se habian especificado en el conjunto original de dependencias funcionales.

5.

ESQUEMAS EN TERCERA FORMA NORMAL

5.1. Si en el Algoritmo de sntesis anteriormente expuesto se suprime el paso IV (Agrupacin de claves equivalentes), las relaciones resultantes estn en Tercera Forma Normal.

En

[8j se encuentra la prueba del siguiente Lema :

97

Lema 5-1-1

Sear-^/un conjunto de dependencias funcionales y sea

O, 3? =
est en^ /

X
y

Y una de tales dependencias. ^S

Si

L(

-frn'- V= W a

se usa para alguna derivacin de jf est e n O ^ .

partir d e ^ , entonces V > X

Teorema 5-1-1

Sea

(A.,, A,

A ) una relacin sintetizada por aplicair * ' de dependencias los pasos I, II, II y V

cin al conjunto del Algoritmo. sitivamente

Ningn atributo no principal

_depende t r a n -

de ninguna clave deC/Z(esto es.'C/zest en Tercera tve deC/2(e

Forma Normal )

Prueba :

Supongamos que A. es no principal y depende transitivamente de una clave K d e / 2 Esto es : Hay un descriptor A \ tal que :

^iv
K X X
A.
i

A,

, - ^ . >,

X
K

A.

i *
Z -> X

Sea Z la clave dec/Zque aparece como implicante en el conjunto de dependencias usado en la s n t e s i s d e / /

98

est e n ^ " , ya que Z es clave de Q/

Adems X / - >

Z, l

ya que si X >Z entonces X Z y Z >

K implicaran X

contradiciendo el hecho de que X +-> K (en la hiptesis de dependencia transitiva). Por tanto-, X -*-* Z, Z. >X y X , A. .

(que constituye una dependencia transitiva).

Sea^/^el recubrimiento mnimo d e ^ , calculado en el Algoritmo de sntesis. ) es redundante. Demostraremos que Z > A . (que aparece en Para ello basta con mostrar que 1->X y

X A. pueden ambas derivarse &%yft \ Z > A . \ .

Ya que

las nicas dependencias usadas en la sntesis eQ^/sor\ de la forma Z A . , Como A. Z * X, tiene que pertenecer a^^fi/X, . X. X, Z ^ X, est en y$t \l > A. \

Supongamos ahora que X A. puede derivarse de Z ? A.. Entonces (ver Lema 5-1-1) debe tener lugar la dependencia X > Z (dependencia transitiva ). cirse sin usar Z A..
i

De modo que X > A . debe poder dedu-

Ya que Z * X y X se tiene que Z ?h.

? A. pueden derivarse

1 -* A.},

es redundante e^/Oy*

lo cual contradice el Luego, concluimos

hecho de que^/^/ es un recubrimiento mnimo.

que no puede tener lugar la dependencia transitiva.

5.2. Decimosque un atributo A satisface la propiedad jyen la relacin c / 7 , si la siguiente proposicin es cierta.

99

Sea /// del

el recubrimiento mnimo hallado en el paso II Si K ) A est ex\^///y se

Primer Algoritmo de Sntesis.

usa para sintetizare//; para cualquier atributo principal de Si, B, la dependencia K B puede derivarse sin usar \ K >A \

K _ ^ A (puede derivarse a partir de ^///-

Teorema 5-2-1

Seac/{h,, A

A ) una de las relaciones sintetizadas

usando el Primer Algoritmo de Sntesis a partir de un conjunto Jarcie dependencias. Si todos los atributos no principales de, est en Tercera Forma

satisfacen la propiedad (_^y, entonces c/ Normal.

Prueba :

Sea A. un atributo no principal de//que dependa transitivamente de una clave Y Z c | Aj, A 2 , eQy. Esto es : Existe un descriptor

, A ] tal que Y y Z, Z -t~> Y y Z A . ,

A. i

I.

Sea

1 recubrimiento mnimo calculado en el Primer AlSea K una clave tal que la dependencia : ^f.

goritmo de Sntesis. _/f K frA.

est en

Ya que K es una clave, K > si Z > K, entonces Z > K y K

1.

Adems Z ... -> K, ya que .., > Y implicaran Z . > Y, ,

- 100

lo que es una contradiccin. transitiva:

As que tenemos una dependencia

K > Z, Z -*- K y Z > A..

Ahora demostraremos que K Z y 1-a, A. pertenecen a ( t/VZ | K- A. } ) ,y es por tanto redundante (lo que

entra en contradiccin con el hecho de que sea un recubrimiento mnimo). En efecto : Sea Z = B . , .... . B i.

Distinguiremos dos casos piedad K _> A..

: si B. es principal, la pro-

^Vgarantiza que K _^ B. se puede derivar sin usar Si B. es no principal, existe una dependencia fun-

cional K' __> B. que permite incluir a B. en el conjunto de atributos d&cs a partor de Ya que K > K' es derivable (propiedadl/J | K-A.J^ y K' - ^
T

pertenece a

(jf-

{ K 9 A.} j se tiene que K'

B. es derivable sin el uso de [/0\


K

K_^,A. . Por tanto, K __ Z est en

* A^- ) ) + -

Supongamos ahora que Z _^A.

usa la dependencia K _ ^ A.

en su derivacin. Entonces (ver Lema 5-1-1), tiene lugar la dependencia K ^ Z, contradiciendo la suposicin de dependencia
?

transitiva. Luego Z .

A. pertenece a

( jtff-

<K _^ A.t

).

Las dependencias K_J> Z y Z - ^ A. pertenecen a

[/yf~

\ K > A. [ ) , luego ^ ^ / e s redundante, lo que se contradice con el hecho de que sea un recubrimiento mnimo. Concluiremos

por tanto que no puede tener lugar dependencia transitiva.

5.3.

Eliminacin de dependencias transitivas.

101

Teorema 5-3-1

Sea R, i,,/i,,

(A,,

A ) una relacin del conjunto

tv/vl r > sintetizado empleando el Primer AlgoSeg/^el conjunto de dependencias funcionales luna dependencia implcita en una relacin Qy.

ritmo de Sntesis. implcitas en y

es una dependencia XA, siendo X una clave y A un atributo simple). Sea A. un atributo de^/^k 9 u e
n0

aparece en ninguna de las

claves sintetizadas dec/7., y es transitivamente dependiente de una clave

~ dec/?O^

Si eliminamos A. d e C / Z resulta una nuei k

va relacinc/7 :inc/2
u

y en el nuevo conjunto de relaciones sintetiza-

das:

'(*?.--igual a ^ .

^',---^

se tiene que el cierre de las dependencias implcitas en l es

Prueba :

Supongamos que A. se elimina ent/,. Ya que no aparece en ninguna clave sintetizada, su supresin puede slo afectar a las dependencias implcitas de la forma X * A . , donde X es una clave sintetizada deo/, . implcitas de ~r est en (y / f f Sea /// el conjunto de dependencias

. Si demostramos que toda dependencia X=>A. , entonces^^= ^lf'J' *


En e f e c t 0 : Si A

depende transitivamente de cualquier clave de/y., entonces, depende transitivamente de todas ellas. Ya que X es una clave, X>V, V - / ^ X ; y si V > A . , A. 102 V. Esto constituye una

dependencia transitiva.

Ya que A. V, la dependencia

X>V sigue implcita en

t / \ , aunque A. se suprima. Luego X V , sigue presente en

'JA-*
Para demostrar que mos que V > A. ^ V . ^ A. \ r 'yfflY/\+ demostrareJ, no puede usar ninguna dependencia de la for-

ma X A. en su derivacin. En efecto, esto se sigue directamente del hecho de que si X . * A. se usa en la derivacin de V . ? A . , entonces (ver Lema 5-1-1), debe ser V _ X, lo que > contradice el supuesto de que Vy. X, que tiene que tener lugar si debe existir dependencia transitiva.
'/1 * *

Ya que X __, V est en

y V _^A. estn en [^Jpf /, X > A. j j f * ^ ' ) *

/ ^ " P o r tanto :

Podemos ahora modificar el Primer Algoritmo de Sntesis para obtener relaciones que estn en Tercera Forma Normal.

Sea

recubrimiento mnimo calculado y ^ r e l conjunto

de dependencias X ^ Y, siendo X e Y claves equivalentes, (ver paso IV del Algoritmo). Sea implcita Q^cy^ Z > A. , una dependencia

de modo que A. es no principal y depende tranEl Teorema 5. 3. 1.

sitivamente de una clave d e ( / , . que acabamos de ver

nos permite afirmar q u e - Z > A. es re\ z * A i\) +

dundante, esto es : { Z - A. } fc {^0*71-

As pues, la eliminacin de las dependencias de la forma Z-*A. - 103 -

cuyo miembro derecho no forma parte de ninguna clave sintetizada y tales que : 1 Z -* A.} y > ^ J ^ ( l - A. ) ) ' nos *

asegura la eliminacin de cualquier dependencia transitiva. El siguiente Algoritmo sintetiza relaciones en Tercera Forma Normal

Segundo Algoritmo de Sntesis

Sea^jTel conjunto dado de dependencias funcionales. Eliminar los atributos extraos existentes en los implicantes de cada dependencia funcional de ^/,

(Un atributo es extrao si su supresin no altera el cierre del conjunto de dependencias funcionales).

II -

Hallar un recubrimiento mnimo de

Sf

III-

Dividir^/^X en grupos tales que todas las dependencias de cada grupo tengan idntico implicante.

I V

JT
Para cada dos grupos y//yypfcon

implicantes X

e Y respectivamente, tales que X> Y; i n t r o d u c i r en ^7las dependencias X > Y, Y .> X y asociar dichos g r u p o s ^ ^ J ,^-yyj

Borrar de ^ / ^ f t o d a dependencia X __&A, t a l que AY. Borrar de /v toda dependencia Y _ ^ B , t a l que Be.X

Hallar un s u b c o n j u n t o ^ / ^ ^ y ^ f "^{yC^ \jWC "^/C^

tal

Que

/fz

y ningn subconjunto propio

de / ^ t i e n e esta propiedad. 104

Incluir cada dependencia de/^xn su correspondiente grupo e^ypf. (Un Algoritmo que permite encontrar

tal subconjunto ha sido desarrollado por Bernstein et

al.

[10J

).

VI -

Para cada grupo, construir una relacin consistente en todos los atributos que aparecen en el mismo. Cada conjunto de atributos que aparezca a la izquierda de cualquier dependencia del grupo, es una clave de la relacin. (El paso I asegura que ninguno de tales

conjuntos contiene atributos redundantes.)

6. MINIMIZACION

DEL NUMERO DE RELACIONES SINTETIZADAS

Comprobemos que todos los recubrimientos mnimos producen el mismo nmero de relaciones sintetizadas.

Lema 6-1

Sean , ^

y #

dos recubrimientos

del mismo 7//yo

conjuntoJ/ae dependencias funcionales, de modo que^^rj Si ys : X > A est en^/^/ ,, entonces existe una

^ "

^B

con

J^~^%y

con

{Y > X ) y

(X ._ Y)pertenecientes a jf,

Prueba S J i ^ f y / ' - X T entonces j f ^ f .

- 105 -

as que tambin estar e

J?;.
1

Si ningn

<&r requiere ^ .,v-,v.

para su derivacin e n j / , sin ms que por un

podemos construir una deri 'ivacin para^^T' ex\cy^. reproducir su derivacin ^^/^7
(

y sustituir cada ^jn'

~ derivado e n ^ ^ . . t^f"sera

Ya que esta derivacin no utiliza a se contradice con

yf->

redundante e n ^ f ^ > lo que

el hecho de que/^/T sea un recubrimiento mnimo.

Asi

que al menos un ^/Z

necesitara ^ T e n su d erivacion

Supongamos q ue^Jj^T derivacin ^^/y^

Y > B precisa

^ ,

: X f A en su Del mismo
en

Entonces Y X

(Lema 5-1-1).

modo, y ya que Q r a p a r e c e en la derivacin de ^ ^ X y >Y X Por t a n t o ^ V


v :

/^?

> B est en

2' con

, completando la prueba.

Teorema 6 - 1

Sea cJ^un conjunto de dependencias funcionales. Dos recubrimientos mnimos cualesquiera de<=2^producirn el mismo nmero de relaciones al aplicar el Segundo Algoritmo de Sntesis.

Prueba :

Sean/^^ ra.

y Jr^

dos recubrimientos mnimos cualesquie Qtf~ : X Y _V * A est e


B en

El Lema 6-1 asegura que s i

entonces existe una dependencia iQf : - 106

/^?>

con

> X

X 3 Y

. Asi pues, para cualquier grupo de

dependencias funcionales con implicantes funcionalmente equivalentes, tiene que existir en^/o otro grupo que tiene los misYa que cada grupo

mos implicantes funcionalmente equivalentes. genera una relacin, y^\ laciones. y ///?

generan el mismo nmero de re-

Corolario 6-1

Sea yn conjunto de relaciones sintetizado a partir del conjunto de dependencias Sntesis. Sea mediante el Segundo Algoritmo de

otro conjunto cualquiera sintetizado a par-

tir de un recubrimiento

de

. Entonces \(

>

Prueba

Sea^/yc^T/Vun recubrimiento mnimo de^^^/f-

/re

gen era-

r mediante el Segundo Algoritmo de Sntesis, un nmero de relaciones no superior al d^jy

. Adems, por el Teorema 6-1, el

Segundo Algoritmo de Sntesis generar el mismo nmero de reaciones a partir de ^^|

a partir de^yf.

Por lo tanto:

RESUMEN

En este Captulo hemos pretendido dar una visin exhausti-

-107

va del problema de sntesis de relaciones en Tercera Forma Normal, utilizando los resultados de P. Bernstein 87 , que constituyen el primer intento satisfactorio para instrumentar el proceso de normalizacin de Codd, de que tengamos conocimiento.

La principal conclusin es que los recubrimientos mnimos producen todos el mismo nmero de relaciones sintetizadas (lo que no es fcil ver intuitivamente, ya que podra ser lgico suponer que recubrimientos mnimos con distinto nmero de dependencias condujesen a distinto nmero de relaciones ), y este nmero es mnimo.

108 -

C A P I T U L O

VI

CONSIDERACIONES PARA UN ESTUDIO POSTERIOR :

EVOLUCIN ACTUAL DE LA TEORA DE NORMALIZACIN

1.

INTRODUCCIN

El objetivo de nuestro trabajo ha sido la caracterizacin matemtica de las Formas Normales, tal como fueron definidas por Codd [13] , a partir de los Axiomas de Arsmtrong que consti-

tuyen (la demostracin puede encontrarse en [3l] ) un conjunto completo de reglas de inferencia para las dependencias funcionales (es decir : Dado un esquema de r e l a c i n ^ ^ r < T,J//>, donde <=>2Tes un conjunto de dependencias funcionales, cualquier otra dependencia f J^que tenga luegar en^^y , puede derivarse d e j ^ / por aplicacin de dichos Axiomas ).

El resumen de los Lemas y Teoremas que hemos enunciado y demostrado lo constituyen los Algoritmos de bsqueda de claves y de determinacin del nivel de normalizacin de una relacin. Estos Algoritmos slo se han descrito, no hemos escrito ningn programa que los ejecute, ya que nuestra intencin ha sido simplemente sintetizar en ellos unas conclusiones de tipo puramente matemtico (De todas formas, las funciones APL que se incluyen para hallar el cierre de una matriz de implicacin y para realizar el clculo algebraico de una particin funcional, resuelven la par-

109

te ms laboriosa de clculo manual, por lo que, en caso no excesivamente complicados, la ejecucin manual de los Algoritmos es simple y sistemtica ).

2.

LA UNION SIN PERDIDA: UN CRITERIO PARA LA DESCOMPOSICIN DE ESQUEMAS DE RELACIN.

Sea el esquema de relacin ^J^T^s T v = j > que descomponernos en subesquemas :

yv n i

(GP2

<-^n;

siend0

el

universo

dc

,J7i

T.. 1 .

Decimos que esta descomposicin es una des-

i =1
composicin^Lj^(de1 ingls "Lossless j o i n " ) con respecto a /r si para toda relacin y? to de r e s t r i c c i o n e s J ^ , te * i = l yjV
i

C/7

definida sobre T y sujeta al conjundefinida se ve r i f i c a

) ( s e a ; J ^ r e s igual a l a unin natural de

sus proyecciones).

Introduzcamos la notacin siguiente :

*r&>
Lema 2-1 Si V?
i

-.v^N
i = 1

/)

\Tl\

, entonces

no

c) mr(mf
Prueba

(71) ) = ^ /

a)

Sea

t una tupia de <_VT.

/)

Para todo i ,

t - =t

T. ~]

es una tupia de^yT^. Por definicin de unin natural, t es una tupia de m p (//>> ^a c'ue coincide con t.

en los atributos T. para todo i.

b) Ya que^/lk-/^^^

se

tendr quecy/7T.~}

esto es '-/^l\

cr

p e~/^ [T - ] ^ ^ ^ -

T-] Demostraremos
En

ahora que m A~/) que, para un cierto

efecto,supongamos A/

i, t. es una tupia de m t en m

[T.J . Entonces hay una tupia

yl) tal \~/)


na

que t rT.~j = t.. Ya que t est en m (para todo j) algn t- . T.] = t* .

e n y Y . . tal que t [ T.] = "

En particular, t [T.] est en ^ y \ . Pero t t., asi que t. est en yyy por tanto m

[T0
c) Se tiene que m p i?) \.^{i~ ^/l y
Asi

' Pues:

111

Obsrvese que m

(c-/2 )

I "''l

no

tiene por qu ser

necesariamente igual a &//

Pongamos un ejemplo :

1 "
l

"1

*~si)

Y se tiene que : m p J^f-f)

[BCj = \ b]_

^\

f^

En general: m ^ yf)

[ T.] ^

Si las relaciones

son las proyecciones de una cierta relacin'p/V' entonces m y/Z ) l ' J C/\ ^ver en e^ Captulo Primero el apar-

tado correspondiente a la unin natural en las operaciones de Alirrespondienl gebra Relaciona! )

Un mtodo sencillo para comprobar si una determinada descomposicin es una "descomposicin LJ" con relacin a un conjunto de dependencias funcionales dado, se describe y demuestra en [_3lJ y es como sigue:

Sea el e s q u e m a J ^ T , una descomposicin del mismo :

> , T p
=

= j A ^ A2 s)\k i

AR ^ y

L//i'

se construye una tabla de n f i l a s (correspondientes a los a t r i b u tos del esquema ) y K columnas (correspondientes a los subesque-

112 -

mas).

Representando pori_y.l\.

el elemento correspondiente

a la fila i-sima y a la columna j-sima, se tendr : ?si A. g \ , ^ . s i A. y J ^ T. T.


T

.A.
1 J

A continuacin se consideran repetidamente cada una de las dependencias funcionales de^S^C X $>Y, hasta que ya no haya cambios en la tabla, del modo siguiente :

Buscar la existencia de filas que coincidan en todos los valores correspondientes a X. Si se encuentran dos filas con estas caractersticas, igualar los valores correspondientes a los atributos de Y, en la forma siguiente : Si uno de ellos es a al otro igual a l. Si son dos valores b,no varen. , hacer

Si en el proceso se produce una fila z zt

a^

el Algoritmo termina y la descomposicin es del tipo LJ.

Ejemplo : ^^^

T ^J:

= \A, B, C, D \ A AC . , ^ B D

Consideremos la descomposicin sobre AB y ACD. El Algoritmo anterior se aplica en la forma siguiente: 113 -

C
13

D
V t,

Ya que A _> B y ambas filas coinciden en el valor de A, igualamos los correspondientes valores de B a a^ A B C D , obteniendo:

Y puesto que la segunda fila es ez a tz a el Algoritmo termina y podemos afirmar que la descomposicin efectuada es una "descomposicin LJ ".

Teorema 2-1

Si y /

CS-\ <L*/

o\

es una

descomposicin de*-

es un conjunto de dependencias funcionales, entonces la , si i

descomposicin es una "descomposicin LJ" respecto de <^ y slo si (T^). ( T x <\ T2) * ( T r T 2 ) o bien (^
n

Prueba:

Indicaremos solamente cmo se realiza, ya que se trata tan slo de aplicar el anterior Algoritmo de verificacin a la tabla:

- 114 -

T - T

a a a a,

a a

//

7
a

' i/ /

\ a a

En el sencillo ejemplo que acabamos de proponer:

I A. B > l A, C, D "V

"

"

Luego la descomposicin realizada tiene la propiedad de unin sin prdida.

3.

FORMA NORMAL DE BOYCE - CODD (BCNF)

3.1. DEFINICIN

De un esquema de relacinc_>7<'T,r-></ >

c/y

se dice que est

en Forma Normal de Boyce-Codd cuando las nicas dependencias no triviales son aqullas cuyos implicantes contienen alguna clav;

Teorema

3-1

Si en un esquema de relacin en Forma Normal de Boyce-Codd, <-< es un conjunto de dependencias funcionales, entonces /Testa en Tercera Forma Normal

115

Prueba:

Si'-yT no estuviera en Tercera Forma Normal, existir alguna dependencia transitiva de la forma:

^ A, siendo K una clave de

A ^ K, A <c Y, yf f _ no incluye ninguna clave dec^l dra que verificarse Y .K ) (ya que, en caso contrario, ten-

Ahora bien : A ^= Y, luego Y de Forma Normal de Boyce-Codd.

^A contradice la condicin

3.2. "Descomposicin LJ" en Forma Normal de Boyce-Codd.

Lema 3-2-1

O?
Sea vJ^T^T, c x / > un esquema de realcin (donde^^/'es un conjunto de dependencias funcionales ) y p - ] 3 i yL una descomposicin de respecto de -,</, . con la propiedad de unin sin prdida \

Daremos sin demostracin (que puede encontrarse en

[3lJ

y procede por manipulacin algebraica de la definicin de descomposicin con la propiedad de unin sin prdida) los resultados siguientes : 116 -

a) Sea sf-

^a proyeccin de ^ ^ T sobre S o ^ , esto es,

el conjunto de dependencias de c J tales que los descriptores a derecha e izquierda del signo de implicacin, son subconjuntos de T. ; y sea a" \ , s , y

una descomposicin ^/Y. con la propiedad de unin sin prdida respecto Q(-/<. Se tiene que la descomposicin

de. 77^

,r7>

^ . i f - J/f,
tiene la propiedad de unin sin prdi-

. .,.... - j / ^ / da respecto de

- T-haque incluya a p .

J^JU.

#P

una descomposicin de 22 en un conjunto de subesquemas Entonces 7T tiene la propiedad de

unin sin prdida respecto de

Veamos ahora cmo descomponer el esquema < y 7 e n subesquemas en Forma Normal de Boyce-Codd, de modo que esta descomposicin presente la propiedad de unin sin prdida respecto d e ^

\m
(

II - Si en p hay un esquema de relacin

y % que no est

en BCNF, tendr lugar alguna dependencia de la forma X c, A; donde X no es superconjunto de ninguna cla-

ve y A x .

Tiene entonces que haber algn atributo de /distinto de A y que tampoco pertenezca a X, pues, en caso contrario, X sera - 117 -

superconjunto de alguna clave de Pr3l yJ/9 donde ^/\

Cr

Se reemplaza _yen

se define sobre los atributos de X y

sobre A, y^7^

consiste en todos los atributos de J ^ T excepto

En virtud del Teorema 2-1, ya que T ? = A, la descomposicin de C/ en^r

T . C\ .

T = X y X

^ T1

y\y^

tiene la propie-

dad de unin sin prdida con respecto a la proyeccin de J^T sobre J/\ Por Lema 3-2-1 ( a )\ p sigue teniendo la propiedad

de unin sin prdida sicin de KS ^/

si la tenia antes de efectuar la descompoy L _ y ^ tienen menos atributos que

. Ya que J/.,

, la repeticin del proceso permite alcanzar un punto en

que todos los esquemas estn en la Forma Normal de Boyce-Codd. En todo momento, p conserva la propiedad de unin sin prdida (ya que inicialmente, p - l <-ST\).

Ejemplo :

Consideremos el esquema de relacin <~/- ^

T,J>^>

\ A , B, C , D, E, F }

Sf:

A CD . CB

>

^ A
>

AE
CE

->

La nica clave del esquema se determina fcilmente, es CE.

118 -

El esquema no est en Forma Normal de Boyce-Codd. En efecto: La dependencia AE __v F, no contiene ningn superconjunto de la clave. Descomponemos { A,B,C,D,E,F ) en ^A,E,F I yJl\,B,C ,D,E ^

Calculamos ottXal

final del ejemplo viene sealado el cl-

culo del cierre de la matriz de implicacin ), y proyectamos sobre I A , E , F \ y j A , B , C , D , E 1 .

Podemos trabajar con recubrimientos mnimos de dichas proyecciones, ya que cualquier otra dependencia puede derivarse a partir de ellos por los Axiomas de Armstrong. Las proyecciones (obtenidas decodificando la matriz binaria, resultado de la funcin CIERRE APL) son :

\ A, E, F ]

AE

-f

(coincide con el recubrimiento mnimo)

^A,B,C,D,E )

- * >

B A B

C D
CD _

C B C B AE

> ^

A D B A B D

CE >
CE _
->

CF ..

>

Y un recubrimiento

mnimo : 119

A CD
BC _ _

>

B A D

CE

De donde resulta que la nica clave es CE.

El esauema Boyce-Codd.

: A,E,F}

, AE fe F est en Forma Normal de

El segundo subesquema, no lo est. Fijmonos por ejemplo en la dependencia: clave. A ^ B , donde A no es superconjunto de la

( 1 Efectuamos una segunda descomposicin en j, A,B y y

1 A,C,D,E j. Los recubrimientos mnimos de las dependencias proyectadas son ahora :

A CE _4>

t, B D,

para CD

\ A,B " ; V A

y AC * ^

D,

para} A,C,D,E

Las claves (nicas) son, respectivamente, A

y CE.

El esquema: \ l\,B)

A -^

B est en Forma Normal de

Boyce-Codd . El segundo subesquema no, ya que tiene lugar la dependencia AC ^ D , y AC no es superconjunto de la clave.

La nueva descomposicin se realiza sobre ] A,C,D -y

(A,C, E) .

- 120

El esquema: \ A,C,D 7 ; AC _ ^ D,

CD __.^ A: est en Forma

Normal de Boyce-Codd (ya que las claves son AC y CD ).

El esquema: I A,C,E \ la clav nica es CE.

; CE _...%A ; tambin lo est, ya que

A continuacin se esquematiza en un rbol el proceso seguido.

Obsrvese que la dependencia BC ^ - ^ D descomposicin.

no se conserva en la

Es decir : la proyeccin de c-cT sobre AEF,

AB, ACD, ACE; que puede representarse por el recubrimiento:

AE A
*

F B
*.
.
=t>

AC CD CE

D A A A, no implica BC . . D

/.

121

CLAVE:

CE

CLAVE: AE BCNF

I CLAVE:

CE

CLAVE.'A BCNF

A AC CD

D ~* -*

E D A D

CLAVE:

CE

CE

V
A C D D A

C E CLAVE: CE BCNF

CLAVES: AC, CD BCNF

AC CD -~>

CE

122

Podemos concluir afirmando que una descomposicin en Forma Normal de Boyce-Codd no conserva necesariamente las dependencias funcionales (de hecho, para un esquema dado, puede no

existir ninguna descomposicin en Forma Normal de Boyce-Codd que las conserve ).

123

CAI.CUU

un.

CJFRRF

ni:

I.A

MATRIZ

nr

IMIM/K-ACIDN

' 1 1 1) 1 II 1
II

ti

(i (1 (1

n 0 0 1

1 !
ii I

1
II

1 II II

1 1) 1

i !

I ., MATRIZ ME O I F R I \-

\A)

I
i I
!

1 0
I I
!

I) l)
I I
ii

! !
i)

l) ll 0 ll
I I

I ll

124

4.

DEPENDENCIAS MULTIVALUADAS

4.1.

DEPENDENCIAS MULTIVALUADAS

De acuerdo con la definicin de Fagin

f24j , una depen-

dencia multivaluada es una sentencia X *-> Y, donde X e Y son descriptores tales que un cierto valor de X determina un conjunto bien definido de valores Y.

Sea una relacin<^X(X, Y, Z), donde X, Y, Z son Conjuntos disjuntos de atributos. P o r y ^/2l x , z ^l cin sobre Y de conjunto de tupias t ZJ = z ' representamos la proyect tales que t [ Xj = x,

( esto e s 5 < y y x^, z,

Y " representa abreviada1

mente la secuencia de dos operaciones: seleccin y proyeccin ). Del mismo modo.^/^fx Y j representa la proyeccin sobre Y del conjunto de tupias t tales que t f"x"| = x.

La dependencia multivaluada (X, Y, Z)

X _ ^ * Y , tiene lugar en

(con X, Y, Z conjunto disjuntos) si para todo valor

(x, z) de XZ se cumple:

[x, z, Y ]

= o>T[x, Y]

SiX

U Y U Z

= T, y no son conjuntos d i s j u n t o s , sino X, la condicin necesaria y s u f i c i e n t e

que se cumple para que en X __^

YO Z ^

(T) tenga lugar la dependencia multivaluada =J/f[x U Y] * y f y U zJ

Y, es que ^/(T)

125

(la demostracin puede encontarse en

f3ll

4.2.

Axiomas para Dependencias Funcionales y Mutivaluadas

Beerin, Fagin y Howard

6j ; demostraron que los ocho

Axiomas siguientes constituyen un conjunto completo de reglas de inferencia para el caso de que el conjunto de restricciones de un esquema relacin est constituido por dependencias funcionales y multivaluadas, exclusivamente :

A 1 : Reflexividad :

> X

A ? : Aumentacin : X' f Y

V X' ZD

X,,

si X .

^ Y tambin

A : Transitividad : Si X -> Y X __* Z

Y .*, Z, entonces

A. : Complementad'n : Si X > - * Y , entonces X-y* T-X-Y

Aj- : Aumentacin para dependencias multivaluadas : Si X -Y y V C W, entonces XW _ V Y

A, : Transitividad para dependencias multivaluadas : Si X-**Y y Y-^ Z, entonces X->>Z-Y.

A 7 : Si

X 5 Y entonces

X Y

126

Ag

: Si X-^-i, Y, Z c

y para algn W tal que W O Y=0

se tiene que W > Z, entonces X > Z

4.3.

Descomposicin con la propiedad de unin sin prdida con respecto a un conjunto ^T y funcionales. de dependencias mu ti valuadas

El concepto de descomposicin con la propiedad de unin sin prdida respecto de un conjunto de restricciones, es idn-

tico al que expusimos con detalle en el apartado 2 de este Captulo. Una modificacin del mtodo para verificar si una des-

composicin de un esquema de relacin tiene la propiedad de unin sin prdida respecto de un conjunto^r de dependencias mu ti valuadas es la siguiente :

En primer lugar, se constituye la tabla de elementos "a" y "b" como en el caso de dependencias funcionales solamente. A continuacin, se construye un conjunto de tablas por modificacin de la primitiva en la forma siguiente:

Identificando dos smbolos si se considera una dependencia funcional o bien, si se considera una dependencia multivaluada X_y_Y, y en una misma tabla hay dos tupias t. y t?, tal que :

t. .

X j

t?

F x ] , aadiendo a dicha tabla la tupia tj [x] ,


-[Y]

11 tal que : U.[x] U, [T-X-Yj = t2 1 T-X-Yj

t]_

[Y]

, en el caso de que

[^ no estuviese ya

en la tabla en cuestin. 127 -

El proceso finaliza cuando ya no se produzcan modificaciones. Si en alguna tabla hay una fila que slo contenga elemen-

tos tipo " a " , la descomposicin tiene la propiedad de unin sin prdida. En caso contrario, no.

5.

DEFINICIN DE LA CUARTA FORMA NORMAL

En

6"j se encuentra la definicin de una nueva Forma Nor-

mal que se aplica a esquemas de relacin que incluyen dependencias multivaluadas.

Seac.x'Y^T > o o >

un

esquema de relacin, donde &, es un

conjunto de dependencias (funcionales y/o multivaluadas) Dicho esquema est en Cuarta Forma Normal si toda dependencia mu ti valuada X _-*Y, en la que Y f 0, Y ^L X, X U Y f T ; es tal que

X es superconjunto de alguna clave. (Obsrvese que en el caso de 9ue 0^7 contenga slo dependencias funcionales, si \^/ T>o>

est en Cuarta Forma Normal tambin est en Forma Normal de Boyce-Codd).

Podemos siempre encontrar para ^ / u n a descomposicin :

f'\JV

\2

-S^n

t a l que cada uno de los P

subesquemas resultantes estn en Cuarta Forma Normal y la propiedad de unin sin prdida respecto de &

tenga

Ejemplo : Consideremos el esquema i^/<T,oC> , siendo:

128

T 06

=
: A

A, B, C, D, E, F > B AE CE . A > F.
5

CD .j. A CB .> D

y^-CD

Para descomponer el anterior esquema en un conjunto de subesquemas en Cuarta Forma Normal, podramos comenzar por considerar la dependencia A y>CD, que no cumple la condicin de ser superconjunto de alguna clave el primer miembro (el esquema propuesto coincide,salvo en la dependencia multivaluada A _ ^ CD, con el del ejemplo desarrollado anteriormente en este Captulo al estudiar la descomposicin en Forma Normal de Boyce-Codd, y ya vimos que la clave era CE ).

La dependencia multivaluada A CD no contradice sin embargo la definicin de Cuarta Forma Normal para JA, C, D y ,

ni tampoco ninguna otra dependencia funcional o multivaluada proyectada sobre este subconjunto. As pues, no es preciso seguir descomponindolo.

Si consideramos ahora el conjunto ( A, B, E, Fjcuya nica clave es AE, podemos ver que la dependencia multivaluada A - B (que se deriva de A > B), contradice la definicin de Cuarta Forma Normal.

La descomposicin de

A, B, E, Fl

en JA, B!J y i A, E, FL

finalizar el proceso, ya que las dependencias proyectadas sobre

129

estos dos ltimos subconjuntos verifican la definicin de Cuarta Forma Normal. Tenemos pues la descomposicin en: i A, C, D ( , l A, B \ y L A, E, F'j . Comprobemos que tiene la propiedad

de unin sin prdida respecto de 7 :


A ACD AEF AB a / a a B & / / C & / D & a E / a F /
Tabla x

Usando A

.&

B : A B a C a D a E F

ACD

AEF
AB a a / / /

&

a
/

Tabla 2

Usando A A
ACD a

B
^

C
a

D
a

E
/
a a

F
/

A E
AB

a
a

*
a /

/
/

/
/

Tabla 3

Usando A J > - C D

y las dos primeras filas de la tabla 3, cons-

truiriamos una nueva tabla con una tupia L adicional

IL

[AJ

=
=

h tA3
tj
[CDJ

U,[CD]

- a a = a a z

U[BEFJ =

t 2 [BEFJ

130

Luego aqu podemos detener el Algoritmo de test y concluir con que efectivamente la descomposicin realizada tiene la propiedad de unin sin prdida respecto de

f-

6.

CONSIDERACIONES EN LA INTEGRACIN DE LOS TRES TIPOS DE RES TRICCIONES ESTUDIADOS: DEPENDENCIAS FUNCIONALES, DEPENDEN-

CIAS MULTIVALUADAS Y DEPENDENCIAS RESPECTO DE LA UNION.

Al presentar en este Capitulo dos nuevas Formas Normales (La Forma Normal de Boyce -Codd y la Cuarta Forma Normal, definida por Fagin), hemos introducido tambin el concepto de descomposicin con la propiedad de unin sin prdida respecto del conjunto o / T d e restricciones (dependencia funcionales y/o multivaluadas) del esquema original. Este concepto sirve para definir un n respecto
S1

nuevo tipo de dependencia: la dependencia de orden

de la unin; que tiene lugar en el esquema(_(//2 ^ ^ o o *

existe una descomposicin del universo T en subconjuntos X,, X. Xn tal que :

S.

}^n
lhlhl-k]
Z S X ;

Esta dependencia se representa asi : *

Si recordamos la condicin necesaria y suficiente para que X_^Y tenga lugar en Y \J X U Z = (X, Y, Z) (con : Y H

T ) , condicin indicada en el punto

4.1. de este

131

Captulo; vemos que una dependencia multivaluada equivale a una dependencia binaria respecto de la unin. equivale a : * [XUY] f" xuz 1 En efecto, X yY

Por ltimo, toda dependencia funcional es una dependencia multivaluada con una restriccin de funcionalidad (el conjunto de valores de Y determinado por un valor de X se reduce a un slo elemento) .

7.

CONCLUSIN:

POSIBLES PUNTOS DE PARTIDA PARA POSTERIORES

TRABAJOS SOBRE EL TEMA.

En nuestro trabajo hemos ahondado en el estudio y caracterizacin matemtica de la Formas Normales tal como fueron definidas por Codd. Considerando que las restricciones impuestas por el esquema eran slo dependencias funcionales, y apoyndonos por tanto en los Axiomas de Armstrong, hemos deducido una serie de propiedades que caracterizan a las claves y a las Formas Normales en s mismas. En todos los procesos (bsqueda de claves y caracteriza-

cin del nivel de normalizacin) es fundamental el uso del cierre de la matriz de implicacin, cuyo clculo es extremadamente sencillo con la funcin CIERRE APL (e incluso manualmente en casos no demas i do complicados ).

Si consideramos el caso ms general en el que^Vyrepresenta un conjunto de dependencias funcionales y/o multivaluadas, el conjunto de reglas de inferencia se complica notablemente y no exis-

132

te hasta el presente un Algoritmo que permita el clculo sistemtico y rpido del cierrej^V^ . Si adems consideramos las

dependencias de orden n respecto de la unin, no existe hasta este momento, ni siquiera un conjunto completo de reglas de inferencia para este tipo de restricciones.

El fundamento matemtico y posterior elaboracin terica (como para el caso de las Tres Formas Normales de Codd) para este tipo de restricciones en una cuestin pendiente de solucin hasta la fecha.

Otros tpicos interesantes son la complecin de un esquema de relacin con un conjunto de operaciones permitidas ( la

unin y proyecccin constituyen la base de la Quinta Forma Normal, PJ/NF, definida por Fagin 125] ) ; la bsqueda de procedi-

mientos de descomposicin con la propiedad de unin sin prdida que conserven tambin las dependencias funcionales (representaciones "Faithfull" [5] ) e incluso el tratamiento de las cone-

xiones de tipo jerrquico como un tipo especial de dependencias

[23] )

133

C A P I T U L O

VII

CONCLUSIONES

Ya se han expuesto

en la ,introduccin las lneas generales

de nuestro trabajo, incluyendo los resultados del mismo y algunas consideraciones sobre ltimos desarrollos del mismo, con las ventajas claras e inherentes que pueden reportar estos resultados al desarrollo y evolucin de los Sistemas de Bases de Datos Relacinales.

La novedad aportada por nuestro trabajo supone adems de una nueva filosofia conceptual, unos Algoritmos que permiten determinar todas las claves de una relacin, lo que es fundamental en

la definicin de las Formas Normales, enunciadas por el Profesor E.F. Codd. Asimismo, hemos establecido, como trabajo original, y conjunto completo de reglas de inferencia para

basndonos en el

las dependencias funcionales (Axiomtica de Armstrong), los criterios que determinan el nivel de normalizacin de una relacin.

Nuestro trabajo abre adems las puertas a una nueva lnea de investigacin, en donde aparecen como problemas primarios a investigar; el clculo del cierre de un conjunto de dependencias multivaluadas; el establecimiento de una estructura inferencia! completa para dependencias de orden n respecto de la unin (que

resolvera incluso como caso particular la caracterizacin matemtica de las estructuras jerrquicas ) y la bsqueda de procedimientos de descomposicin de esquemas que presentan la propiedad de

134

unin sin prdida respecto del conjunto de restricciones

conservando dichas restricciones cualquiera que sea su naturaleza.

135

B I B L I O G R A F A

ALTMAN, E.B., et al (1973) "Specifications in a Data Indepent Accessing Model " IBM Research Report, RJ 1141, IBM Research Laboratory, San Jos, California

ARMSTRONG, W.W. (1974) "Dependency Structures of Data Base Relationships", InjFor-

mation Processing 74, North Holland Publishing Compay, pp. 580-583

ASTRAHAN, M.M., et al (1972) "Concepts of a Data Independent Accessing Model". _ _ M _ IB_ Research Report, RJ 1105, IBM Research Laboratory, San Jos, Californnia

BEERI, C. BERNSTEIN, P.A. , GOODMAN, N. (1978) "Asophisticate Introduction to Data Base Normalization Theor

y" IEEE , CH1389, 6/78.

BEERI, C , RISSANEN, J. (1980) "Faithfull Representations et Relational Datbase Schemas". IBM Research Report, RJ2722, IBM Research Laboratory , San Jos, California.

BEERI, C , FAGIN R., HOWARD, J.ll. (1977) "A Complete Axiomatization for Functional and Multivalued Dependencies in Datbase Relations" ACM/SIGMOD, pp 47-61 136 -

BERNSTEIN. P.A., GOODMAN, N. (1980) "What does Boyce-Codd Normal form do ?, IEEE , CH1534, 7/80.

BERNSTEIN, P.A. (1976) "Synthesizing Third Normal Form Reations From Functional Dependencies". ACM Transactions on Datbase Systems, Vol 1, No.4, pp.

277-298

BERNSTEIN, P.A., BEERI, C. (1976) "An Algoritmic Approach to Normalization of Relational Datbase Schemas" Technical Report CSRG- 73, Computer Systems Research Group University of Toronto, Canad

BERNSTEIN, P.A. DAYAL, U. BISKUP, J (1979) "Synthesizing Independent Datbase Schemas " ACM/SIGMOD pp 143-152.

BOYCE, R.F. et al (1973) "Specifying Queries as Relational Expressions Square", IBM Research Report , RJ 1291, IBM Research Laboratory, San Jos, California.

CODD, E.F. (1970) "A Relational Model of Data for Large Shared Data Banks" CACM, Vol.13, No. 6, pp. 377-387 137 -

13.

CODD. E.F. (1971) "Further Normalization of the Data Base Relational ModeI" IBM Research Report, RJ 909, IBM Research Laboratory, San Jos, California

14.

CODD, E.F. (1971) "Normalized Data Base Structure: A Brief Tutora!", IBM Research Report, RJ 935, IBM Research Laboratory, San Jos, California.

15.

CODD, E.F. (1971) "A Data Base Sublanguage Founded on the Relational Calculus" IBM Research Report, RJ 893, IBM Research Laboratory, San Jos , California.

16.

CODD, E.F. (1971) "Relational Completeness of Data Base Sublanguage", IBM Research Report, RJ 987, IBM Research Laboratory, San Jos, California.

17.

CODD, E.F. (1974) "Recent Investigations in Relational Data Base Systems" IBM Research Report, RJ 1385, IBM Research Laboratory, San Jos, California.

18.

CHAMBERLIN, D.D. (1931) "A Summary of'user Experience With the SQL Data Sublanguage", IBM Research Report, RJ 2767, IBM Research Laboratory, San Jos , California 138 -

CHENG, W.

(1978)

"Optimization Techm'ques in Designing Relational DataBase Systems", PhD Dissertation, Department of Computer Science, niversity of Michigan, Ann Arbor, Michigan

DATE, C.J.

(1975)

"An Introduction to Data Base Systems", Addison Wesley New York.

DATE, C.J. (1972) "Relational Data Base Systems: A Tutorial," Fourth Inter-

national Symposium on Computer an d Info r na t i o n_S cien ees , Miami Beach, Florida, Plenum Press.

DELOBEL. C.

CASEY R.G. (1973)

"Decomposition of a Data Base andthe Theory of Boolean Switching Functions". IBM Journal of Research and__D_eveJo_pment, Vol. 17, No. 5, pp. 374-386

DELOBEL, C.

(1980)

"An Everview of the Relational Data Theory" Information Processing, 80, 426. NorthHolland Publishine Company, pp 413-

FAGIN, R. (1977) "Multivalued Dependencies and a new normal Form for Relational Databases", ACM Transactions on Datbase Systems Vol 2, No. 3, pp.262-278. 139 -

FAGIN, R. (1979) "A Normal Form for Relational Databases That is Based in Domains and Keys", IBM Research Report, RJ 2520, IBM Research Laboratory, San Jos, California.

FAGIN, R. (1981) "Horn Clauses and Datbase Dependencies ", IBM Research Report, RJ 2741, IBM Research Laboratory, San Jos,

California.

FAGIN R. (1979) "Normal Forms and Relational Datbase Operators" ACM/ _S_IGN0D, pp 153-160.

KING, W. F. (1980) "Relational Datbase Systems Where we Stand Today", Information Processing 80 , North Holland Publishing Company , pp 369-381.

NEUHOLD, E.J.

0LNH0FF, T.

"The Vienna Development Method (VDM.) And Its Use For The Specification Of a Relational Datbase System" , _Information Processing 80 , Northl-lol 1 and Publishing Company, pp. 3-16.

STRNAD, A.L.

(1971)

"The Relational Approach to the Management of Data Bases" Proc. IFIP Congress Jubljana, Yougoslavia. -

- 140

ULLMAN, J.D.

(1981)

"Principies of Datbase Systems" Ritman, London, 1981 VETTER , M. (1980)

"Datbase Design by Applied Pata Synthesis", IBM Eoropean Systems Research Institute, La Hulpe, Belgium.

WONG, H.K.T., SHU, N.C. (1981) "An Approach to Relational Datbase Schema Design" IBM Research Report, RJ 2888, IBM Research Laboratory, San Jos, California

WONG H.K.T. , SHU N . C , LUM, V.Y. (1980) "Froms Approach to Application Specification for Datbase Design", IBM Research Report, RJ 2687, IBM Research Labora-

tory, San Jos, California,

YOUSSEF FALOUS.R. (1974) "A Summary of Relational Datbase Theory" Technica Report r

Department of Computer Science, University of Michigan, Ann Arbor, Michigan.

141

S-ar putea să vă placă și