Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccin y fundamentos
Introduccin a SQL
Modelo Entidad / Relacin
Modelo relacional
Diseo relacional: formas normales
Consultas
Clculo relacional
lgebra relacional
Implementacin de bases de datos
Estructura fsica: campos y registros
Indexacin
ndices simples
rboles B
Hashing
1
Propiedades formales
Evitar NULLs
Formas normales
2
Formas normales 1, 2 y 3
E. Codd en 1970/71
Formas normales 4, 5, 6
Edgard F. Codd
1977/79/2002
Menos utilizadas
3
Anomalas de diseo
No son un error en s mismas
Si se hace bien la actualizacin no habra problema
Anomalas de actualizacin
NIE
Nombre
Telfono
Asignatura
NIE
Nombre
Telfono
NIE
Asignatura
12345
Isabel
123456789
17824
12345
Isabel
123456789
12345
17824
12345
Isabel
123456789
17825
67890
David
321654987
12345
17825
12345
Isabel
123456789
17826
12345
17826
12345
Isabel
123456789
17827
12345
17827
12345
Isabel
123456789
17828
12345
17828
67890
David
578234890
321654987
17824
67890
17824
67890
David
321654987
17825
67890
17825
67890
David
321654987
17826
67890
17826
67890
David
321654987
17827
67890
17827
1.
Mejor diseo
Redundancia
Problemas al modificar: estado inconsistente
si no se actualizase el campo en todas las filas
5
Insercin
NIE
Nombre
Telfono
NIE
Asignatura
12345
Isabel
123456789
17824
12345
Isabel
123456789
12345
17824
12345
Isabel
123456789
17825
67890
David
321654987
12345
17825
12345
Isabel
123456789
17826
12345
17826
12345
Isabel
123456789
17827
12345
17827
12345
Isabel
123456789
17828
12345
17828
67890
David
321654987
17824
67890
17824
67890
David
321654987
17825
67890
17825
67890
David
321654987
17826
67890
17826
67890
David
321654987
17827
67890
17827
987654321
Mejor diseo
NULL
NULL
Mara
32154
Asignatura
Telfono
Nombre
NIE
NIE
Nombre
Telfono
Asignatura
NIE
Nombre
Telfono
NIE
Asignatura
12345
Isabel
123456789
17824
12345
Isabel
123456789
12345
17824
12345
Isabel
123456789
17825
67890
David
321654987
12345
17825
12345
Isabel
123456789
17826
12345
17826
12345
Isabel
123456789
17827
12345
17827
12345
Isabel
123456789
17828
12345
17828
67890
David
321654987
17824
67890
17824
67890
David
321654987
17825
67890
17825
67890
David
321654987
17826
67890
17826
67890
David
321654987
17827
67890
17827
Eliminacin
3.
Mejor diseo
Matrcula
Estudiante
Matrcula
Telfono
Asignatura
NIE
Nombre
Telfono
12345
Isabel
123456789
17824
12345
Isabel
123456789
Isabel
17824
12345
Isabel
123456789
17825
67890
David
321654987
Isabel
17825
67890
David
321654987
17826
89456
Isabel
755326284
David
17826
67890
David
321654987
17827
David
17827
89456
Isabel
755326284
17835
Isabel
17835
89456
Isabel
755326284
17838
Isabel
17838
Tuplas
espurias
Tuplas espurias
Nombre
NIE
Nombre Asignatura
Nombre Asignatura
12345
Isabel
17824
12345
Isabel
17825
12345
Isabel
17835
12345
Isabel
17838
9
=1 R
=R
Preservacin de dependencias
Qu son?
Vemoslo
=1 R
En breve
= , donde:
Operaciones de
lgebra relacional
(ms adelante)
10
Dependencias funcionales
Def: Dados dos conjuntos X e Y de atributos de un esquema R, Y depende
funcionalmente de X si t1[X] = t2[X] t1[Y] = t2[Y], t1, t2 r(R)
Es decir, los atributos de Y estn unvocamente determinados por los de X
Notacin: X Y
Ejemplos
X es una superclave de R X Y para cualquier conjunto de atributos Y de R
Reserva (Nombre, Dni, Nvuelo, Origen, Destino, Hora, Fecha, Precio)
Dni Nombre
/* No ponemos { } para abreviar */
Nvuelo { Origen, Destino, Hora }
{ Dni, Nvuelo } { Nombre, Origen, Destino, Hora }
{ Dni, Nvuelo, Fecha } { Nombre, Origen, Destino, Hora, Precio }
{ Dni, Fecha, Hora } { Nombre, Nvuelo, Origen, Destino, Precio }
11
Formas normales
Su cumplimiento reduce anomalas de actualizacin y mejora
las propiedades del diseo (robustez, actualizacin, etc.)
Son incrementales
Si se cumple la forma normal n-sima se cumple la (n-1)-sima
Formas 4, 5 y 6
Eliminan sucesivamente ms anomalas de actualizacin
12
14
Claves
{ Dni, Nvuelo, Fecha }
*/
Dependencias
Dni Nombre
Nvuelo { Origen, Destino }
No 2NF
Ok
Nvuelo
Ok 2NF
Dni
Ok 2NF
Dependencias:
Ok 2NF
16
Claves
Nvuelo
Dependencias
Origen Ciudad_origen
Destino Ciudad_destino
Ok 2NF
17
18
Claves
{ Calle, Nmero, Piso, CP }
{ Calle, Nmero, Piso, Municipio, Provincia, Pas }
Dependencias
{ Calle, Nmero, Municipio, Provincia, Pas } CP
CP { Municipio, Provincia, Pas }
Ok
Ok?
Ok 2NF
20
Claves
{ Calle, Nmero, Piso, CP }
{ Calle, Nmero, Piso, Municipio, Provincia, Pas }
Dependencias
{ Calle, Nmero, Municipio, Provincia, Pas } CP
CP { Municipio, Provincia, Pas }
Ok 2NF
Ok 3NF
Claves
Nvuelo
Dependencias
Origen Ciudad_origen
Destino Ciudad_destino
No 3NF
Ok 2NF
No superclaves
No primarios
22
23
24
Claves
{ Calle, Nmero, Piso, CP }
{ Calle, Nmero, Piso, Municipio, Provincia, Pas }
Dependencias
No superclave { Calle, Nmero, Municipio, Provincia, Pas } CP
CP { Municipio, Provincia, Pas }
No BCNF
Ok 3NF
Medicamento Indicaciones
Fiebre
Gelocatil Paracetamol
Resfriado
Gelocatil Paracetamol
Cefalea
Tylenol
Paracetamol
Fiebre
Tylenol
Paracetamol
Resfriado
Tylenol
Paracetamol
Cefalea
Tylenol
Codena
Tos
Tylenol
Codena
Dolor
Redundancias
Gelocatil Paracetamol
Mejor diseo
El esquema es BCNF
Pero contiene redundancias
Anomalas de actualizacin: modificar /
aadir / eliminar indicaciones de un
medicamento, etc.
Marca
Medicamento
Gelocatil Paracetamol
Tylenol
Paracetamol
Tylenol
Codena
Medicamento Indicaciones
Paracetamol
Fiebre
Paracetamol
Resfriado
Paracetamol
Cefalea
Codena
Tos
Codena
Dolor
26
Un ltimo ejemplo
Cul es la mnima forma normal de un esquema en el que
la combinacin de todos sus atributos forma una clave?
27
Resumen
X superclave
No
S
Dada X Y
Y primario
X primario
S
S
No
BCNF
No
3NF
1NF
2NF
28
Algoritmos de normalizacin
Comprobacin de preservar dependencias en descomposiciones
Comprobacin de join sin prdida en descomposiciones
Comprobacin de que un conjunto de atributos es una superclave
Propiedad 3NF, BCNF de relaciones
Descomposicin de relaciones a 3NF, BCNF
Siempre es posible descomponer a 2NF y 3NF sin prdida de dependencias
BCNF puede no ser posible sin perder alguna dependencia
29
Normalizacin 3NF
3NF (R, F)
Qu es?
D :=
G := cobertura mnima de F
for X Y G
31
Normalizacin BCNF
BCNF (R, F)
D := {R}
while D contiene una relacin no BCNF
32
33
R1
R2
Qu quiere decir?
Esto viene a decir que R1 R2 acta como clave fornea de R1 a R2, o viceversa
34
Cobertura mnima
Def: Una cobertura mnima de un conjunto de dependencias F es un
conjunto mnimo equivalente a F
Def: Un conjunto de dependencias F es mnimo si:
La parte derecha de todas sus dependencias es un solo atributo
Si eliminamos una dependencia, obtenemos un conjunto no equivalente a F
Si eliminamos un atributo en la derecha de una dependencia, obtenemos un
conjunto no equivalente a F
YX
X Y (dependencia trivial)
Aumento:
XY
XZ YZ
Transitividad:
{ X Y, Y Z }
XZ
Proyeccin:
X YZ
Reglas (axiomas) de
Armstrong, completas
X Y (descomposicin)
Aditividad:
{ X Y, X Z }
X YZ (unin)
Pseudotransitividad: { X Y, WY Z }
Obsrvese que:
WX Z
{ X Y, Z W }
XZ YW
XZ
XY Z
36
for X Y F do
if F { X Y } es equivalente a F
then F := F { X Y }
return F
37
38
Eficiencia y denormalizacin
Tablas no normalizadas pueden ser ms eficientes para algunas consultas
Por motivos de eficiencia en ocasiones compensa juntar o no descomponer ciertas
tablas: ceder espacio y robustez a cambio de eficiencia (se ahorran joins)