You are on page 1of 6

Bases de Datos 2 2008 Prctico 1 lgebra Relacional

Pgina 1 de 6
Ejercicio 1.

Se cuenta con una base de datos relacional con informacin sobre los campeonatos mundiales
de ftbol que incluye el ao y lugar en que se realizaron y los equipos que participaron.
Con relacin a los equipos se almacena el nombre y la cantidad de campeonatos que gan.

- CAMPEONATO (ao, pais)
- EQUIPO (nomEquipo, cant_camp_ganados)
- PARTICIPA (nomEquipo, ao, serie, direc_tecnico, posicion_en_la_serie)
- PARTIDO (nomEquipo1, nomEquipo2, ao, estadio, fecha, goles_eq1, goles_eq2)

Nota: como slo se consideran los campeonatos mundiales el ao determina el campeonato,
sin necesidad del lugar.

Resolver los siguientes requerimientos mediante operaciones del lgebra relacional:

a. Qu equipos de su serie le ganaron a Alemania en el mundial 2006?
b. Listar los directores tcnicos de los equipos que ganaron el 14/6/06.
c. Cuntos campeonatos han ganado cada uno de los equipos que perdieron en el
campeonato del 86 con el primero de la serie de Uruguay?

Ejercicio 2.

La siguiente base de datos relacional describe ciertas materias dictadas en una hipottica
universidad:

- CURSOS (codigo, nombre, cant_inscriptos)
Esta tabla contiene informacin acerca de los cursos que se ofrecen. De cada curso se conoce
un cdigo que lo identifica, un nombre y la cantidad de inscriptos

- PREVIATURAS (codigo, codigoPrevia)
Esta tabla contiene informacin acerca de las previaturas entre cursos

- ASIGNADOS (codigo, docente)
Esta tabla contiene informacin acerca de los docentes asignados a los cursos.

- HORARIOS_DICTADO (codigo, docente, horario, salon)
Esta tabla contiene informacin acerca de los salones y horarios de clase. Para cada docente
que dicte clase de un curso en un determinado horario se almacena el saln correspondiente.

- DOCENTES (nombre, oficina, telefono, departamento)
Esta tabla contiene informacin acerca de los docentes.

En esta base de datos se cumplen las siguientes restricciones de inclusin:

codigo
(PREVIATURAS)
codigo
(CURSOS)

codigoPrevia
(PREVIATURAS)
codigo
(CURSOS)

codigo
(ASIGNADOS)
codigo
(CURSOS)

codigo
(HORARIOS_DICTADO)
codigo
(CURSOS)

docente
(ASIGNADOS)
nombre
(DOCENTES)

docente
(HORARIOS_DICTADO)
nombre
(DOCENTES)

codigo, docente
(HORARIOS_DICTADO)
codigo, docente
(ASIGNADOS)
Bases de Datos 2 2008 Prctico 1 lgebra Relacional
Pgina 2 de 6

Parte 1

Resolver las siguientes consultas en lgebra relacional. En caso de que alguna de las consultas
no sea expresable, justificar adecuadamente el por qu.

a. Encontrar todos los salones usados por cursos con ms de 100 alumnos inscriptos.
b. Encontrar los nombres de los docentes que no estn asignados a ningn curso.
c. Encontrar los nombres de todos los cursos asignados a docentes del departamento de
Programacion.
d. Encontrar todos los pares de cdigos de cursos que tienen una previatura en comn.
Nota: si el par (c1,c2) aparece en la respuesta, el par (c2,c1) no debe aparecer; ni
tampoco el par(c1,c1).
e. Encontrar la cantidad de inscriptos promedio.
f. Encontrar la cantidad de inscriptos total en todos los cursos asignados a Speedy
Gonzlez.
g. Mostrar los cdigos y cantidad de inscriptos de todos los cursos cuya cantidad de
inscriptos sea menor que el promedio.
h. Mostrar los cdigos de todos los cursos que se dictan en algn saln donde se dicta el
curso con cdigo CSC434.
i. Encontrar los nombres de los docentes que dictan cursos que se dictan en 2 o ms
salones.
j. Encontrar los cdigos de todas las previas inmediatamente anteriores al curso con
cdigo CSC444.
k. Encontrar los cdigos de todos los cursos que deben ser aprobados antes de poder
cursar CSC434.
l. Mostrar para cada instructor el total de inscriptos en los cursos que tiene asignados.

Parte 2

Se pretende resolver la siguiente consulta:

Encontrar los nombres de todos los docentes que dictan cursos que se dictan en exactamente
un saln.

Se propone la siguiente solucin:


docente
(ASIGNADOS) RES
i


donde RES
i
es el resultado de la consulta i) de la parte 1 de este ejercicio.

Discutir la correctitud de la solucin planteada.
En caso de que sea correcta demostrarlo y en caso contrario dar un contraejemplo, indicar que
resuelve la expresin planteada y dar una solucin correcta a la consulta original.
Bases de Datos 2 2008 Prctico 1 lgebra Relacional
Pgina 3 de 6

Ejercicio 3.

Se cuenta con una base de datos con las siguientes relaciones:
- FRECUENTA (bebedor, bar)
- SIRVE (bar, cerveza)
- LEGUSTA (bebedor, cerveza)

La primera relacin indica los bares que cada bebedor visita, la segunda la cerveza que sirve
cada bar, y la tercera las cervezas que le gustan a cada bebedor.

Expresar mediante operaciones de lgebra relacional los requerimientos:

a. Qu bares sirven alguna cerveza que le gusta al bebedor Juan Fernndez?
b. Cules son los bebedores que frecuentan un bar que sirve al menos alguna cerveza
que les guste?
c. Cules son los bebedores que solo frecuentan bares que sirven alguna cerveza que
les gusta? (Asumir que a cada bebedor le gusta al menos una cerveza y frecuenta al
menos un bar)
d. Cules son los bebedores que no frecuentan ningn bar que sirva una cerveza que les
guste? (Asumir lo mismo que en c.)

Ejercicio 4.

Se posee informacin sobre una empresa que tiene distintos locales con maquinitas.

Los datos de cada local son: su identificacin (#local), direccin, la cantidad de maquinitas que
posee, el promedio diario de fichas que vende y el valor de la ficha; y se encuentran en el
esquema relacin:
LOCALES ( #local, direccin, cantidad_maq, prom_fichas, valor_ficha )

Los datos de cada juego son: su identificacin (#juego), su origen y su tipo (ej.: deportivo,
blicos, etc.); y se encuentran en el esquema relacin:
JUEGOS ( #juego, origen, tipo)

Los datos sobre cada maquinita son: su identificacin (#maquina), la identificacin del juego
que tiene y la identificacin del local en el que se encuentra; y se encuentran en el esquema
relacin:
MAQUINAS ( #maquina, #juego, #local )

Una mquina tiene un nico juego y est en un solo local.
En esta base de datos se cumplen las siguientes restricciones de inclusin:

#local
(MAQUINAS)
# local
(LOCALES)

#juego
(MAQUINAS)
# juego
(JUEGOS)


Aclaracin: no hay tablas vacas.

Con la informacin almacenada en los esquemas relacin anteriores resolver mediante
operaciones de lgebra Relacional las siguientes consultas:

a. Las parejas (identificacin del local, promedio de fichas del local) tal que entre los
juegos del local estn todos los juegos de origen "JAPONES".
Bases de Datos 2 2008 Prctico 1 lgebra Relacional
Pgina 4 de 6
b. Identificacin de los locales que tienen por lo menos un juego de cada uno de los tipos
de juego relacionados con los juegos de origen "COREANO". Observar que no
necesariamente los locales solucin tienen algn juego de origen "COREANO".
c. Identificacin de los locales que tengan mximo nmero de mquinas.
d. Identificacin de los locales que tienen exactamente los mismos juegos y distinto
promedio de fichas que el local con #local 28.


Ejercicio 5.

Sean las siguientes tablas pertenecientes a una base de datos:

Proveedores: PRV (#prov, nom_prov, categoria, ciudad_prov)
Partes: PRT (#par, nom_par, color, peso, ciudad_par)
Proyectos: PRY (#proy, nom_proy, ciudad_proy)
Proveedores proveen partes a proyecto (cantidad) :
PPC (#prov, #par, #proy, cantidad)

Resolver las siguientes consultas en lgebra relacional.

a. Obtener los nmeros de los proveedores que proveen a los proyectos nmero 1 y al
mismo tiempo al proyecto nmero 2.
b. Obtener los nmeros de proveedores que proveen al proyecto nmero 1 de alguna
parte roja.
c. Obtener los nmeros de los proveedores que proveen con partes rojas a algn proyecto
de Londres o alguno de Pars.
d. Dar las parejas de ciudades, tales que un proveedor de la primera provee a un proyecto
de la segunda.
e. Dar todas las triplas (ciudad, #par, ciudad), donde un proveedor de la primera ciudad
provee con la parte especificada a un proyecto de la segunda ciudad, con la condicin
de que las ciudades no deben ser la misma.
f. Obtener todos los nmeros de partes tales que no hay otra parte con peso menor.
g. Dar los nmeros de los proyectos provistos solamente por el proveedor nmero 9.
h. Dar los nombres de los proveedores que proveen alguna parte (pero la misma) a todos
los proyectos.
i. Dar los nombres de los proveedores que solo proveen una parte.

Bases de Datos 2 2008 Prctico 1 lgebra Relacional
Pgina 5 de 6

Ejercicio 6.

Sean las siguientes tablas pertenecientes a una base de datos, orientada a automatizar las
tareas de la seccin Reguladora de Trmites de un organismo.

EXPEDIENTE (idExp, fecha_inic, nom_inic, extracto)
En esta tabla se almacena la informacin de inters sobre un expediente.

SECCION (idSec, nom_sec)
Esta tabla almacena la informacin de inters sobre una seccin. Si bien la clave primaria de
SECCION es idSec, el atributo nom_sec tambin es clave.

TEMA (idTema, nom_tema)
Esta tabla contiene la informacin de inters sobre un tema. La clave primaria de TEMA es
idTema. El atributo nom_tema tambin es clave.

RESOLUCION (idRes, fecha_res, tipo, idSec, horas_trabajadas)
En esta tabla se registra la informacin asociada a una resolucin. El atributo tipo indica si la
resolucin esta asociada a un expediente (tipo = E) o no (tipo = N).
En esta tabla se cumple que:
RESOLUCION.idSec SECCION.idSec

PASA (idExp, idSecOrigen, idSecDestino, fechaPasa, act)
En esta tabla se registran las secciones por las que pasa un expediente y la fecha en la que se
produce el pasaje junto con su actuacin en la seccin de la que sale(en la fecha fechaPasa el
expediente idExp pas de la seccin idSecOrigen a la seccin idSecDestino teniendo una
actuacin act).
ACLARACIN: Una seccin no tarda menos de un da en procesar un expediente.
En esta tabla se cumple que:
PASA.idExp EXPEDIENTE.idExp
PASA.idSecOrigen SECCION.idSec
PASA.idSecDestino SECCION.idSec

ANEXAR(idExpOriginal, idExpAnexado, fecha_anexo)
Esta tabla relaciona un expediente con los expedientes que se le anexan y la fecha del anexo.
En esta tabla se cumple que:
ANEXAR.idExpOriginal en EXPEDIENTE.idExp
ANEXAR.idExpAnexado en EXPEDIENTE.idExp

TEMAS_EXP(idExp, idTema)
En esta tabla se relaciona un expediente con los temas que trata.
En esta tabla se cumple que:
TEMAS_EXP.idExp = EXPEDIENTE.idExp (totalidad)
TEMAS_EXP.idTema TEMA.idTema

TEMAS_RESOL_NO_EXP(idRes, idTema)
En esta tabla se relacionan una resolucin no asociada a un expediente con los temas que ella
trata. En esta tabla se cumple que:
TEMAS_RESOL_NO_EXP.idRes RESOLUCION.idRes
TEMAS_RESOL_NO_EXP.idTema TEMA.idTema
Bases de Datos 2 2008 Prctico 1 lgebra Relacional
Pgina 6 de 6
EXP_RESOL(idExp, idRes)
En esta tabla se relaciona un expediente con su resolucin.
Si bien la clave primaria de EXP_RES es idExp, el atributo idRes tambin es clave.
EXP_RESOL.idExp EXPEDIENTE.idExp
EXP_RESOL.idRes RESOLUCION.idRes

SIMILAR(idTema1, idTema2)
En esta tabla se almacenan pares de temas similares.
SIMILAR.idTema1 TEMA.idTema
SIMILAR.idTema2 TEMA.idTema

Contestar los siguientes requerimientos mediante operaciones del lgebra relacional. En caso
de no poder realizarse, justificar adecuadamente el motivo.

a. Dar el identificador, la fecha de inicio y el extracto de los expedientes iniciados por 'Joe
Orson' entre 1/12/1993 y 30/6/1994 .

b. Dar los nombres de las secciones por las que pas el expediente '97/000288', ordenadas
segn la fecha de pasaje.

c. Dar la cartula (cdigo, fecha de inicio, nombre del que lo inici y extracto) de expedientes
que tratan sobre el tema 'Trafico Monetario y Droga Humana'.

d. Dar las resoluciones, junto con la fecha en que se tomaron (estn asociadas a un
expediente o no) que tratan sobre el tema 'La Ayuda nica'.

e. Dar el nombre de la seccin en que se encuentra el expediente '96/000271'.
Considerar que este expediente tuvo por lo menos un cambio de seccin.

f. Dar el identificador de aquellos expedientes que contienen algn anexo que no trata de los
mismos temas que el expediente.

g. Dar el identificador de aquellos expedientes que tratan todos los temas del expediente
'95/000286'.

h. Dar el identificador de aquellas resoluciones que son inconsistentes. Las tuplas que forman
parte de la solucin son aquellas que cumplen con alguna de las siguientes condiciones:
a. existe una tupla perteneciente a la tabla RESOLUCION cuyo identificador es idRes,
su tipo es 'E' y no existe una tupla cuyo identificador es idRes en la tabla
EXP_RESOL
b. existe una tupla perteneciente a la tabla EXP_RESOL cuyo identificador es idRes y
no existe una tupla perteneciente a la tabla RESOLUCION cuyo identificador es
idRes y su tipo es 'E'.

i. Dar el identificador de aquellos expedientes que tratan 3 o ms temas.

j. Dar las parejas (idExp, cant_sec_pasa) donde cant_sec_pasa indica la cantidad de
secciones por las que pas el expediente idExp hasta el 05/09/03.

k. Dar el nombre de las secciones que resolvieron ms de 4 expedientes sobre el mismo
tema.

l. Para cada expediente con ms de 5 anexos dar el nmero de expediente y la cantidad de
temas que tienen 1 o ms temas similares.

m. Dar el identificador de expediente de aquellos expedientes que pasaron por ms secciones.