Está en la página 1de 10

1

Sistemas de bases de datos II


Prctica Repaso SQL DML
Curso 2012-2013
Dado el siguiente esquema de la base de datos TALLER-MECANICO. Escriba las sentencias
SQL necesarias para resolver cada uno de los siguientes apartados.
Nota: Junto con el enunciado se muestra el resultado de la ejecucin de la consulta que
deber obtener.



CLIENTE
dni
nombre
apellidos
poblacion
codigo_postal
provincia
telefono
fecha_alta
COCHE
matricula
modelo
propietario
marca
fecha_renovacion_aceite
MECANICO
id_mecanico
nombre
apellidos
sueldo
supervisor
MODELO
id_modelo
marca
version
potencia
motor_cilindrada
motor_tipo
num_puertas
PARTE_HORAS_MECANICO
id_mecanico
id_reparacion
horas
PARTE_REPARACION
id_reparacion
id_pieza
total_piezas
total_piezas_rotura
fecha_realizacion
PIEZA
id_pieza
modelo
especialista
descripcion
precio
REPARACION
id_reparacion
matricula
fecha_cita_previa
fecha_comienzo
fecha_fin
cerrada
2
1. De las piezas obtenga cada uno de los modelos ordenados ascendentemente por el
cdigo de pieza donde el precio est comprendido entre 500 y 1500.

modelo precio
-------------------- ------------------------------------------------
-----
Alfa166 500.0
Alfa166 500.0
RENAULT MEGANE 500.0
XANTIA 500.0
XANTIA 1500.0
FOCUS_CMAX 1500.0

(6 filas afectadas)

2. Mostrar el dni de los clientes, el modelo de cada coche, la potencia de cada modelo
y el nmero de puertas de los coches que han sido reparados en el taller.

dni modelo potencia num_puertas
---------- -------------------- ----------- -----------
54566678N ALFA166 150 5
54562278Z ALFA166 150 5
54562278Z FOCUS_CMAX 136 5
54566678N XANTIA 92 5
54566678N XANTIA 92 5
54566678N XANTIA 92 5
54566678N XANTIA 92 5
54577778W XANTIA 92 5

(8 filas afectadas)

3
3. De los partes de reparacin obtenga el identificador del parte, el doble del nmero
de piezas utilizadas y el cuadrado de piezas desperdiciadas, que fueron utilizadas
siempre que la cantidad que se utilizo fuera superior a la media de utilizacin de
todas las piezas.

id_reparacion id_pieza total_piezasx2 total_piezas^2
------------- ---------- -------------- --------------
R0000001 P007 448 4900
R0000004 P002 506 1024

(2 filas afectadas)

4. Obtenga las cuatro primeras letras del modelo de cada pieza y el nombre de su
especialista, siempre que el sueldo del especialista sea el mayor de todos los
sueldos.

modelo nombre
------ --------------------
XANT MARIANO
RENA MARIANO
XANT ANDRES
XANT ANDRES

(4 filas afectadas)

5. Obtenga el listado de clientes y las tres ltimas letras de la matrcula de los coches
que haya llevado al taller, siempre y cuando hayan llevado ms de tres coches a
arreglar, ordenndolos por fecha de alta de cliente descendentemente.

dni nombre
---------- -------------------- ----
54566678N JUAN ANTONIO BBB
54566678N JUAN ANTONIO FGT
54566678N JUAN ANTONIO FGT
4
54566678N JUAN ANTONIO FGT
54566678N JUAN ANTONIO FGT

(5 filas afectadas)

6. Mostrar todos los identificadores de pieza y su cdigo de especialista en las que el
especialista ha trabajado en todas las reparaciones ms que la media de trabajo de
todos los especialistas.

id_pieza especialista
---------- ------------
P006 M0006
P007 M0006

(2 filas afectadas)

7. Obtenga las matriculas de los coches, las piezas que se han utilizado y los apellidos
de los empleados que han intervenido en reparaciones en los que el ltimo parte de
reparacin se realiz el da de entrega al cliente del coche, ordenndolos por la
fecha establecida como cita previa.

matricula id_pieza apellidos
--------------- ---------- ------------------------------------------
---
7898FGT P001 PEREZ RAMOS
7898FGT P006 PEREZ RAMOS
7898FGT P007 PEREZ RAMOS
7898FGT P001 ROJO TORRE
7898FGT P006 ROJO TORRE
7898FGT P007 ROJO TORRE

(6 filas afectadas)

5
8. Obtenga de cada una de las piezas la menor cantidad total utilizada en cada
reparacin en todas las reparaciones siempre que la cantidad desperdiciada de
todas las piezas en esa reparacin sea superior a 30.

id_pieza id_reparacion
---------- ------------- -----------
P001 R0000001 10
P006 R0000001 65
P007 R0000001 224
P002 R0000004 253

(4 filas afectadas)

9. Obtenga para cada reparacin el nmero total de horas invertidas por los
empleados en los que su sueldo sea mayor que la media.

id_reparacion
------------- -----------------------------------------------------
R0000001 1.5
R0000003 7.0

(2 filas afectadas)

10. Sumar el total de piezas desperdiciadas de todos las reperaciones de cada uno de
los coches llevados al taller.

matricula piezas perdidas
--------------- ---------------
6111BBB 7
7458EBV 33
7898FGT 97
9898EST 0

6
(4 filas afectadas)

11. Muestre el nombre de cada uno de los empleados del taller junto con el nmero de
horas invertidas, mostrando primero los que ms horas han invertido.

nombre apellidos
horas
-------------------- --------------------------------------------- --
---------------------------------------------------
ANDRES MARIN SOTO
7.0
MARIANO ROJO TORRE
1.5
JUAN ANTONIO PEREZ RAMOS
1.0
FERNANDO CACERES TORRES
1.0

(4 filas afectadas)

12. Qu mecnicos reciben un salario menor que el sueldo medio de los mecnicos
que dependen de su mismo supervisor?

id_mecanico
-----------
M0004

(1 filas afectadas)

13. Por cada modelo de coche, obtenga el nmero medio de piezas utilizadas y
desaprovechadas por rotura.


modelo Piezas Rotura
-------------------- ----------- -----------
7
Alfa166 34 3
FOCUS_CMAX 89 11
XANTIA 79 24
(3 filas afectadas)

14. A cuanto asciende el salario medio de mecnicos especialistas en coches de la
marca Citroen?. Seria necesaria la clusula GROUP BY ?. Por qu?

Sueldo_medio
-----------------------------------------------------
1400.0

(1 filas afectadas)

15. Obtenga el nombre y los apellidos de aquellos clientes que han llevado tres o ms
veces un mismo coche a reparar.

nombre apellidos
-------------------- ---------------------------------------------
MARIANO CASTRO ROJO

(1 filas afectadas)

16. Seleccione los identificadores, descripcin y modelo de las piezas que no se han
llegado a utilizar hasta la fecha en ninguna reparacin. Realice si es posible esta
consulta utilizando IN o EXISTS o JOIN

id_pieza descripcion modelo
---------- --------------------------------------------- ------------
--------
P005 Carburador RENAULT
MEGANE
P009 Caudalimetro FOCUS_CMAX
P010 Inyector FOCUS_CMAX
8

(3 filas afectadas)

17. Obtenga el nmero de especialistas y el salario medio que cobran los especialistas
existentes para cada modelo de coche.

id_modelo Especialistas Sueldo_medio
------------------ ------------- ------------------------------------
---
ALFA166 1 1300.0
FOCUS_CMAX 3 1233.3333333333333
RENAULT MEGANE 1 1400.0
XANTIA 2 1400.0

(4 filas afectadas)

18. Indique el nmero de horas que se han invertido para reparar cada modelo
independientemente del tipo de motor que tuviera.

modelo Total_horas
-------------------- ------------------------------------------------
-----
FOCUS_CMAX 4.0
XANTIA 1.25

(2 filas afectadas)

19. Indique en cuantas reparaciones ha sido necesaria la intervencin de un mecnico
especialista

NUMERO_ESPECIALISTAS
--------------------
3
9

(1 filas afectadas)

20. Indique cuantas piezas tanto empleadas como desechadas por rotura se han
obtenido para reparar cada uno de los modelos.

modelo T_piezas T_piezas_rotura
-------------------- ----------- ---------------
ALFA166 69 7
FOCUS_CMAX 269 33
XANTIA 319 97

(3 filas afectadas)

21. Qu especialistas de Ford tienen un sueldo menor que el sueldo medio de los
especialistas de la misma marca?

id_mecanico
-----------
M0003
M0001

(2 filas afectadas)

22. Obtenga en una nica tabla la siguiente informacin

- Numero de especialistas que tiene el taller.
- Numero de modelos de los cuales el taller tiene piezas.
- Numero de empleados.
- Salario medio de los empleados.

10
------------------------ --------------------------------------------
-------
Nmero empleados: 5.0
Nmero especialistas: 5.0
Nmero modelos: 4.0
Salario medio mecnicos: 1300.0

(4 filas afectadas)

También podría gustarte