Documente Academic
Documente Profesional
Documente Cultură
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.
LB_LLy_!LA_L_9-LLLLl-C_A_L9_R.
Presidente :
Vocales :
Madrid,
de Septiembre de 1.981
- III -
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.
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
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
<
u
O V
I/
N D I C E Pqina
CAPITULO
0.
INTRODUCCIN
CAPITULO
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
2.
Matriz de implicacin. Sistematizacin del Clculo del cierre de un conjunto de dependencias funcionales 23 25
3. 4.
33
5.
6.
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.
1.
Introduccin
70
2.
3.
Algoritmo para establecer si un cierto esquema de relacin est no en Segunda Forma Normal 80
4.
5.
Algoritmo para establecer si un cierto esquema de relacin est no en Tercera Forma Normal 88
CAPITULO V.
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.
105 107
7.
Resumen
CAPITULO VI. CONSIDERACIONES PARA UN ESTUDIO POSTERIOR: EVOLUCIN ACTUAL DE LA TEORA DE NORMALIZACIN.
1. 2.
109
3.
Forma Normal de Boyce-Codd (BCNP) 3.1. 3.2. Definicin "Descomposicin LJ" en Forma Normal de Boyce-Codd
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
7.
Conclusin:
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 -
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.
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 -
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-
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
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.
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-
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
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
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:
denotada,
>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^
pero no t _a^.
3o)
Interseccin:
de r\ueyoy, ^y/^
4o)
{t W
5o) Seleccin : Conjunto de tupias deyT(T)
,&}
en las que el
6o)
. Ml
son relaciones de
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
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)
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
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
*^yi~i=l
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.
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 -
de las propiedades de
Si para algn
i ^ j , T. Pl T.
0, pero
CTi
j i O ^
Ti
jxLi i=l
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.) }
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 .
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.
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
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
* ~^\y>'-> siendo T
asociamos un conjunto de r e l a c i o -
^^
4.
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.
a)
X -> Y
b)
4.2.
El descriptor Y depende transitivamente del descriptor X, X > Y, si tienen lugar las siguientes condiciones:
a)
X n Y
= 0
b)
13 -
z z x z
nx = 0 r> Y = 0 - z -/-> x
Z -> Y
Veremos enseguida cmo todos estos tipos de dependencias funcionales son el fundamente del importante concepto de normalizacin.
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
El conjunto de todas las dependencias funcionales implicadas lgicamente porS/^se representa por C/y-v "cierre de^-f^". y se denomina
completo de dependencias.
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
A4:
S -~r V'
para todo
A5:
Aditividad : Si S-*V
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
15
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
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
7.
Descomponer una relaciQj^^fT), es reemplazarla por un conjunto de proyecciones. De un modo muy general, esta descomposi-
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
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
- 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-
El descriptor AB es evidentemente la clave de cualquier relacin definida sobre A, B, C, D, E; que cumpla el conjunto de restricciones especificado.
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.
Si
^ , C, D = J ^ C A , C, D] )
2r
> C > D
&
AB
E ~ D
->D
JfU
(A,B,E) {%,
[A,B,E" [E, D]
c_719 (C, D)
f C , D j ^ 2 (E, D) /f2
(A, B, D)
20
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.
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
1.
INTRODUCCIN
En el Captulo primero hemos puesto de manifiesto cmo las Claves juegan un papel decisivo en el proceso de normalizacin.
- 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
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)).
Designaremos la matriz de implicacin por la misma letra Sr> con que hemos denominado al conjunto de dependencias fun
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.
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
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 -
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.
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
- 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
f
Prueba : S. U Y. U
1 1
S.U Y' . - *
Y' .
1
T (1) (2)
S.(j
S.<JY'.->S.U
Y' . - >
i
Lema
J-
J
J
\J
(1)
S. _ *
S.
(reflexividad)
(2)
Sj -> T (3)
= 0)
26
Por aditividad entre (4) y (5), resulta : S. * S.U Y. (6) Y. por hiptesis, luego de (6) se
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
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-
Lema Er^^\
~. 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
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
S. U
Y..
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
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
Lema &y\
28
__ >
S. U Y. S.
J
(3) (reflexividad)
(4)
-*
S.eS.u
J
Y.
\J
S. U S. _
S. U Y. S.
Luego, S. y S. U S. U
i
Y., de T.
i
Teorema ^/
r
3.1.
S1
>
S-; ^ y S.
^ S.
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/.
do que S.y^ =
S. o
subconjunto de T.
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. ->
(S. \j a
(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
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
-^
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>
Si
S.Vtz
++
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
)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.
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.
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'- / ?
S. __> S. _ *
Y. S.
S.
_>
S. U
Y.
(3)
Ya que S, C
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.
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.
- 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
ij = Y 1 . O (S-0 Y'J)
V j '
U ^ i j , i = 1, 2
- 33 -
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))
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-
da solo comprobar que el algoritmo es completo en el sen tido de que encuentra todas las claves.
34
i=Y'.n
(S. U b . ) , |b.| ^ o
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
-a.
Z. = S.v a^ , Z. -
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
35
Sea Z. = i Y'
1
S. v {) J
b.. J
(S,U
bjUb'j)
Y'.n (Sju
bj)
=Y'.^Zr
bj : Sj U bj * Y'i
Esto es precisamente lo que el algoritmo realiza: Encontrar iterativamente los descriptores ^ i : Si U ^ i > T, eligiendo
Cuando el Algoritmo concluye, cada entrada de M2 es una clave; y no se ha omitido ninguna (el Algoritmo es completo ).
5.
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
CD U (ABG) EG U (BDF)
(S4 U Y ' 4 )
1)
^32 = Y , 3 (S 2 U Y V ^ 3 4 = Y '3 ^ ^ S 4 U Y V
(AB)
=B
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
= BDFA (CDAB) = BD
' 4 A (S 3
U ^ 3 4 ) = BDF A (CDBG) - BD
BORRAR a 4 4 3 S3 U a^.
S* U S" 4 423
VI
- M2
38
A3
BEG BCDG
6.
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.
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
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
41
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:
1.
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
\ 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
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
y^.
estn conectadas, <-# ^ < S , si tiene lugar una al menos de las siguientes condiciones:
< ^
Teorema
2-1
La relacin de conexin, ^ ca en
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 & / . ~
de sus elementos.
Definicin
2- 3
Si enj^rse tiene
quej/'^y/'.
y . f i, la relacin de
Definicin
2-4
T \
V '
la
rel
acin
Lema
2 -1
T.
Prueba:
^T y Si~//"
3 ~v
particin de T.
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:
II
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-
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)
= \A,B,C,D,E,F,G,H,I,J,K,L,M i
AB-*
C,
H - KL ,J^
BD ->FG, 'O \ AE
- 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
^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
2 ^3
0 1 0 0 1 1 0 1 1
<_A <^5
1
<a~
o
1
o
1 1
o
1 1
^i
Damos a continuacin dos funciones APL que realizan el clculo de una particin funcional.
La funcin INCD
una matriz de implicacin dada cuyo contenido se ha asignado a la variable P. La matriz de incidencia queda almacenada en otra
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)
49
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 -
->u.
I:O:J END:PPRIMA<-MV
- 51 -
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.
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.
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
S. C. T, X. . = X. Q Y
S.
i
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
54 -
>
X.
K..b-X..
Teorema 4 - 1
Si T = I T., T ? ....,
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
K = K. =
i
(K O Tj)
(K O T 2 )
M
U.... U .
i
(K O T ). Sea K.
i
K. es
i
^ ^
. Supongamos que
3 . : K. f U
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^ -
Y M. > T . .
i i
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,
^
Condicin suficiente
es clave doJ?'/
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 .
miento anterior, Mi T i ,
de
M
Corolario 4 - 1 Si la relacin de conexin induce en {, T. } la particin
ety?(T).
Prueba
Se siguedel Teorema
4 - 1 ya que cada c/
'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.
Prueba :
(T - Tj)
^fr-Tj
la proyeccin de
funcionales
Ejemplo
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
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 -
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.
Prueba
Si ^9 i: A. U (Si U Xi)).
S., entonces
3 j: A,
X.
(ya que T=
(X. - A, ),
ta S' c: S
Teorema 5
-1
Prueba En el Captulo anterior hemos visto cmo toda clave de (T) es de la forma S.U ^ . , siendo S. alguno de los implicantes
= 0, S.
no pertenece a ningn
es no principal.
i se tiene que
\a-\>Q,
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 {
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-
S. U a.,
Corolario
5 -1
i 60 -
Corolario
5-2
Lema
5-2
dependencia funcional S * X
con A,
^. S y
A. : X.
Prueba:
Si jj . :
A k X., entonces
j% :
AR
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 &.
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
Corolario
5-4
Corolario
5-5
Si todos los atributos de UX. son principales, entonces todos los atributos de T son principales.
Corolario
5-6
Corolario
5-7
Sea T
= US., T
= UX..
Si
i 1 , T 1 es una particin de
62
Prueba :
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,
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.) -
63
to de restricciones J Qp.
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
Prueba
Condicin necesaria
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
la hiptesis de partida, segn la cual K es una clave Luego K es tambin clave d e J ^ X (T,).
Condicin suficiente -
(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:
JT:
AB -* C D
ABE
> >
FG HK
BFK
CE
AH _
65
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
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.
66 -
Propiedad 7 - 1
Si
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
<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
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
S.U
b..
Lema 7
y . , . se tiene que
67
cuaquier clave que pueda deducirse a partir de S. puede serlo tambin de S. para algn K f i.
Prueba
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
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
Teorema
7 -1
= j jfc-.
/)
sin alterar por ello las claves de Prueba : t_J/ul
'
Si <_y\
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 -
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', 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
cede el Algoritmo de bsqueda de las claves de una relacin, S.U b. no precisa ser usado ya que es un superconjunto.
t_y.
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
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).
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.,
70
Sea T
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)
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) Kj
(1) (2)
De (2) y (3), por la propiedad transitiva, se sigue que K - (K2 - Kj) . K2 (4)
71
que por transitividad permite escribir : K - (K - K1) ^ T , lo que contradice el hecho de ~f~^. K? .
/ J o !**' ^i f
es
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). -
Teorema 2-1
Si
{ T., T_
Prueba :
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
da Forma Normal.
Prueba :
Si P, = S.U
S.U
a.
tz .
funcionales pertenece la dependencia : S. -v X., S. CL S.U & . (ya que 1 ^ - 1 ^ . 1 Por hiptesis).
&.,
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.
73 -
determinarse las claves de una relacin, vimos que stas eran siempre de la forma S.U
1
&.
T
, \a.\
* 1 i
)>
-^
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-
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
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 .
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
es un
Prueba
Si Sj -++S2
S.
S.
y ScT,
Teorema 2-4
a ^
\&\<.}
SJJ S.U
i
a.a .
i
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..
v/,
f i,
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-
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
&
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.
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
- 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.
J3 .:
J
t
T.. C\
IJ
S,
K
0.
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
(T).
Si y..:
S. , Pt, -
Prueba :
Acabamos de ver cmo para determinar si una cierta relacin t"T) est o no en Segunda Forma Normal, basta con considerar 77 -
> Y.
der/^
en
^ a s c l ue
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**
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
* *
Pero S. * q ,
J
S.
J
go S.U
ma Normal.
Ejemplos:
B, C, > * : C D B
D,
E^
A B CE AD
Px = T, Q
= 0.
78 -
tzf:
A B * D
D . > A C &. A D
Por tanto: P
= B C y Q
= A D.
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.
79
3.
ALGORITMO PARA ESTABLECER SI UN CIERTO ESQUEMA DE RELACIN ESTA O NO EN SEGUNDA FORMA NORMAL.
S. /
(S.crPj
i Si /
( S U
21
i *i>
p
es c 1 a v e
) ll * l
l^cl
^c
\T: ^
S -w , .,-
Xi
i = 1, 2 -
\SC\*
i =
I- 2,
H_p
( np m)
80
S l
'
k ^o)
c
V1
Y si S. G J
^ K <
n .
Si
i < 3-
S. e ^
( ^ p - ^ c ) , entonce ' *- P
(punto II),
i = 1,2,
m.
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
III -
Qt = 0
IV -
,N
t (9l)
=2)
(ya que entonces
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
1- Acabar Algoritmo
Si V
: S.U
1.
2. 3.
- i = o
i - i+ 1 i > nc ?
J ( (S.CZ ^-j
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.
En el Capitulo Segundo hemos dado la definicin de Tercera Forma Normal. Teniendo en cuenta esta definicin a continuacin
Teorema 4 - 1
Dada una relacint-^(T) (no necesariamente en Tercera Forma Normal ) , si los descriptores K1 y K son ambos claves de la
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
83
K9
>
K1
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-
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
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
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{^)
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
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,).
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 :
= T
y Q
= 0
(ver Corolario
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
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
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 :
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 -
Si para
87
v/
v
c. P. , S. -*- P p~ t 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
se cumplira : S. =* X. dad).
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
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.
II
III
Si "3 . : S. c ( , ir a V. 1 IV.
En caso contrario, ir a
IV
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
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
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-
Este Captulo se basa en los trabajos de W. Cheng P. Bernstein T8] , y Bernstein et al.
[19] ,
[101 , especialmente en
2.
^ ean j2/j
y Jy/p
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 ^ /
. Po-
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 :
X*A.,
tal
Es evidente que
^+.
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
"
J/f
Un conjunto de
La segunda condicin garantiza que ninguna dependencia de ^^ es redundante y la ultima garantiza que ningn implicante es
redundante.
- 92 -
Teorema 2-1-1
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
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
cirse de CG ^ D, C -> A y ACD -> B) Adems, y ya que C sustituirse por CD * B > A , , la dependencia ACD - > B puede
Jf:
AB _
r
BC A D B F / D
>
en
D
G
>
>
C D G
Tiene lugar cuando a un conjunto de valores de A corresponde un conjunto de valores de B. Esta conexin mltiple se repre-
5^7
9
AB _* 9
94
(A)
Dominio (B), -
3.
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?.
4.
PROCEDIMIENTO DE SNTESIS.
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 -
El
Eliminar los atributos extraos en los implicantes de cada dependencia funcional de^,/, el obteniendo
II
y ' 1
III
IV
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
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
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.
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
97
Lema 5-1-1
O, 3? =
est en^ /
X
y
Si
L(
-frn'- V= W a
Teorema 5-1-1
Sea
(A.,, A,
A ) una relacin sintetizada por aplicair * ' de dependencias los pasos I, II, II y V
_depende t r a n -
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
98
Adems X / - >
Z, l
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. .
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
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
? A. pueden derivarse
1 -* A.},
es redundante e^/Oy*
5.2. Decimosque un atributo A satisface la propiedad jyen la relacin c / 7 , si la siguiente proposicin es cierta.
99
usa para sintetizare//; para cualquier atributo principal de Si, B, la dependencia K B puede derivarse sin usar \ K >A \
Teorema 5-2-1
Seac/{h,, A
usando el Primer Algoritmo de Sntesis a partir de un conjunto Jarcie dependencias. Si todos los atributos no principales de, est en Tercera Forma
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. i
I.
Sea
1 recubrimiento mnimo calculado en el Primer AlSea K una clave tal que la dependencia : ^f.
est en
1.
- 100
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.
: 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-
* 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
).
[/yf~
\ K > A. [ ) , luego ^ ^ / e s redundante, lo que se contradice con el hecho de que sea un recubrimiento mnimo. Concluiremos
5.3.
101
Teorema 5-3-1
Sea R, i,,/i,,
(A,,
tv/vl r > sintetizado empleando el Primer AlgoSeg/^el conjunto de dependencias funcionales luna dependencia implcita en una relacin Qy.
es una dependencia XA, siendo X una clave y A un atributo simple). Sea A. un atributo de^/^k 9 u e
n0
~ dec/?O^
va relacinc/7 :inc/2
u
das:
'(*?.--igual a ^ .
^',---^
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
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
'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 * *
/ ^ " P o r tanto :
Podemos ahora modificar el Primer Algoritmo de Sntesis para obtener relaciones que estn en Tercera Forma Normal.
Sea
de dependencias X ^ Y, siendo X e Y claves equivalentes, (ver paso IV del Algoritmo). Sea implcita Q^cy^ Z > A. , una dependencia
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
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 -
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
tal
Que
/fz
Incluir cada dependencia de/^xn su correspondiente grupo e^ypf. (Un Algoritmo que permite encontrar
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
6. MINIMIZACION
Comprobemos que todos los recubrimientos mnimos producen el mismo nmero de relaciones sintetizadas.
Lema 6-1
Sean , ^
y #
dos recubrimientos
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,
- 105 -
J?;.
1
Si ningn
podemos construir una deri 'ivacin para^^T' ex\cy^. reproducir su derivacin ^^/^7
(
~ derivado e n ^ ^ . . t^f"sera
yf->
Asi
necesitara ^ T e n su d erivacion
Y > B precisa
^ ,
: X f A en su Del mismo
en
Entonces Y X
(Lema 5-1-1).
/^?
> 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^
/^?>
con
> X
X 3 Y
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 ///?
Corolario 6-1
Sea yn conjunto de relaciones sintetizado a partir del conjunto de dependencias Sntesis. Sea mediante el Segundo Algoritmo de
tir de un recubrimiento
de
. Entonces \(
>
Prueba
/re
gen era-
a partir de^yf.
Por lo tanto:
RESUMEN
-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
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.
yv n i
(GP2
<-^n;
siend0
el
universo
dc
,J7i
T.. 1 .
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
sus proyecciones).
*r&>
Lema 2-1 Si V?
i
-.v^N
i = 1
/)
\Tl\
, entonces
no
c) mr(mf
Prueba
(71) ) = ^ /
a)
Sea
/)
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.
b) Ya que^/lk-/^^^
se
tendr quecy/7T.~}
esto es '-/^l\
cr
p e~/^ [T - ] ^ ^ ^ -
T-] Demostraremos
En
efecto,supongamos A/
i, t. es una tupia de m t en m
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
Pongamos un ejemplo :
1 "
l
"1
*~si)
[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-
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:
> , 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.
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
a^
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*-
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
I A. B > l A, C, D "V
"
"
3.
3.1. DEFINICIN
c/y
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 ^ K, A <c Y, yf f _ no incluye ninguna clave dec^l dra que verificarse Y .K ) (ya que, en caso contrario, ten-
^A contradice la condicin
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 \
[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-
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
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
(
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 -
Cr
Se reemplaza _yen
sobre A, y^7^
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
. Ya que J/.,
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 :
T,J>^>
\ A , B, C , D, E, F }
Sf:
A CD . CB
>
^ A
>
AE
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
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
^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
El esauema Boyce-Codd.
: A,E,F}
El segundo subesquema, no lo est. Fijmonos por ejemplo en la dependencia: clave. A ^ B , donde A no es superconjunto de la
A CE _4>
t, B D,
para CD
\ A,B " ; V A
y AC * ^
D,
para} A,C,D,E
y CE.
El esquema: \ l\,B)
A -^
Boyce-Codd . El segundo subesquema no, ya que tiene lugar la dependencia AC ^ D , y AC no es superconjunto de la clave.
(A,C, E) .
- 120
El esquema: \ A,C,D 7 ; AC _ ^ D,
no se conserva en la
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
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
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
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,
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.
X _ ^ * Y , tiene lugar en
(x, z) de XZ se cumple:
[x, z, Y ]
= o>T[x, Y]
SiX
U Y U Z
YO Z ^
Y, es que ^/(T)
125
f3ll
4.2.
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
Y .*, Z, entonces
A 7 : Si
X 5 Y entonces
X Y
126
Ag
: Si X-^-i, Y, Z c
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?
t]_
[Y]
, en el caso de que
[^ no estuviese ya
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.
En
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>
f'\JV
\2
-S^n
subesquemas resultantes estn en Cuarta Forma Normal y la propiedad de unin sin prdida respecto de &
tenga
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
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
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
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-
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
S.
}^n
lhlhl-k]
Z S X ;
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
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:
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-
[23] )
133
C A P I T U L O
VII
CONCLUSIONES
Ya se han expuesto
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
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
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
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)
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.
"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)
"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-
YOUSSEF FALOUS.R. (1974) "A Summary of Relational Datbase Theory" Technica Report r
141