Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Dependencias Funcionales
Las dependencias funcionales son reglas independientes del
tiempo que verifican los atributos en un contexto determinado
DEFINICIN En un esquema R { A, DF} Se dice que Y depende
funcionalmente de X, que se representa por: X Y si y solo
si, cada valor de X tiene asociado en todo momento un nico
valor de Y.
Descriptores Equivalentes
Se dice que X e Y son equivalentes cuando:
X Y Y X
Y se representa: X Y
Ejemplo: docIdentidad codLaboral
Dependencias Funcionales
Dependencias Transitivas
Sea la relacin R (A, DF) y X, Y dos descriptores sobre A.
Entre los descriptores X e Y se presenta una dependencia
transitiva si se cumple:
a) X Y =
b) Existe un descriptor Z A tal que Z X = y Z Y =
c) X Y, Y Z, X Z
Dependencias Parciales
Se dice que X Y es una dependencia parcial cuando
existe un descriptor X X tal que X Y.
Si no existe tal descriptor X X tal que X Y, se dice
que la dependencia es total.
29/11/2014 Bases de Datos I - Mauricio E. Fernndez N 2
1
29/11/2014
Dependencias Funcionales
GRAFO DE DEPENDENCIAS FUNCIONALES
Es un diagrama (grafo) que representa el contexto semntico
observado en determinado universo, donde los nodos son atributos
y los arcos representan dependencias entre nodos o agrupaciones
(burbujas) de nodos.
Sean los atributos {ccNro, nombre, pais, ciudad, codProducto,
descripProd, color, peso, canti} y las dependencias funcionales:
ccNro nombre Nombre
ccNro pais ccNro Pais
ccNro ciudad ciudad
codProducto descripProd canti
codProducto color codProducto
descripProd
codProducto peso Color
(ccNro , codProducto canti peso
Axiomas de Armstrong
De un esquema R(A, DF) es posible deducir (o inferir) nuevas
dependencias funcionales. Las nuevas dependencias f que se
cumplen para cualquier extensin r de R, son consecuencia
lgica de DF.
1. REFLEXIVIDAD: Si X Y, entonces X Y
2. AUMENTATIVIDAD: Si X Y y W Z,
entonces XW YZ
3. TRANSITIVIDAD: Si X Y y Y Z entonces X Z
4. PSEUDOTRANSITIVIDAD: Si X Y y W Z,
entonces XW Z
5. UNION: Si X Y y X Z entonces X YZ
6. DESCOMPOSICION: Si X YZ, entonces X Y y X Z
2
29/11/2014
Enfoque de Descomposicin
El enfoque de descomposicin de relaciones parte de asumir la
existencia de la instancia Universal
Dado un conjunto de atributos A={A1, A2,, An} y el conjunto de
dependencias representado por DF sobre los atributos de A, la
relacin Universal U={A1, A2,, An} se denomina relacin universal y su
extensin, la instancia universal {R1, R2,, Rn} tendr relaciones tales
que cualquier tupla de una relacin puede obtenerse mediante una
proyeccin de la instancia universal.
Se parte de la R.U. y aplica las reglas de descomposicin para cada
Forma Normal. El mayor inconveniente el calculo de las claves.
Paso 0: Asumiendo la existencia de U={A1, A2,, An} calcular las claves {Ku} de U.
Paso 1: Descomponer relaciones que no estn en 1FN
Paso 2: Descomponer relaciones que tengan dependencias incompletas (2FN),
recalculando claves para las nuevas relaciones.
Paso 3: Descomponer relaciones con dependencias transitivas (3FN)
Dependencias Funcionales
Primera Forma Normal (1FN)
Un esquema R(A, DF) est en primera forma normal cuando todas
sus entradas son simples (no existen grupos repetitivos).
3
29/11/2014
4
29/11/2014
Ejemplo de Normalizacin
ORDEN DE COMPRA
Cliente Nro: 001964 Nmero Orden: 00012345
Nombre: Marcos Caballero Fecha Orden: 14-Nov-2014
Direccin: Carrera 24 #9C-48
OrdenCompra
gcgfcs (orderNro, fechaOrd, clienteNo, nombreCli,
direccionCli, (prodNno, descripPrd, precioUnPrd,
cantidadOrdPrd, valorOrdPrd)*, totalOrd)
* = grupos de datos que se repiten
Ejemplo de Normalizacin
Primera Forma Normal (1FN)
Definicin: Una relacin est (o satisface) la 1NF, sii, todos sus atributos
son atmicos.
Entonces OrdenCompra no esta en 1FN pues tiene datos que se repiten
5
29/11/2014
Ejemplo de Normalizacin
Segunda Forma Normal (2FN)
Definicin: Una relacin est (o satisface) la 2NF, sii, satisface la1NF y todo
atributo que no forma parte de la clave primaria depende TOTALMENTE de la
clave.
OrdenItem no esta en 2FN pues tiene dependencias funcionales parciales
Ejemplo de Normalizacin
Tercera Forma Normal (3FN)
Definicin: Una relacin est (o satisface) la 3NF, sii, en esta en 2NF y todos
los atributos que no son clave primaria depende completamente de la clave
primaria. (NO hay dependencias funcionales transitivas)
OrdenCompra1 no esta en 3FN pues tiene depend. funcionales Transitivas
Pasos para convertir una relacin 2NF a 3FN:
Elimina los atributos que presentan dependencias transitivas y crea una nueva
relacin con ellos
Aade a esta nueva relacin una copia de los atributos con los que estn
relacionados (determinantes) los atributos eliminados, ellos sern la clave primaria de
la nueva relacin.
Nombra a la nueva entidad (aade un 3 para indicar 3NF)
Renombra a la entidad original (aade un 3 para indicar 3NF)
Cliente3 (clienteNo, nombreCli, direccionCli)
OrdenCompra3 (orderNro, fechaOrd, clienteNo, totalOrd)
6
29/11/2014
Lemas en la Normalizacin
Lema 1: Suponga R un esquema con dependencias funcionales
DF, sea una descomposicin de R con la propiedad LJ con
respecto a DF: = {R1, R2,..., Rk} y sea = (S1, S2) una
descomposicin LJ de R1, con respecto a R1(DF). Entonces
la descomposicin de R en (S1, S2, R2, ..., Rk) tambin tiene la
propiedad LJ con respecto a DF.
Lemas en la Normalizacin
Lema 3: Si tenemos un conjunto de dependencias DF
sobre R y luego los proyectamos sobre R1 R para
obtener DF1, y luego proyectamos DF1 sobre R2 R1
para obtener DF2, entonces DF2 = R2 (DF).
Es decir, se puede asumir que DF era el conjunto de
dependencias para R1, aunque DF presumiblemente
menciona atributos que no se encuentran en R1.
7
29/11/2014
Algoritmo de Descomposicin en
la Forma Normal
Boyce-Codd con la Propiedad LJ
IF Z contiene A y B tal que A no est en ( Z - AB )+ THEN
/* Recuerde que las clausuras se toman con respecto a DF */
RETURN: Z est en BCFN y no se puede descomponer
ELSE
BEGIN
Hallar un A y un B; Y := Z - B;
WHILE (Y contenga A y B tal que (Y - AB)+ A ) DO
Y := Y - B;
RETURN: La descomposicin Z - A e Y;
/* Y es para nuestro caso XA en el programa principal */
END;
Algoritmo de Descomposicin en
la BCFN con la Propiedad LJ
Programa Principal del Algoritmo
Z := R; /* En todo momento, Z es el esquema de la
descomposicin que podra no estar en BCFN */
REPEAT
Descomponga Z en Z - A y XA, donde
XA est en BCFN y X A; /* Usar subroutine (a) */
Adicione XA a la descomposicin;
Z := Z - A;
UNTIL Z no pueda ser descompuesta por el lema 2b;
Adicione Z a la descomposicin.
8
29/11/2014
9
29/11/2014
10
29/11/2014
11
29/11/2014
Descomposicin en 3FN
Preservando Dependencias
No siempre es posible descomponer una relacin en BCFN y preservar las
depend., aunque si es posible hallar una descomp. en 3FN que preserve las
depenc., como se muestra en el siguiente algoritmo:
ENTRADA: El esquema R (A, DF) donde se puede asumir que DF es un
recubrimiento minimal no redundante.
SALIDA: Una descomp. de R preserv. dep. tal que cada relacin resultante
se halle en 3FN con respecto a la proyeccin de DF sobre este esquema.
METODO: Si algn atributo de R no aparece en ninguna depend. (izquierda o
derecha), entonces tal atributo puede eliminarse de R, constituyendo un
esquema aparte. Si una de las depend. en DF incluye todos los atributos de
A, entonces la salida es R, que estar en 3FN. Si esto no es as, la descomp.
a la salida consiste del esquema XA por cada dep. X A en DF.
Es evidente que (Uki=1 DFi) = DF, de modo que el diseo conserva las dep.
12
29/11/2014
13
29/11/2014
14
29/11/2014
F J, G D, G I, DM N, DM P, D M, L D,
PR S, PQR T, D K, D L
Sigue
15
29/11/2014
16
29/11/2014
17
29/11/2014
Sigue
18
29/11/2014
19
29/11/2014
Dependencias Multivaluadas
Empleado nombreEmp nombProyecto nombFamiliar
Silva X Juan
Silva Y Ana
Silva X Ana
Silva Y Juan
Dependencias Multivaluadas
Siempre que XY se cumple en R, tambin se cumple
que X { R-(XY) }. Donde R - (XY) es lo mismo que
R-(X Y) = Z Entonces X Y implica X Z, lo que se
puede escribir como XY Z
20
29/11/2014
Ejemplo de la 4FN
Empleado
nombreEmp nombProyecto nombFamiliar ProyectoEmpleado
Silva X Juan nombreEmp nombProyecto
Silva Y Ana Silva X
Silva X Ana Silva Y
Silva Y Juan Bravo W
Bravo W Jaime Bravo X
Bravo X Jaime Bravo Y
Bravo Y Jaime Bravo Z
Bravo Z Jaime
Bravo W Paola FamiliarEmpleado
Bravo X Paola nombreEmp nombFamiliar
Bravo Y Paola Silva Juan
Bravo Z Paola Silva Ana
Bravo W Ivn Bravo Jaime
Bravo X Ivn Bravo Paola
Bravo Y Ivn Bravo Ivn
Bravo Z Ivn Proyeccin de Empleados sobre
Empleados con tuplas adicionales ProyectosEmpleado y FamiliaresEmpleado
21
29/11/2014
PROPIEDAD LJ
Los esquemas R1 y R2 forman una descomposicin con
reunin sin prdida, si y solo si (R1 R2) (R1 - R2) (
o por simetra, si y solo si (R1 R2) (R2 - R1) )
22
29/11/2014
RelacionC
Componente NomProyecto
Perno Proy X
Tuerca Proy Y
Perno Proy Y
Clavo Proy X
Tuerca Proy Z
23
29/11/2014
QUIZ #3
Consideremos una base de datos de viajes por barco con los
siguientes atributos: N (nombre del barco), T (tipo de barco),
V (identificador del viaje), C (carga llevada por un barco en un
viaje), P (puerto) y D (da). Asumimos que un viaje consiste
de una secuencia de eventos donde un barco recoge una
carga y la entrega en el puerto siguiente. Un barco puede
visitar solo un puerto en un da.
Se adicionan las siguientes dependencias funcionales:
N T, V NC y ND PV.
Hallar una descomposicin en BCFN que cumpla la
propiedad LJ.
29/11/2014 Bases de Datos I - Mauricio E. Fernndez N 47
24