bd2 pr1

También podría gustarte

Está en la página 1de 8

Ejercicio 1

Se cuenta con una base de datos relacional con información sobre los campeonatos mundiales
de fútbol que incluye el año y lugar en que se realizaron y los equipos que participaron.
Con relación a los equipos se almacena el nombre y la cantidad de campeonatos que ganó.

- CAMPEONATO (año, pais)

- EQUIPO (nomEquipo, cantCampGanados)

- PARTICIPA (nomEquipo, año, serie, direcTecnico, posicionEnLaSerie)

- PARTIDO (nomEquipo1, nomEquipo2, año, estadio, fecha, golesEq1, golesEq2)

Nota: como sólo se consideran los campeonatos mundiales el año determina el campeonato,
sin necesidad del lugar.


nomEquipo(PARTICIPA) nomEquipo(EQUIPO)
nomEquipo1(PARTIDO) nomEquipo(EQUIPO)
nomEquipo2(PARTIDO) nomEquipo(EQUIPO)
año(PARTIDO) año(CAMPEONATO)
año(PARTICIPA) año(CAMPEONATO)

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 técnicos de los equipos que ganaron el 14/6/06.
c. ¿Cuántos 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

Se cuenta con una base de datos con las siguientes relaciones:

- FRECUENTA (bebedor, bar)

- SIRVE (bar, cerveza)

- LEGUSTA (bebedor, cerveza)

La primera relación 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 Fernández?
b. ¿Cuáles son los bebedores que frecuentan un bar que sirve al menos alguna cerveza
que les guste?
c. ¿Cuáles 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. ¿Cuáles son los bebedores que no frecuentan ningún bar que sirva una cerveza que les
guste? (Asumir lo mismo que en c.)
Ejercicio 3

Se posee información sobre una empresa que tiene distintos locales con maquinitas.
Los datos de cada local son: su identificación (#local), dirección, 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 relación:

LOCALES ( #local, dirección, cantidad_maq, prom_fichas, valor_ficha )


Los datos de cada juego son: su identificación (#juego), su origen y su tipo (ej.: deportivo,
bélicos, etc.); y se encuentran en el esquema relación:

JUEGOS ( #juego, origen, tipo)


Los datos sobre cada maquinita son: su identificación (#maquina), la identificación del juego
que tiene y la identificación del local en el que se encuentra; y se encuentran en el esquema
relación:

MAQUINAS ( #maquina, #juego, #local )


Una máquina tiene un único juego y está en un solo local.
En esta base de datos se cumplen las siguientes restricciones de inclusión:


#local(MAQUINAS) # local (LOCALES)
#juego(MAQUINAS) # juego (JUEGOS)

Aclaración: no hay tablas vacías.

Con la información almacenada en los esquemas relacionales anteriores resolver mediante


operaciones de Álgebra Relacional las siguientes consultas:
a. Las parejas (identificación del local, promedio de fichas del local) tal que entre los
juegos del local estén todos los juegos de origen "JAPONES".
b. Identificación 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 solución tienen algún juego de origen "COREANO".
c. Identificación de los locales que tengan máximo número de máquinas.
d. Identificación de los locales que tienen exactamente los mismos juegos y distinto
promedio de fichas que el local con #local 28.
Ejercicio 4

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 números de los proveedores que proveen a los proyectos número 1 y al
mismo tiempo al proyecto número 2.
b. Obtener los números de proveedores que proveen al proyecto número 1 de alguna
parte roja.
c. Obtener los números de los proveedores que proveen con partes rojas a algún proyecto
de Londres o alguno de París.
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 condición
de que las ciudades no deben ser la misma.
f. Obtener todos los números de partes tales que no hay otra parte con peso menor.
g. Dar los números de los proyectos provistos solamente por el proveedor número 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.
Ejercicio 5.

La siguiente base de datos relacional describe ciertas materias dictadas en una hipotética
Universidad:

- CURSOS (codigo, nombre, cant_inscriptos)


Esta tabla contiene información acerca de los cursos que se ofrecen. De cada curso se conoce
un código que lo identifica, un nombre y la cantidad de inscriptos

- PREVIATURAS (codigo, codigoPrevia)


Esta tabla contiene información acerca de las previaturas inmediatas entre cursos

- ASIGNADOS (codigo, docente)


Esta tabla contiene información acerca de los docentes asignados a los cursos.

- HORARIOS_DICTADO (codigo, docente, horario, salon)


Esta tabla contiene información acerca de los salones y horarios de clase. Para cada docente
que dicte clase de un curso en un determinado horario se almacena el salón correspondiente.

- DOCENTES (nombre, oficina, telefono, departamento)


Esta tabla contiene información acerca de los docentes.

En esta base de datos se cumplen las siguientes restricciones de inclusión:


codigo(PREVIATURAS) codigo(CURSOS)
codigoPrevia(PREVIATURAS) codigo(CURSOS)
codigo(ASIGNADOS) codigo(CURSOS)
docente(ASIGNADOS) nombre(DOCENTES)
codigo, docente(HORARIOS_DICTADO) codigo, docente(ASIGNADOS)

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 más de 100 alumnos inscriptos.
b. Encontrar los nombres de los docentes que no están asignados a ningún curso.
c. Encontrar los nombres de todos los cursos asignados a docentes del departamento de
‘Programacion’.
d. Encontrar todos los pares de códigos de cursos que tienen una previatura en común.
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
González.
g. Mostrar los códigos y cantidad de inscriptos de todos los cursos cuya cantidad de
inscriptos sea menor que el promedio.
h. Mostrar los códigos de todos los cursos que se dictan en algún salón donde se dicta el
curso con código ‘CSC434’.
i. Encontrar los nombres de los docentes que dictan cursos que se dictan en 2 o más salones.
j. Encontrar los códigos de todas las previas inmediatamente anteriores al curso con código
‘CSC444’.
k. Encontrar los códigos de todos los cursos que deben ser aprobados antes de poder cursar
‘CSC434’.
l. Mostrar para cada docentes 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 salón.
Se propone la siguiente solución:
docente (HORARIOS_DICTADO) RESi
donde RESi es el resultado de la consulta i) de la parte 1 de este ejercicio.
Discutir la correctitud de la solución planteada.
En caso de que sea correcta demostrarlo y en caso contrario dar un contraejemplo, indicar que
resuelve la expresión planteada y dar una solución correcta a la consulta original.

Ejercicio 6.
Una importante empresa de venta de pinturas con varias sucursales decide formar una sección
que se encargue de realizar las combinaciones de colores requeridas por los clientes. A su vez
mantienen una base de datos con los pedidos para poder obtener estadísticas acerca de las
mezclas más frecuentes.
Dicha base de datos posee las siguientes tablas:

Colores (idC, descripcion, tipo, brillo)
Representa la información de cada uno de los colores. IdC es el identificador del color.
Descripcion es el nombre asignado al color. Tipo indica si el color es puro (provisto por los
fabricantes, sin necesidad de realizar mezclas) o mezcla (ese color no se vende, hay que
realizar la mezcla). Brillo indica si el color es brilloso o mate.
Descripcion identifica también al color.

Mezclas (idC, idCPuro, proporcion)
Representa la información de los colores que se obtienen como combinación de colores puros.
IdC es el identificador del color de la mezcla. IdCPuro y proporción indican la proporcion del
color puro para realizar la mezcla.

Productos (IdP, descripcion, marca, tamaño)
Representa la información de los productos (latas de pintura). IdP es un identificador.
Descripcion es el nombre del producto. Marca es la marca del producto. Tamanio es la cantidad
de litros de la lata. Se consideran productos distintos los que tienen diferentes tamaños, pero no
los que tienen diferentes colores, es decir, que IdP no indica el color que tiene la pintura.

ColorProd (idP, idC)
Representa la información de los colores puros en que viene cada producto. IdP es el
identificador del producto, e idC es el identificador del color. Sólo se venden latas de colores
puros.

Solicitudes (idSol, fecha, sucursal, idC, tamaño)
Representa las solicitudes de mezclas realizadas por las diferentes sucursales. Sólo se solicitan
mezclas, no colores puros. IdSol es un identificador. Fecha es la fecha en que se realizó la
solicitud, y sucursal la sucursal de la empresa desde la que se hizo la misma. IdC es el
identificador de color y tamaño es la cantidad de litros de la mezcla pedida.

NOTA:
No existen tablas vacías.

Parte 1:
Dar relaciones entre expresiones algebraicas que expresen las restricciones indicadas en la
descripción de las tablas.
Parte 2:
Resolver las siguientes consultas, en caso de no ser posible justifique el motivo:
1. Dar las marcas, que entre sus productos, tienen todos los colores necesarios para
realizar todas las mezclas.
2. Dar el color puro utilizado en más de 3 mezclas.
3. Dar la lista de mezclas mates solicitadas más de 5 veces, y la cantidad total de litros
solicitados de cada una.
4. Dar la lista de colores que pueden prepararse mezclando, únicamente, colores del
producto P13.

Ejercicio 7

Debido a la desorganización reinante en una empresa de plaza, la mesa directiva de la misma


decidió nombrar a un encargado de organización. Este encargado decidió automatizar el
sistema de control de asignaciones de tareas a secciones y empleados de la empresa. Para
esto creó una base de datos con los siguientes esquemas relación:

FUNCIONARIOS (nroF, nomF, aaIng)



Representa la información de todos los empleados de la empresa. Donde nroF representa
el número de funcionario, nomF el nombre del funcionario y aaIng representa el año de
ingreso del funcionario a la empresa.

SECCIONES (codS, nomS, local, tel)



Representa la información de todas las secciones que posee la empresa. Donde codS
representa el código de la sección, nomS su nombre, tel número de teléfono de la sección
y local el local donde esta ubicada.
En un local puede haber varias secciones.

TAREAS (codT, nomT, duración)



Representa la información de todas las tareas de la empresa. Donde codT representa el
código de la tarea, nomT su nombre y duración la duración estimada en días de la misma.

PREVIAS (codTP, codTS)



Representa la relación de orden que existe entre las tareas.
Una tupla (p,s) de esta relación, significa que la tarea con código p debe realizarse
inmediatamente antes que la tarea con código s.
 codTP(PREVIAS) codT(TAREAS)
 codTS(PREVIAS) codT(TAREAS)

TRABAJA (nroF, codS, hsSem, sueldo, cargo)



Representa la cantidad de horas semanales, el cargo que tiene y el sueldo que gana cada
funcionario en cada sección en que trabaja.
 nroF(TRABAJA) nroF(FUNCIONARIOS)
 codS(TRABAJA) codS(SECCIONES)
ASIGNACION (nroF, codT, fAsig)

Representa las asignaciones de tareas realizadas.
Una tupla (fun, tar, fe) de esta relación representa que al funcionario de número "fun" se le
ha asignado la tarea con código "tar" en la fecha "fe".
 nroF(ASIGNACION) nroF(FUNCIONARIOS)
 codT(ASIGNACION) codT(TAREAS)

OBLIGACIONES (codS, codT)



Representa la relación de obligatoriedad que existe entre las secciones y algunas tareas
que deben realizar.
Una tupla (sec, tar) de esta relación representa que la sección con código "sec" está obligada a
realizar la tarea con código "tar".
 codS(OBLIGACIONES) codS(SECCIONES)
 codT(OBLIGACIONES) codT(TAREAS)

La mesa directiva de la empresa, le propone a usted que resuelva las siguientes


consultas en SQL. En caso de ser necesario utilice vistas para su resolución.

a. Obtener el código, el nombre y la duración de las tareas que se deben realizar


inmediatamente antes de la tarea con código "c42".
b. Obtener los nombres y año de ingreso de los funcionarios que tienen algún sueldo mayor
que algún sueldo del funcionario con número 812.
c. Obtener las parejas de números de funcionarios tales que el primero tiene asignada una
tarea que debe realizarse inmediatamente antes que una tarea asignada al segundo
funcionario.
d. Obtener los nombres de los funcionarios tales que en la misma fecha le asignaron más de
una tarea.
e. Obtener los códigos, nombre y duración de las tareas que están obligadas a realizar la
sección con nombre "PROMOCION" y/o la sección con nombre "COMPUTOS".
f. Dar los nombres, años de ingreso y cargo de los funcionarios que tienen el mínimo sueldo
en la sección de nombre "VENTAS".
g. Obtener los datos de las tareas inmediatamente previas e inmediatamente sucesoras de las
tareas de mayor duración.
h. Hallar los nombres de los funcionarios que ingresaron antes del año 1986 y sólo fueron
asignados a tareas cuya duración no supera los 60 días.
i. Obtener los datos de las secciones, tal que cada sección está obligada a realizar todas las
tareas con nombre "URGENTE1".
j. Obtener los sueldos totales de los funcionarios que tienen la mayor carga horaria total.
k. Obtener los datos de las tareas asignadas a funcionarios que trabajan en secciones que
están en locales donde hay un sólo teléfono interno para todo el local.
l. Obtener los locales donde trabajan la menor cantidad de funcionarios.
Ejercicio 8.

Considerando los siguientes esquemas relación:

COMPAÑIA (nombreComp, ciudadComp)

Representa la información de todas las compañías, nombre de la compañía y ciudad donde se


encuentra la misma.

TRABAJA (nombreEmp, nombreComp, salario)

Representa la información de la compañía en la cual trabaja cada empleado y el salario que


éste percibe.

GERENCIA (nombreEmp, nombreGerente)

Representa la información que relaciona a cada empleado con su gerente.

VIVE (nombre, dirección, ciudad)

Representa la información de los datos personales de los empleados, nombre del empleado,
dirección y ciudad donde vive.

Donde:
nombreEmp(TRABAJA) nombre(VIVE)
nombreComp(TRABAJA) nombreComp(COMPAÑIA)
nombreEmp(GERENCIA) nombreEmp(TRABAJA)
nombreGerente(GERENCIA) nombreEmp(TRABAJA)

Resolver las siguientes consultas en SQL:

a. Nombre y ciudad donde viven las personas que trabajan en la compañia de nombre INCA.
b. Nombre, dirección y ciudad de las personas que trabajan en la compañia de nombre
HLP.SA y ganan más de $800.000.
c. Nombre y dirección de las personas que viven en la misma ciudad en la cual está ubicada
la compañía para la cual trabaja o viven en la misma ciudad que su gerente.
d. Nombre de las personas que no trabajan para la compañía AMIP.
e. Nombre y dirección de las personas que viven en la misma ciudad que su gerente y que no
viven en la ciudad de la compañía RAMF.LTDA.
f. ¿Cómo deberá modificarse el esquema relacional para que una compañía pueda estar
ubicada en varias ciudades? En ese nuevo esquema, encontrar los nombres de las
compañías que están ubicadas en todas las ciudades donde está ubicada la compañía
FARM.SA.

También podría gustarte