Está en la página 1de 15

Bases de Datos

3 Informtica de Sistemas

TEMA 8.- DISEO TEORICO DE BASES DE DATOS


RELACIONALES.
Teora de las Dependencias Funcionales.
Teora de la Normalizacin.
Formas Normales.
Conclusiones.

1. TEORA DE LAS DEPENDENCIAS FUNCIONALES


Las dependencias funcionales (DF) representan una restriccin al
conjunto de relaciones legales:
Conjunto de tuplas que en un instante dado verifican un esquema de
relacin (parte invariante de una relacin).
Las DF permiten expresar ciertos hechos (restricciones) acerca de la
organizacin que estamos modelando con la base de datos:
Los hechos deben verificarse en cualquier instante de la vida de la
base de datos (restricciones dinmicas).
Las DF exigen que el valor de un cierto conjunto de atributos determine
unvocamente el valor de otro conjunto de atributos.
Una dependencia funcional es una generalizacin de la nocin de
clave.
1.1.

Definicin.

Sea R(U, F) un esquema de relacin y sean U y U.


La DF se cumple en R si y slo si para cualquier relacin legal r
que cumpla el esquema R, siempre que cualquier par de tuplas, t1 y t2, en
r coincidan en los atributos , tambin coinciden en los . Es decir,
t1 [] = t2 [] t1[] = t2 [].

Diseo Terico de Bases de Datos Relacionales

Pgina 1 de 15

Bases de Datos

1.2.

3 Informtica de Sistemas

Claves y Superclaves.

K es superclave del esquema de relacin R si y slo si K R.


K es clave candidata de R si y slo si
K R, y
no existe ningn R, que cumpla R.
1.3.

Uso de las Dependencias Funcionales.

1. Para especificar restricciones en el conjunto de relaciones legales.


Se dice que F se cumple en R si toda relacin legal de R satisface
todas las dependencias del conjunto F.
2. Para probar si una relacin es legal bajo un conjunto dado de DF.
Se dice que r satisface F si la relacin r es legal bajo el conjunto
de dependencias F.
Notar que una instancia especfica de un esquema de relacin puede
satisfacer una determinada dependencia funcional incluso aunque la
dependencia no sea satisfecha por el conjunto legal de instancias.
Por ejemplo, una instancia especfica de Empleado, puede,
por casualidad, satisfacer que
EdadEmpleado NombreEmpleado.
Se dice que algunas DF son triviales porque son satisfechas por todas
las relaciones.
Por ejemplo, todas las relaciones que incluyen el atributo A
satisfacen A A. En general, una DF de la forma
es trivial si .

Diseo Terico de Bases de Datos Relacionales

Pgina 2 de 15

Bases de Datos

1.4.

3 Informtica de Sistemas

Cierre de un Conjunto de Dependencias Funcionales

No es suficiente considerar un conjunto dado de dependencias


funcionales. Hay que considerar todas las DF que se cumplen.
Dado un conjunto F de DF, hay otras ciertas dependencias
funcionales que tambin se cumplen. Se dice que F implica
lgicamente dichas DF.
Sea F un conjunto de DF. El cierre de F es el conjunto de DF que F
implica lgicamente. A este conjunto se le denota por F+.
Debemos encontrar tcnicas lo ms sencillas posible que nos
permitan deducir dependencias funcionales, es decir, que nos
permitan caracterizar F+.
Una tcnica se basa en aplicar repetidamente los llamados Axiomas de
Armstrong.
Si , entonces (Reflexividad)
Si , entonces (Aumento)
Si y , entonces (Transitividad)
Estas reglas son vlidad y completas.
Esta tcnica es pesada y, sobre todo, no es algoritmizable.
Ejemplo.
Sea R = (A, B, C, G, H, I) y F = {AB, AC, CGH, CGI, BH}
Algunos miembros de F+ son:
AH, AGI, CGHI

Diseo Terico de Bases de Datos Relacionales

Pgina 3 de 15

Bases de Datos

1.5.

3 Informtica de Sistemas

Cierre de un conjunto de atributos

Otra tcnica se basa en calcular el conjunto de atributos determinados


funcionalmente por un subconjunto de atributos, .
Sea un subconjunto de atributos de U. Al conjunto de todos los
atributos determinados funcionalmente por bajo un conjunto F de
DF se le llama cierre de bajo F y se representa por +F.

est en F+ +

El algoritmo que calcula +F, el cierre de bajo F, tiene como


entrada el conjunto F de DF y el conjunto de atributos. La salida se
almacena en la variable resultado:
resultado := ;
mientras (cambios en resultado) hacer
para cada DF en F hacer
inicio
si resultado entonces
resultado := resultado ;
fin;
+F := resultado;

La siguiente equivalencia nos proporciona la tcnica a utilizar para


construir F+:
+F F+

Diseo Terico de Bases de Datos Relacionales

Pgina 4 de 15

Bases de Datos

3 Informtica de Sistemas

Ejemplo.
Sea R = (A, B, C, G, H, I) y
F = {AB, AC, CGH, CGI, BH}

(AG)+
1.
2.
3.
4.

resultado = AG
resultado = ABCG
resultado = ABCGH
resultado = ABCGHI

(A C y A AGB)
(CG H y CG AGBC)
(CG I y CG AGBCH)

AG es clave candidata?
1. AG R
2. Se cumple que A R?
3. Se cumple que G R?

Diseo Terico de Bases de Datos Relacionales

Pgina 5 de 15

Bases de Datos

1.6.

3 Informtica de Sistemas

Conjuntos de dependencias funcionales equivalentes

Dados dos conjuntos de DF, F y G, decimos que son equivalentes si


F+ = G+.
Se puede demostrar el siguiente resultado, que simplifica la tarea de
comprobar si dos conjuntos de DF son o no equivalentes:
F+ = G+ F G+ y G F+
1.7.

Equivalente minimal

Dependencia redundante.
Una DF, f, de un conjunto F, se dice que es redundante si puede
deducirse de { F-f }; es decir, si F+ = { F-f }+.
Atributo extrao.
Dada la dependencia funcional F, un atributo A se
dice que es extrao en la dependencia si ( - A ) F+.
Dependencia elemental.
Dada la dependencia funcional F, se dice que es
elemental si no tiene atributos extraos.
Un conjunto de dependencias funcionales, Fc, es un equivalente
minimal de F si:
1.
2.
3.
4.

F+ = Fc+.
Las dependencias de Fc estn expresadas en forma cannica.
Las dependencias de Fc son elementales.
No existen en Fc dependencias redundantes.

Diseo Terico de Bases de Datos Relacionales

Pgina 6 de 15

Bases de Datos

3 Informtica de Sistemas

Es interesante trabajar con conjuntos minimales porque son los que


incluyen el menor nmero de DF y, en el caso de una actualizacin en la
base de datos, las comprobaciones a realizar se minimizan.

Existe un algoritmo que permite calcular el equivalente minimal de uno


dado.
Tiene como entrada un conjunto F de dependencias funcionales y como
salida el conjunto Fc, equivalente minimal.
H := ;
Para cada F hacer (*={A1, A2, ..., AN}*)
H := H { A1, A2, ..., AN };
Para cada A H hacer
Para cada
Inicio

B hacer

G := H - { A} + {( - B) A};
Si
Fin

A ( - B)+H

entonces H := G;

Para cada A H hacer


Inicio
G := H - { A};
Si A +G
Fin
Fc := H;

entonces H := G;

Diseo Terico de Bases de Datos Relacionales

Pgina 7 de 15

Bases de Datos

3 Informtica de Sistemas

2. TEORA DE LA NORMALIZACIN
El diseo de bases de datos relacionales tiene como objetivo la
definicin de una buena coleccin de esquemas de relacin.
Los malos diseos pueden originar:
- Repeticin de la informacin.
- Imposibilidad de representar cierta informacin.
Anomalas en la insercin.
Anomalas en la modificacin.
Anomalas en el borrado.
Un buen diseo tiene que conseguir:
- Eliminar la redundancia de los datos.
- Asegurar que todas las relaciones entre atributos estn
representadas.
- Facilitar el control de las modificaciones para evitar las
violaciones de las restricciones de integridad.
Ejemplo:
- Considerar el esquema:
R(NombreSucursal, CiudadSucursal, FondosCliente, NombreCliente,
NmeroPrstamo, CantidadPrstamo)
- Los datos CiudadSucursal y FondosCliente estn repetidos
para cada Prstamo que hace una Sucursal.
- Hay datos vacos y las actualizaciones son costosas.
- No se puede almacenar informacin sobre una Sucursal si no
existe un Prstamo.
- Considerar los esquemas:
R(NombreSucursal, CiudadSucursal, FondosCliente, NombreCliente)
R(NombreCliente, NmeroPrstamo, CantidadPrstamo)

Diseo Terico de Bases de Datos Relacionales

Pgina 8 de 15

Bases de Datos

3 Informtica de Sistemas

La Teora de la Normalizacin pretende:


Dado un conjunto de atributos, U, y un conjunto de dependencias
funcionales, F, existentes entre ellos, que puede considerarse que
constituyen un esquema de relacin, R(U,F), se trata de transformar este
esquema en un conjunto de n esquemas de relacin {R1(U1,F1),
R2(U2,F2), ..., Rn(Un, Fn)}, tales que verifiquen las siguientes
propiedades:
1. Conservacin de la informacin.
2. Conservacin de las dependencias funcionales.
3. Mnima redundancia de la informacin.
2.1.

Conservacin de la informacin

Decimos que una descomposicin


{R1(U1, F1), R2(U2, F2), ..., Rn(Un, Fn)} de R(U, F)
verifica la propiedad de producto sin prdida de informacin
(propiedad de join sin prdida, j.s.p.)
si para cada relacin r que cumple el esquema R, se tiene que:

r=

n
i=1

Ui (r)

Sea R(U, F) un esquema de relacin. Sea {R1(U1, F1), R2(U2, F2)}


una descomposicin de R. Entonces, esta descomposicin cumple
la propiedad j.s.p. si y slo si por lo menos una de las DF
siguientes est en F+:

U1 U2 U1 - U2
U1 U2 U2 U1

Diseo Terico de Bases de Datos Relacionales

Pgina 9 de 15

Bases de Datos

2.2.

3 Informtica de Sistemas

Conservacin de las dependencias

Sea R(U, F) un esquema de relacin y sea {R1(U1, F1), R2(U2, F2), ...,
Rn(Un, Fn)} una descomposicin de R.
Cada conjunto Fi es el conjunto de todas las dependencias funcionales
de F+ que incluyen nicamente atributos de Ui.
Fi = { X Y F+ / XY Ui }
Decimos que una descomposicin
{R1(U1, F1), R2(U2, F2), ..., Rn(Un, Fn)} de R(U, F)
verifica la propiedad de conservacin de las dependencias
(conserva las dependencias, c.d.)
si la unin de todas las dependencias de cada Fi implica
lgicamente todas las dependencias de F; es decir si:

F+ = ( i=1n Fi )+
Cuando una descomposicin cumple las propiedades j.s.p. y c.d.,
decimos que la descomposicin es equivalente al esquema inicial,
puesto que es posible representar la misma informacin con un nico
esquema que con el conjunto de esquemas.
Si, adems, ocurre que los esquemas del conjunto, cada Ri, no
presentan anomalas ni en la insercin, ni en la modificacin, ni en el
borrado decimos que la descomposicin es mejor que el esquema
inicial.
Las distintas formas normales representan los grados de eliminacin
de redundancia (eliminacin de anomalas) que pueden lograrse y
vamos a estudiarlas en este momento.

Diseo Terico de Bases de Datos Relacionales

Pgina 10 de 15

Bases de Datos

3 Informtica de Sistemas

3. FORMAS NORMALES.
Decimos que A es un atributo bsico de un esquema si A es un
elemento de alguna clave candidata del esquema.
Sea X una clave candidata de un esquema, decimos que la
dependencia Y A es parcial si
AY
A no es bsico
Y X.

Decimos que la dependencia Y A es transitiva si


AY
A no es bsico
Y contiene un atributo no bsico y no contiene una clave
candidata.

Veamos, ahora las diferentes formas normales:


Primera Forma Normal (1FN): Una relacin est en 1FN si todo
atributo de la relacin es atmico.
(No se permiten grupos repetitivos; es un requerimiento del
modelo relacional).
Segunda Forma Normal (2FN): Una relacin est en 2FN si est en
1FN y no tiene dependencias parciales.
(Ningn atributo no bsico depende de una parte de la clave.
Los atributos que no forman parte de ninguna clave
suministran informacin de la clave completa).

Diseo Terico de Bases de Datos Relacionales

Pgina 11 de 15

Bases de Datos

3 Informtica de Sistemas

Tercera Forma Normal (3FN): Una relacin est en 3FN si est en


2FN y no tiene dependencias transitivas.
(Todos los atributos no bsicos dependen slo de la clave y
de la clave completa.
Los atributos que no forman parte de ninguna clave
suministran informacin referida a la clave, la clave completa
y nada ms que la clave).
Forma Normal de Boyce-Codd (FNBC): Una relacin est en
FNBC si toda dependencia X A con AX es tal que X es una
superclave.
(Todos los atributos dependen slo de la clave y de la clave
completa. Los atributos suministran informacin referida a la
clave, la clave completa y nada ms que la clave).

Veamos, ahora, algoritmos que


descomposiciones con buenas propiedades.

Diseo Terico de Bases de Datos Relacionales

nos

permiten

encontrar

Pgina 12 de 15

Bases de Datos

3 Informtica de Sistemas

Algoritmo para obtener una descomposicin con esquemas en


FNBC y cumpliendo la propiedad j.s.p.; pero, en general, no c.d.
resultado := { R };
listo := falso;
mientras (no listo) hacer
si (existe un esquema Ri en resultado
que no est en FNBC) entonces
inicio
sea una DF no trivial
que se cumple en Ri
tal que Ri no est en F+ y
tal que = ;
resultado := (resultado - Ri)
(Ri - ) (, );
fin
sino
listo := verdadero;
Considerar R(U, F) donde U = {A, B, C} y F = {A B, B C}.
Considerar R(U, F) donde U = {A, B, C, D, E, K} y
F = {A BC, E FA}.
Considerar R(U, F) donde U = {J, K, L} y F = {JK L, L K}

Diseo Terico de Bases de Datos Relacionales

Pgina 13 de 15

Bases de Datos

3 Informtica de Sistemas

Algoritmo para obtener una descomposicin con esquemas en 3FN


y cumpliendo las propiedades c.d. y j.s.p.
sea Fc un equivalente minimal de F;
i := 0;
para cada dependencia funcional en Fc
hacer
si ninguno de los esquemas Rj, 1 j i,
contiene {, } entonces
inicio
i := i + 1;
Ri := {, };
fin;
fin-para;
si ninguno de los esquemas Rj, 1 j i,
contiene
una
clave
candidata
de
entonces
inicio
i := i + 1;
Ri := cualquier clave candidata de R;
fin;
resultado := {R1, R2, ..., Ri};

Considerar R(U, F) donde U = {A, B, C, D} y


F = {C AD, AB C}.

Diseo Terico de Bases de Datos Relacionales

Pgina 14 de 15

Bases de Datos

3 Informtica de Sistemas

Comparacin entre la 3FN y la FNBC:


- Siempre es posible descomponer una relacin en relaciones en
3FN y cumpliendo las propiedades j.s.p. y c.d.
- Siempre es posible descomponer una relacin en relaciones en
FNBC y cumpliendo la propiedad j.s.p.; no se puede garantiar que
adems sea c.d.
4. CONCLUSIONES.
La aplicacin de la Teora de la Normalizacin consigue una
disminucin de las anomalas de actualizacin y de las redundancias,
evitando muchos de los problemas que se pueden plantear en las
actualizaciones de la informacin.
Sin embargo, al mismo tiempo, penaliza las consultas, al disminuir la
eficiencia de las mismas.
En el proceso de normalizacin aumenta el nmero de relaciones
presentes en la base de datos, por lo que una determinada consulta puede
llevar consigo el acceso a varias tablas, lo que, indudablemente, eleva el
tiempo necesario para resolver tal consulta.
Esto puede llevar, en ocasiones, a hacer inevitable un proceso de
desnormalizacin (incluir cierta redundancia en los esquemas para
aligerar el coste de la consulta), consistente en desechar un esquema en
una determinada forma normal, para elegir otro en una forma normal
ms baja.

Diseo Terico de Bases de Datos Relacionales

Pgina 15 de 15

También podría gustarte