Вы находитесь на странице: 1из 119

Normalizacin

o
Dra. Amparo Lpez Gaona
o

Posgrado en Ciencia e Ingenier de la Computacin


a
o
Fac. Ciencias, UNAM
Marzo 2011

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Introduccin
o
La forma aceptada de eliminar la redundancia es la descomposicin de
o
relaciones.
Dada una relacin R (A1 , A2 , ...An ), se puede descomponer R en dos
o
relaciones S(B1 , B2 , ..., Bi ) y T(C1 , C2 , ..., Cj ) tales que:
1

{A1 , A2 , ..., An } = {B1 , B2 , ..., Bi } {C1 , C2 , ..., Cj }

Las tuplas en la relacin S son la proyeccin sobre {B1 , B2 , ..., Bi } de


o
o
las tuplas en R.

De manera similar, las tuplas en T son la proyeccin de


o
{C1 , C2 , ..., Cj } sobre R.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

nombreSuc
Centro
Viveros
Centro
Eugenia
Zapata

San Angel
Tlalpan
Centro
Las Fuentes

delegacin
o
Cuauhtmoc
e
Coyoacn
a
Cuauhtmoc
e
Benito Jurez
a
Benito Jurez
a
Alvaro Obregn
o
Tlalpan
Cuauhtmoc
e
Tlalpan

activo
1,800 M
340 M
1,800 M
80 M
1,600 M
60 M
740 M
1,800 M
1,420 M

nombreCte
Santos
Lpez
o
Toledo
Santos
Abril
Vzquez
a
Lpez
o
Gonzlez
a
Amor

nPrstamo
e
P-17
P-15
P-14
P-93
P-11
P-29
P-16
P-23
P-10

importe
200,000
300,000
300,000
100,000
180,000
240,000
260,000
400,000
440,000

Si se descompone la relacin en
o
Una relacin Sucursal (nombreSuc, delegacin, activo,
o
o
nombreCliente):
y
Una relacin Prstamo (nombreCliente, numPrstamo, importe)
o
e
e

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

nombreSuc
delegacin
o
activo nombreCliente
Centro
Cuauhtmoc
e
1,800,000,000 Santos
Copilco
Coyoacn
a
420,000,000 Gmez
o
Viveros
Coyoacn
a
340,000,000 Lpez
o
Centro
Cuauhtmoc
e
1,800,000,000 Toledo
Eugenia
Benito Jurez
a
80,000,000 Santos
Zapata
Benito Jurez
a
1,600,000,000 Abril

San Angel
Alvaro Obregn
o
60,000,000 Vzquez
a
Tlalpan
Tlalpan
740,000,000 Lpez
o
Centro
Cuauhtmoc
e
1,800,000,000 Gonzlez
a
Viveros
Coyoacn
a
340,000,000 Rodr
guez
Las Fuentes Tlalpan
1,420,000,000 Amor
nombreCliente numPrstamo importe
e
Santos
P-17
200,000
Gmez
o
P-23
400,000
Lpez
o
P-15
300,000
Toledo
P-14
300,000
Santos
P-93
100,000
Abril
P-11
180,000
Vzquez
a
P-29
240,000
Posgrado
a
P-16 o
260,000en Ciencia e Ingenier de la Compu
Dra. Amparo Lpez Gaona Lpez
o
()o
Normalizacin
/1

Consultas
Encontrar todas las sucursales tales que tienen prstamos con importe
e
menor a 200,000 pesos.
Con el esquema original.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Consultas
Encontrar todas las sucursales tales que tienen prstamos con importe
e
menor a 200,000 pesos.
Con el esquema original. Eugenia y Zapata.
Con el esquema fraccionado.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Consultas
Encontrar todas las sucursales tales que tienen prstamos con importe
e
menor a 200,000 pesos.
Con el esquema original. Eugenia y Zapata.
Con el esquema fraccionado. Eugenia, Zapata y Centro.
Indicar los prstamos que se tienen en cada sucursal:
e

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Consultas
Encontrar todas las sucursales tales que tienen prstamos con importe
e
menor a 200,000 pesos.
Con el esquema original. Eugenia y Zapata.
Con el esquema fraccionado. Eugenia, Zapata y Centro.
Indicar los prstamos que se tienen en cada sucursal:
e
Sucursal Prestamo slo para Santos dar
o
a
Centro
Centro
Eugenia
Eugenia

Cuauhtemoc
Cuauhtemoc
Coyoacan
Coyoacan

Dra. Amparo Lpez Gaona ()


o

Santos
Santos
Santos
Santos

P-17
P-93
P-17
P-93

Normalizacin
o

200
100
200
100

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Consultas
Encontrar todas las sucursales tales que tienen prstamos con importe
e
menor a 200,000 pesos.
Con el esquema original. Eugenia y Zapata.
Con el esquema fraccionado. Eugenia, Zapata y Centro.
Indicar los prstamos que se tienen en cada sucursal:
e
Sucursal Prestamo slo para Santos dar
o
a
Centro
Centro
Eugenia
Eugenia

Cuauhtemoc
Cuauhtemoc
Coyoacan
Coyoacan

Santos
Santos
Santos
Santos

P-17
P-93
P-17
P-93

200
100
200
100

Ambas relaciones tienen a NombreCliente en comn, as que para


u

juntarlas se usa este atributo que no es adecuado puesto que cliente puede
tener varios prstamos no necesariamente en la misma sucursal.
e

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Requisitos
Para la normalizacin se desea:
o
Eliminar las anomal
as.
Que las relaciones fraccionadas tengan un join sin prdida.
e
(Recuperacin de la informacin)
o
o
Conservar las dependencias funcionales.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Forma Normal de Boyce-Codd


Una relacin R est en BCNF si y slo si en toda DF no trivial
o
a
o
A1 A2 ...An B para R, se tiene que {A1 , A2 , ...An } es superllave de
R.
Ejemplos:

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Forma Normal de Boyce-Codd


Una relacin R est en BCNF si y slo si en toda DF no trivial
o
a
o
A1 A2 ...An B para R, se tiene que {A1 , A2 , ...An } es superllave de
R.
Ejemplos:
La relacin C (nombre, calle, ciudad) con
o
F ={nombre calle ciudad}

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Forma Normal de Boyce-Codd


Una relacin R est en BCNF si y slo si en toda DF no trivial
o
a
o
A1 A2 ...An B para R, se tiene que {A1 , A2 , ...An } es superllave de
R.
Ejemplos:
La relacin C (nombre, calle, ciudad) con
o
F ={nombre calle ciudad}
Est en BCNF.
a

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Forma Normal de Boyce-Codd


Una relacin R est en BCNF si y slo si en toda DF no trivial
o
a
o
A1 A2 ...An B para R, se tiene que {A1 , A2 , ...An } es superllave de
R.
Ejemplos:
La relacin C (nombre, calle, ciudad) con
o
F ={nombre calle ciudad}
Est en BCNF.
a
La relacin P(nombreSuc, nombreCliente, numPrstamo, importe)
o
e
con F = {numPrstamo Importe nombreSuc}
e

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Forma Normal de Boyce-Codd


Una relacin R est en BCNF si y slo si en toda DF no trivial
o
a
o
A1 A2 ...An B para R, se tiene que {A1 , A2 , ...An } es superllave de
R.
Ejemplos:
La relacin C (nombre, calle, ciudad) con
o
F ={nombre calle ciudad}
Est en BCNF.
a
La relacin P(nombreSuc, nombreCliente, numPrstamo, importe)
o
e
con F = {numPrstamo Importe nombreSuc}
e
No est en BCNF
a

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Forma Normal de Boyce-Codd


Una relacin R est en BCNF si y slo si en toda DF no trivial
o
a
o
A1 A2 ...An B para R, se tiene que {A1 , A2 , ...An } es superllave de
R.
Ejemplos:
La relacin C (nombre, calle, ciudad) con
o
F ={nombre calle ciudad}
Est en BCNF.
a
La relacin P(nombreSuc, nombreCliente, numPrstamo, importe)
o
e
con F = {numPrstamo Importe nombreSuc}
e
No est en BCNF
a
La relacin S(nombre, numPrstamo) con
o
e
F ={nombre numPrstamo}
e

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Forma Normal de Boyce-Codd


Una relacin R est en BCNF si y slo si en toda DF no trivial
o
a
o
A1 A2 ...An B para R, se tiene que {A1 , A2 , ...An } es superllave de
R.
Ejemplos:
La relacin C (nombre, calle, ciudad) con
o
F ={nombre calle ciudad}
Est en BCNF.
a
La relacin P(nombreSuc, nombreCliente, numPrstamo, importe)
o
e
con F = {numPrstamo Importe nombreSuc}
e
No est en BCNF
a
La relacin S(nombre, numPrstamo) con
o
e
F ={nombre numPrstamo}
e
Est en BCNF.
a

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Relaciones de dos atributos


Cualquier relacin R con dos atributos, A y B, est en BCNF:
o
a
1

Si no hay DF no-triviales entonces se mantiene la condicin de BCNF,


o
debido a que slo una DF no trivial puede violar esta condicin.
o
o
Incidentalmente notar que {A,B} es la unica llave.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Relaciones de dos atributos


Cualquier relacin R con dos atributos, A y B, est en BCNF:
o
a
1

Si no hay DF no-triviales entonces se mantiene la condicin de BCNF,


o
debido a que slo una DF no trivial puede violar esta condicin.
o
o
Incidentalmente notar que {A,B} es la unica llave.

Si se tiene A B, pero no B A, entonces A es la unica llave y

cada dependencia no trivial contiene A en la izquierda, por tanto no


hay violacin a la condicin BCNF.
o
o

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Relaciones de dos atributos


Cualquier relacin R con dos atributos, A y B, est en BCNF:
o
a
1

Si no hay DF no-triviales entonces se mantiene la condicin de BCNF,


o
debido a que slo una DF no trivial puede violar esta condicin.
o
o
Incidentalmente notar que {A,B} es la unica llave.

Si se tiene A B, pero no B A, entonces A es la unica llave y

cada dependencia no trivial contiene A en la izquierda, por tanto no


hay violacin a la condicin BCNF.
o
o

Si B A y ni se tiene A B es un caso simtrico al anterior.


e

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Relaciones de dos atributos


Cualquier relacin R con dos atributos, A y B, est en BCNF:
o
a
1

Si no hay DF no-triviales entonces se mantiene la condicin de BCNF,


o
debido a que slo una DF no trivial puede violar esta condicin.
o
o
Incidentalmente notar que {A,B} es la unica llave.

Si se tiene A B, pero no B A, entonces A es la unica llave y

cada dependencia no trivial contiene A en la izquierda, por tanto no


hay violacin a la condicin BCNF.
o
o

Si B A y ni se tiene A B es un caso simtrico al anterior.


e

Si se tienen A B y B A. Entonces tanto A como B son llaves, y


cualquier dependencia tiene al menos uno de ellos en su lado
izquierdo, por tanto no puede haber violacin de la norma BCNF.
o

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Descomposicin para lograr la BCNF


o
Es posible dividir cualquier relacin en otras con las siguientes propiedades:
o
Los datos en la relacin original se representan elmente por las
o
relaciones resultado de la descomposicin.
o
Las relaciones resultantes estn en BCNF.
a

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Descomposicin para lograr la BCNF


o
Es posible dividir cualquier relacin en otras con las siguientes propiedades:
o
Los datos en la relacin original se representan elmente por las
o
relaciones resultado de la descomposicin.
o
Las relaciones resultantes estn en BCNF.
a
La estrategia a seguir es:

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Descomposicin para lograr la BCNF


o
Es posible dividir cualquier relacin en otras con las siguientes propiedades:
o
Los datos en la relacin original se representan elmente por las
o
relaciones resultado de la descomposicin.
o
Las relaciones resultantes estn en BCNF.
a
La estrategia a seguir es:
1 Buscar una DF no trivial X B que viole BCNF.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Descomposicin para lograr la BCNF


o
Es posible dividir cualquier relacin en otras con las siguientes propiedades:
o
Los datos en la relacin original se representan elmente por las
o
relaciones resultado de la descomposicin.
o
Las relaciones resultantes estn en BCNF.
a
La estrategia a seguir es:
1 Buscar una DF no trivial X B que viole BCNF.
2 Calcular X+ .

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Descomposicin para lograr la BCNF


o
Es posible dividir cualquier relacin en otras con las siguientes propiedades:
o
Los datos en la relacin original se representan elmente por las
o
relaciones resultado de la descomposicin.
o
Las relaciones resultantes estn en BCNF.
a
La estrategia a seguir es:
1 Buscar una DF no trivial X B que viole BCNF.
2 Calcular X+ .
3 Fraccionar R en R1(X+ ) y R2( (R-X+ ) X).

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Descomposicin para lograr la BCNF


o
Es posible dividir cualquier relacin en otras con las siguientes propiedades:
o
Los datos en la relacin original se representan elmente por las
o
relaciones resultado de la descomposicin.
o
Las relaciones resultantes estn en BCNF.
a
La estrategia a seguir es:
1 Buscar una DF no trivial X B que viole BCNF.
2 Calcular X+ .
3 Fraccionar R en R1(X+ ) y R2( (R-X+ ) X).
Otros

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

X+

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Descomposicin para lograr la BCNF


o
Es posible dividir cualquier relacin en otras con las siguientes propiedades:
o
Los datos en la relacin original se representan elmente por las
o
relaciones resultado de la descomposicin.
o
Las relaciones resultantes estn en BCNF.
a
La estrategia a seguir es:
1 Buscar una DF no trivial X B que viole BCNF.
2 Calcular X+ .
3 Fraccionar R en R1(X+ ) y R2( (R-X+ ) X).
Otros

X+

Encontrar las DFs para las nuevas relaciones.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Descomposicin para lograr la BCNF


o
Es posible dividir cualquier relacin en otras con las siguientes propiedades:
o
Los datos en la relacin original se representan elmente por las
o
relaciones resultado de la descomposicin.
o
Las relaciones resultantes estn en BCNF.
a
La estrategia a seguir es:
1 Buscar una DF no trivial X B que viole BCNF.
2 Calcular X+ .
3 Fraccionar R en R1(X+ ) y R2( (R-X+ ) X).
Otros

X+

Encontrar las DFs para las nuevas relaciones.


Repetir los 4 pasos anteriores hasta que todas las relaciones estn en
e
BCNF.
Posgrado en Ciencia e Ingenier de la Compu
a
ElDra. Amparo Lpez Gaona unin de las relacionesonen BCNF.
resultado es la () o
o
Normalizaci
/1
4

Ejemplo
La relacin P(nombreSuc, nombreCliente, numPrstamo, importe)
o
e
con
F = {numPrstamo importe nombreSuc}
e
Se descompone en:

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplo
La relacin P(nombreSuc, nombreCliente, numPrstamo, importe)
o
e
con
F = {numPrstamo importe nombreSuc}
e
Se descompone en:
P1(numPrstamo, importe, nombreSuc)
e

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplo
La relacin P(nombreSuc, nombreCliente, numPrstamo, importe)
o
e
con
F = {numPrstamo importe nombreSuc}
e
Se descompone en:
P1(numPrstamo, importe, nombreSuc)
e
P2(nombreCliente, numPrstamo)
e

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

DFs para las nuevas relaciones


Sea R una relacin descompuesta en S y otra ms. Sea F el conjunto de
o
a
DFs para R. Para calcular las DF mantenidas en S hacer:
1

Para cada conjunto X de atributos contenidos en S calcular X + .

Para cada atributo B tal que


B es un atributo de S,
B no est en X, y
a
B est en X +
a

se tiene la dependencia funcional X B en S.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplo
Sean R(A, B, C, D), y F = {A B, B C}
Si se tiene una subrelacin S(A, C) cules DFs se cumplen en S?
o
a
Calcular la cerradura de cada subconjunto de {A, C}:
{A}+ = {A, B, C}. El punto 2 del algoritmo slo se cumple para C,
o
por tanto en S se mantiene la dependencia A C.
{C}+ = {C} porque no est en el lado izquierdo de ninguna DF.
a
En general un conjunto que no contiene al menos un lado izquierdo
de una DF no puede tener dependencias para S.
{A,C}+ = {A, B, C}. Esto no agrega ninguna nueva dependencia
para S.
Por tanto la unica dependencia para S es A C.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Otro ejemplo
Sean R(A, B, C, D, E) y F {A D, B E, DE C}
Determinar las DFs que se cumplen en S(A, B, C)

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Otro ejemplo
Sean R(A, B, C, D, E) y F {A D, B E, DE C}
Determinar las DFs que se cumplen en S(A, B, C)
1

{A}+ = {A, D}, como D no est en el esquema de S, no hay DF aqu


a
.

{B}+ = {B, E}, no hay DF

{C}+ = {C}, no hay DF

{A,B}+ = {A, B, C, D, E}, con lo cual se obtiene la dependencia


funcional AB C para S.

Ningn otro par de atributos agrega nada nuevo.


u

El conjunto de {A, B, C} no da dependencias no triviales para S.

Por tanto, la unica dependencia para S es AB C.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejercicios de normalizacin BNCF


o
Sea R(nombreSuc, delegacion, activo, nombreCliente,
noPrestamo, importe)
DF: { nombreSuc delegacion activo
noPrestamo importe nombreSuc }

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejercicios de normalizacin BNCF


o
Sea R(nombreSuc, delegacion, activo, nombreCliente,
noPrestamo, importe)
DF: { nombreSuc delegacion activo
noPrestamo importe nombreSuc }
Pelicula (titulo, ao, duracin, gnero, estudio, actorP)
n
o
e
F = { titulo ao duracin gnero estudio) }
n
o e

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejercicios de normalizacin BNCF


o
Sea R(nombreSuc, delegacion, activo, nombreCliente,
noPrestamo, importe)
DF: { nombreSuc delegacion activo
noPrestamo importe nombreSuc }
Pelicula (titulo, ao, duracin, gnero, estudio, actorP)
n
o
e
F = { titulo ao duracin gnero estudio) }
n
o e
Duda (t
tulo, ao, estudio, presidente, direccinP )
n
o
F = { t
tulo ao estudio
n
estudio presidente
presidente direccinP }
o

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejercicios de normalizacin BNCF


o
Sea R(nombreSuc, delegacion, activo, nombreCliente,
noPrestamo, importe)
DF: { nombreSuc delegacion activo
noPrestamo importe nombreSuc }
Pelicula (titulo, ao, duracin, gnero, estudio, actorP)
n
o
e
F = { titulo ao duracin gnero estudio) }
n
o e
Duda (t
tulo, ao, estudio, presidente, direccinP )
n
o
F = { t
tulo ao estudio
n
estudio presidente
presidente direccinP }
o
R(A,B,C,D,E,F) con {A BC, E FA}
Dra. Amparo Lpez Gaona ()
o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Recuperacin de la informacin a partir de una


o
o
descomposicin
o
Interesa que la descomposicin preserve la informacin contenida en la
o
o
relacin original.
o
Consideremos R(A, B, C) con B C que suponemos es una violacin a la
o
BCNF,
Al descomponer R obtenemos S(B, C) y T=(A, B).
Sea t = (a, b, c) una tupla de R.
Al proyectarla en la descomposicin se obtienen (a, b) para T, y (b, c)
o
para S.
Al hacer un join sobre el atributo comn, en este caso B, obtenemos
u
nuevamente t.
Sin embargo regresar a las tuplas iniciales no es suciente para asegurar
que la relacin original est realmente representada por la descomposicin.
o
a
o
Dra. Amparo Lpez Gaona ()
o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplo
Si se tiene la relacin con la siguiente extensin:
o
o
A B C
R= a b c
d b e
sta se descompone en las dos siguientes con su respectiva proyeccin:
e
o
A B
B C
S= a b
T= b c
d b
b e

T=

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplo
Si se tiene la relacin con la siguiente extensin:
o
o
A B C
R= a b c
d b e
sta se descompone en las dos siguientes con su respectiva proyeccin:
e
o
A B
B C
S= a b
T= b c
d b
b e
A B C
a b c
S T= a b e =R
d b c
d b e
son correctas las proyecciones?

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplo

Si se tiene la relacin con la siguiente extensin:


o
o
A B C
R= a b c
d b e
sta se descompone en las dos siguientes con su respectiva proyeccin:
e
o
A B
B C
S= a b
T= b c
d b
b e
A B C
a b c
S T= a b e =R
d b c
d b e
son correctas las proyecciones?
La justicacin de la no-prdida ni ganancia de informacin es debido a
o
e
o
que se est considerando a las DFs.
a
Posgrado en Ciencia e Ingenier de la Compu
a
Dra. Amparo Lpez Gaona ()
o

Normalizacin
o

/1

Ejemplo
Reservaciones (pelcula, cine, ciudad) con las dependencias

funcionales
{cine ciudad, pelcula ciudad cine}

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplo
Reservaciones (pelcula, cine, ciudad) con las dependencias

funcionales
{cine ciudad, pelcula ciudad cine}

Ningn atributo por s solo es una llave.


u

Por otro lado, las parejas {pelcula, ciudad} y {cine, pelcula}

s son llaves.

cine ciudad viola la BCNF.


Si normalizamos esta relacin obtenemos:
o

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplo
Reservaciones (pelcula, cine, ciudad) con las dependencias

funcionales
{cine ciudad, pelcula ciudad cine}

Ningn atributo por s solo es una llave.


u

Por otro lado, las parejas {pelcula, ciudad} y {cine, pelcula}

s son llaves.

cine ciudad viola la BCNF.


Si normalizamos esta relacin obtenemos: S(cine, ciudad) y T(cine,
o
pelcula)

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Problemas
El problema con esta descomposicin es por la pelcula ciudad
o

cine.
cine
ciudad
S = Real Cinema
Cd. Mxico
e
Linterna Mgica Cd. Mxico
a
e
cine
pel
cula
T = Real Cinema
La vida de los otros
Linterna Mgica La vida de los otros
a
estas son permisibles de acuerdo a las DFs de cada relacin, pero al unirlas
o
obtenemos
cine
ciudad
pel
cula
S T = Real Cinema
Cd. Mxico La vida de los otros
e
Linterna Mgica Cd. Mxico La vida de los otros
a
e

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Problemas
El problema con esta descomposicin es por la pelcula ciudad
o

cine.
cine
ciudad
S = Real Cinema
Cd. Mxico
e
Linterna Mgica Cd. Mxico
a
e
cine
pel
cula
T = Real Cinema
La vida de los otros
Linterna Mgica La vida de los otros
a
estas son permisibles de acuerdo a las DFs de cada relacin, pero al unirlas
o
obtenemos
cine
ciudad
pel
cula
S T = Real Cinema
Cd. Mxico La vida de los otros
e
Linterna Mgica Cd. Mxico La vida de los otros
a
e
que viola la dependencia pelcula ciudad cine.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Problemas
El problema con esta descomposicin es por la pelcula ciudad
o

cine.
cine
ciudad
S = Real Cinema
Cd. Mxico
e
Linterna Mgica Cd. Mxico
a
e
cine
pel
cula
T = Real Cinema
La vida de los otros
Linterna Mgica La vida de los otros
a
estas son permisibles de acuerdo a las DFs de cada relacin, pero al unirlas
o
obtenemos
cine
ciudad
pel
cula
S T = Real Cinema
Cd. Mxico La vida de los otros
e
Linterna Mgica Cd. Mxico La vida de los otros
a
e
que viola la dependencia pelcula ciudad cine.

La solucin al problema anterior es relajar la condicin para la BCNF.


o
o
Dra. Amparo Lpez Gaona ()
o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Tercera Forma Normal


Una relacin R est en tercera forma normal 3NF con respecto a F, si para
o
a
toda dependencia no trivial A1 , A2 , ..., An B1 , B2 , ..., Bm , se tiene que:
el lado izquierdo (A1 , A2 , ..., An ) es una superllave o bien
el lado derecho, (B1 , ..., Bm , es miembro de alguna llave candidata de
R (Atributo primo).
El segundo punto, es el que permite una DF como cine ciudad del
ejemplo anterior, porque ciudad es miembro de una llave.
Siempre es posible descomponer un esquema de relacin sin prdida de
o
e
informacin en esquemas que estn en 3FN y permiten que se veriquen
o
a
todas la DF.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Algoritmo de s
ntesis
Su objetivo es descomponer R, con DFs F, en relaciones que satisfagan la
3NF.
1

Hacer F m
nimo (Fm ) en el sentido que:
No se puede eliminar ninguna DF de F, y
No se puede eliminar ningn atributo de ninguna DF de F
u

sin producir un conjunto de DFs equivalente a F.


2

Para toda DF en Fm crear una relacin que contenga slo los atributos
o
o
de ella, permitiendo unir relaciones con el mismo lado izquierdo.

Si no existe esquema que contenga llaves candidatas de R crear una


relacin con los atributos que la forman.
o

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Conceptos
1

Atributos superuos.

Conjuntos equivalentes de DFs.

Conjunto m
nimo de DFs.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Atributos superuos

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Atributos superuos
A es un atributo superuo si se puede eliminar de la DF sin que se altere
la cerradura de F.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Atributos superuos
A es un atributo superuo si se puede eliminar de la DF sin que se altere
la cerradura de F.
Sean una DF en F y A un atributo, A es superuo si
1 Si A est en . Sea = {A} si F |= .
a
2 Si A est en . Sea F = (F - { }) { ( A)}, si F
a
|= A.
Ejemplos:
1 Determinar los atributos superuos de F = {AB C, A C}
A es superuo en AB C?.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Atributos superuos
A es un atributo superuo si se puede eliminar de la DF sin que se altere
la cerradura de F.
Sean una DF en F y A un atributo, A es superuo si
1 Si A est en . Sea = {A} si F |= .
a
2 Si A est en . Sea F = (F - { }) { ( A)}, si F
a
|= A.
Ejemplos:
1 Determinar los atributos superuos de F = {AB C, A C}
A es superuo en AB C?. B+ = {B} por tanto

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Atributos superuos
A es un atributo superuo si se puede eliminar de la DF sin que se altere
la cerradura de F.
Sean una DF en F y A un atributo, A es superuo si
1 Si A est en . Sea = {A} si F |= .
a
2 Si A est en . Sea F = (F - { }) { ( A)}, si F
a
|= A.
Ejemplos:
1 Determinar los atributos superuos de F = {AB C, A C}
A es superuo en AB C?. B+ = {B} por tanto no es superuo.
B es superuo en AB C?.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Atributos superuos
A es un atributo superuo si se puede eliminar de la DF sin que se altere
la cerradura de F.
Sean una DF en F y A un atributo, A es superuo si
1 Si A est en . Sea = {A} si F |= .
a
2 Si A est en . Sea F = (F - { }) { ( A)}, si F
a
|= A.
Ejemplos:
1 Determinar los atributos superuos de F = {AB C, A C}
A es superuo en AB C?. B+ = {B} por tanto no es superuo.
B es superuo en AB C?.
A+ = {AC}

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Atributos superuos
A es un atributo superuo si se puede eliminar de la DF sin que se altere
la cerradura de F.
Sean una DF en F y A un atributo, A es superuo si
1 Si A est en . Sea = {A} si F |= .
a
2 Si A est en . Sea F = (F - { }) { ( A)}, si F
a
|= A.
Ejemplos:
1 Determinar los atributos superuos de F = {AB C, A C}
A es superuo en AB C?. B+ = {B} por tanto no es superuo.
B es superuo en AB C?.
A+ = {AC} como B si est en la cerradura se tiene que B es superuo.
a
2

Determinar los atributos superuos de F = {AB CD, A C}

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Atributos superuos
A es un atributo superuo si se puede eliminar de la DF sin que se altere
la cerradura de F.
Sean una DF en F y A un atributo, A es superuo si
1 Si A est en . Sea = {A} si F |= .
a
2 Si A est en . Sea F = (F - { }) { ( A)}, si F
a
|= A.
Ejemplos:
1 Determinar los atributos superuos de F = {AB C, A C}
A es superuo en AB C?. B+ = {B} por tanto no es superuo.
B es superuo en AB C?.
A+ = {AC} como B si est en la cerradura se tiene que B es superuo.
a
2

Determinar los atributos superuos de F = {AB CD, A C}


Del lado izquierdo

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Atributos superuos
A es un atributo superuo si se puede eliminar de la DF sin que se altere
la cerradura de F.
Sean una DF en F y A un atributo, A es superuo si
1 Si A est en . Sea = {A} si F |= .
a
2 Si A est en . Sea F = (F - { }) { ( A)}, si F
a
|= A.
Ejemplos:
1 Determinar los atributos superuos de F = {AB C, A C}
A es superuo en AB C?. B+ = {B} por tanto no es superuo.
B es superuo en AB C?.
A+ = {AC} como B si est en la cerradura se tiene que B es superuo.
a
2

Determinar los atributos superuos de F = {AB CD, A C}


Del lado izquierdo no hay porque no tengo B CD, ni A CD.
Lado derecho.
C ver si F= {A C, AB D } |= AB C.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Atributos superuos
A es un atributo superuo si se puede eliminar de la DF sin que se altere
la cerradura de F.
Sean una DF en F y A un atributo, A es superuo si
1 Si A est en . Sea = {A} si F |= .
a
2 Si A est en . Sea F = (F - { }) { ( A)}, si F
a
|= A.
Ejemplos:
1 Determinar los atributos superuos de F = {AB C, A C}
A es superuo en AB C?. B+ = {B} por tanto no es superuo.
B es superuo en AB C?.
A+ = {AC} como B si est en la cerradura se tiene que B es superuo.
a
2

Determinar los atributos superuos de F = {AB CD, A C}


Del lado izquierdo no hay porque no tengo B CD, ni A CD.
Lado derecho.
C ver si F= {A C, AB D } |= AB C. Si porque
AB+ ={ABCD}
D ver si F= {A C, AB C } |= AB D.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Atributos superuos
A es un atributo superuo si se puede eliminar de la DF sin que se altere
la cerradura de F.
Sean una DF en F y A un atributo, A es superuo si
1 Si A est en . Sea = {A} si F |= .
a
2 Si A est en . Sea F = (F - { }) { ( A)}, si F
a
|= A.
Ejemplos:
1 Determinar los atributos superuos de F = {AB C, A C}
A es superuo en AB C?. B+ = {B} por tanto no es superuo.
B es superuo en AB C?.
A+ = {AC} como B si est en la cerradura se tiene que B es superuo.
a
2

Determinar los atributos superuos de F = {AB CD, A C}


Del lado izquierdo no hay porque no tengo B CD, ni A CD.
Lado derecho.

Dra.

C ver si F= {A C, AB D } |= AB C. Si porque
AB+ ={ABCD}
D ver si F= {A C, AB C } |= AB D. NO porque
Posgrado en Ciencia e Ingenier de la Compu
a
AB+ ()
Amparo Lpez Gaona ={ABC}
o
Normalizacin
o
/1

Equivalencia entre conjuntos de DFs


Dos conjuntos de DF, F1 y F2 son equivalentes si F1 |= F2 y F2 |= F1.
Ejemplos:
Sean F = {A B, B C, AC D}
Si F1 = {A B, B C, A D}

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Equivalencia entre conjuntos de DFs


Dos conjuntos de DF, F1 y F2 son equivalentes si F1 |= F2 y F2 |= F1.
Ejemplos:
Sean F = {A B, B C, AC D}
Si F1 = {A B, B C, A D} es equivalente a F.
Si F2 = {A B, B C, C D}

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Equivalencia entre conjuntos de DFs


Dos conjuntos de DF, F1 y F2 son equivalentes si F1 |= F2 y F2 |= F1.
Ejemplos:
Sean F = {A B, B C, AC D}
Si F1 = {A B, B C, A D} es equivalente a F.
Si F2 = {A B, B C, C D} no es equivalente a F.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Conjunto m
nimo
Un conjunto F de DFs es m
nimo si
No tiene atributos superuos.
Cada lado izquierdo de las DF de F es unico, es decir no existen

1 1 , 2 2 tales que 1 = 2 .
Algoritmo para calcular el conjunto F equivalente a F que sea m
nimo:
Repetir
1

Aplicar la regla de la unin a relacion tales que 1 1 , 1 2


o
para obtener 1 1 2 y sustituir con esta ultima las DFs con igual

lado izquierdo.

Eliminar los atributos superuos de las DFs.

Hasta que ya no haya ningn cambio.


u

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplo: Sea R(A,B,C) y F = { A BC, B C, A B, AB C }


determinar si F es m
nimo y si no es as encontrar el m

nimo.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplo: Sea R(A,B,C) y F = { A BC, B C, A B, AB C }


determinar si F es m
nimo y si no es as encontrar el m

nimo.
1

Unir A BC y A B, con lo cual se obtiene A BC. F = {A


BC, B C, AB C }

A es superuo en AB C, al eliminarlo F = {A BC, B C, B


C } = {A BC, B C}

C es superuo en la primera DF.

Por tanto el conjunto m


nimo es {A B, B C}

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Unicidad del conjunto m


nimo
Este conjunto m
nimo puede no ser unico.

F = {A BC, B AC, C AB }
Como no hay lados izquierdo en comn, se empieza por determinar
u
atributos superuos.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Unicidad del conjunto m


nimo
Este conjunto m
nimo puede no ser unico.

F = {A BC, B AC, C AB }
Como no hay lados izquierdo en comn, se empieza por determinar
u
atributos superuos.
Ver si B es superuo en A BC, es decir vericar que A C se
deriva de F. Si lo es, por tanto F = {A C, B AC, C AB }.
Ver si A es superuo en B AC. Si lo es.
F= {A C, B C, C AB }
Ver si A es superuo en C AB. No lo es.
Ver si B es superuo en C AB. No lo es.
Por tanto, el conjunto m
nimo es: {A C, B C, C AB }

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Unicidad del conjunto m


nimo
Este conjunto m
nimo puede no ser unico.

F = {A BC, B AC, C AB }
Como no hay lados izquierdo en comn, se empieza por determinar
u
atributos superuos.
Ver si B es superuo en A BC, es decir vericar que A C se
deriva de F. Si lo es, por tanto F = {A C, B AC, C AB }.
Ver si A es superuo en B AC. Si lo es.
F= {A C, B C, C AB }
Ver si A es superuo en C AB. No lo es.
Ver si B es superuo en C AB. No lo es.
Por tanto, el conjunto m
nimo es: {A C, B C, C AB }
Por otro lado podr
amos llegar a:
{A C, B A, C AB }
{A B, B C, C A }
{A B, B AC, C B }
etc.
Dra. Amparo Lpez Gaona ()
o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Algoritmo de s
ntesis
Su objetivo es descomponer R, con DFs F, en relaciones que satisfagan la
3NF.
1

Hacer F m
nimo (Fm ).

Para toda DF en Fm crear una relacin que contenga slo los


o
o
atributos de ella.

Si no existe esquema que contenga llaves candidatas de R crear una


relacin con los atributos que la forman.
o

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplos de normalizacin
o
Sea R(A,B,C,D) y F = {A B, B C, AC D}
1

Encontrar un m
nimo equivalente a F:

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplos de normalizacin
o
Sea R(A,B,C,D) y F = {A B, B C, AC D}
1

Encontrar un m
nimo equivalente a F: Fm = {A B, B C, A
D}

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplos de normalizacin
o
Sea R(A,B,C,D) y F = {A B, B C, AC D}
1

Encontrar un m
nimo equivalente a F: Fm = {A B, B C, A
D} Fm = {A BD, B C }

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplos de normalizacin
o
Sea R(A,B,C,D) y F = {A B, B C, AC D}
1

Encontrar un m
nimo equivalente a F: Fm = {A B, B C, A
D} Fm = {A BD, B C }
Determinar si B o D son superuos.

Dividir.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplos de normalizacin
o
Sea R(A,B,C,D) y F = {A B, B C, AC D}
1

Encontrar un m
nimo equivalente a F: Fm = {A B, B C, A
D} Fm = {A BD, B C }
Determinar si B o D son superuos.

Dividir. Se obtienen dos esquemas: R1(A,B,D) y R2(B,C), en el cual


se verican todas las DFs de Fm y por tanto las de F.

Llaves candidatas de R:

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplos de normalizacin
o
Sea R(A,B,C,D) y F = {A B, B C, AC D}
1

Encontrar un m
nimo equivalente a F: Fm = {A B, B C, A
D} Fm = {A BD, B C }
Determinar si B o D son superuos.

Dividir. Se obtienen dos esquemas: R1(A,B,D) y R2(B,C), en el cual


se verican todas las DFs de Fm y por tanto las de F.

Llaves candidatas de R: A

Sea R(A,B,C,D,E) y F = {AB C, C D, D B, D E}


1

Encontrar un m
nimo equivalente a F:

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplos de normalizacin
o
Sea R(A,B,C,D) y F = {A B, B C, AC D}
1

Encontrar un m
nimo equivalente a F: Fm = {A B, B C, A
D} Fm = {A BD, B C }
Determinar si B o D son superuos.

Dividir. Se obtienen dos esquemas: R1(A,B,D) y R2(B,C), en el cual


se verican todas las DFs de Fm y por tanto las de F.

Llaves candidatas de R: A

Sea R(A,B,C,D,E) y F = {AB C, C D, D B, D E}


1

Encontrar un m
nimo equivalente a F: Fm = {AB C, C D, D
BE}

Dividir.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplos de normalizacin
o
Sea R(A,B,C,D) y F = {A B, B C, AC D}
1

Encontrar un m
nimo equivalente a F: Fm = {A B, B C, A
D} Fm = {A BD, B C }
Determinar si B o D son superuos.

Dividir. Se obtienen dos esquemas: R1(A,B,D) y R2(B,C), en el cual


se verican todas las DFs de Fm y por tanto las de F.

Llaves candidatas de R: A

Sea R(A,B,C,D,E) y F = {AB C, C D, D B, D E}


1

Encontrar un m
nimo equivalente a F: Fm = {AB C, C D, D
BE}

Dividir. Se obtienen tres esquemas: R1(A,B,C), R2(C,D) y R3(D,B,E),


en el cual se verican todas las DFs de Fm y por tanto las de F.

Llaves candidatas:

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplos de normalizacin
o
Sea R(A,B,C,D) y F = {A B, B C, AC D}
1

Encontrar un m
nimo equivalente a F: Fm = {A B, B C, A
D} Fm = {A BD, B C }
Determinar si B o D son superuos.

Dividir. Se obtienen dos esquemas: R1(A,B,D) y R2(B,C), en el cual


se verican todas las DFs de Fm y por tanto las de F.

Llaves candidatas de R: A

Sea R(A,B,C,D,E) y F = {AB C, C D, D B, D E}


1

Encontrar un m
nimo equivalente a F: Fm = {AB C, C D, D
BE}

Dividir. Se obtienen tres esquemas: R1(A,B,C), R2(C,D) y R3(D,B,E),


en el cual se verican todas las DFs de Fm y por tanto las de F.

Llaves candidatas: AB, AC, AD

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Importancia de que F sea m


nimo
Ejemplo: R(A,B,C) con F = {A B, B C, AB C }.
Si no se verica que F sea m
nimo se crean:

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Importancia de que F sea m


nimo
Ejemplo: R(A,B,C) con F = {A B, B C, AB C }.
Si no se verica que F sea m
nimo se crean:
R1 (A,B)

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Importancia de que F sea m


nimo
Ejemplo: R(A,B,C) con F = {A B, B C, AB C }.
Si no se verica que F sea m
nimo se crean:
R1 (A,B)
R2 (B,C)

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Importancia de que F sea m


nimo
Ejemplo: R(A,B,C) con F = {A B, B C, AB C }.
Si no se verica que F sea m
nimo se crean:
R1 (A,B)
R2 (B,C)
R3 (A,B,C)

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Importancia de que F sea m


nimo
Ejemplo: R(A,B,C) con F = {A B, B C, AB C }.
Si no se verica que F sea m
nimo se crean:
R1 (A,B)
R2 (B,C)
a
R3 (A,B,C) que no est en 3NF porque se cumplen las tres DF

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Importancia de que F sea m


nimo
Ejemplo: R(A,B,C) con F = {A B, B C, AB C }.
Si no se verica que F sea m
nimo se crean:
R1 (A,B)
R2 (B,C)
a
R3 (A,B,C) que no est en 3NF porque se cumplen las tres DF y las dos
primeras violan la 3NF.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Importancia de que F sea m


nimo
Ejemplo: R(A,B,C) con F = {A B, B C, AB C }.
Si no se verica que F sea m
nimo se crean:
R1 (A,B)
R2 (B,C)
a
R3 (A,B,C) que no est en 3NF porque se cumplen las tres DF y las dos
primeras violan la 3NF.
Cul es el conjunto m
a
nimo?

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Importancia de que F sea m


nimo
Ejemplo: R(A,B,C) con F = {A B, B C, AB C }.
Si no se verica que F sea m
nimo se crean:
R1 (A,B)
R2 (B,C)
a
R3 (A,B,C) que no est en 3NF porque se cumplen las tres DF y las dos
primeras violan la 3NF.
Cul es el conjunto m
a
nimo? F = { A B, B C }
Por lo tanto las relaciones en 3FN resultantes son:

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Importancia de que F sea m


nimo
Ejemplo: R(A,B,C) con F = {A B, B C, AB C }.
Si no se verica que F sea m
nimo se crean:
R1 (A,B)
R2 (B,C)
a
R3 (A,B,C) que no est en 3NF porque se cumplen las tres DF y las dos
primeras violan la 3NF.
Cul es el conjunto m
a
nimo? F = { A B, B C }
Por lo tanto las relaciones en 3FN resultantes son: R1 (A,B)

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Importancia de que F sea m


nimo
Ejemplo: R(A,B,C) con F = {A B, B C, AB C }.
Si no se verica que F sea m
nimo se crean:
R1 (A,B)
R2 (B,C)
a
R3 (A,B,C) que no est en 3NF porque se cumplen las tres DF y las dos
primeras violan la 3NF.
Cul es el conjunto m
a
nimo? F = { A B, B C }
Por lo tanto las relaciones en 3FN resultantes son: R1 (A,B)
R2 (B,C)

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Dependencias Multivaluadas
Sea R(nombre, direccin, telfono, aficin) con nombre
o
e
o
direccin.
o
nombre
n1
n1
n1
n1
n1
n1

dir
d1
d1
d1
d1
d1
d1

tel
t1
t1
t1
t2
t2
t2

acin
o
h1
h2
h3
h1
h2
h3

Llave:

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Dependencias Multivaluadas
Sea R(nombre, direccin, telfono, aficin) con nombre
o
e
o
direccin.
o
nombre
n1
n1
n1
n1
n1
n1

dir
d1
d1
d1
d1
d1
d1

tel
t1
t1
t1
t2
t2
t2

acin
o
h1
h2
h3
h1
h2
h3

e
o
Llave: nombre telfono aficin.
Una violacin a BCNF:
o

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Dependencias Multivaluadas
Sea R(nombre, direccin, telfono, aficin) con nombre
o
e
o
direccin.
o
nombre
n1
n1
n1
n1
n1
n1

dir
d1
d1
d1
d1
d1
d1

tel
t1
t1
t1
t2
t2
t2

acin
o
h1
h2
h3
h1
h2
h3

e
o
Llave: nombre telfono aficin.
Una violacin a BCNF: nombre direccin.
o
o
Dividir en

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Dependencias Multivaluadas
Sea R(nombre, direccin, telfono, aficin) con nombre
o
e
o
direccin.
o
nombre
n1
n1
n1
n1
n1
n1

dir
d1
d1
d1
d1
d1
d1

tel
t1
t1
t1
t2
t2
t2

acin
o
h1
h2
h3
h1
h2
h3

e
o
Llave: nombre telfono aficin.
Una violacin a BCNF: nombre direccin.
o
o
o
e
Dividir en R1(nombre, direccin) R2(nombre, telfono,
aficin).
o
Ambas estn en BCNF.
a
Dra. Amparo Lpez Gaona ()
o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Veamos R1:

nombre
n1

direccin
o
d1

nombre tel acin


o
n1
t1 h1
n1
t1 h2
Veamos R2: n1
t1 h3
n1
t2 h1
n1
t2 h2
n1
t2 h3
Los telfonos y aciones estn repetidos
e
a
Si n1 tiene n telfonos y m aciones, habr n*m tuplas para n1,
e
a
cuando se podr tener slo el max(n,m).
an
o

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Denicin
o
Existe una dependencia multivaluada (DMV) A1 A2 ...An
B1 B2 ...Bm
si para cada par de tuplas t1 y t2 de la relacin R que coinciden en todos
o
los valores de las As podemos encontrar una tupla t3 tal que coincida con:
1

t1 y t2 en las As,

t1 en las Bs, y

t2 en todos los atributos de R que no estn ni el As ni en las Bs


a
As

Bs

t1

1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000

t2

11111
00000
11111
00000
11111
00000
11111
00000

t3

Dra. Amparo Lpez Gaona ()


o

Otros

1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
11111111111111111111
00000000000000000000
1111111111
0000000000
11111111111111111111
00000000000000000000
11111111111111111111
00000000000000000000
Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Es posible intercambiar t1 con t2 e inferir la existencia de una tupla t4 que


coincide con t2 en las Bs y con t1 en los otros atributos.
Como consecuencia de esto, para un valor jo de las As, los valores
asociados de las Bs y los otros atributos aparecen en todas las posibles
combinaciones en diferentes tuplas.
En otras palabras si para cada par de tuplas de R que coinciden en los
atributos de A, se puede intercambiar los atributos de B y conseguir dos
nuevas tuplas para R.

As

Dra. Amparo Lpez Gaona ()


o

Bs

Normalizacin
o

otros

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Comparacin entre DF y DMV


o
Las DFs excluyen ciertas tuplas de una relacin, si A B entonces no
o
puede haber dos tuplas con el mismo valor de A y diferente de B.
Las DMVs requieren que otras tuplas estn presentes en la relacin.
e
o

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplo
prstamo
e
P23
BC
P23
P93

nombreCliente
Gmez
o
Gmez
o
Prez
e

calleNum
Clavel 25-A-201
Insurgentes 4141
Jurez 85
a

ciudad
Cuernavaca
Mxico D.F.
e
Oaxaca

Si el cliente Gmez obtuviera otro prstamo, digamos el P27, se tendr


o
e
an
que agregar dos tuplas:
prstamo
e
P23
P23
P27
P27
P93

nombreCliente
Gmez
o
Gmez
o
Gmez
o
Gmez
o
Prez
e

calleNum
Clavel 25-A-201
Insurgentes 4141
Clavel 25-A-201
Insurgentes 4141
Jurez 85
a

ciudad
Cuernavaca
Mxico D.F.
e
Cuernavaca
Mxico D.F.
e
Oaxaca

Se requiere que esta relacin tenga la DMV nombreCliente


o
calleNum ciudad
Se debe vericar est condicin para TODOS los pares de tuplas que
a
o
coincidan con el nombre, no slo con un par.
o
Dra. Amparo Lpez Gaona ()
o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Reglas para las DMV


Sean A = {A1 A2 ...An }, B = {B1 B2 ...Bm } conjuntos de atributos de una
relacin R. Las DMVs satisfacen las siguientes reglas:
o
1

Complemento. Si se tiene que A


B para alguna relacin, entonces
o
se debe tener A
C , donde C son todos atributos de R que no son
ni As, ni Bs.

Transitividad. Si se tienen las DMVs A


tambin se tiene que A
e
C B

Replicacin. Toda DF es una DMV.


o
El revs de esta regla no es cierto.
e

Las DMV no obedecen las reglas de divisin/combinacin.


o
o

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

B, B

C entonces

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplo
Sea R = (A,B,C,G,H,I) y DMV = A
B, B
Aplicando las reglas se puede obtener:

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

HI, CG

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplo
Sea R = (A,B,C,G,H,I) y DMV = A
B, B
Aplicando las reglas se puede obtener:
A

HI, CG

CGHI; por la regla de la complemento.

A
HI; por la regla de transitividad aplicada a la primera y segunda
dependencias.
B

H, B

Dra. Amparo Lpez Gaona ()


o

I?

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Cuarta Forma Normal


Una DMV A1 A2 ...An

B1 B2 ...Bm es no-trivial si:

Ninguna de las Bs est contenida en las As.


a
R tiene ms atributos que las As y las Bs.
a

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Cuarta Forma Normal


Una DMV A1 A2 ...An

B1 B2 ...Bm es no-trivial si:

Ninguna de las Bs est contenida en las As.


a
R tiene ms atributos que las As y las Bs.
a

Una relacin R est en 4NF si en toda DMV no-trivial


o
a
A1 A2 ...An
B1 B2 ...Bm se tiene que {A1 A2 ...An } es una superllave.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Cuarta Forma Normal


Una DMV A1 A2 ...An

B1 B2 ...Bm es no-trivial si:

Ninguna de las Bs est contenida en las As.


a
R tiene ms atributos que las As y las Bs.
a

Una relacin R est en 4NF si en toda DMV no-trivial


o
a
A1 A2 ...An
B1 B2 ...Bm se tiene que {A1 A2 ...An } es una superllave.
Notar que las nociones de llaves y superllaves dependen slo de las
o
DFs.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Cuarta Forma Normal


Una DMV A1 A2 ...An

B1 B2 ...Bm es no-trivial si:

Ninguna de las Bs est contenida en las As.


a
R tiene ms atributos que las As y las Bs.
a

Una relacin R est en 4NF si en toda DMV no-trivial


o
a
A1 A2 ...An
B1 B2 ...Bm se tiene que {A1 A2 ...An } es una superllave.
Notar que las nociones de llaves y superllaves dependen slo de las
o
DFs.
La 4NF es una generalizacin a la BCNF debido a que toda DF es
o
una DMV.
Por tanto toda violacin a la BCNF es una violacin a la 4NF pero al
o
o
revs no es cierto.
e

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Algoritmo para convertir a 4FN


Objetivo: Eliminar redundancia debida al efecto multiplicativo de las
DMVs.
1

Encontrar una violacin a la 4NF, es decir, A1 A2 ...An


o
donde el conjunto de las As no forma una superllave.

B1 B2 ...Bm

Dividir la relacin en dos esquemas:


o
El que contiene las As y las Bs
El que contiene las As y los atributos de R que no estn entre las Bs.
a

Si alguno de los esquemas no estuviera en 4NF ir al paso 1.

En este caso no hay pruebas analgas a las de la cerradura de atributos


o
para las DFs.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplo
Sea BC(prstamo, nombre, calleNum, ciudad) con la dependencias
e
{nombre prstamo, nombre
e
calleNum ciudad }
Se tiene que la DMV viola la 4NF. Aplicando el algoritmo se tienen:

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplo
Sea BC(prstamo, nombre, calleNum, ciudad) con la dependencias
e
{nombre prstamo, nombre
e
calleNum ciudad }
Se tiene que la DMV viola la 4NF. Aplicando el algoritmo se tienen:
R1(nombre, calleNum, ciudad)
R2(nombre, prstamo)
e
En ninguno de los esquemas hay DMV no-triviales ni DFs no-triviales, por
tanto est en 4NF.
a

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Otro ejemplo
Sea R(A,B,C,D,E,F), con {A B, A

CD, A

EF}

Llave:

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Otro ejemplo
Sea R(A,B,C,D,E,F), con {A B, A

CD, A

EF}

Llave: ACDEF

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Otro ejemplo
Sea R(A,B,C,D,E,F), con {A B, A

CD, A

EF}

Llave: ACDEF
Las otras dependencias violan la 4NF.
Al dividir llegamos a:

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Otro ejemplo
Sea R(A,B,C,D,E,F), con {A B, A

CD, A

EF}

Llave: ACDEF
Las otras dependencias violan la 4NF.
Al dividir llegamos a: R1(AB)
R2(ACD)
R3(AEF)

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Relacin entre las formas normales


o
3NF
BCNF
4NF

Propiedad
Elimina redundancia por DFs
Elimina redundancia por DMVs
Conserva DFs
Conserva DMVs

Dra. Amparo Lpez Gaona ()


o

3NF
La mayor
a
No
S

Quiz
a

Normalizacin
o

BCNF
S

No
Quiz
a
Quiz
a

4NF
S

Quiz
a
Quiz
a

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Ejemplo
Supn que tiene una relacin R como sigue, para registrar a personas con
o
o
sus hijos y autos.
R(nombre, curp, fechaNac, nombreHijo, curpHijo,
fechaNacHijo, motor, marca)
Dene las dependencias que se deber esperar para esta relacin y
an
o
normaliza si es necesario.

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Normalizacin
o
Dependencias funcionales:
curp nombre fechaNac
curpHijo nombreHijo fechaNacHijo
motor marca
curp
curpHijo
curp
motor
Relaciones en 4NF:
R1(curp, nombre, fechaNac)
R2(curp, curpHijo)
R3(curpHijo, nombreHijo, fechaNacHijo)
R4(curp, motor)
R5(motor, marca)

Dra. Amparo Lpez Gaona ()


o

Normalizacin
o

Posgrado en Ciencia e Ingenier de la Compu


a
/1

Вам также может понравиться