Este documento describe el proceso de normalización de bases de datos. Explica las primeras, segunda y tercera formas normales, así como las dependencias funcionales, funcionales completas y transitivas. El objetivo de la normalización es eliminar anomalías en la actualización, inserción y eliminación de datos mediante la descomposición de tablas en formas normales.
2. Objetivos de Hoy
Proceso de Normalización.
Dependencias Funcional Funcional
Funcional,
Completa y Transitiva.
Primera,
Primera Segunda y Tercera Formas
Normales.
3. El Proceso de Normalización
La teoría de la normalización permite reconocer
propiedades indeseables en las relaciones y
convertirlas.
Tiene como fundamento el concepto de formas
normales.
Se dice que una relación está en una
determinada forma normal si satisface un cierto
conjunto de restricciones.
j d i i
El proceso de normalización es reversible y no
se pierde información
información.
4. Formas Normales
Universo de las relaciones (normalizadas y no normalizadas)
Relaciones 1FN (relaciones normalizadas)
Relaciones 2 FN
Relaciones 3 FN
Relaciones FNBC
Relaciones 4FN
R l i
Relaciones FN/PJ (5FN)
5. El Proceso de Normalización
Definiciones
DEPENDENCIA FUNCIONAL
Relación semántica entre dos ó más atributos:
El valor de un atributo “x”determina el valor de
otro atributo “y”
RELACIÓN = Tabla
6. Dependencia Funcional
Dada una Relación R, el atributo “y” de R,
depende funcionalmente (DF) del atributo
“x” de R, si el valor de “y” está determinado
por el valor de “x”. El atributo x se llama
determinante.
d t i t
R.x R.y
Se lee: “R.x determina funcionalmente a R.y”
o “R.y d
“R depende funcionalmente de R.x”.
d f i l t d R ”
7. Dependencia Funcional
p
Ejemplo:
C Alumno N Alumno C Postal N Especialidad
200800101 Salazar L14 Industrial
200840126 Jiménez L27 Electrónica
200812536 Bernales L01 Sistemas
200840016 Cordova L20 Sistemas
200820010 Alvarez L27 Civil
C Alumno N Alumno
C Alumno C Postal
C Alumno N Especialidad
C Alumno (N Alumno, C Postal, N Especialidad)
8. Dependencia Funcional
p
Ejemplo: Relación Evaluación en Cursos que se llevan sólo
una vez
CAlumno C Profesor N alumno C Curso Q Nota
3456 0301 José Pérez SI03 15.00
1256 2005 María Antúnez SI20 16.50
0101 0312 Lourdes Sánchez SI03 17.00
3456 2002 José Pérez SI20 13.50
1234 0304 Pilar García SI03 18.00
CAlumno N alumno
CAlumno, C curso C Profesor
CAlumno,
CAlumno C curso Q Nota
CAlumno, C curso (C Profesor, Q Nota)
9. Dependencia Funcional
p
Dada una relación R, el atributo “y” depende
R y
funcionalmente del atributo “x” si y sólo si,
siempre que dos tuplas concuerden en el valor
p q p
de “x”, deben por fuerza concordar también en
el valor de “y”.
La definición de Dependencia Funcional (DF) no
p ( )
requiere que el determinante x sea una clave
candidata de R: no es obligatorio que un valor
dado de x aparezca en una sola tupla de R.
10. Dependencia Funcional
p
Relación Evaluación
C Alumno N Alumno C Curso Q Nota
200810025 Jiménez S03 15.00
200810025 Jiménez S20 16.50
200810025 Jiménez S25 13.25
200840026 La Madrid
L M d id SI03 17.00
17 00
200840026 La Madrid HU2 14.00
C Alumno N Alumno
Sin embargo el atributo C Alumno NO es clave
embargo,
candidata de la relación Evaluación
11. Dependencia Funcional Completa
Dada una Relación R, el atributo “z” de R, está
en dependencia funcional completa (DFC) de
l clave primaria PK de R, si el valor de “z”
la l i i d i l l d “ ”
depende funcionalmente de TODA la clave PK
y NO de un subconjunto de la misma.
R.(x,y) R.z
Donde PK=(x,y)
12. Dependencia Funcional Completa
Ejemplo:
EVALUACION
C Estudiante C Curso Q Nota
200810025 S03 16.00
200810025 S114 15.25
200525036 SI03 14.00
C Estudiante
Q Nota
C Curso
(C Estudiante, C Curso) Q Nota
13. Dependencia Funcional Completa
D d i F i lC l t
C- C- N- N- Q Horas
Consultor Proyecto Consultor Proyecto trabajadas
C1 P1 Juan Auditoria 25
C1 P2 Juan DW 80
C2 P1 Pedro Auditoria 35
C3 P3 María CRM 20
C3 P4 María ERP 50
C-Consultor
Q Horas_Trabajadas
C Proyecto
C-Proyecto
(C-Consultor, C-Proyecto) Q Horas_Trabajadas
14. Dependencia Transitiva
p
Dada una Relación R, el atributo “z” de R, está en dependencia
transitiva (DT) de la clave primaria PK de R, si el valor de “z”
depende funcionalmente de otro atributo no clave “y”.
R.x
R R.y, R
R R.z
Donde PK=x
Se lee “R.z es funcionalmente dependiente de
R.y y transitivamente dependiente de R.x
R.x”
15. Dependencia Transitiva
Ejemplo:
COMPROBANTE
#Comprobante C Cliente N Cliente D Venta
0040 C01 Juan 20/05/02
0050 C01 Juan 18/04/02
0010 C02 María 15/04/02
0020 C02 María 15/04/02
#Comprobante
p C Cliente, D Venta,
,
N Cliente
16. Dependencia Transitiva
Ejemplo: Relación Asignación de Personal en un solo proyecto P
C- D Proyecto-
C-Empleado N-Empleado $ Salario
Proyecto Término
E1 Juan 3,500 P1 31/10/02
E2 Pedro 3,000 P1 31/10/02
E3 María 3,800
3 800 P2 15/11/02
E4 Andrés 3,000 P2 15/11/02
E5 Ana 2,800 P1 31/10/02
C-Empleado C-Proyecto,
DProyecto-Término
17. N li ió
Normalización
Datos sin normalizar
1FN: Las relaciones no deben
contener grupos repetitivos
1ra. Forma Normal
2FN: Cada atributo no clave
debe depender de toda la clave
2da. Forma Normal
3FN: Cada atributo no clave
debe depender de toda la
3ra. Forma Normal clave de esa relación y no de
otros atributos.
t t ib t
18. Anomalías
A lí
Se presentan cuando tratamos de almacenar
información en tablas no normalizadas:
• D actualización: i
De t li ió inconsistencia de los datos como
it i d l d t
consecuencia de actualizaciones parciales y datos
redundantes.
redundantes
• De inserción: imposibilidad de adicionar datos en la
BD por la ausencia de otros.
• De borrado: pérdida no intencionada de datos
debido a la eliminación de otros.
19. Primera Forma Normal
(1FN)
Una relación está en primera forma normal o (1FN)
si todos los atributos de cada tupla contienen un
solo valor tomado de sus dominios respectivos
(valores atómicos)
Todos los atributos de una relación tienen valores
simples
Todos los valores de cualquier columna son del
mismo tipo
i ti
No hay grupos ni arreglos repetidos como valores
20. Primera Forma Normal (1FN)
( )
Relación: Pedido
CCliente NCliente NCiudad $Flete $
$Precio CProducto Qpedida
p DPedido
Unitario
C1 JUAN LIMA 0.75 8.20 I3 1 5/6/03
C1 JUAN LIMA 0.75 8.20 I3 2 12/10/03
C2 MARIA TUMBES 1.95 4.00 I2 1 15/05/03
C2 MARIA TUMBES 1.95 8.20 I3 1 15/05/03
C2 MARIA TUMBES 1.95 2.00 I1 3 15/05/03
C3 PEDRO LIMA 0.75 4.00 I2 1 10/08/03
C3 PEDRO LIMA 0.75 2.00 I1 2 10/10/03
C4 ANA ICA 1.05 10.50 I4 1 5/05/03
21. Primera Forma Normal (1FN)
¿Cuál
¿C ál es el
l
problema?
¿Por qué habría
que modificar este
esquema?
22. Fallas de 1FN
Las fallas en el almacenamiento de una relación
que ya está en 1FN, se deben a la presencia de
uno o más atributos no-clave que no son DFC con
q
la clave primaria (PK).
Los defectos se pueden eliminar con el siguiente
p g
procedimiento
Quitar de la relación 1FN todos los atributos no-clave
que no estén en DFC d la PK.
é C de l
Guardar esos atributos no-clave en relaciones nuevas y
adecuadas.
adecuadas
23. Ejemplo de Fallas del 1FN ya que los atributos no dependen funcionalmente de
toda la clave
CCliente NCliente NCiudad $Flete $
$Precio CProducto Qpedida
p DPedido
Unitario
C1 JUAN LIMA 0.75 8.20 I3 1 5/6/03
C1 JUAN LIMA 0.75 8.20 I3 2 12/10/03
C2 MARIA TUMBES 1.95 4.00 I2 1 15/05/03
C2 MARIA TUMBES 1.95 8.20 I3 1 15/05/03
C2 MARIA TUMBES 1.95 2.00 I1 3 15/05/03
C3 PEDRO LIMA 0.75 4.00 I2 1 10/08/03
C3 PEDRO LIMA 0.75 2.00 I1 2 10/10/03
C4 ANA ICA 1.05 10.50 I4 1 5/05/03
24. Segunda Forma Normal (2FN)
Una relación está en segunda forma
normal o (2FN) si es 1FN y cada
atributo no clave de la relación es
total y funcionalmente dependiente
(DFC) de su clave primaria
25. Normalización 2FN
Producto:
(C-Producto, $ Precio Unitario)
Cliente:
(C-Cliente, N-Cliente, N Ciudad, $Flete)
Pedido 1:
(C-Cliente, C-Producto, Pedido, Pedida)
(C Cli t C P d t D P did Q P did )
26. Segunda Normal (2FN)
¿Cuál
¿C ál es el
l
problema?
¿Por qué habría
que modificar este
esquema?
27. Fallas de 2FN
Los defectos de almacenamiento de una relación
2FN son causados por la dependencia transitiva
( )
(DT) de atributos no-clave con la clave primaria.
p
Se puede normalizar como sigue:
Examinar cada atributo no-clave para ver si
está en DF con otro atributo diferente de la PK.
Crear una nueva relación para almacenar la no-
clave transitivamente dependiente.
28. Ejemplo de Falla de 2FN
Cliente:
(C-Cliente, N-Cliente, Ciudad
(C Cliente N Cliente N Ciudad, $ Flete)
29. Tercera Forma Normal (3FN)
Una relación está en tercera forma
normal o (3FN) si es 2FN y ningún
atributo no-clave en la relación esta en
DF con algún otro atributo no clave.
no-clave.
I.E. Si está en 2FN y no tiene dependencias
transitivas
30. Normalización hasta 3FN
Producto:
(C-Producto, $ Precio Unitario)
Cliente 1: Ciudad:
(C-Cliente, N-Cliente, N Ciudad) (N Ciudad, $ Flete)
Pedido 1:
(C-Cliente, C-Producto, D Pedido, Q Pedida)
31. Resumen de 1FN, 2FN y 3FN
R d 1FN
Primera Forma Normal
Una relación está en primera forma normal o (1FN) si todos los
atributos de cada tupla contienen un solo valor tomado de sus
dominios respectivos (valores atómicos).
Segunda Forma Normal
U a e ac ó
Una relación está e segu da forma normal o (
en segunda o a o a (2FN) si es 1FN y cada
)s
atributo no clave de la relación es total y funcionalmente dependiente
(DFC) de su clave primaria.
Tercera Forma Normal
Una relación está en tercera forma normal o (3FN) si es 2FN y ningún
atributo no-clave en la relación esta en DF con algún otro atributo no-
clave.
32. Objetivos Generales de las
Formas Normales
Eliminar ciertos tipos de redundancia.
Evitar ciertas anomalías en la actualización de
datos.
Producir un diseño que sea una “buena”
representación del mundo real: que sea fácil de
entender intuitivamente y constituya una buena
base para un crecimiento futuro.
b i i t f t
Facilitar la recuperación de la información.