23/09/25 Bases de Datos I 1
•La normalizaciónnormalización de relaciones pretende
diseñar “buenas” relaciones
•El concepto de dependencia funcionaldependencia funcional
(DF) es un paso esencial para el proceso
de normalización
Bajo los criterios de minimizar laminimizar la
redundanciaredundancia** y evitar cierto tipo de
anomalíasanomalías (se ven posteriormente)
Introducción
** Hasta cierto puntoHasta cierto punto
23/09/25 Bases de Datos I 2
DF: Definición 1
•Dada una relación R, el atributo yy R
depende funcionalmente del atributo
x R si y solo si:
- Un único valor de yy en R está asociado
con cada valor de xx en R (en cualquier
momento dado)
•xx y yy pueden ser atributos compuestoscompuestos
23/09/25 Bases de Datos I 3
DF: Definición 2
•Dada una relación R, el atributo yy R
depende funcionalmente del atributo xx R
si y solo si siempre que dos tuplas
concuerden en su valor de x, deben por
fuerza concordar en su valor de yy
•Las definiciones 1 y 2 son equivalentesequivalentes
23/09/25 Bases de Datos I 4
Representación de DF
xx yy
Lectura:
xx determina funcionalmente a yy
O también:
yy depende funcionalmente de xx
23/09/25 Bases de Datos I 5
Ejemplo
Sea:
PROVEEDORPROVEEDOR
NITnombre calif ciudad
101Colanta A Bello
201Pakita A Rionegro
301Zarzal B- Bello
Analizar si en esta muestra se cumplen las siguientes DF:
NIT nombrenombre calif calif ciudad
NIT calif nombre ciudad ciudad calif
NIT ciudadnombre 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 cc una clave candidata (CC) R y atratr un
atributo R entonces siempre se cumple que:
cc atratr; atratr 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 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 yy R es dependiente POR COMPLETOdependiente POR COMPLETO
del atributo xx R, si depende funcionalmente de xx y no
depende funcionalmente de ningún zz, , donde zz xx.
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
TareaTarea: 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 completoscompletos y confiablesconfiables*
* 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: xx yy DO
IF xx cierre THEN
cierre = cierre yy
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 aa es extraño (raro)
en x y si:
•x = aaz, y S implica a {S – {x y}} {z y}
o
•y = aaw, 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
}