MBD Clase 3

Embed Size (px)

Citation preview

  • 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