B1
B1
B1
Facultad de Informtica
Curso: 2007/2008
Un esquema de base de datos relacional correspondiente al anterior enunciado contiene las tablas
que se indican en la pgina siguiente.
Los atributos que aparecen subrayados son las claves primarias, y los que aparecen en cursiva son
claves externas. Para cada clave externa se indica a qu relacin y atributos concretos hace
referencia.
El esquema de la base de datos est creado en la base de datos Oracle de prcticas, ha sido cargado
con datos adecuados, y est accesible desde las cuentas de usuario de los grupos de prcticas de
esta asignatura.
3 Ingeniero Tcnico en Informtica de Sistemas. Fundamentos de Bases de datos. Prctica B1. Consultas en SQL - 1/4
garaje
GARAJE(codigo)
cliente
CLIENTE(codigo)
agencia AGENCIA(codigo)
reserva
coche
RESERVA(numero)
COCHE(matricula)
COCHE
RESERVA
CLIENTE
LISTA_RESERVA
En primer lugar, se aconseja ejecutar el comando DESC de SQL*Plus sobre cada tabla del esquema, para
observar las caractersticas de las columnas que la componen. Despus, es conveniente ejecutar la sentencia
SELECT * FROM... sobre cada una de las tablas, a fin de visualizar los datos almacenados en las mismas.
2.
Resumen de las reservas (numero, fecha_inicio, fecha_fin, coste_total) pendientes de devolucin, ordenado
por fecha de finalizacin.
3.
4.
5.
Clientes (codigo, nombre) que hayan realizado alguna reserva mediante la agencia con cdigo 2 y que
hayan realizado en total ms de 3 reservas.
6.
Para cada cliente, obtener el nmero de reservas realizadas y el precio medio de todas ellas (cliente,
cuantas_reservas, precio_medio).
7.
Agencias (codigo, nombre) que no participan en ninguna reserva con fecha de inicio posterior al 15 de
enero de 2004.
8.
9.
10. Coches (matrcula, marca, modelo) que nunca han sido reservados.
3 Ingeniero Tcnico en Informtica de Sistemas. Fundamentos de Bases de datos. Prctica B1. Consultas en SQL - 2/4
1. Reservas (numero, fecha_inicio, fecha_fin, coche, marca, modelo) de coches del garaje con cdigo
G1 realizadas a travs de la agencia con el cdigo 4, ordenado por nmero de reserva.
2. Primera reserva que se inici y perodo de duracin (reserva, fecha_inicio, cuantos_dias).
3. Garajes (cdigo, nombre) de los que nunca se ha reservado ningn coche.
4. Clientes (dni, nombre) que hayan reservado algn coche de la marca Volkswagen ms de 2
veces. Se debe considerar las reservas individuales de los coches, es decir, si una misma reserva
consiste en el alquiler de varios coches de esta marca, debe contabilizarse cada uno de ellos.
5. Coche que ms veces ha sido reservado, indicando cuntas veces (matricula, marca, modelo,
cuantas_reservas).
6. Coche que ms veces ha sido reservado por el mismo cliente, indicando cuntas veces ha sido
reservado (coche, cliente, cuantas_reservas).
7. ltima reserva realizada por cada cliente (codigo, numero, fecha_inicio). Tambin deben aparecer
los clientes que no tienen ninguna reserva, mostrando NULL en las columnas numero y
fecha_inicio. El listado ha de estar ordenado por cdigo de cliente.
8. Para cada cliente que ha hecho menos de 3 reservas (cliente), mostrar la suma total del coste de
las reservas realizadas por dicho cliente (suma_coste). Se debe considerar las reservas globales,
es decir, si una reserva consiste en el alquiler de varios coches, slo se contabiliza una vez.
9. Reservas (numero) que slo incluyen un coche (coche), es decir, con un nico coche en la lista
de reservas, y mediante qu agencia se ha contratado (agencia), ordenadas por n de reserva.
10. Clientes que slo han hecho reservas a travs de una nica agencia (cliente, agencia), por orden
de cdigo de cliente.
11. Clientes (dni, nombre) que han hecho reservas por medio de todas las agencias.
12. Para cada coche (matricula), indicar cuntas veces se ha reservado (cuantas_reservas) y cul es la
fecha de inicio de la reserva ms reciente (fecha_inicio). En el resultado tambin deben aparecer
los coches que no han sido reservados ninguna vez, mostrando en la columna cuantas_reservas
un 0, y un NULL en la fecha_inicio. El resultado debe estar ordenado por matrcula.
13. Agencias (codigo, nombre) que participan en ms de 3 reservas cuya duracin es de una semana
o ms.
14. Nmero y coste de la reserva ms cara realizada para cada marca y modelo de coche (reserva,
marca, modelo, coste_coche). Se debe considerar las reservas individuales de los coches.
15. Obtener el coche que ha sido reservado mediante la agencia 1 con la mayor cantidad de litros
de combustible al inicio de la reserva, mostrando adems la matrcula, marca y modelo del
vehculo, la cantidad de litros de combustible de inicio y el nombre del garaje al que est
asignado el coche (matricula, marca, modelo, litros_inicio, nombre).
3 Ingeniero Tcnico en Informtica de Sistemas. Fundamentos de Bases de datos. Prctica B1. Consultas en SQL - 3/4
Fecha de entrega
Lunes, 26 de Noviembre de 2007.
- Guiones SQL (scripts). Ha de crearse un guin (fichero de texto plano) por cada ejercicio,
llamado b1-nn.sql (nn es el n de ejercicio), que contendr
- nmero de ejercicio.
- comandos de SQL*Plus necesarios para dar formato al resultado de la consulta.
- texto de la consulta (SELECT) con las sangras adecuadas y fcilmente legible.
- NO DEBE APARECER el resultado de la ejecucin de la consulta.
Es posible ayudarse del comando SPOOL de SQL*Plus para la elaboracin del informe as como
del contenido de los guiones (scripts) SQL.
Criterios de evaluacin
obligatorio entregar va SUMA el informe de la prctica y todos los guiones (scripts SQL). No
se corregir la prctica si no se ha presentado la documentacin completa (por ejemplo, si slo se
entregan algunos ejercicios y otros se dejan en blanco, o si se entregan slo algunos scripts).
La lectura del informe ha de ser suficiente para la comprensin total del trabajo realizado en la
prctica (sin necesidad de recurrir a los guiones).
No es suficiente con que los SELECT funcionen, esto es, que devuelvan las filas correctas, sino que
se valorar el estilo en la resolucin de cada consulta, las explicaciones dadas y la organizacin
de la documentacin explicativa (informe) de la prctica.
Importante: es obligatorio que los resultados que se presenten en el informe correspondan a la
ejecucin de las consultas sobre el esquema ya existente en la base de datos de prcticas de la
Facultad (y que es comn a todos los grupos de prcticas).
Es
3 Ingeniero Tcnico en Informtica de Sistemas. Fundamentos de Bases de datos. Prctica B1. Consultas en SQL - 4/4