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
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
}