23/09/25 Bases de Datos I 1
• La normalización
normalización de relaciones pretende
diseñar “buenas” relaciones
• El concepto de dependencia funcional
dependencia funcional
(DF) es un paso esencial para el proceso
de normalización
Bajo los criterios de minimizar la
minimizar la
redundancia
redundancia*
* y evitar cierto tipo de
anomalías
anomalías (se ven posteriormente)
Introducción
*
* Hasta cierto punto
Hasta cierto punto
23/09/25 Bases de Datos I 2
DF: Definición 1
• Dada una relación R, el atributo y
y  R
depende funcionalmente del atributo
x  R si y solo si:
- Un único valor de y
y en R está asociado
con cada valor de x
x en R (en cualquier
momento dado)
• x
x y y
y pueden ser atributos compuestos
compuestos
23/09/25 Bases de Datos I 3
DF: Definición 2
• Dada una relación R, el atributo y
y  R
depende funcionalmente del atributo x
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
y
• Las definiciones 1 y 2 son equivalentes
equivalentes
23/09/25 Bases de Datos I 4
Representación de DF
x
x  y
y
Lectura:
x
x determina funcionalmente a y
y
O también:
y
y depende funcionalmente de x
x
23/09/25 Bases de Datos I 5
Ejemplo
Sea:
PROVEEDOR
PROVEEDOR
NIT nombre calif ciudad
101 Colanta A Bello
201 Pakita A Rionegro
301 Zarzal B- Bello
Analizar si en esta muestra se cumplen las siguientes DF:
NIT  nombre nombre  calif calif  ciudad
NIT  calif nombre  ciudad ciudad  calif
NIT  ciudad nombre  NIT NIT  {calif,ciudad}
CP CA
Nota: una muestra de datos por sí sola es insuficiente
para determinar si una DF se cumple en una relación.
23/09/25 Bases de Datos I 6
• Sea c
c una clave candidata (CC)  R y atr
atr un
atributo  R entonces siempre se cumple que:
c
c  atr
atr;  atr
atr  R
• 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?
Observaciones
23/09/25 Bases de Datos I 7
Ejemplo
Sea:
ENVÍO
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
CP compuesta
23/09/25 Bases de Datos I 8
Obsérvese que:
 NIT  año_fundación Verdadero (V)
 NIT  cantidad Falso(F)
 prod  tipo_prod V
 {NIT, prod}  cantidad V
 {NIT, prod}  año_fundación V
 {NIT, prod}  tipo_prod V
 {NIT, prod}  {NIT, cantidad, tipo_prod} V
 tipo_prod  NIT F
Note que NIT por sí
solo NO es CC.
Note que producto por
sí solo no es CC.
23/09/25 Bases de Datos I 9
El atributo y
y  R es dependiente POR COMPLETO
dependiente POR COMPLETO
del atributo x
x  R, si depende funcionalmente de x
x y no
depende funcionalmente de ningún z
z,
, donde z
z  x
x.
Ejemplo. Sean las DFs de ENVÍO en la muestra dada:
• NIT año_fundación
• {NIT, producto}  año_fundación
De estas dos DFs ¿cuál es completa?
DF Completa: Definición
Para llevar a cabo el proceso de normalización
se deben encontrar las DF completas
23/09/25 Bases de Datos I 10
Axiomas de Armstrong para DFs
Sean A,B,C,D atributos (pueden ser compuestos)
de una relación R.
1. Reflexión
Si B  A, entonces A  B
2. Aumento
Si A  B entonces AC  BC
3. Transitividad
Si A  B y B  C entonces A  C
AC representa la unión
de A y C.
Por simplicidad, se
escribirá sin las llaves
{A, C}
23/09/25 Bases de Datos I 11
1. Autodeterminación
A  A
Demostración
2. Descomposición
Si A  BC, entonces: A  B
A  C
Demostración
Teoremas
23/09/25 Bases de Datos I 12
Teoremas
3. Unión
Si A  B y A  C entonces A  BC
Demostración
4. Composición
Si A  B
C  D
Demostración
entonces AC  BD
23/09/25 Bases de Datos I 13
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
completos y confiables
confiables*
* Del inglés “sound”.
23/09/25 Bases de Datos I 14
Ejemplo
• Dado el conjunto S de DFs en R:
CD  EF
B  E
A  BC
¿Se cumple que AB  EC?
¿CDA  F?
¿AB  FC?
S
23/09/25 Bases de Datos I 15
Cierre de un atributo K bajo S:
K
Cierre (K, S)
{
cierre  K
FOREVER
∀ FD  S: x
x  y
y DO
IF x
x  cierre THEN
cierre = cierre  y
y
END IF
END ∀
IF cierre no cambió THEN
RETURN cierre
END IF
END FOREVER

+
S
Nota: K puede ser un atributo compuesto
23/09/25 Bases de Datos I 16
• Ejemplo: Sea
A  BC
B  E
CD  EF
Determinar K , para K = AB
• ¿Cuál es el significado de K ?
• ¿Cuál es su utilidad?
S
+
S
+
S
23/09/25 Bases de Datos I 17
• 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.
Subconjunto mínimo de DFs  S a partir
del cual se puede generar S.
• ¿Utilidad de estos cierres?
• Algoritmos para generarlos…
23/09/25 Bases de Datos I 18
Atributos Extraños (Raros)
Si S es un conjunto de DFs en una relación R y
x  y  S, entonces el atributo a
a es extraño (raro)
en x  y si:
• x = a
az, y S implica a {S – {x  y}}  {z  y}
o
• y = a
aw, y {S – {x  y}}  {x  w} implica a S
23/09/25 Bases de Datos I 19
Algoritmo para calcular S-
S-
(S)
{
Repeat {
- Si existen x  y  x  z sustituir por x  yz
- Si existe alguna DF con un atributo
extraño, eliminarlo de dicha DF
} Until S no cambie
}

Dependencia Funcional Elemental y Completa.ppt

  • 1.
    23/09/25 Bases deDatos I 1 • La normalización normalización de relaciones pretende diseñar “buenas” relaciones • El concepto de dependencia funcional dependencia funcional (DF) es un paso esencial para el proceso de normalización Bajo los criterios de minimizar la minimizar la redundancia redundancia* * y evitar cierto tipo de anomalías anomalías (se ven posteriormente) Introducción * * Hasta cierto punto Hasta cierto punto
  • 2.
    23/09/25 Bases deDatos I 2 DF: Definición 1 • Dada una relación R, el atributo y y  R depende funcionalmente del atributo x  R si y solo si: - Un único valor de y y en R está asociado con cada valor de x x en R (en cualquier momento dado) • x x y y y pueden ser atributos compuestos compuestos
  • 3.
    23/09/25 Bases deDatos I 3 DF: Definición 2 • Dada una relación R, el atributo y y  R depende funcionalmente del atributo x 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 y • Las definiciones 1 y 2 son equivalentes equivalentes
  • 4.
    23/09/25 Bases deDatos I 4 Representación de DF x x  y y Lectura: x x determina funcionalmente a y y O también: y y depende funcionalmente de x x
  • 5.
    23/09/25 Bases deDatos I 5 Ejemplo Sea: PROVEEDOR PROVEEDOR NIT nombre calif ciudad 101 Colanta A Bello 201 Pakita A Rionegro 301 Zarzal B- Bello Analizar si en esta muestra se cumplen las siguientes DF: NIT  nombre nombre  calif calif  ciudad NIT  calif nombre  ciudad ciudad  calif NIT  ciudad nombre  NIT NIT  {calif,ciudad} CP CA Nota: una muestra de datos por sí sola es insuficiente para determinar si una DF se cumple en una relación.
  • 6.
    23/09/25 Bases deDatos I 6 • Sea c c una clave candidata (CC)  R y atr atr un atributo  R entonces siempre se cumple que: c c  atr atr;  atr atr  R • 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? Observaciones
  • 7.
    23/09/25 Bases deDatos I 7 Ejemplo Sea: ENVÍO 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 CP compuesta
  • 8.
    23/09/25 Bases deDatos I 8 Obsérvese que:  NIT  año_fundación Verdadero (V)  NIT  cantidad Falso(F)  prod  tipo_prod V  {NIT, prod}  cantidad V  {NIT, prod}  año_fundación V  {NIT, prod}  tipo_prod V  {NIT, prod}  {NIT, cantidad, tipo_prod} V  tipo_prod  NIT F Note que NIT por sí solo NO es CC. Note que producto por sí solo no es CC.
  • 9.
    23/09/25 Bases deDatos I 9 El atributo y y  R es dependiente POR COMPLETO dependiente POR COMPLETO del atributo x x  R, si depende funcionalmente de x x y no depende funcionalmente de ningún z z, , donde z z  x x. Ejemplo. Sean las DFs de ENVÍO en la muestra dada: • NIT año_fundación • {NIT, producto}  año_fundación De estas dos DFs ¿cuál es completa? DF Completa: Definición Para llevar a cabo el proceso de normalización se deben encontrar las DF completas
  • 10.
    23/09/25 Bases deDatos I 10 Axiomas de Armstrong para DFs Sean A,B,C,D atributos (pueden ser compuestos) de una relación R. 1. Reflexión Si B  A, entonces A  B 2. Aumento Si A  B entonces AC  BC 3. Transitividad Si A  B y B  C entonces A  C AC representa la unión de A y C. Por simplicidad, se escribirá sin las llaves {A, C}
  • 11.
    23/09/25 Bases deDatos I 11 1. Autodeterminación A  A Demostración 2. Descomposición Si A  BC, entonces: A  B A  C Demostración Teoremas
  • 12.
    23/09/25 Bases deDatos I 12 Teoremas 3. Unión Si A  B y A  C entonces A  BC Demostración 4. Composición Si A  B C  D Demostración entonces AC  BD
  • 13.
    23/09/25 Bases deDatos I 13 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 completos y confiables confiables* * Del inglés “sound”.
  • 14.
    23/09/25 Bases deDatos I 14 Ejemplo • Dado el conjunto S de DFs en R: CD  EF B  E A  BC ¿Se cumple que AB  EC? ¿CDA  F? ¿AB  FC? S
  • 15.
    23/09/25 Bases deDatos I 15 Cierre de un atributo K bajo S: K Cierre (K, S) { cierre  K FOREVER ∀ FD  S: x x  y y DO IF x x  cierre THEN cierre = cierre  y y END IF END ∀ IF cierre no cambió THEN RETURN cierre END IF END FOREVER  + S Nota: K puede ser un atributo compuesto
  • 16.
    23/09/25 Bases deDatos I 16 • Ejemplo: Sea A  BC B  E CD  EF Determinar K , para K = AB • ¿Cuál es el significado de K ? • ¿Cuál es su utilidad? S + S + S
  • 17.
    23/09/25 Bases deDatos I 17 • 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. Subconjunto mínimo de DFs  S a partir del cual se puede generar S. • ¿Utilidad de estos cierres? • Algoritmos para generarlos…
  • 18.
    23/09/25 Bases deDatos I 18 Atributos Extraños (Raros) Si S es un conjunto de DFs en una relación R y x  y  S, entonces el atributo a a es extraño (raro) en x  y si: • x = a az, y S implica a {S – {x  y}}  {z  y} o • y = a aw, y {S – {x  y}}  {x  w} implica a S
  • 19.
    23/09/25 Bases deDatos I 19 Algoritmo para calcular S- S- (S) { Repeat { - Si existen x  y  x  z sustituir por x  yz - Si existe alguna DF con un atributo extraño, eliminarlo de dicha DF } Until S no cambie }