Normalizacin
Proceso de Normalizacin
Dependencias
Funcional,
Funcional Completa y Transitiva
Primera, Segunda y Tercera
Formas Normales
El Proceso de Normalizacin
La teora de la normalizacin permite
reconocer propiedades indeseables en las
relaciones y convertirlas
Se dice que una relacin est en una
determinada forma normal si satisface un
cierto conjunto de restricciones
El proceso de normalizacin es reversible
y no se pierde informacin
Formas Normales
Universo de las relaciones (normalizadas y no
normalizadas)
Relaciones 1FN (relaciones normalizadas)
Relaciones 2 FN
Relaciones 3 FN
Relaciones FNBC
Relaciones 4FN
Relaciones FN/PJ (5FN)
Normalizacin - Definiciones
DEPENDENCIA FUNCIONAL
Relacin semntica entre dos ms
atributos:
El valor de un atributo xdetermina el
valor de otro atributo y
RELACIN = Tabla
Dependencia Funcional
Dada una Relacin 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.
R.x
R.y
Dependencia Funcional
Ejemplo:
CoAlumno
NoAlumno
CoPostal
NoEspecialidad
201500101
Salazar
L14
Industrial
201540126
Jimnez
L27
Electrnica
201512536
Bernales
L01
Sistemas
201540016
Cordova
L20
Sistemas
201520010
Alvarez
L27
Civil
CoAlumno
CoAlumno
CoAlumno
CoAlumno
NoEspecialidad)
NoAlumno
CoPostal
NoEspecialidad
(NoAlumno, CoPostal,
Dependencia Funcional
Ejemplo: Relacin Matrcula
CoAlumno CoProfesor
Noalumno
CoCurso
QtNota
3456
0301
Jos Prez
SI03
15.00
1256
2005
Mara Antnez
SI20
16.50
0101
0312
Lourdes Snchez
SI03
17.00
3456
2002
Jos Prez
SI20
13.50
1234
0304
Pilar Garca
SI03
18.00
CoAlumno
CoAlumno, Cocurso
CoProfesor
CoAlumno, Cocurso
Cocurso
CoAlumno,
Noalumno
QtNota
(CoProfesor,
QtNota)
Dependencia Funcional
Dada una relacin R, el atributo y depende funcionalmente
del atributo x si y slo si, siempre que dos tuplas
concuerden en el valor de x, deben por fuerza concordar
tambin en el valor de y.
Si una restriccin de R establece que no puede haber ms de
una tupla con un valor x (es clave candidata de R), eso
implica que para cualquier subconjunto de atributos R.y de R
se cumple que:
R.x R.y
Sin embargo, la definicin de Dependencia Funcional (DF) no
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.
Dependencia Funcional
Relacin
Evaluacin
CoAlumno
NoAlumno
CoCurso
QtNota
201510025
Jimnez
S03
15.00
201510025
Jimnez
S20
16.50
201510025
Jimnez
S25
13.25
201540026
La Madrid
SI03
17.00
201540026
La Madrid
HU2
14.00
NoAlumn
o
Sin embargo, el atributo CoAlumno no es clave
candidata de la relacin Evaluacin
CoAlumno
R.(x,y)
Donde PK=(x,y)
R.z
Coproducto
QtPedida
10025
p20
16
10025
p85
15
25036
p49
14
CoPedido
QtPedida
CoProducto
(CoPedido, Coproducto)
QtPedida
Co
Proyecto
No
Consultor
C1
P1
Juan
Auditoria
25
C1
P2
Juan
DW
80
C2
P1
Pedro
Auditoria
35
C3
P3
Mara
CRM
20
C3
P4
Mara
ERP
50
CoConsultor
QtHoras_Trabajadas
CoProyecto
(CoConsultor, CoProyecto)
No
QtHoras
Proyecto trabajadas
QtHoras_Trabajad
Dependencia Transitiva
Dada una Relacin 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.y, R.z
Donde PK=x
Dependencia Transitiva
Ejemplo:
COMPROBANTE
NuComprobante
CoCliente
NoCliente
FeVenta
0040
C01
Juan
20/05/02
0050
C01
Juan
18/04/02
0010
C02
Mara
15/04/02
0020
C02
Mara
15/04/02
NuComprobante
CoCliente, FeVenta,
NoCliente
Dependencia Transitiva
Ejemplo: Relacin P
CoEmpleado NoEmpleado
SsSalario
Co
FeProyectoProyecto
Trmino
E1
Juan
3,500
P1
31/10/09
E2
Pedro
3,000
P1
31/10/09
E3
Mara
3,800
P2
15/11/09
E4
Andrs
3,000
P2
15/11/09
E5
Ana
2,800
P1
31/10/09
CoEmpleado
CoProyecto,
FeProyecto-
Normalizacin
Datos sin normalizar
Anomalas
Se presentan cuando tratamos de almacenar
informacin en tablas no normalizadas:
De actualizacin: inconsistencia de los datos como
consecuencia de actualizaciones parciales y datos
redundantes
De insercin: imposibilidad de adicionar datos en la
BD por la ausencia de otros
De borrado: prdida no intencionada de datos
debido a la eliminacin de otros
NoCiudad
SsFlete
C1
JUAN
LIMA
0.75
8.20
I3
5/6/09
C1
JUAN
LIMA
0.75
8.20
I3
12/10/09
C2
MARIA
TUMBES
1.95
4.00
I2
15/05/09
C2
MARIA
TUMBES
1.95
8.20
I3
15/05/09
C2
MARIA
TUMBES
1.95
2.00
I1
15/05/09
C3
PEDRO
LIMA
0.75
4.00
I2
10/08/09
C3
PEDRO
LIMA
0.75
2.00
I1
10/10/09
C4
ANA
ICA
1.05
10.50
I4
5/05/09
CoCliente
SsPrecio
Unitario
CoProducto Qtpedida
FeVenta
Quitar de la relacin 1FN todos los atributos noclave que no estn en DFC de la PK.
CoCliente
NoCliente
NoCiudad
SsFlete
C1
JUAN
LIMA
0.75
8.20
I3
5/6/03
C1
JUAN
LIMA
0.75
8.20
I3
12/10/03
C2
MARIA
TUMBES
1.95
4.00
I2
15/05/03
C2
MARIA
TUMBES
1.95
8.20
I3
15/05/03
C2
MARIA
TUMBES
1.95
2.00
I1
15/05/03
C3
PEDRO
LIMA
0.75
4.00
I2
10/08/03
C3
PEDRO
LIMA
0.75
2.00
I1
10/10/03
C4
ANA
ICA
1.05
10.50
I4
5/05/03
SsPrecio
Unitario
CoProducto Qtpedida
FeVenta
relacin
est
en
segunda forma normal o
(2FN) si es 1FN y cada
atributo no clave de la
relacin
es
total
y
funcionalmente
dependiente (DFC) de su
clave primaria
Normalizacin 2 FN
Producto:
(CoProducto, SsPrecio Unitario)
Cliente:
(CoCliente, NoCliente, NoCiudad, SsFlete)
Pedido 1:
(CoCliente, CoProducto, FeVenta, QtPedida)
Normalizacin y Verificacin
de la 2FN
Los defectos de almacenamiento de una
relacin 2FN son causados por la
dependencia transitiva (DT) de atributos
no-clave con la clave primaria
Se puede normalizar como sigue:
Crear
una
nueva
relacin
para
almacenar la no-clave transitivamente
dependiente
Normalizacin - 2FN
Cliente:
(CoCliente, NoCliente, NoCiudad, SsFlete)
Esquema Venta
Producto:
Diaria
(CoProducto, SsPrecio Unitario)
Cliente 1:
Ciudad:
(NoCiudad, SsFlete)
Pedido 1:
(CoCliente, CoProducto, FeVenta, QtPedida)
Objetivos Generales
Eliminar ciertos tipos de redundancia
Evitar ciertas anomalas en la actualizacin
de datos
Producir un diseo que sea una buena
representacin del mundo real: que sea
fcil
de
entender
intuitivamente
y
constituya una buena base para un
crecimiento futuro
Facilitar la recuperacin de la informacin