Sei sulla pagina 1di 3

Ejercicios de consultas SQL

Ejercicio 1
Se mantiene la información estadı́stica de empresas de la región en el siguiente es-
quema de base de datos:
EMPLEADO(nombrePersona, calle, ciudad)
TRABAJA(nombrePersona, nombreEmpresa, salario)
EMPRESA(nombreEmpresa, ciudad)
SUPERVISA(nombrePersona, nombreSupervisor)
Se cumplen las siguientes restricciones de inclusión:

• ΠnombreP ersona (T RABAJA) ⊆ ΠnombreP ersona (EM P LEADO)

• ΠnombreP ersona (SU P ERV ISA) ⊆ ΠnombreP ersona (EM P LEADO)

• ΠnombreSupervisor (SU P ERV ISA) ⊆ ΠnombreP ersona (EM P LEADO)

• ΠnombreEmpresa (T RABAJA) ⊆ ΠnombreEmpresa (EM P RESA)

Se pide: Dar una expresión en SQL para cada una de las siguientes consultas:
a) Obtener los nombres de todos los empleados que trabajan para el “Banco Central
del Uruguay”.
b) Obtener el nombre y la ciudad de residencia de los empleados que trabajan para
el “Banco Central del Uruguay”.
c) Obtener el nombre, la calle y ciudad de residencia de los empleados que trabajan
para el “Banco Central del Uruguay” que ganan más de $25.000.
d) Obtener los nombres de empleados que viven en la misma ciudad en donde se
ubica la empresa para la que trabajan.
e) Obtener los nombres de empleados que viven en la misma ciudad y sobre la misma
calle que vive su supervisor.
f ) Obtener los nombres de todos los empleados que no trabajan para el “Banco
Central del Uruguay” asumiendo que todos los empleados trabajan. Luego repita el
ejercicio suponiendo que pueden haber empleados que no trabajan para empresa alguna.
g) Obtener los nombres de todos los empleados que ganan más que todo empleado
del “Banco Central del Uruguay” utilizando la cláusula EXCEPT y luego sin utilizarla.

1
h) Suponiendo que las empresas pueden estar ubicadas en varias ciudades. Obtener
todas las empresas ubicadas en toda ciudad en donde se encuentre la empresa “Kiosko
de Cuchú”.
Obs: No se puede usar la cláusula CONTAINS.
i) Obtener de cada empleado su nombre y la cantidad de empleados que supervisa.
j) Dar un 9 porciento de aumento a todos los empleados del “Banco Central del
Uruguay”.
k) Modificar la base de datos de tal forma que el empleado Ochoa ahora vive sobre
la calle Av. Calcagno de la ciudad Shangril.
l) Dar un 9,5 porciento de aumento a todos los supervisores del “Banco Central del
Uruguay”.
m) Borrar todas las túplas de la relación TRABAJA de emplados del “Banco Central
del Uruguay”.

Ejercicio 2
Se mantiene la información de refacciones y los distintos proveedores que los proveen
en el siguiente esquema de base de datos:
PROVEEDORES(idP, nombreP, direccion)
REFACCIONES(idR, nombreR, color)
CATALOGOS(idP, idR, precio)
Se cumplen las siguientes restricciones de inclusión:
• ΠidP (CAT ALOGOS) ⊆ ΠidP (P ROV EEDORES)

• ΠidR (CAT ALOGOS) ⊆ ΠidR (REF ACCION ES)

Se pide: Dar una expresión en SQL para cada una de las siguientes consultas:
a) Obtener los nombres de los proveedores que proveen alguna parte.
b) Obtener los identificadores de proveedores que proveen una refacción roja y una
verde.
c) Obtener los nombres de refacciones provistas solamente por “Proveedores ACME”.
d) Encontrar los identificadores y precio mı́nimo de refacciones cuyo costo es menor
a $100 y tienen color rojo.
e) Armar un informe de las refacciones que vende un proveedor indicando los iden-
tificadores de Proveedor, Refacción y qué descuento aplica según el siguiente criterio.

• Si el precio es mayor a $100 y tiene color amarillo, el descuento es de 20%.

• Si tiene color azul tienen 10% de descuento.

• En otro caso no hay descuento.

2
Ejercicio 3
La información sobre el movimiento de barcos de carga en los puertos se mantiene
en el siguiente esquema de base de datos:
PUERTOS(nombre, pais, tipoAgua)
Una tupla en esta tabla representa un puerto del que se conoce el nombre, el paı́s en que
se encuentra y el tipo de agua (tipoAgua) que puede ser dulce o salada.
BARCOS(matricula, nombre, bandera)
Una tupla en esta tabla representa un barco del que se conoce su matrcula, su nombre,
y el paı́s que dió su autorización para circulación (bandera).
ATRACA(matricula, nombre, pais, fecha)
Una tupla en esta tabla representa que un barco (matricula) atraca en un determinado
puerto (nombre, pais) en una fecha determinada.
MERCADERIA(codigo, unidad, descripcion, tipo)
Una tupla en esta tabla representa una mercadera que se comercia y de la que se conocen
esos atributos.
MOVIMIENTO(matricula, nombre, pais, fecha, codigo, tipoMov, cant)
Una tupla en esta tabla representa un movimiento de carga o descarga (tipoMov ) de
cierta cantidad (cant) de una mercaderı́a (codigo), realizado sobre un barco atracado en
puerto (matricula, nombre, pais, fecha).
Se cumplen las siguientes restricciones de inclusión:

• Πmatricula (AT RACA) ⊆ Πmatricula (BARCOS)

• Πnombre,pais (AT RACA) ⊆ Πnombre,pais (P U ERT OS)

• Πmatricula,nombre,pais (M OV IM IEN T O) ⊆ Πmatricula,nombre,pais (AT RACA)

• Πcodigo (M OV IM IEN T O) ⊆ Πcodigo (M ERCADERIA)

Se pide:
a) Dar una expresión en SQL que resuelve lo mismo que la siguiente expresión en
Álgebra Relacion:
A ← πcodigo,nombre,pais,cant (σtipoM ov=“carga00 (M OV IM IEN T O))
B (cod, nom, pais2, cantidadB) ← A 
C ← πcodigo,nombre,pais A o n(cant<cantidadB AN D codigo=cod) B
SOLU CION ← πcodigo,nombre,pais (A) − C

b)

Potrebbero piacerti anche