Consultas SQL

Ejercicios de consultas SQL Ejercicio 1 Se mantiene la informaci´on estad´ıstica de empresas de la regi´on en el siguie

Views 260 Downloads 7 File size 121KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Ejercicios de consultas SQL

Ejercicio 1 Se mantiene la informaci´on estad´ıstica de empresas de la regi´on en el siguiente esquema 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´on: • Π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´on 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´as 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´as que todo empleado del “Banco Central del Uruguay” utilizando la cl´ausula 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´ u”. Obs: No se puede usar la cl´ausula 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´ uplas de la relaci´on TRABAJA de emplados del “Banco Central del Uruguay”.

Ejercicio 2 Se mantiene la informaci´on 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´on: • ΠidP (CAT ALOGOS) ⊆ ΠidP (P ROV EEDORES) • ΠidR (CAT ALOGOS) ⊆ ΠidR (REF ACCION ES) Se pide: Dar una expresi´on 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´on 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 identificadores de Proveedor, Refacci´on y qu´e descuento aplica seg´ un 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´on 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´o su autorizaci´on para circulaci´on (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´on: • Π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´on en SQL que resuelve lo mismo que la siguiente expresi´on en ´ Algebra 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