Está en la página 1de 21

Dependencias Funcionales

Francisco Moreno

24/07/21 Bases de Datos I 1


Introducción
• La normalización de relaciones pretende
diseñar “buenas” relaciones
Bajo los criterios de minimizar la
redundancia* y evitar cierto tipo de
anomalías (se ven posteriormente)

• El concepto de dependencia funcional


(DF) es un paso esencial para el proceso
de normalización

* Hasta cierto punto


24/07/21 Bases de Datos I 2
DF: Definición 1
• Dada una relación R, el atributo y  R
depende funcionalmente del atributo
x  R si y solo si:
- Un único valor de y en R está asociado
con cada valor de x en R (en un momento
dado, en “una foto” de R)
• x y y pueden ser atributos compuestos

24/07/21 Bases de Datos I 3


DF: Definición 2
• Dada una relación R, el atributo y  R
depende funcionalmente del atributo x  R
si y solo si siempre que dos tuplas
concuerden en su valor de x, deben por
fuerza concordar en su valor de y

• Las definiciones 1 y 2 son equivalentes

24/07/21 Bases de Datos I 4


Representación de DF
xy
Lectura:
x determina funcionalmente a y

O también:
y depende funcionalmente de x

24/07/21 Bases de Datos I 5


Ejemplo
Sea:

CP CA PROVEEDOR
NIT nombre calif ciudad
101 Colanta A Bello
201 Alpina A Rionegro
973 Alquería B Bello

Analizar si en esta muestra se cumplen las siguientes DF:

NIT  nombre {NIT, nombre}  calif calif  ciudad


NIT  calif nombre  ciudad ciudad  calif
NIT  ciudad nombre  NIT NIT  {calif, ciudad}
{NIT, calif}  {nombre, calif, ciudad}
24/07/21 Bases de Datos I 6
Observaciones

Una muestra de datos por sí sola es insuficiente


para determinar si una DF se cumple en una
relación (a menos que la muestra sea
representativa), pero sí puede mostrar que una
DF no se cumple

24/07/21 Bases de Datos I 7


Observaciones
• Sea c una clave candidata (CC)  R y atr un
atributo  R entonces siempre se cumple que:
atr  atr  R
c  atr;
• Por lo tanto, la CP de una relación R determina
funcionalmente a todos los atributos de R
• ¿Puede un atributo que NO sea CC determinar
funcionalmente a otro?
• ¿Pueden dos atributos determinarse
mutuamente?

24/07/21 Bases de Datos I 8


Ejemplo
CP compuesta
Sea la muestra (representativa):
ENVÍO
año_fundación NIT prod cantidad tipo_prod
1990 101 Leche 10 Lácteo
1998 201 Chorizo 29 Embutido
1990 101 Yogur 12 Lácteo
1990 101 Pasas 80 Fruta
1998 201 Leche 12 Lácteo
1998 201 Pasas 70 Fruta
1990 128 Leche 10 Lácteo

24/07/21 Bases de Datos I 9


Note que NIT por sí solo NO
es CC y aun así determina a
Obsérvese que: año_fundación

 {NIT, prod}  año_fundación Verdadero (V)


 {NIT, prod}  tipo_prod V
 {NIT, prod}  cantidad V
 {NIT, prod}  NIT V
 {NIT, prod}  prod V
 NIT  año_fundación V
 NIT  cantidad Falso(F)
 prod  tipo_prod V
 tipo_prod  NIT F

Note que producto por sí


24/07/21 Bases de Datos I solo no es CC y aun así
10
determina a tipo_prod
DF Completa: Definición
El atributo y  R es dependiente POR COMPLETO
del atributo x  R, si depende funcionalmente de x y no
depende funcionalmente de ningún z, donde z  x.

Ejemplo. Sean las DFs de ENVÍO en la muestra dada:


• NIT año_fundación
• {NIT, prod}  año_fundación

De estas dos DFs ¿cuál es completa?


Para llevar a cabo el proceso de normalización
se deben encontrar las DF completas

24/07/21 Bases de Datos I 11


Axiomas de Armstrong para DFs
Sean A,B,C,D atributos (pueden ser compuestos)
de una relación R.
AC representa la unión
1. Reflexión de A y C.
Por simplicidad, se
Si B  A, entonces A  B escribirá sin las llaves
2. Aumento {A, C}

Si A  B entonces AC  BC
3. Transitividad
Si A  B y B  C entonces A  C
24/07/21 Bases de Datos I 12
Teoremas
1. Autodeterminación
AA
Demostración

2. Descomposición
Si A  BC, entonces: A  B
AC
Demostración

24/07/21 Bases de Datos I 13


Teoremas
3. Unión
Si A  B y A  C entonces A  BC
Demostración

4. Composición
Si A  B
entonces AC  BD
CD
Demostración
24/07/21 Bases de Datos I 14
5. Teorema de Unificación de Darwen
Si AB
CD
Entonces: A  {C – B}  BD
Tarea:
Tarea Demostrarlo.

• A partir de un conjunto dado de DFs en una


relación R, por medio de los teoremas y axiomas
se pueden derivar otras DFs existentes en R
• Los axiomas son completos y confiables*
confiables

* Del inglés “sound”.


24/07/21 Bases de Datos I 15
Ejemplo
• Dado el conjunto S de DFs en R:
A  BC
S BE
CD  EF

¿Se cumple que AB  EC?


¿CDA  F?
¿AB  FC? ¿AD  F?
24/07/21 Bases de Datos I 16
Cierre de un atributo K bajo S:
K +S
Cierre (K, S)
{
cierre  K
FOREVER
∀ FD  S: x  y DO
IF x  cierre THEN
cierre = cierre  y
END IF
END ∀
IF cierre no cambió THEN
RETURN cierre
END IF
END FOREVER
 Nota: K puede ser un atributo compuesto

24/07/21 Bases de Datos I 17


• Ejemplo: Sea

A  BC
S BE
CD  EF
+
Determinar K S, para K = AB y para K = CDA
+
• ¿Cuál es el significado de K ? S
• ¿Cuál es su utilidad?

24/07/21 Bases de Datos I 18


• S+: Cierre de S.
Conjunto de todas las posibles DFs que se
pueden derivar a partir de S.
• S-: Recubrimiento (cierre) mínimo (canónico) de
S.
Conjunto mínimo simplificado* de DFs a partir
del cual se puede generar S.
• ¿Utilidad de estos cierres?
• Algoritmos para generarlos

* S se simplifica quitando DFs redundantes o atributos redundantes de algunas DFs.


24/07/21 Bases de Datos I 19
Atributos Extraños (Raros)
Si S es un conjunto de DFs en una relación R y
x  y  S, entonces el atributo a es extraño (raro)
en x  y si:

• x = az, y S implica a {S – {x  y}}  {z  y}


o
• y = aw, y {S – {x  y}}  {x  w} implica a S

24/07/21 Bases de Datos I 20


-
Algoritmo para calcular S
S-(S)
{ Teorema de la unión

Repeat {
- Si existen x  y  x  z sustituir por x  yz
- Si existe alguna DF con un atributo
extraño, eliminarlo de dicha DF (Nota: si al eliminarlo el
lado derecho queda vacío*, eliminar la DF, ver ejemplo)

} Until S no cambie
} Ver documento anexo en
la página del curso
* Se trata de una DF trivial, ya que el conjunto
vacío es subconjunto de cualquier conjunto
24/07/21 Bases de Datos I 21
(axioma de reflexión).

También podría gustarte