Académique Documents
Professionnel Documents
Culture Documents
Fuentes http://www-db.stanford.edu/~ullman/fcdb.html
Fundamentals of Database Systems, Elmasri y Navathe
Database System Concepts,Silberschatz, Korth, Sudarshan
Diseo
Agrupamiento
de atributos
Conformacin de esquemas de
relacin adecuados
Enfocado a relaciones de base
Eliminacin o control de
redundancia
Diseo
Orientado
por
Diseo
Apoyado en
Formas Normales
Restricciones de Integridad
Concepto de Llave
Eliminacin de anomalas de
actualizacin
Refinamiento de esquemas
Teora de Dependencias
Dependencias Funcionales DF
X Y
Propiedad de atributos de esquema de
relacin R
Satisfecha por cualquier instancia de R
Base de definicin de formas normales
Si dos tuplas de R son iguales en todos los
atributos de X, entonces deben tambin ser
iguales en los atributos de Y
Dependencias Funcionales DF
X Y
Si dos tuplas de R son iguales en todos los
atributos de X, entonces deben tambin ser
iguales en los atributos de Y
Para cualquier par de tuplas t1 , t2 de una instancia
de relacin r(R)
Si t1[X]=t2[X], entonces t1[Y]=t2[Y]
Dependencias Funcionales DF
de R
Se dice que X Y se satisface en R
X, Y, Z denotan conjuntos de atributos
A, B, C, representan atributos simples
Ejemplos de DF:cdula nombre persona,
RUT nombre persona, cdigo_producto
stock, {cod-asig,grupo} horario,
DF
X A1A2An se satisface en R cuando cada
X A1, X A2,, X An se satisface en R.
Ejemplo
A BC es equivalente a A B y A C
Los lados izquierdos no se pueden
descomponer
Generalmente, antecedente y consecuente de
DFs son simples.
Ejemplo
Estudiante(cod-e, nombre, sexo, programa,
promedio)
Las DF que se satisfacen son
cod-e nombre
cod-e sexo
cod-e programa
cod-e promedio
Ejemplo
LLaves
Ejemplo
Profesores(cod-p, nomb, cod-cat, nomcat, cod-fac,nomb-facultad)
{cod-p, nomb} es una superllave puesto
que los dos determinan a todos los dems
atributos
Ejemplos de llaves
Inferencia de Dependencias
Funcionales
Reglas de Inferencia
Reglas de Inferencia
Axiomas de Armstrong
R1: Reflexividad
YX XY
R2: Aumentatividad
X Y XZ YZ
R3: Transitividad
X Y, Y Z X Z
Reglas Adicionales
R4: Descomposicin
X YZ X Y , X Z
R5: Unin
X Y, X Z X YZ
R6: Seudotransitividad
X Y, WY Z WX Z
Ejemplo
Dado el siguiente conjunto de dependencias funcionales:
F = {AB C, B D, CD E, CE GH, G A}
Ejemplo
F = {AB C, B D, CD E, CE GH, G A}
BG->C ?
1.
2.
3.
4.
G->A est en DF
BG->AB aumentatividad
AB->C est en DF
BG->C transitividad de 2 y 3
Cierre de un conjunto de DF
Denotado por F+
F+ = {DF inferidas a partir de F aplicando reglas
de inferencia }
Alternativa clculo de cierre de un atributo Y
Y+ = Y
Buscar DF cuyo antecedente X Y+. Si la DF es
X A, aada A a Y+
Ejemplo
Sea R={A,B,C,G,H,I} y el conjunto de
dependencias funcionales
F={A B, A C, CG H, CG I,B H}
Est A H implicada por F ?
Cierre de un descriptor X
Diseo de Esquemas
Meta diseo: evitar anomalias de actualizacin y
redundancia
Mal Diseo
Programas(cod-prog, registro-icfes, nombre,
total_cred, cod-director, nombre-director)
Cod-prog Registro
nombre
Facultad
Cod-director
Nom-director
3793
1009
In.Sistemas
Ingenieria
34567890
N.N
3456
2345
Estadstica
Ingeniera
45678899
J.J
direccin
asignatura facultad
programa
GG
Cl 5#2-30
clculo
Ciencias
Sistemas
GG
Cl 5#2-30
BDatos
Ingenieria Sistemas
MM
Cl 3#4-54
clculo
Ciencias
Fsica
Nomb-p
Oficina Cod-asig
Nom-asig
creditos
3344
Juan Perez
2123
ITI02
Int.Tecnologia
Informtica
3456
Maria Ruiz
2156
FADA01
Anlisis Algoritmos
4560
Sonia Torres
2089
MD80
Mat Discretas
4567
Jose Bueno
2341
MD01
Mat Discretas
3342
Vicky Rubio
2119
IPOO01
Redundancia
Inconsistencias posibles
Ejercicio
Tuplas espurias
Ename , Plocation(EMP_PROJ)
Ssn, Pnumber, Hours,
Pname, Plocation(EMP_PROJ)
Tuplas espurias
(EMP_LOCS)
(EMP_PROJ1)
Formas Normales
Instrumento de diseo
nombre
telefonos
3344
Juan Perez
3212796,
3329671
3456
Maria Ruiz
3212132
cedula
nombre
telefonos
3344
Juan Perez
3212796
3344
Juan Perez
3329671
3456
Maria Ruiz
3212132
1FN
Estar en 1FN
Ejemplo de 2FN
Matricula(cod-e, cod-a, nom-estud, calificacin)
Ejemplo de 2FN
Transformar a 2FN
Matricula(cod-e, cod-a, nom-estud, calificacin)
Descomponer Matricula en dos relaciones
Matricula1(cod-e, cod-a, calificacin)
Estudiante(cod-e, nom-estud)
Cuando las llaves candidatas de R no son
compuestas la relacin est en 2FN
Ejemplo de 2FN
cod-e
cod-a
Nom-est
nota
08762
750022
Juan Jimenez
3.5
06777
750777
Bety Cruz
4.0
08762
750655
Juan Jimenez
3.8
07654
750022
Raul Sanchez
2.6
cod-a
cod-e
nota
Nom-est
Ejemplo de 2FN
cod-e
cod-a
nota
08762
750022
3.5
06777
750777
4.0
08762
750655
3.8
07654
750022
2.6
cod-e
Nom-est
08762
Juan Jimenez
06777
Bety Cruz
08762
Juan Jimenez
07654
Raul Sanchez
Estar en 2FN
Ejemplo 3FN
Profesores(cod-p, nomb, cod-cat, nom-cat, codfac,nomb-facultad)
{cod-p} cod-cat
{cod-cat} nomb-cat
{cod-p} nomb-cat
dependencia transitiva
Ejemplo 3FN
Profesores(cod-p, nomb, cod-cat, nom-cat, codfac,nomb-facultad)
Descomponer Profesores en
Profesor(cod-p, nomb, cod-cat, cod-fac)
Categorias( cod-cat, nom-categoria)
Facutades( cod-fac, nomb-facultad)
Ejemplo 3FN
cod-p
nombre
cod-cat
Nom-cat
cod-fac nomb-facultad
3344
Juan Perez
Asistente
Ingeniera
4560
Sonia Torres
Auxiliar
Ciencias
4567
Jose Bueno
Titular
Salud
3456
Maria Ruiz
Asistente
Ciencias
{cod-fac} nomb-facultad
Dependencias transitivas de la llave primaria
Ejemplo 3FN
cod-cat
Nom-cat
Asistente
Auxiliar
Titular
Asistente
cod-fac
nomb-facultad
Ingeniera
Ciencias
Salud
Ciencias
cod-p
nombre
cod-cat
cod-fac
3344
Juan Perez
4560
Sonia Torres
4567
Jose Bueno
3456
Maria Ruiz
b) A es un atributo primo de R
Obteniendo 3FN
(X es un implicante en X Y)
Estar en 2FN
Ejemplo FNBC
Estudiante(cod-e, cedula, cod-asig)
Llaves candidatas
{cod-e, cod-asig}
{cedula, cod-asig}
Ejemplo FNBC
cod-e
cod-asig
cod-e
cod-asig
cedula
08762
750022
08762
750022
31222222
06777
750777
06777
750777
19788888
08762
750655
08762
750655
31222222
07654
750022
07654
750022
45678900
cod-e
cedula
08762
31222222
06777
19788888
08762
31222222
07654
45678900
Ejemplo FNBC
Sea R= (A;B,C)
DF={AB C, C A}
Claves: AB, BC
Est R en 3FN ?
Est R en BCNF ?
Propiedades de las
Descomposiciones
3FN vs FNBC
Dos importantes propiedades de una decomposicin
1. Unin sin prdida (Lossless Join)
Debe ser posible reconstrur la relacin original a partir
del esquema de las proyecciones (relaciones
descompuestas)
2. Preservacin de dependencias (Dependency Preservation)
Debe ser posible verificar en las relaciones
proyectadas que todas las DF se satisfacen
3FN vs FNBC
La descomposicin FNBC garantiza (1)
La descomposicin en 3FN puede garantizar
(1) y (2).
FNBC no siempre garantiza que (1) y (2) se
cumplan
Refinamiento de Esquemas
Normalizacin
Ejemplos de descomposicin
R(cedula, departamento, municipio)
Descomposicin 1
R1(cedula, municipio) R2(municipio, departamento)
Descomposicin 2
R1(cedula, municipio) R2(cedula, departamento)
Se pierde la dependencia
municipiodepartamento
Descomposicin 3
R1(cedula, departamento) R2(municipio, departamento)
Se pierde informacin y de dependencia
cedula municipio
Descomposicin de esquemas
Ejemplo
Profesor
cod-p
nombre
cod-cat
puntaje
cod-fac
nom-cat
3344
Juan Perez
500
Auxiliar
4560
Sonia Torres
400
Asociado
4567
Jose Bueno
450
Titular
3456
Maria Ruiz
500
Asociado
Ejemplo
Profesor
cod-p
nombre
cod-cat
puntaje
cod-fac
nom-cat
3344
Juan Perez
500
Auxiliar
4560
Sonia Torres
400
Asociado
4567
Jose Bueno
450
Titular
3456
Maria Ruiz
500
Asociado
Descomposicin
cod-p
nombre
cod-cat
puntaje
cod-fac
3344
Juan Perez
500
4560
Sonia Torres
400
4567
Jose Bueno
450
3456
Maria Ruiz
500
cod-cat
nom-cat
Auxiliar
Asistente
Asociado
Relaciones en FNBC
nombre
cod-cat
puntaje
cod-fac
3344
Juan Perez
500
4560
Sonia Torres
400
4567
Jose Bueno
450
3456
Maria Ruiz
500
cod-p
cod-cat
nom-cat
Auxiliar
Asistente
Asociado
nombre
cod-cat
puntaje
cod-fac
nom-cat
3344
Juan Perez
500
Asistente
4560
Sonia Torres
400
Auxiliar
4567
Jose Bueno
450
Asociado
3456
Maria Ruiz
500
Asistente
B
2
5
2
C
3
6
8
A
1
4
7
B
2
5
2
A B; C B
A
1
4
7
B
2
5
2
B
2
5
2
C
3
6
8
B
2
5
2
A
1
4
7
1
7
C
3
6
8
B
2
5
2
2
2
C
3
6
8
8
3
Y ( r ) = r
Y ( r )
W Z = , entonces
la descomposicin de R en R-Z y WZ
tiene la propiedad de ser sin
prdida.
Ejemplo
A
1
4
7
B
2
5
2
A
1
4
7
C
3
6
8
C
3
6
8
B
2
5
2
C
3
6
8
A B; C B
A
1
4
7
C
3
6
8
B
2
5
2
C
3
6
8
A
1
4
7
B
2
5
2
C
3
6
8
Ejemplo 1:
Sea R={A, B, C, D, E}
R2={A, B, C, D}
R2={A, B, C, D}
R1 R2 = A;
R1 - R2 = E;
R2 - R1=BCD
A+= ABCDE
Se cumple A BCD
R2={B, C, D}
R1 R2 = D;
R1 - R2 = AE;
R2 - R1 = BC
D+= D
No se cumple D AE ni D BC
La descomposicin de R en
R2=(A, B, C)
y R3=(B,D)
Descomposicin FNBC
Descomposicin en FNBC
Ejemplo:
Sea R={CSJDPQV}, Llave C,
DF={ JP C, SD P, J S}
SD P genera la descomposicin SDP, CSJDQV.
J S, descompone CSJDQV en JS y CJDQV
Relaciones finales: SDP, JS, and CJDQV
Probando FNBC
1. calcular +
2. Verificar que el cierre incluye todos
los atributos de R ( es una superllave
de R)
FNBC y dependencias
No es siempre posible obtener una descomposicin FNBC que
preserve dependencias
R = (J, K, L ), F = {JK L, L K }
LLaves candidatas = JK y JL
R no est en FNBC
Cualquier descomposicin de R falla al
preservar
JK L
Esto implica que la prueba de JK L requiere
un join
Descomposicin FNBC
Cuando varias dependencias producen
violaciones a la FNBC, el orden en el cual
se tratan puede conducir a diferentes
conjuntos de relaciones
FNBC y preservacin DF
En general, FNBC no preserva dependencias
CSZ, CS Z, Z C
Preservacin de dependencias en
descomposiciones
Si R se descompone en X,Y y Z, se
debe cumplir que las DFs que se
satisfagan en R se sigan
satisfaciendo individualmente en
X, Y y Z
Preservacin de dependencias
Algoritmo de sntesis relacional en 3FN (Conserva dependencias)
2. Por cada implicante que aparezca en G crear un nuevo esquema D con los
atributos (X U A), donde X es el implicante (XA), adems X es las clave de la
relacin
3. Situar cualquier atributo que sobre en un esquema de relacin, siempre
buscando la conservacin de los atributos.
Cubrimiento Cannico
Recubrimiento minimal
Para encontrar el recubrimiento minimal:
{A B, A D, B C, B D, AC E}
DF = {A B, A D, B C, B D, AC E}
Verificar si E est en el cierre de A.
A+ = ABCDE
Como E est en el cierre del atributo A, entonces C es redundante en AC E
CubMin= {A B, A D, B C, B D, A E}
CubMin= {A B, A D, B C, B D, A E}
Hay que revisar todas las DF:
CubMin= {A B, A D, B C, B D, A E}
Lo mismo para B C, B D, A E
CubMin= {A B, B C, B D, A E}
B C; B+ = ?
+
B D; B = ?
A E; A+= ?
CubMin= {A B, B C, B D, A E}
B C; B+ = BD
+
B D; B = BC
A E; A+= ABCD
NO redundantes
Preservacin de dependencias
Algoritmo de sntesis relacional en 3FN (Conserva dependencias)
2. Por cada implicante que aparezca en G crear un nuevo esquema D con los
atributos (X U A), donde X es el implicante (XY), adems X es las clave de la
relacin
3. Situar cualquier atributo que sobre en un esquema de relacin, siempre
buscando la conservacin de los atributos.
Preservacin de dependencias
Algoritmo de sntesis relacional en 3FN (Conserva dependencias)
Ejemplo:
R={dni, num_proy, salario, nombre_emp, id_depto, nombre_proy, ubi_poy}
Preservacin de dependencias
Algoritmo de sntesis relacional en 3FN (Conserva dependencias)
R={dni, num_proy, salario, nombre_emp, id_depto, nombre_proy, ubi_poy}
Descomposicin 3FN
Conservacin de dependencias y descomposicin sin prdida
Descomposicin 3FN
Conservacin de dependencias
Descomposicin sin prdida
Cada esquema resultante est en 3FN
Descomposicn 3FN
Ejemplo 1:
R={dni, num_proy, salario, nombre_emp, id_depto, nombre_proy, ubi_poy}
Descomposicn 3FN
Ejemplo 2:
R={P, L, C, A, }
G= {P LC, LC AP, A C}
R1=(P, L, C)
R2=(L, C, A, P)
R3=(A, C)
Cierre de atributos:Usos
Usos del cierre de atributos
Probar superllaves:
Para probar si es una superllave, calcular +, y
verificar si + contiene todos los atributos de R.
Cierre de atributos
Usos del cierre de atributos
Calcular cierre de F
Para cada R, encontrar +, y para cada
S +, entregar la dependencia funcional
S.
A+= AE
B+ = BFDCAE
C+=CAE
D+=DBFCAE
F+=FABCDE
AC+=ACE
Prueba de 3FN
Dependencias multivaluadas
Dependencias multivaluadas
NombreE nombre_proy,
NombreE
Prez
Prez
Prez
Prez
nombre_proy
Proyecto X
Proyecto Y
Proyecto X
Proyecto Y
NombreE subordinado
subordinado
Juan
Ana
Ana
Juan
X Y
Dependencias multivaluadas
Dependencias multivaluadas
NombreE nombre_proy,
NombreE
Prez
Prez
Prez
Prez
nombre_proy
Proyecto X
Proyecto Y
Proyecto X
Proyecto Y
NombreE subordinado
subordinado
Juan
Ana
Ana
Juan
X Y
Es una relacin donde todos los atributos son la clave. R est en BCNF
pero no est en 4FN.
La relacin tiene las MVD no triviales: NombreE nombre_proy,
NombreE subordinado, y NombreE no es la clave de R
Dependencias multivaluadas
DESCOMPOSICION EN 4FN
Mientras exista un esquema Q en D que no est en 4FN
Dependencias multivaluadas
NombreE
Perez
Perez
Perez
Perez
nombre_proy
x
y
x
y
subordinado
Juan
Ana
Ana
Juan
R1
NombreE
Perez
Perez
nombre_proy
x
y
R2
NombreE
Perez
Perez
subordinado
Juan
Ana