Beruflich Dokumente
Kultur Dokumente
NORMALIZACIÓN
1. Teorı́a de la Normalización . . . . . . . . . . . . . . . . . . . . 2
2. Dependencia funcional . . . . . . . . . . . . . . . . . . . . . . . . 7
7. Procés de Normalització . . . . . . . . . . . . . . . . . . . . . 73
1
Teorı́a de la Normalización
Diseño de la BD:
– Interesan propiedades que siempre se cumplan
⇓
CABECERA
– No interesan propiedades que sólo sean ciertas
en un momento determinado
⇓
CUERPO
2
• Permite detectar ciertas propiedades no deseables
en las relaciones y define métodos para convertir
estas relaciones en formas más tratables.
Ejemplo: Base de Datos S, SP, P
Suposemos que sacamos el atributo CIUTAT de S y lo ponemos
en SP (relación SP 2).
S1 Londres P1 300
S1 Londres P2 200
S1 Londres P3 400
S1 Londres P4 200
S1 Londres P5 100
S1 Londres P6 100
S2 Paris P1 300
S2 Paris P2 400
4
IMPORTANTE EN DISEÑO:
5
PROCEDIMIENTO DE NORMALIZACIÓN:
↓
Reducción sucesiva de un conjunto de rela-
ciones a una forma normal más deseada.
⇓
FORMAS NORMALES DE PROYECCIÓN/REUNIÓN
6
Dependencia funcional
R.X −→ R.Y
⇐⇒
Ejemplo: BD S, SP, P
¾
S.S# → S.SNOM
S.S# → S.ZONA S.S# → S.(SNOM,ZONA,CIUTAT)
S.S# → S.CIUTAT
³ ´
P1 roja → PES=12
P .COLOR 6→ P .PES P6 roja → PES=19
7
Si el atributo X es clave candidata (o clave pri-
maria) en R:
↓
Atributos Y en R han de depender funcional-
mente de forma OBLIGATORIA de X (por
definición de clave candidata).
Ejemplo: BD S, SP, P
S.S# → S.(SNOM,CIUTAT,ZONA)
P .P# → P .(PNOM,COLOR,PES,CIUTAT)
SP .(S#,P#) → SP .CANT
8
Por la definición de dependencia funcional (DF),
↓ otra definición de DF
⇐⇒
Ejemplo: BD SP 2
SP 2.S# −→ SP 2.CIUTAT
9
Definición: Dada una relación R, el atributo Y de R
depende funcionalmente DE FORMA COMPLETA
del atributo X de R
⇐⇒
Ejemplo: BD SP 2
•
Si Y depende funcionalmente, pero no
de forma completa de X ⇒ X es compuesto
DF ≡ DF completa
10
DIAGRAMA DE DEPENDENCIAS FUNCIONALES:
Representación de las dependencias funcionales de una
relación. Grafo dirigido.
Ejemplo: BD S, SP, P
11
Observaciones:
S.S# −→ S.CIUTAT
12
Observaciones:
S#
SP −→ S ⇒ SP.S# −→ S.S#
↓
Atributos de clave externa tienen DF con
atributos de la relación referenciada.
↓
DF entre atributos de diferentes relaciones
(RESTRICCIONES INTERRELACIONALES)
SP.S# → S.CIUTAT
⇓
n
Un proveedor en una ciudad: 1→1
Muchos proveedores en una ciudad: n→1
13
Formas normales de Codd
(1NF, 2NF, 3NF)
Ejemplo: BD S, SP, P
PNOM
)
COLOR * mútuamente independientes entre sı́
P# −→ PES * dependientes de CP P#
CIUTAT
14
1NF:
Diagrama Funcional:
15
PRIMERA: S# CIUTAT ZONA P# CANT
S1 Londres 20 P1 300
S1 Londres 20 P2 200
S1 Londres 20 P3 400
S1 Londres 20 P4 200
S1 Londres 20 P5 100
S1 Londres 20 P6 100
S2 Paris 10 P1 300
S2 Paris 10 P2 400
S3 Paris 10 P3 200
S4 Londres 20 P2 200
S4 Londres 20 P4 300
S4 Londres 20 P5 400
16
SOLUCIÓN: Dividir la relación P RIM ERA en dos rela-
ciones:
1. SEGON A(S#,CIUTAT,ZONA)
2. SP (S#,P#,CANT)
Diagrama Funcional:
17
PRIMERA: S# CIUTAT ZONA P# CANT
S1 Londres 20 P1 300
S1 Londres 20 P2 200
S1 Londres 20 P3 400
S1 Londres 20 P4 200
S1 Londres 20 P5 100
S1 Londres 20 P6 100
S2 Paris 10 P1 300
S2 Paris 10 P2 400
S3 Paris 10 P3 200
S4 Londres 20 P2 200
S4 Londres 20 P4 300
S4 Londres 20 P5 400
S1 Londres 20
S2 Paris 10
S3 Paris 10
S4 Londres 20
S5 Atenas 30
S6 Londres 20
SP: S# P# CANT
S1 P1 300
S1 P2 200
S1 P3 400
S1 P4 200
S1 P5 100
S1 P6 100
S2 P1 300
S2 P2 400
S3 P3 200
S4 P2 200
S4 P4 300
S4 P5 400
18
• Se eliminan los problemas anteriores (INSERT,
DELETE, UPDATE).
19
2NF:
⇐⇒
• Está en 1NF.
Observaciones:
20
• Toda relación en 1NF puede REDUCIRSE a un con-
junto equivalente de relaciones 2NF.
1NF → 2NF
REDUCCIÓN:
Descomposición: PROYECCIÓN
Recomposición: JOIN
21
PRIMER PASO DE NORMALIZACIÓN:
Realizar proyecciones para eliminar las dependencias fun-
cionales no completas.
R(A,B,C,D) ⇒ NO en 2NF
PRIMARY KEY: (A,B) ↓
Atributo D depende de A, no
R.A → R.D de clave primaria (A,B).
R1 (A,D)
D depende de clave primaria
PRIMARY KEY: (A) (A).
R2 (A,B,C) C depende de
clave primaria
PRIMARY KEY: (A,B)
FOREIGN KEY (A) REFERENCES R1 (A,B).
22
R = R1 JOIN R2
• Información en R → también en R1 , R2
23
DEPENDENCIA FUNCIONAL TRANSITIVA
a, b → c
¾
S# → CIUTAT
⇒ S# → ZONA
CIUTAT → ZONA
24
Dependencias funcionales transitivas pueden producir
ANOMALÍAS DE ACTUALIZACIÓN
25
Dependencias funcionales en la relación SEGON A
Posibles descomposiciones:
a) S# → CIUTAT
1.
b) CIUTAT → ZONA
a) S# → CIUTAT
2.
c) S# → ZONA
b) CIUTAT → ZONA
3.
c) S# → ZONA
¾
S# → CIUTAT DF transitiva
⇒
CIUTAT → ZONA S# → ZONA
↓ 2 descomposiciones:
DESCOMP. A: SC(S#,CIUTAT)
CZ(CIUTAT,ZONA)
Proyecciones
3NF sin
pérdidas
DESCOMP. B: SC(S#,CIUTAT)
SZ(S#,ZONA)
27
Descomp. A:
S1 Londres 20
S2 Paris 10
S3 Paris 10
S4 Londres 20
S5 Atenas 30
S6 Londres 20
SC: S# CIUTAT
CZ: CIUTAT ZONA
S1 Londres
S2 Paris Atenas 30
S3 Paris Londres 20
S4 Londres Paris 6 10 → 80
S5 Atenas Roma 50
S6 Londres
↓
SC JOIN CZ: S# CIUTAT ZONA
S1 Londres 20
S2 Paris 80 ⇒ CIUTAT → ZONA
S3 Paris 80 ⇒
S4 Londres 20
S5 Atenas 30
S6 Londres 20
S1 Londres 20
S2 Paris 10
S3 Paris 10
S4 Londres 20
S5 Atenas 30
S6 Londres 20
S1 Londres S1 20
S2 Paris S2 6 10 → 80
S3 Paris S3 10
S4 Londres S4 20
S5 Atenas S5 30
S6 Londres S6 20
↓
SC JOIN SZ: S# CIUTAT ZONA
S1 Londres 20
S2 Paris 80 ⇒ CIUTAT 6→ ZONA
S3 Paris 10 ⇒
S4 Londres 20
S5 Atenas 30
S6 Londres 20
SEGONA.CIUTAT → SEGONA.ZONA
↓
Si dos proveedores tienen la misma ciudad, han de
tener la misma zona.
29
En la descomp. A, la RESTRICCIÓN INTERRELA-
CIONAL es la DF transitiva
S# → ZONA
↓
y el cumplimiento de esta restricción se consigue
de forma automática si se cumplen las RESTRIC-
CIONES INTRARRELACIONALES
S# → CIUTAT
CIUTAT → ZONA
S# → CIUTAT
CIUTAT → ZONA
PROBLEMA: En la descomp. B, la DF
CIUTAT → ZONA
30
Substituir relación SEGON A,
SEGON A[S#,CIUTAT]
−→ SC(S#,CIUTAT)
SEGON A
(S#,ZONA,CIUTAT) ←−
SC JOIN CZ
SEGON A[CIUTAT,ZONA]
−→ CZ(CIUTAT,ZONA)
31
3NF:
⇐⇒
• Está en 2NF.
Observaciones:
32
Más informalmente,
3NF:
33
SEGUNDO PAS DE NORMALIZACIÓN:
Obtener proyecciones para eliminar dependencias tran-
sitivas.
R1 (A,B)
PRIMARY KEY (A)
R(A,B,C)
FOREIGN KEY (B)
PRIMARY KEY (A) REFERENCES R2
=⇒
R.B → R.C
R2 (B,C)
PRIMARY KEY (B)
⇐=
R = R1 JOIN R2
34
NORMA PER OBTENER
BUENAS DESCOMPOSICIONES:
35
Ejemplo: Descomposición A
1.
S# → CIUTAT : SC
∀ DF en SEGONA
CIUTAT → ZONA : CZ
se puede deducir de
R1 y R2
S# → ZONA : DF
transitiva
36
Ejemplo: Descomposición B
1.
¾ DF
S# → CIUTAT : SC CIUTAT → ZONA no
S# → ZONA : SZ deducible a
partir de estas DF
37
Forma Normal de Boyce-Codd
(BCNF)
38
BCNF:
⇐⇒
39
Observaciones:
40
Ejemplos:
• No está en 2NF
S# S# → CIUTAT
CIUTAT CIUTAT → ZONA
Det: S#,P# S#,P# → CANT
S#,P# → CIUTAT No está en
S#,P# → ZONA
BCNF
CC: { S#,P#
• No está en 3NF
n
Det:
S# S# → CIUTAT,ZONA
CIUTAT CIUTAT → ZONA No está en
BCNF
CC: { S#
41
Ejemplos: Relación SP (S#,P#,CANT)
¾
Det: { S#,P# S#,P# → CANT
Está en BCNF
CC: { S#,P#
Relación SC(S#,CIUTAT)
¾
Det: { S# S# → CIUTAT
Está en BCNF
CC: { S#
Relación CZ(CIUTAT,ZONA)
¾
Det: { CIUTAT CIUTAT → ZONA
Está en BCNF
CC: { CIUTAT
42
Ejemplo: Relación S(S#,SNOM,ZONA,CIUTAT)
Condiciones:
• Nombre de proveedor único
DF:
RELATION S (S#,SNOM,ZONA,CIUTAT)
PRIMARY KEY (S#)
ALTERNATE KEY (SNOM)
43
Ejemplo: Relación SP (S#,SNOM,P#,CANT)
Condició:
DF:
n
CC:
S#,P#
SNOM,P#
( S#,P# S#,P# → SNOM,CANT
No está en
SNOM,P# SNOM,P# → S#,CANT
BCNF
Det: S# S# → SNOM
SNOM SNOM → S#
44
SP S# SNOM P# CANT
S1 Salazar P1 300
S1 Salazar P2 200
S1 Salazar P3 400
S1 Salazar P4 200
S1 Salazar P5 100
S1 Salazar P6 100
S2 Jaime P1 300
S2 Jaime P2 400
S3 Bernal P3 200
S4 Corona P2 200
S4 Corona P4 300
S4 Corona P5 400
S# → SNOM
• S(S#,SNOM) y SP (S#,P#,CANT)
• S 0 (S#,SNOM) y SP 0 (SNOM,P#,CANT)
45
Proyección: S(S#,SNOM) y SP (S#,P#,CANT)
n
S# S# → SNOM
Det: SNOM SNOM → S#
S: n
S#
CC: SNOM
Estan en BCNF
½
Det: { S#,P# S#,P# → CANT
SP :
CC: { S#,P#
n
S# S# → SNOM
Det: SNOM SNOM → S#
S0 : n
S#
CC: Estan en
SNOM
BCNF
½
SNOM,P# → CANT
Det: { SNOM,P#
SP 0 :
CC: { SNOM,P#
46
Ejemplo: Relación EPA (Estudiante/Profesor/
Asignatura)
Condiciones:
EPA e p a
DF:
47
Está en 3NF (no existe ningún atributo no clave)
n
e,a
CC:
e,p
½ No está en BCNF
e,a e,a → p
Det: p p→a
e,p e,p → a
• EP (e,p) y P A(p,a)
EP e p
PA p a
Gòdia Enric
Enric Bases de Datos
Gòdia Juanjo
Juanjo Gráficos
Lacruz Enric
Martı́ Gráficos
Lacruz Martı́
¾ ¾
Det: ∅ Det: {p p→a
Está en Está en
CC: {e,p BCNF CC: {p BCNF
48
PROBLEMA: Relaciones EP, P A NO SON INDEPEN-
DIENTES
p → a p → a
e,p → a
e,a → p
49
Ejemplo: Relación EAR (Estudiante/Asignatura/
Ranking)
Ejemplo del claves candidatas solapadas.
Condició:
• Dos estudiantes no pueden tener el mismo ranking (posición)
en la misma asignatura (no hay empates – a,r → e).
DF:
n
e,a e,a → r
Det: a,r a,r → e
n
Está en BCNF
CC:
e,a
a,r
En conclusión, BCNF
• elimina problemas de la 3NF.
50
Cuarta Forma Normal (4NF)
51
Ejemplo: Relación CPT (Cursos/Profesores/ Textos)
Relación no normalizada.
Condiciones:
• Cada tupla de la relación contiene el nombre del curso + un
grupo repetitivo de profesores, + un grup repetitivo de textos.
• Para cada curso se siguen los mismos libros, sea quien sea el
profesor.
CPT0 c p t
n o
Date
Base de Datos {Enric} Rogers
n o ½ ¾
Hearn-Baker
Juanjo
Gráficos Foley-Van Dam
Enric
Rogers
↓ pasada a 1NF
CPT c p t
52
Observaciones:
• CP T
¾
Det: ∅
Está en BCNF
CC: {c,p,t
53
Proyecciones CP (c,p) y CT (c,t)
CP c p
CT c t
Propiedades:
• Relación CP : ¾
Det: ∅
Está en BCNF
CC: {c,p
• Relación CT : ¾
Det: ∅
Está en BCNF
CC: {c,t
Generalización de las DF
→
∀ DF 6← DMV
54
Definición: Dada una relación R, con los atributos
A, B, C, la dependencia multivalorada (DMV) entre
A y B denotada como
R.A −→
>> R.B
se cumple
⇐⇒
55
Observaciones:
Ejemplo: Relación CP T
c −→
>> p ⇒ c −→
>> t
↓
c −→>> p|t
Teorema de Fagin:
La relación R, con atributos A, B, C se puede descomponer
sin pérdidas en sus dos proyecciones R1 (A, B) y R2 (A, C)
⇐⇒
se cumplen en R las dependencias multivaloradas
A −→
>> B | C
56
4NF:
⇐⇒
• Está en BCNF.
57
Consideraciones:
↓ sobre DMV
58
Quinta Forma Normal (5NF)
Si n = 2 → relación 2-descomponible.
59
Ejemplo: Relación SP J(S#,P#,J#)
S1 P1 J2
S1 P2 J1
S2 P1 J1
S1 P1 J1
SP S# P# PJ P# J# JS J# S#
S1 P1 P1 J2 J2 S1
S1 P2 P2 J1 J1 S1
S2 P1 P1 J1 J1 S2
SP JOIN PJ S# P# J# PJ JOIN JS S# P# J#
S1 P1 J2 S1 P1 J2
S1 P1 J1 S1 P2 J1
S1 P2 J1 S1 P1 J1
espuria → S2 P1 J2 espuria → S2 P2 J1
S2 P1 J1 S2 P1 J1
S1 P1 J2 S1 P1 J2
S1 P1 J1 S1 P2 J1
S1 P2 J1 S1 P1 J1
S2 P1 J1 S2 P1 J1
60
• Relación SP J: Relación 3-descomponible, pues pre-
cisamos de 3 relaciones para recuperar SP J
• Propiedad 3-descomponible,
– en función de los valores especı́ficos en la relación.
– como RESTRICCIÓN INDEPENDIENTE DEL
TIEMPO.
61
RESTRICCIÓN INDEPENDIENTE DEL TIEMPO
• RESTRICCIÓN CÍCLICA
62
Definición: Una relación R es n-descomponible (para
alguna n > 2)
⇐⇒
63
Si relación SP J satisface una restricción 3-D indepen-
diente del tiempo, SP J representa un hecho como
Observaciones:
64
Definición: La relación R satisface la dependencia de
reunión (DR)
∗(X, Y . . . Z)
⇐⇒
65
Ejemplo: Relación SP J(S#,P#,J#)
S1 P1 J2
S1 P2 J1
66
(2) Ejemplo: Relación SP J(S#,P#,J#)
SPJ S# P# J#
S1 P1 J2
S1 P2 J1
S2 P1 J1
S1 P1 J1
↓
PROBLEMA: Cuál de las tres eliminamos?
67
TEOREMA DE FAGIN (pag. 56) se puede expresar
como
R(A,B,C) sat- satisface
isface la DR ⇐⇒ las DMV
*(AB,AC) A −→ >> B|C.
Observacions:
68
5NF:
⇐⇒
69
Dependencia de reunión consecuencia de claves can-
didatas:
• Satisface la DR *((S#,SNOM),(S#,ZONA),(SNOM,CIUTAT)),
doncs
70
Observaciones:
↓
DMV es un caso especial de una DR
71
Una relación en 5NF:
– *((S#,SNOM,ZONA),(S#,CIUTAT))
– *((S#,SNOM),(S#,ZONA),(SNOM,CIUTAT))
72
Proceso de Normalización
73
PASOS:
74
PASOS 1-3: Pueden ser condensados en un único
paso:
EN LA PRÁCTICA:
75