Vous êtes sur la page 1sur 29

NORMALIZACION

Cmo verifico si una particin es SPI ?

DEPENDENCIAS FUNCIONALES Idea Intuitiva


Pensemos cuando el valor de un atributo determina el valor de otro atributo. Por ejemplo: En la tabla vehculos el valor de Patente determina el valor de marca ? Por ejemplo: En la tabla vehculos el valor de modelo determina el valor de marca?

Pensar otros ejemplos

DEPENDENCIAS FUNCIONALES
Alfa y Beta son conjuntos de atributos

Cada Esquema de Relacin tiene distintas dependencias funcionales

DEPENDENCIAS FUNCIONALES
Ejemplo Dado el siguiente esquema de relacin: Persona(DNI , Nombre, FechaNac , Edad, FechaHoy) En Persona se cumplen las siguientes Dependencias Funcionales: FechaNac FechaHoy DNI Nombre DNI FechaNac DNI Edad Edad

Y Edad FechaNac ocurre en Persona ? Que pasara si en lugar del atributo FechaNac (fecha de nacimiento), guardo fecha de baustimo (FechaBau), se cumple FechaBau FechaHoy Edad ?

DEPENDENCIAS FUNCIONALES
Ejemplos Dado el siguiente esquema de relacin: Empleado(DNI , Nlegajo , Nombre , Apellido , Edad) Se cumplen las siguientes Dependencias Funcionales: DNI Nombre Nlegajo Apellido Edad DNI Apellido Nlegajo Nombre DNI DNI Edad DNI Nlegajo y muchas otras ms Nlegajo DNI

DEPENDENCIAS FUNCIONALES

Superclave y Clave

O sea K es minimal

Clave y Superclave Un conjunto de atributos de una relacin es SUPERCLAVE si ese conjunto determina funcionalmente a TODOS los atributos de la relacin Un conjunto de atributos de una relacin es CLAVE si es superclave y si le quito algn atributo deja de serlo. ( o sea es minimal)

Deduccin de otras Dependencias Funcionales A partir de un conjunto de dependencias funcionales F, se puede deducir que valen otras dependencias. En estos casos, decimos que las nuevas dependencias funcionales estn implicadas por F

Deduccin de otras Dependencias Funcionales


Por ejemplo si tenemos la relacin Empleado(dni, nombre, calle, nro, barrio, codpostal) Es claro que dni calle, dni nro, dni barrio calle, nro, barrio codpostal De estas podemos deducir que: dni codpostal

Deduccin de otras Dependencias Funcionales

Deduccin de otras Dependencias Funcionales

Deduccin de otras Dependencias Funcionales

Deduccin de otras Dependencias Funcionales


EJEMPLO 1 Demostraremos la regla de unin:
1. X 2. X 3. X 4. XY 5. X Y (dada) Z (dada) XY (aumento de 1 con X) YZ (aumento de 2 con Y) YZ (transitividad de 3 y 4)

Si es falsa se demuestra con una instancia que sea contraejemplo: EJEMPLO 2 Sea R(X,Y,Z) y F={X Z, Y Z} Podemos deducir que X Y ?, Como no se deduce, buscamos un contraejemplo que muestre que no es valida
X 1 1 2 2 Y 2 3 2 3 Z 5 5 5 5

Clausura de un conjunto de dependencias funcionales


Dado un conjunto de dependencias funcionales F, llamamos Clausura de F, y lo notamos con F+ al conjunto de todas las dependencias funcionales que se pueden deducir de F Calcular F+ a partir de F es muy complejo, ya que la cantidad de dep func en F+ en muy grande. Por ejemplo: dado R(A,B) y F={ A -- > B} F+ esta dado por
F+ = {A B, A A, B B, AB-->A, AB-->B, AB-->AB, A-->AB}

Clausura de un conjunto de dependencias funcionales


Otro Ejemplo de clausura de F Sea R(A,B,C) y F= {AB -- >C, C-- >B} F+ = {A-->A, AB-->A, AC-->A, ABC-->A, B-->B, AB-->B, BC-->B, {A-->A, AB-->A, AC-->A, ABC-->A, B-->B, AB-->B, BC-->B, ABC-ABC-- >B, C-- > C, AC-- >C, BC-- >C, ABC-- >C, AB-- >AB, C-AC-BC-ABC-AB-ABC-ABC-- >AB, AC-- >AC, ABC-- >AC, BC-- >BC, ABC-- >BC, AC-ABC-BC-ABC-ABC-ABC-- >ABC, AB-- >C, AB-- >AC, AB-- >BC, AB-- >ABC, AB-AB-AB-AB-C-- >B, C-- >BC, AC-- >B, AC-- >AB} C-AC-AC--

Clausura de un conjunto de atributos X ( X+)


X+ con respecto a F, es el conjunto de todos los atributos A tal que X -- > A Una forma de calcular X+ es computar una secuencia de conjuntos de atributos X0, X1, aplicando las siguientes reglas: 1) X0 es X 2) Xi+1 es Xi Unin el conjunto de atributos A tal que hay alguna dependencia funcional Y --> Z en F, A est en Z e Y esta incluido en Xi Aplicamos repetidas veces la regla (2) hasta que Xi = Xi+1 (no podemos avanzar ms) PROPIEDAD DE LA CLASURA Dados F y X -- > Y, luego X -- > Y esta en F+ Si y solo si Y esta en X+

Clausura de un conjunto de atributos X ( X+) Ejemplo


Sea R(A,B,C,D,E) y F= {AB-- >C, C-- >D, BD-- >E} Calculemos AB+ mediante el algoritmo X0= AB por AB-- > C X1= ABC por C-- >D X2= ABCD por BD-- >E X3= ABCDE X+= ABCDE Como AB R, entonces podemos decir que AB es superclave Que nos falta verificar para saber si AB es clave o no ? Falta ver si es minimal, es decir si puedo sacar algo de AB, y que siga determinando funcionalmente a R.

Conjuntos de dependencias funcionales equivalentes


Decimos que 2 conjuntos de dependencias funcionales F y G sobre R son equivalentes y lo notamos ( F = G) Si F+ = G+ O si Toda X Y en F se deduce de G Toda X Y en G se deduce de F

Cubrimiento Minimal de un conjunto dependencias funcionales


Dado F buscamos un Fm tal que Fm y F son equivalentes y: 1) Todo lado derecho tiene un nico atributo (regla de descomposicin) 2) Todo lado izquierdo es reducido (no tiene atributos redundantes) ( B en X es redundante para X A si (X {B}) A 3) No contiene dependencias funcionales redundantes (en general las que se obtienen por transitividad, X-- > A es redundante si (F {X-- >A}) Eq Fm ) Puede haber varios cubrimientos minimales para un mismo F

Cubrimiento Minimal de un conjunto dependencias funcionales


EJEMPLO Sea R(A,B,C,D) y F= {A-- >BD, B-- >C, C-- >D, BC -- >D} Paso 1) Lados derechos de un solo atributo G= {A-- >B, A-- >D, B-- >C, C-- >D, BC-- >D} Paso 2) Lados izquierdos sin atributos redundantes G= {A-- >B, A-- >D, B-- >C, C-- >D, C-- >D}, B es redundante en BC-- >D Paso 3) Eliminamos Dep Func redundates G= {A-- >B, B-- > C, C-- > D}, ya que A D se deduce por transitividad y C D est duplicada. Fmin := G

Vous aimerez peut-être aussi