Andrea Rodrguez
II Semestre - 2014
Bases de Datos
Andrea Rodrguez
Bases de Datos
Andrea Rodrguez
Objetivos de la Unidad
Estudiar y ejercitar estrategias de dise
no y normalizaci
on
Bases de Datos
Andrea Rodrguez
Problemas de Dise
no
I
Ambig
uedades
Perdida de informaci
on (aparici
on de tuplas esp
ureas)
Aparici
on en la BD de estados no validos, es decir, anomalas
de inserci
on, borrado y modificaci
on.
Bases de Datos
Andrea Rodrguez
Ejemplos de Problemas
AUTOR
Date, C.
Date, C.
Date, C.
Codd,E.
Gardarin
Gardarin
Valduriez
Kim,W.
Lochovsky
NACIONALIDAD
Norteamericana
Norteamericana
Norteamericana
Norteamericana
Francesa
Francesa
Francesa
Norteamericana
Canadiense
COD LIBRO
98987
97777
98987
7890
12345
67890
67890
11223
11223
TITULO
Database
SQL Stan
Guide for
Relational
Basi Dati
Comp BD
Comp BD
BD OO
BD OO
EDITORIAL
Addison, W.
Addison, W.
Addison, W.
Addison,W.
Paraninfo
Eyrolles
Eyrolles
ACM
ACM
ANO
1990
1986
1988
1990
1986
1984
1984
1989
1989
Bases de Datos
Anomalas de modificaci
on, es facil cambiar el nombre de una
editorial en una tupla sin modificar el resto de las que
corresponden al mismo libro, lo que da lugar a incoherencias.
Anomalas de inserci
on, ya que si queremos ingresar
informaci
on de alg
un autor, del que no hubiera ning
un libro
en la base datos, no sera posible, ya que cod libro es parte
de la clave primaria de la relaci
on (regla de integridad de la
entidad). La inserci
on de un libro, que tiene dos autores
obliga a insertar dos tuplas en la relaci
on.
Andrea Rodrguez
Bases de Datos
Andrea Rodrguez
Bases de Datos
Andrea Rodrguez
Pauta 1: Dise
ne un esquema de relaci
on que sea facil de
explicar su significado
Pauta 2: Dise
ne los esquema de relaciones de base de modo
que no hayan anomalas de inserci
on, eliminaci
on o
modificaci
on en las relaciones.
Pauta 4: Dise
ne los esquemas de relaci
on de modo que
puedan REUNIRSE (join) mediante condiciones de igualdad
sobre atributos que sean claves primarias o claves externas, a
fin de garantizar que no se formaran tuplas espurias.
Bases de Datos
Andrea Rodrguez
Nociones Generales
I
Bases de Datos
Andrea Rodrguez
Bases de Datos
Andrea Rodrguez
Bases de Datos
OBS1: la afirmaci
on cod libro determina titulo NO significa
que a partir de cod libro podamos conocer el titulo. Es decir,
para un esquema R, si tenemos la dependencia funcional
X Y , dado un valor de X no podemos en general conocer
el valor de Y . Solo nos limitaremos a afirmar que para dos
tuplas de cualquier extensi
on de R que tengan el mismo valor
de X , el valor de Y tambien sera igual en ambas.
Andrea Rodrguez
Bases de Datos
Andrea Rodrguez
X Y
X1 |Y
X2 |Y .
Se representa X Y .
X Y si y solo si NO X 0 X /X 0 Y .
Bases de Datos
Andrea Rodrguez
articulo | pagina
revista | pagina
numero | pagina
Bases de Datos
Andrea Rodrguez
Bases de Datos
Andrea Rodrguez
RI2: Aumento: {X Y } |= XZ YZ .
RI3: Transitiva: {X Y , Y Z } |= X Z
RI4: Descomposici
on o proyecci
on: {X YZ } |= X Y .
RI5: Uni
on o aditiva: {X Y , X Z } |= X YZ
RI6: Pseudotransitiva: {X Y , WY Z } |= WX Z
Bases de Datos
Andrea Rodrguez
Bases de Datos
Andrea Rodrguez
Bases de Datos
Andrea Rodrguez
Bases de Datos
Andrea Rodrguez
Bases de Datos
Andrea Rodrguez
Clausura de Atributos
Suponga que {A1 , A2 , . . . , An } es un conjunto de atributos y S es
un conjunto de DFs. La clausura de {A1 , A2 , . . . , An } bajo un
conjunto de DF en S es el conjunto de atributos B tal que cada
relaci
on que satiface las DF en S tambien satisface
A1 A2 . . . An B. Esto significa que A1 A2 . . . An B se deriva de
las DFs en S.
Ejemplo: Considere los atributos A, B, C , D, E , F . Suponga las
siguientes DF: AB C , BC AD, D E , CF B. Determine
la clausura de {A, B}+.
Bases de Datos
Andrea Rodrguez
Bases de Datos
Andrea Rodrguez
t:
s:
{A1 , A2 , . . . , An }+
1 1 1 ....11
1 1 1 ....11
Otros atributos
0 0 0 ...00
1 1 1 ...11
Bases de Datos
Andrea Rodrguez
Bases de Datos
Andrea Rodrguez
Conjunto Mnimo de DF
I
Bases de Datos
Andrea Rodrguez
Bases de Datos
Andrea Rodrguez
Bases de Datos
Andrea Rodrguez
Para la relaci
on PRESTAMO( num socio, nombre socio,
cod libro, fec prest, editorial, pais ) las claves candidatas son:
(num socio, cod libro) y (nombre socio, cod libro)
La soluci
on es descomponer esta relaci
on en las siguientes:
PRESTAMO1( num socio, nombre socio, cod libro, fec prest )
LIBRO( cod libro, editorial, pais )
En la relaci
on PRESTAMO1, el u
nico atributo que no forma
parte de las claves candidatas es fec prest, pero suministra
informaci
on acerca de la clave completa. Por lo que esta en
2FN.
La relaci
on LIBRO, la clave es cod libro, y los dos atributos
editorial y pais suministran informaci
on de la clave completa.
Bases de Datos
Andrea Rodrguez
En la relaci
on PRESTAMO1, el atributo fec prest facilita
informaci
on acerca de las claves, ya que no existen mas
atributos. Por lo que esta en 3FN.
En la relaci
on LIBRO, el atributo pas entrega informacion
acerca de la editorial que publica el libro, por lo que no esta
en 3FN.
La soluci
on es descomponerla en:
LIBRO1( cod libro, editorial ) EDITORIAL( editorial, pas ) ,
que estan en 3FN, ya que todo atributo no clave facilita
Bases de Datos
Andrea Rodrguez
Bases de Datos
Andrea Rodrguez
on
En la relaci
on PRESTAMO1, num socio es informaci
acerca de nombre socio y viceversa. Ninguno de estos
atributos son clave (aunque formen parte de la clave). Para
solucionarlo la descomponemos:
SOCIO( num socio, nombre socio )
PRESTAMO2( num socio, cod libro, fec prest ), que estan en FNBC.
Bases de Datos
Andrea Rodrguez
Comprobaci
on
Una relaci
on no debe tener ning
un atributo
no at
omico ni relaciones anidadas
Para las relaciones en las que la clave primario contiene m
ultiples atributos, ning
un
atributo no clave debera depender funcionalmente de una parte de la clave primaria
Una relaci
on no debera tener un atributo
no clave determinado funcionalmente por
otro atributo no clave (o por un conjunto
de atributos no clave). Esto es, no debera
existir una dependencia transitiva por parte
de un atributo no clave de una clave primaria.
Soluci
on
Formar relaciones nuevas por cada atributo
no at
omico o relaci
on anidada
Descomponer y crear una nueva relaci
on
para cada clave parcial con su atributo(s)
dependientes. Asegurarse de mantener una
relaci
on con la clave primaria original y todos los atributos que dependen funcionalmente en forma total de ella
Descomponer y crear una relaci
on que incluya el atributo o atributos no clave que
determinen funcionalmente a otro o a otros
no clave.
Bases de Datos
Andrea Rodrguez
Ejemplo 2FN
NSS
NUMEROP
HORAS
NOMBREE
NOMBREP
DF1
DF2
DF3
Normalizacin
NSS
NUMEROP
HORAS
NUMEROP
NOMBREP
NSS
NOMBREE
LOCALIZACION
LOCALIZACION
Bases de Datos
Andrea Rodrguez
Ejemplo 3FN
NSS FECHANAC
DIRECC
NOMBREE
NUMEROD
DF1
DF2
Normalizacin
NSS FECHANAC
DIRECC
NUMEROD
NOMBREE
NOMBRED
NUMEROD
NSS_JEFE
NOMBRED
NSS_JEFE
Bases de Datos
Andrea Rodrguez
Bases de Datos
Andrea Rodrguez
Bases de Datos
Andrea Rodrguez
Ejemplo (1)
Asuma la siguiente relacion IMPARTE con tres atributos
(ESTUDIANTE,CURSO,PROFESOR) con las siguientes
dependencias funcionales (ejemplo irreal):
ESTUDIANTE
A
B
B
B
C
C
D
E
CURSO
DB
DB
SO
TE
DB
SO
DB
DB
PROFESOR
X
Y
Z
W
X
Z
V
Y
Bases de Datos
Andrea Rodrguez
Ejemplo (1)
La descomposicion no es simple y existen tres posibilidades:
{ESTUDIANTE,PROFESOR} y {ESTUDIANTE, CURSO}
{CURSO,PROFESOR} y {ESTUDIANTE, CURSO}
{CURSO,PROFESOR} y {ESTUDIANTE, PROFESOR}
Bases de Datos
Ejercicios
I
Andrea Rodrguez
Bases de Datos
Andrea Rodrguez
Descomposici
on y conservaci
on de las dependencias
Descomposici
on y reuni
on sin perdidas (no aditivas)
Descomposici
on y conservaci
on
Bases de Datos
Andrea Rodrguez
La uni
on de las dependencias en las relaciones individuales en
D deben ser equivalente a las DF F de R.
Bases de Datos
Andrea Rodrguez
Ejemplo (1)
Asuma la siguiente relacion IMPARTE con tres atributos
(ESTUDIANTE,CURSO,PROFESOR) con las siguientes
dependencias funcionales:
ESTUDIANTE
A
B
B
B
C
C
D
E
CURSO
DB
DB
SO
TE
DB
SO
DB
DB
PROFESOR
X
Y
Z
W
X
Z
V
Y
Bases de Datos
Andrea Rodrguez
1. Asignar K := R;
2. Para cada atributo A en K {
I
I
Bases de Datos
Andrea Rodrguez
Continuaci
on Ejemplo 1:
Para esta relaci
on, las claves candidatas son:
DF={{ESTUDIANTE,CURSO},{ESTUDIANTE,PROFESOR}}
Bases de Datos
Andrea Rodrguez
Bases de Datos
Andrea Rodrguez
Algoritmo 3: Conservaci
on de Dependencias
Bases de Datos
Andrea Rodrguez
Descomposici
on y Reuni
on sin P
erdida (no aditivas)
I
Una descomposici
on D = {R1 , R2 , . . . , Rm } de R tiene la
propiedad de reuni
on sin perdida respecto al conjunto de
dependencias funciones F sobre R si, por cada estado de la
relaci
on r de R que satisfaga F , se cumple lo siguiente,
donde es el JOIN NATURAL de todas las relaciones de D:
((R1 (r )) (Rm (r ))) = r
Bases de Datos
Andrea Rodrguez
Algoritmo 4: Comprobar la reuni
on sin p
erdida (no aditiva)
Bases de Datos
Andrea Rodrguez
Ejemplo 1
R1
R2
R3
NOMBREP
b14
a4
b34
LOCALIZADORP
b15
a5
b35
HORAS
b16
b26
a6
Bases de Datos
Andrea Rodrguez
Ejemplo 1
Matriz Inicial antes del ciclo de DFs:
NSS
NOMBREE
NUMEROP
R1
a1
a2
b13
R2
b21
b22
a3
R3
a1
b32
a3
Matriz Final: (despu
es de las 2 primeras DF
NSS
NOMBREE
NUMEROP
R1
a1
a2
b13
R2
b21
b22
a3
R3
a1
a2
a3
NOMBREP
b14
a4
b34
LOCALIZADORP
b15
a5
b35
HORAS
b16
b26
a6
NOMBREP
b14
a4
a4
LOCALIZADORP
b15
a5
a5
HORAS
b16
b26
a6
Bases de Datos
Andrea Rodrguez
Algoritmo 5: Descomposici
on relacional con FNBC y
Propiedad de Reuni
on sin P
erdidas
Entrada: Una relaci
on R y dependencias funcionales F
1. Asignar D := {R};
2. Mientras haya un esquema de relaci
on Q en D que no este
en FNBC hace {
I
Bases de Datos
Andrea Rodrguez
Bases de Datos
Andrea Rodrguez
Bases de Datos
Andrea Rodrguez
Bases de Datos
Andrea Rodrguez
Dependencias Multivaluadas
I
Bases de Datos
Andrea Rodrguez
Dependencias Multivaluadas
Definici
on: Un dependencia multivaluada (DMV) X Y
especificada sobre el esquema de relaci
on R, donde X e Y son
subconjuntos de R, especifica la siguiente restricci
on sobre
cualquier estado de relaci
on r de R: Si existen dos tuplas t1 y t2
en r tales que t1 [X ] = t2 [X ], entonces deberan existir tambien dos
tuplas t3 y t4 en r con las siguientes propiedades, en las que
emplearemos Z para denotar (R (X Y )):
I
t3 [X ] = t4 [X ] = t1 [X ] = t2 [X ]
t3 [Y ] = t1 [Y ] y t4 [Y ] = t2 [Y ]
t3 [Z ] = t2 [Z ] y t4 [Z ] = t1 [Z ]
Bases de Datos
Andrea Rodrguez
Ejemplo
NOMBREE
Rojas
Rojas
Rojas
Rojas
NOMBREP
X
Y
X
Y
NOMBRED
Ana
Pedro
Pedro
Ana
Bases de Datos
Andrea Rodrguez
Dependencias Multivaluadas
La definici
on formal especifica que, dado un cierto valor de X , el
conjunto de valores de Y determinado por este valor de X esta
completamente determinado s
olo por X , y no depende de los
valores de los atributos restantes Z de R. As pues, siempre que
existan dos tuplas con distintos valores de Y pero el mismo valor
de X , estos valores de Y deberan repetirse en cada valor distinto
de Z que ocurra con este mismo valor de X . De manera informal,
esto equivale a que Y sea un atributo multivaluado de las
entidades representadas por las tuplas de R.
Bases de Datos
Andrea Rodrguez
Bases de Datos
Andrea Rodrguez
4FN
I
Una relaci
on esta en cuarta forma normal (4FN) si esta en
3FN y todas las dependencias multivaluadas en ella son de
hecho dependencias funcionales.
Un esquema de relaci
on R esta en 4FN respecto a un
conjunto de dependencias funcionales F (que incluye
dependencias funcionales y dependencias multivaluadas) si,
para cada dependencia multivaluada no trivial X Y en
F +, X es una superclave
Bases de Datos
Andrea Rodrguez
Ejemplo
NOMBREE
Rojas
Rojas
Rojas
Rojas
NOMBREP
X
Y
X
Y
NOMBRED
Ana
Pedro
Pedro
Ana
Bases de Datos
Andrea Rodrguez
Ejemplo: Descomposici
on
NOMBREE NOMBREP
Se descompone en:
NOMBREE
NOMBREP
NOMBREE
NOMBRED
NOMBRED
Bases de Datos
Andrea Rodrguez
Ejemplo: Importancia
NOMBREE
NOMBREP
Perez
X
Perez
Y
Perez
W
Perez
Z
Perez
X
Perez
Y
Perez
W
Perez
Z
Perez
X
Perez
Y
Perez
W
Perez
Z
NOMBRED
Pedro
Pedro
Pedro
Pedro
Jose
Jose
Jose
Jose
Ana
Ana
Ana
Ana
NOMBREE
Perez
Perez
Perez
Perez
NOMBREP
X
Y
W
Z
NOMBREE
Perez
Perez
Perez
NOMBRED
Pedro
Jose
Ana
Bases de Datos
Andrea Rodrguez
4FN: decomposici
on
I
Bases de Datos
Andrea Rodrguez
Dependencia de Uni
on y 5FN
Una relaci
on est
a en quinta forma normal (5FN) si y s
olo si est
a en 4FN y el contenido de su
informaci
on no puede ser descompuesto con varias relaciones menores.
Si una relaci
on s
olo puede ser descompuesta en relaciones menores, todas ellas con la misma
clave, entonces ya est
a en quinta forma normal.
Esta forma normal tiene que ver con los casos en que la informaci
on total puede ser reconstruida
desde peque
nas unidades de informaci
on, las que se pueden mantener con menos redundancia.
La 2FN, 3FN y 4FN tambi
en sirven a este prop
osito, pero la 5FN generaliza los casos que no
han sido cubiertos por las formas normales anteriores.
Un esquema R est
a en quinta forma normal (o forma normal de proyecci
on-reuni
on) (FNDR)
respecto a un conjunto F de dependencias funcionales, multivaluadas y de reuni
on si, para cada
dependencia de reuni
on no trivial DR(R1 , R2 , . . . , Rn ), en F + (esto es implicada por F ), toda
Ri es una superclave de R.
Bases de Datos
Andrea Rodrguez
Ejemplo 5FN
Consid
erese el caso de vendedores que venden ciertos productos de distintas compa
na. Los
vendedores representan compa
na, las compa
na fabrican productos y los vendedores venden
productos.
VENDEDOR
V1
V1
V2
V2
V2
V2
COMPANIA
C1
C2
C1
C1
C2
C2
PRODUCTO
P1
P1
P1
P2
P1
P2
Bases de Datos
Andrea Rodrguez
Ejemplo 5FN:Descompisic
on
Ahora, en este caso, se puede reconstruir toda la informaci
on a partir de las siguientes relaciones:
VENDEDOR
PRODUCTO
V1
P1
V2
P1
V2
P2
VENDEDOR
COMPANIA
V1
C1
V1
C2
V2
C1
V2
C2
COMPANIA
PRODUCTO
C1
P1
C1
P2
C2
P1
C2
P2
Bases de Datos
Andrea Rodrguez
5FN:Comentarios
I
I
Una ventaja de la quinta forma normal es la de que ciertas redundancias pueden ser eliminadas.
I
I
Una de las diferencias entre ambas radica en que los hechos considerados bajo la 5FN no son
independientes. Otra de las diferencias es que la 4FN, aunque puede considerar m
as de dos
hechos multivaluados, s
olo los considera en parejas.
Bases de Datos
Andrea Rodrguez
Ejercicios
I Considere la siguiente relaci
on:
RELACION(NUM PEDIDO,FECHA PED,NUMCLIENTE,
NUM ARTICULO,NOMBRE ARTICULO,PRECIO UNI,CANTIDAD)
Para esta relaci
on, estos son las DFs:
I
I
I
Bases de Datos
Andrea Rodrguez
Ejercicios
I Considere la siguiente instancia de corredores:
Rut
11111111
2222222
3333333
4444444
Nombre
Ulloa
Salas
Roa
Fuentes
Edad
24
27
30
21
Rank
1
1
2
null
Bases de Datos
Andrea Rodrguez
Ejercicios
I Para la siguiente relaci
on R(A, C , B, D, E ) y dependencias funcionales
A B, C D. Indique la forma normal en que se encuentra y
normalice si es necesario.
I Considere una relaci
on R(A, B, C ). Se descompone en relaciones
R1(A, B) y R2(B, C ).