normalización y dependencia funcional

Upload: hernando-rodriguez-quintero

Post on 05-Jul-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/16/2019 Normalización y Dependencia Funcional

    1/7

    Normalización y DependenciaFuncional

     

    Normalización

    La normalización es un proceso que consiste en comprobarque las tablas (también denominadas relaciones enterminología propia del modelo relacional de datos) definidascumplen unas determinadas condiciones. Se pretende

    garantizar la no existencia de redundancia y una ciertacoherencia en la representación mediante un esquemarelacional de las entidades y relaciones del modelo conceptual(diagrama !"). #ediante la normalización se puedensolucionar di$ersos errores en el dise%o de la base de datosasí como me&orarlo. 'ambién se facilita el traba&o posterior deladministrador de la base de datos y de los desarrolladores deaplicaciones.

    Dependencia Funcional

    na dependencia funcional denotada por * !+ , entre doscon&untos de atributos * y , que son subcon&untos de " ("-/0 /1.../23) especifica una restricción sobre las posiblestuplas que podrían formar un e&emplar de relación r de ". Larestricción dice que para cualesquier dos tuplas t0 y t1 de rtales que t04*5 - t14*5 debemos tener también t04,5 -t14,5. sto significa que los $alores componentes de , de unatupla de r dependen de los $alores del componente * o est6ndeterminados por ellos7 o bien que los $alores delcomponente * de una tupla determinan de manera 8nica (ofuncionalmente) los $alores del componente ,. 'ambién

  • 8/16/2019 Normalización y Dependencia Funcional

    2/7

    decimos que hay una dependencia funcional de * a , o que ,depende funcionalmente de *.

    Sean a y b atributos de una misma tabla o relación '. Se dice

    que b es funcionalmente dependiente de a y se denota '.a !+'.b o bien simplemente a !+ b si todo posible $alor de a tieneasociado un 8nico $alor de b o lo que es lo mismo en todaslas tuplas de ' en las que el atributo a toma el mismo $alor$0 el atributo b toma también un mismo $alor $1.9laramente a !+ b no implica b !+ a. :ueden repetirse los$alores del atributo b para distintos $alores de a. n mismoatributo puede determinar funcionalmente a $arios atributoslo cual se denota a !+ (b0 b1 ...). :uede darse una

    dependencia funcional mutua; a !+ b y b !+ a o lo que es lomismo a

    Los atributos a y b pueden ser simples o compuestos(formados por la agregación de $arios atributos). Losatributos funcionalmente dependientes pueden o no formarparte de la cla$e primaria de la tabla de una cla$e alternati$ao de una cla$e a&ena de otra tabla.

    l atributo b es funcionalmente dependiente de formacompleta de a si a !+ b y b no depende funcionalmente dening8n subcon&unto de atributos de a. Si a es un atributosimple y a !+ b entonces la dependencia funcional es conseguridad completa.

    Las dependencias funcionales $erifican una serie de

    propiedades denominadas axiomas de /rmstrong;

    Reflexividad. / partir de cualquier atributo o con&unto deatributos siempre puede deducirse él mismo. >ependenciatri$ial; x !+ x.

  • 8/16/2019 Normalización y Dependencia Funcional

    3/7

    Aumentatividad. Si x -> y entonces x+z -> y. /sí sepuede aumentar tri$ialmente el antecedente de unadependencia. &emplo; si con el dni se determina el nombrede una persona entonces con el dni m6s la dirección

    también se determina el nombre.royectividad. Si x -> y+z entonces x -> y. &emplo; si apartir del dni es posible deducir el nombre y la direcciónde una persona entonces con el dni es posible determinar elnombre.

    Aditividad. Si x -> y y z -> ! entonces x+z -> y+!.&emplo; si con el dni se determina el nombre y con ladirección el teléfono de una persona entonces con el dni y ladirección podr6 determinarse el nombre y el teléfono.

    "ransitividad o enlace de dependencias funcionales. Six -> y e y -> z entonces x -> z. &emplo; si con el dnipuede determinarse el código de la pro$incia de residencia deuna persona y con éste código puede determinarse elnombre de la pro$incia entonces con el dni puededeterminarse el nombre de la pro$incia. ?ste es el mecanismo

    b6sico de funcionamiento del enlace entre tablas a partir decla$es a&enas.

    Re#las de normalización

    l punto de partida del proceso de normalización es uncon&unto de tablas con sus atributos el denominado esquema

    relacional. Se pretende me&orar dicho esquema de datos. Sedice que una tabla est6 en una determinada forma normal sisatisface un cierto n8mero de restricciones impuestas por lacorrespondiente regla de normalización. La aplicación de unade estas reglas a un esquema relacional produce un nue$o

  • 8/16/2019 Normalización y Dependencia Funcional

    4/7

    esquema relacional en el que no se ha introducido ning8nnue$o atributo.

    n esquema relacional se compone de una serie de ternas

    '(/>) donde ' es el nombre de una tabla / el con&unto delos atributos de esa tabla y > el con&unto de dependenciasfuncionales que existen entre esos atributos.

    Si una tabla no satisface una determinada regla denormalización se procede a descomponerla en otras dosnue$as que sí las satisfagan. sto usualmente requiere decidirqué atributos de la tabla original $an a residir en una u otrade las nue$as tablas. La descomposición tiene que conser$ardos propiedades fundamentales;

    0. =o pérdida de información. Sea '(/ >) que se di$ide en'0(/0 >0) y '1(/1 >1). / partir de los atributoscomunes en ambos esquemas es posible determinar losatributos de '0 no presentes en '1 (es decir el con&unto/0 ! /1) o bien los atributos de '1 no presentes en '0(el con&unto diferencia /1 ! /0). >esde cualquieresquema se consigue recuperar los datos del otromediante un mecanismo de cla$e a&ena que permite

    reconstituir el esquema original de partida. xpresadomediante dependencias funcionales la intersección delos con&untos de atributos /0 y /1 debe determinarfuncionalmente la diferencia de los con&untos deatributos /0 ! /1 o bien /1 ! /0.

    1. =o pérdida de dependencias funcionales.

    La normalización consiste pues en descomponer los esquemas

    relacionales (tablas) en otros equi$alentes (puede obtenerseel original a partir de los otros) de manera que se $erifiquenunas determinadas reglas de normalización. $identementelas reglas de normalización imponen una serie de restriccionesen lo relati$o a la existencia de determinados esquemasrelacionales. Seg8n se a$ance en el cumplimiento de reglas y

  • 8/16/2019 Normalización y Dependencia Funcional

    5/7

    restricciones se alcanzar6 una mayor forma normal. xistencinco formas normales hacia las cuales puede conducir elproceso de normalización de forma incremental m6s unaforma normal independiente de las otras.

    n esquema relacional que satisface todas las restriccionesimpuestas por la tercera forma normal se considera de buenacalidad aunque es me&or que satisfaga una interesantepropiedad. La $erificación de una forma normal implica elcumplimiento de todas las formas normales anteriores. Laprimera forma normal es de cumplimiento obligatorio paraque exista siquiera un esquema relacional propiamenteformado

    FN$. Se pretende garantizar la no existencia de gruposrepetiti$os. n grupo repetiti$o es un con&unto de atributos de

    igual sem6ntica en el problema y dominio que toman $aloresdistintos para la misma cla$e. 9ualquier esquema quetenga cla$es correctas est6 seguro en @=0.

    FN%. Si @=0 y cada atributo de la tabla que no forma parte dela cla$e depende funcionalmente de forma completa de la

    cla$e primaria. s decir depende de toda la cla$e y no dening8n subcon&unto de ella. Se pretende garantizar unacorrecta elección de cla$es y eliminar redundancias. Si lacla$e est6 formada por un 8nico atributo  entonces eseesquema estar6 seguro en segunda forma normal.

    FN&. Si @=1 y cada atributo no primo de la tabla no dependefuncionalmente de forma transiti$a de la cla$e primaria.

    @=A9 (@orma =ormal de Aoyce!9odd). Se basa en el conceptode determinante funcional; uno o $arios atributos deuna tabla de los cuales dependen funcionalmente de formacompleta alg8n otro atributo de la misma tabla. na relaciónest6 en @=A9 si @=0 y cada determinante funcional es unacla$e candidata de la tabla. /sí se garantiza que se hanelegido bien las cla$es al no existir dependencias funcionales

  • 8/16/2019 Normalización y Dependencia Funcional

    6/7

    entre atributos que no son cla$e. 9ada $ez que se$erifica una dependencia funcional a !+ b entonces a es cla$eprimaria o alterna con seguridad. 'odas lasdependencias funcionales cumplen que en su parte izquierda

    solo aparecen atributos que son parte de una cla$ecandidata. sta forma normal es m6s restricti$a que la terceray tiene la interesante propiedad de que su cumplimientoimplica la satisfacción de @=2 o sea que @=A9 !+ @=2.

    '(emplo) Dependencias funcionales

    &emplo a;

    mpleadoBdepartamento

    nombre

    nss

    fechaBn

    dirección

    numeroBdep

    nombreBdep

    &emplo b;

    mpleadoBproyecto

    =ss

    numeroBproy

  • 8/16/2019 Normalización y Dependencia Funcional

    7/7

    horas

    nombreBemp

    nombreBproy

    lugarBproy

    mpBproy

    ! nss !+ nombre (el nss del empleado determina de forma8nica el nombre de ese empleado)! numeroBproy !+ nombreBproylugarBproy3

    ! nss numeroBproy3 !+ horas