You are on page 1of 3

Universidad Nacional de Sur Departamento de Ciencias e Ingeniera de la Computacin

Elementos de Bases de Datos 2do. Cuatrimrestre 2004.


1
Un ejemplo de aplicacin con dependencias funcionales y
descomposiciones para un problema real.

Descripcin del problema
Supongamos que deseamos mantener informacin sobre los cursados de alumnos de una
universidad. Los datos que se desean mantener sobre los cursados incluyen
1
:

ESQUEMA_CURSADOS (MateriaCdigo, MateriaNombre, DptoCdigo, DptoNombre,
AlumnoLU, AlumnoApellido, AlumnoNombre, AlumnoDomicilio, AlumnoTipoDoc,
AlumnoNroDoc, Cuatrimestre, AoAcadmico, CursadoResultado)

Donde:

Atributo Descripcin Mapeo a
Letra
MateriaCdigo Cdigo de materia. Es el atributo que identifica
a una materia.
A
MateriaNombre Nombre de la materia. B
DptoCdigo Cdigo de departamento acadmico. Cada
departamento tiene su propio cdigo.
C
DptoNombre Nombre del departamento. D
AlumnoLU Nmero de libreta de un alumno. A cada
alumno se le asigna un nico nmero de libret
E
AlumnoApellido Apellido del alumno. F
AlumnoNombre Nombre del alumno. G
AlumnoDomicilio Domicilio del alumno.
AlumnoTipoDoc Tipo de documento. Puede asumir uno de los
siguientes valores: DNI, LC, CI o Pasaporte.
I
AlumnoNroDoc Nmero de documento J
Cuatrimestre Cuatrimestre lectivo. Asume los valores: 1 y 2 K
AoAcadmico Ao acadmico. L
CursadoResultado Resultdo con que se califica el cursado. Puede
tener asociado uno de los siguientes valores:
Aprobado, Desaprobado, Ausente, Sin
Calificar.
M

Dependencias funcionales
Para el esquema del inciso anterior se plantearon las siguientes restricciones o dependencias
funcionales que se espera satisfagan todas las instancias de R:

Dependencias funcionales
1. MateriaCdigo MateriaNombre, DptoCdigo, DptoNombre

1
Este problema es una simplificacin de la realidad, por esta misma razn slo se consideraron un nmero
reducido de atributos
Universidad Nacional de Sur Departamento de Ciencias e Ingeniera de la Computacin
Elementos de Bases de Datos 2do. Cuatrimrestre 2004.
2
2. DptoCdigo DptoNombre
3. AlumnoLU AlumnoApellido, AlumnoNombre, AlumnoDomicilio,
AlumnoTipoDoc, AlumnoNroDoc
4. AlumnoTipoDoc, AlumnoNroDoc AlumnoApellido, AlumnoNombre,
AlumnoDomicilio, AlumnoLU
5. AlumnoLU, MateriaCdigo, DptoCdigo, AoAcadmico, Cuatrimestre
CursadoResultado
6. AlumnoTipoDoc, AlumnoNroDoc, MateriaCdigo, DptoCdigo, AoAcadmico,
Cuatrimestre CursadoResultado

Siguiendo el mapeo de letras las dependencias anteriores podran reescribirse de la siguiente
manera:

Dependencias funcionales
1. A BCD
2. CD
3. EFGHIJ
4. IJ EFGH
5. ACEKL M
6. IJACKL M

Esto es, ahora es posible redefinir el problema como:

Dado R un esquema de relacin R(A,B,C,D,E,F,G,H,I,J,K,L,M) y sea el siguiente conjunto de
dependencias funcionales definido sobre R
F={ A BCD, CD, EFGHIJ, IJ EFGH, ACEKL M, IJACKL M}

Queda propuesto como ejercicio al lector comprobar que el siguiente es un cubrimiento
mnimo reducido para F:
F
minimo reducido
= {A BC, CD, EFGHIJ, IJ E, AEKL M}
Forma Normal
Qu forma normal respeta R?. Para poder responder esta consulta es necesario conocer las
llaves de R

Siempre Nunca Talvez
AKL BDFGHM CEIJ

Clculo de las llaves candidatas
AKL
+
= AKLBCD no es llave.
AKLC
+
= AKLBCD no es llave.
AKLE
+
= AKLEBCDFGHIJM = ABCDEFGHIJKLM si es llave.
AKLI
+
= AKLIBCD no es llave.
AKLJ
+
= AKLJBCD no es llave.
AKLCI
+
= AKLCIBD no es llave.
AKLCJ
+
= AKLCJBD no es llave.
AKLIJ
+
=AKLIJBCDEFGHM = ABCDEFGHIJKLM si es llave.

Universidad Nacional de Sur Departamento de Ciencias e Ingeniera de la Computacin
Elementos de Bases de Datos 2do. Cuatrimrestre 2004.
3
Atributos primos Atributos no primos
AKLEIJ BCDFGH

El esquema R(ABCDEFGHIJKLM) bajo el conjunto de dfs F
MinimoReducido
={A BC, CD,
EFGHIJ, IJ E, AEKL M}respeta la 1FN ya el dominio de todos los atributos es
simple. Sin embargo no respeta la 2FN, dado que por ejemplo la dependencia funcional
ABC sobre los atributos no primos BC contiene una dependencia parcial con una de las
llaves, ms especficamente con las dos llaves de este esquema AKLE y AKLIJ.
Descomposicin
Un esquema que slo respeta la 1FN no es un buen diseo conceptual. Tiene problemas de
redundancia, inconsistencia y anomalas de insercin y borrado. La solucin es plantear una
descomposicin que respete una forma normal ms alta.
Como resultado de aplicar el algoritmo 3FN-Preserva Dependencias-JSP visto en teora se
obtiene la siguiente descomposicin para R
(ABC, CD, EFGHIJ, AEKLM)

donde:
R
1
(ABC) = {A BC} con llave

A, est en la FNBC
R
2
(CD) = {CD} con llave

C, est en la FNBC
R
3
(EFGHIJ) = {EFGHIJ, IJ E} con llaves E y IJ, est en la FNBC
R
4
(AEKLM) = {AEKLM} con llaves AEKL , est en la FNBC

Luego la descomposicin (ABC, CD, EFGHIJ, AEKLM) obtenida respeta la FNBC, dado
que cada uno de sus esquemas respeta la FNBC. Por otra parte preserva dependencias, de
hecho la unin de las dependencias proyectadas en cada uno de los subesquemas es idntica
al conjunto F
minimoReducido
de partida. Adems dado que uno de los subesquemas, R
4
contiene a
una las llaves de R, para este ejemplo la llave contenida es AEKL, podemos asegurar que la
descomposicin tiene adems la propiedad de ser join sin prdida.

Veamos ahora con los atributos reales cul es la descomposicin propuesta por el algoritmo:
R
1
(ABC) = Esquema_Materias (MateriaCdigo, MateriaNombre, DptoCdigo)
R
2
(CD) = Esquema_Dptos (DptoCdigo, DptoNombre)
R
3
(EFGHIJ) = Esquema_Alumnos( AlumnoLU, AlumnoApellido, AlumnoNombre,
AlumnoDomicilio, AlumnoTipoDoc, AlumnoNroDoc)
R
4
(AEKLM) = Esquema_Cursados(MateriaCdigo, AlumnoLU, Cuatrimestre,
AoAcadmico, CursadoResultado)

Se invita al lector a comprobar que esta ltima descomposicin tambin se podra haber
alcanzado a partir de un buen modelo ER.

You might also like