Download - MBD Clase 3
-
8/8/2019 MBD Clase 3
1/25
Ing. Lorena Crdoba Pea
Tcnico profesional en desarrollo de software
Unicomfacauca
-
8/8/2019 MBD Clase 3
2/25
Dependencias funcionales
Un diseo de base de datos, en cualquier modelo, sepuede realizar con dos enfoques distintos:
ro uc en o e esquema a part r e a o servac ndirecta del mundo real, tal que lo percibido serepresente en un esquema donde se muestran losobjetos y las reglas captadas en el anlisis del
problema.
-
8/8/2019 MBD Clase 3
3/25
Dependencias funcionales
Llevando acabo el proceso en dos etapas: primerproduciendo un modelo conceptual (como el modeloE-R) y luego transformando este modelo en un
,relaciones que contengan sus respectivos atributos; lasasociaciones l : N en relaciones e introduciendo laclave de la entidad principal.
-
8/8/2019 MBD Clase 3
4/25
Dependencias funcionalesSea E una entidad como un conjunto de atributos
A= {a1,a2,a3 an} y sea n x y y subconjuntos de A:Decimos que x implica y (xy) o que x definefuncionalmente a y o que y depende funcionalmente de
valor de y.
El subconjunto o descriptor del lado izquierdo del smbolo
implicacin se denomina determinante o implicante. Elsubconjunto o descriptor de la derecha se denominaimplicado.
Ejemplo: ISBN_Libro Ttulo_libro
-
8/8/2019 MBD Clase 3
5/25
Ejemplo 1:
Cod_prov Nombre Direccin Cod_artic Descripcin Precio
1021 Pedro Calle 1 9001 Puntilla 5000
1022 Juan Calle 3 9001 Puntilla 4000
1021 Pedro Calle 1 9002 Grapas 3000
Cod_artic precio X
Cod_prov nombre, direccin
Cod_artic descripcinCod_prov, cod_articulo precio
-
8/8/2019 MBD Clase 3
6/25
Ejemplo 2: A B C D
A1 B1 C1 D1
A1 B2 C1 D1
A2 B2 C2 D2
A2 B3 C2 D2A3 B3 C2 D2
-
8/8/2019 MBD Clase 3
7/25
Reglas de inferencia
Axiomas de Armstrong
Reflexividad: Si YX, entonces XY
Todo conjunto de atributos se implica as mismo ycualquier subconjunto de el.
Aumentativa: Si XY entonces XZY ZAdicionar atributos al implicante no altera ladependencia funcional.
-
8/8/2019 MBD Clase 3
8/25
Reglas de inferencia
Transitividad: Si X
Y y Y
Z entonces X
Z
Pseudotransitividad: SiXY y WZ, entonces XWZ
Unin : SiX Y y XZ entonces X YZ
Descomposicin : SiX YZ, entonces X Y y XZ
-
8/8/2019 MBD Clase 3
9/25
Cierre (DF+) de un conjunto de
dependencias funcionales
Con base en los axiomas de Armstrong, podemosdefinir el concepto de cierre (DF+) de un conjunto de
dependencias funcionales:
1. DF DF+
2.Toda dependencia X Y derivada de DF mediante eluso de los axiomas de Armstrong esta en DF+.
3. Ninguna otra dependencia esta en DF+.
-
8/8/2019 MBD Clase 3
10/25
Cierre de un Descriptor Respecto a unConjunto de Dependencias
FuncionalesEs un proceso iterativo . Sea X el descriptor y L = { f1 , ,fn } el conjunto de dependencias . Se calcula la
, , , , =
X0=X
Xi+1=Xi { atributos de la derecha de las dependenciasen L implicadas por subconjuntos de Xi } .
Si Xi=Xi+1 , Xi es el cierre.
Si Xi=T , Xi es el cierre .
-
8/8/2019 MBD Clase 3
11/25
Ejemplo:
X=BD ,
DF = { f1= AB C , f2=CA , f3=BC D , f4= ACDB , f5=D EG , f6=CG BD , f7=BE C , f8= CEAG }
X0=BD
X1=BDEG (usando f5 )
X2=BDEGC ( usando f7)X3=BDEGCA ( usando f2 )
Como no hay ms atributos , ste es el cierre .
-
8/8/2019 MBD Clase 3
12/25
Recubrimiento Minimal (noredundante)
Si dos conjuntos de dependencias funcionales , L y M ,son equivalentes , o sea , tienen sus cierres iguales ; sedice ue L es un recubrimiento de M
recprocamente ) .Dado el conjunto L de dependencias funcionales , M esun recubrimiento no redundante si :
L M
-
8/8/2019 MBD Clase 3
13/25
Toda dependencia en M es de la forma X A(segundos miembros simples )
Ningn implicante contiene atributos redundantes
( un atributo es redundante si su supresin no altera elcierre del conjunto ) .
No ha de endencias redundantes una de endencia
es redundante si su supresin no altera el cierre delconjunto ) .
-
8/8/2019 MBD Clase 3
14/25
Ejemplo :
Calcular un recubrimiento no redundante de :
L={ AB
C , C
A , BC
D , ACD
B , D
EG , BE C , CG BD , CEAG }
p can o e ax oma e proyect v a :L1={ AB C , CA, BC D ,ACD B , D E , D
G , BE C , CG B , CG D , CEA, CE G }
-
8/8/2019 MBD Clase 3
15/25
Cuando hay redundancias obvias , pueden ( y deben )ser eliminadas cuanto antes , pues esto contribuir asimplificar el problema en su conjunto .
Un rpido examen, permite observar que , ya que CA , CEA es redundante y puede eliminarse .Asimismo , ACD B puede sustituirse por CD B .
Nos queda el conjunto L2 en el que , por comodidad denotacin , vamos a identificar cada elemento medianteun nmero de orden :
L2= { AB
C (1 ) , C
A ( 2 ) , BC
D ( 3 ) , CD
B( 4 ) , D E ( 5 ) , DG ( 6 ) , BE C ( 7 ) , CG B (8 ) , CG D ( 9 ) , CE G ( 10 ) }
-
8/8/2019 MBD Clase 3
16/25
Atributos redundantes Si una dependencia viene implicada por un atributo
simple , es obvio que ste no es redundante .Analicemos los implicantes compuestos : AB C . Si
A fuese redundante , B no podr serlo , y viceversa.
Supongamos que se e imina A . Nos que a B
C . Sies cierta , A es redundante. Calculamos B+ L2 y seobtiene B,A no es redundante.
Si eliminamos B ,nos queda A C . El cierre A+ L2 esA , B no es redundante.
Repitiendo este proceso para todos los implicantescompuestos , puede verse que no hay atributos
redundantes.
-
8/8/2019 MBD Clase 3
17/25
Ejercicio
D= (ab
c, c
a, bc
a, acd
b, d
e, d
g, be
c,cg b, cg d, cea, ceg).
-
8/8/2019 MBD Clase 3
18/25
Dependencias redundantes
L2= { AB
C (1 ) , C
A ( 2 ) , BC
D ( 3 ) , CD
B( 4 ) , D E ( 5 ) , DG ( 6 ) , BE C ( 7 ) , CG B (8 ) , CG D ( 9 ) , CE G ( 10 ) }
Podemos seguir el orden que queramos , llegandoeventualmente a recubrimientos no redundantesdistintos , pero equivalentes .
Para ver si (1) es redundante , la elimino y calculoAB+L2-{1} :
-
8/8/2019 MBD Clase 3
19/25
AB+L2-{1}=AB . Como C no pertenece al cierre , (1) noes redundante .
Repetimos el proceso:
C+L2-{2}= C , as que (2) no es redundante . BC+L2-{3}=ABC , as que (3) no es redundante .
CD+L2- =CDAEGB as ue es redundante se
suprime , siendo L3=L2-{4} D+L3-{5}=DG , as que (5) no es redundante .
D+L3-{6}=DE , as que (6) no es redundante .
BE+L3-{7}=BE , as que (7) no es redundante . CG+L3-{8}=CGAD , as que (8) no es redundante .
-
8/8/2019 MBD Clase 3
20/25
CG+L3-{9}=CGABD , as que (9 ) es redundante y sesuprime , siendo L4=L3-{9}
CE+L4-{10}=CEA , as que (10) no es redundante .
Un recubrimiento no redundante de L es , por tanto :
CG B ; CE G
EjercicioD= (abc, ca, bcd, cdb, dc, dg, bec, cgb,
cgd, ca, ceg)
-
8/8/2019 MBD Clase 3
21/25
Determinacin de claves
Pasos1. Eliminar atributos y dependencias redundantes.
2. Clasificar los atributos que aparecen en las
epen enc as unc ona es as : I={ atributos que aparecen slo como implicantes }
D={ atributos que aparecen slo como implicados }
ID={ atributos que aparecen como implicantes eimplicados }
N={ atributos que no aparecen en ningunadependencia }
-
8/8/2019 MBD Clase 3
22/25
Es fcil razonar lo siguiente :
Los atributos de I forman parte de todas las claves .
Los atributos de N forman parte de todas las claves .
Los atributos de D no forman parte de ninguna clave .
Los atributos de ID pueden formar parte o no de.
-
8/8/2019 MBD Clase 3
23/25
Un procedimiento sencillo para determinar una clave ,es por tanto el siguiente :
1. Calcular Z=I N . Z es el ncleo del proceso (interseccin de todas las claves , pudiendo ser en algncaso el conjunto vaco )
2. Calcular Z+ . Si este cierre es T , Z es la clave (nica)del esquema. Si no es as , sigue la bsqueda de unaclave .
3. Z0=Z , Zi=Zi-1
{ Aj } , Aj
ID 4. Calcular ( Zi )+ . Si este cierre es T , Zi es , en general
una superclave del esquema ( es clave o contienealguna clave )
-
8/8/2019 MBD Clase 3
24/25
5. La(s) clave(s) contenida(s) en Zi se extrae(n) poreliminacin de posibles atributos redundantes(distintos de los del ncleo y del ltimo aadido ) .
Ejemplo =
I= , N= , D=
Z0 = .
Z1=A , A+=A Z2=AB , AB+=T
AB es una clave .
-
8/8/2019 MBD Clase 3
25/25
Referencias
Prof. Mauricio Fernndez - Curso: Bases de Datos(Universidad del valle).
ttp: es.w pe a.org w o e o_ent a -relaci%C3%B3n