Está en la página 1de 10

UNIDAD TEMÁTICA 3: IMPLEMENTACIÓN DE BASES DE DATOS RELACIONALES

Boletín de ejercicios
Ejercicio 1
Considerar el siguiente modelo de datos que corresponde a los préstamos de libros de una
biblioteca:

1.1) Pasa este modelo a tablas sabiendo lo siguiente:


a. De cada libro se almacenan estos datos: ISBN, Título, Editorial y Número de páginas.
c. De cada socio se guardan: DNI, nombre, fecha de nacimiento y provincia.
b. Del préstamo se anota: fecha de préstamo, fecha de devolución, y si está devuelto.
d. La provincia por defecto del socio será Almería, Córdoba, Málaga o Granada.
e. El socio debe de ser mayor de edad. Toma para eso fechas de nacimiento anteriores al
10/11/1991. * Más adelante se calculará usando funciones de fecha (tipo today).

1.2) Genera la definición de tablas en SQL.

Ejercicio 2
Para que un alumno ingrese en la Universidad, debe realizar una preinscripción,
especificando a qué estudios desea acceder en orden de preferencia. Dicha información
se guarda en una base de datos cuyo modelo de datos responde al siguiente diagrama:

2.1) Pasa a modelo relacional sabiendo lo siguiente:


a. De un alumno se guardan los siguientes datos: dni, nombre, nota y opción.
b. De cada estudio se guardan estos datos: código, nombre, nota de corte
c. Opción tomará los valores A, B, C ó D.
d. La nota de corte ha de ser mayor que 5.
e. El atributo admitido tomará los valores S ó N.
2.2) Genera la definición de tablas en SQL.
UNIDAD TEMÁTICA 3: IMPLEMENTACIÓN DE BASES DE DATOS RELACIONALES

Ejercicio 3
3.1) Crea las siguientes tablas:
mat (matrícula del coche, 8 caracteres y llave primaria)
COCHES marca (15 caracteres)
an_fab (año de fabricación, número de 2 dígitos)
dni (9 caracteres, llave primaria)
MECANICOS nombre (15 caracteres)
puesto (15 caracteres)
parcial (1 carácter)
mat (la matrícula del coche, llave externa respecto de COCHES),
TRABAJOS dni (el dni del mecánico),
horas (número de 3 cifras con 1 decimal, debe ser mayor de 0.5)
fecha_rep (tipo fecha)
3.2) Modifica las tablas
Añadir a la tabla COCHES el atributo modelo (15 caracteres)
Establecer los atributos mat y dni como la clave primaria de la tabla trabajos.
Establecer el atributo dni de TRABAJOS como llave externa respecto a MECANICOS.
Ampliar a 4 la longitud del atributo an_fab de la tabla COCHES.

Ejercicio 4
Dadas estas tablas:
Libro (código, autor, titulo, editor, clase, prestado)
Usuario (secuencia, nombre, dirección, fecha_ingreso)
Clase (clave, tiempo_de_prestamo)
Préstamo (código, secuencia, fecha_inicio)
Con las siguientes claves foráneas:
Libro.clase -> Clase
Prestamo.codigo -> Libro
Prestamo.secuencia -> Usuario
Y las siguientes restricciones:
Prestado debe tomar por defecto el valor 1
fecha_ingreso es un campo obligatorio
4.1) Crea las tablas tal y como se haría en un SGBD Comercial (Oracle/MySQL)

4.2) Agrega a la tabla Usuario el campo sexo de un solo carácter

4.3) Agrega a la tabla Libro el campo índice de tipo entero.


UNIDAD TEMÁTICA 3: IMPLEMENTACIÓN DE BASES DE DATOS RELACIONALES

Ejercicio 5
Tenemos el siguiente esquema E-R:

5.1) Realiza el modelo relacional correspondiente (normalizado hasta 3FN)

5.2) Crea las tablas en ORACLE procurando que las columnas tengan el tipo y tamaño
adecuado, y con las siguientes restricciones:
1. El Color de los coches es verde, rojo o azul.
2. Las Horas de mano de obra de una operación nunca pasan de 10.
3. Señala todas las claves primarias, ajenas y candidatas.
4. La cantidad de Piezas por Operación por defecto es 1.
5. La marca y modelo del coche no pueden dejarse en blanco.
6. El precio de un coche está entre 10000 y 40000.
UNIDAD TEMÁTICA 3: IMPLEMENTACIÓN DE BASES DE DATOS RELACIONALES

Ejercicio 6
Se dispone de una base de datos en la que figuran tramos de comunicación por carretera
entre localidades de España.

código de localidad
localidades nombre de la localidad
número de habitantes censados oficialmente
número de habitantes que realmente residen en la localida
código de la provincia
provincias nombre de la provincia
el nombre de la comunidad autónoma a la que pertenece
tramo (dos) localidades o nodos relacionados y la distancia entre ellos

6.1) Pasa el Modelo Entidad Relación a Tablas

6.2) Crea las 3 tablas. Teniendo en cuenta:


a) El censo ha de ser menor que el número de habitantes.
b) La distancia entre localidades nunca puede ser mayor que 300.
c) Las localidades deben de escribirse en mayúsculas.

6.3) Modifica las tablas de este modo:


a) Inserta 3 tuplas para cada una de las tablas resultantes.
b) Modifica la distancia de las tuplas de la tabla Tramos, aumentando la distancia en
un 20%, si la distancia es mayor que 50.
UNIDAD TEMÁTICA 3: IMPLEMENTACIÓN DE BASES DE DATOS RELACIONALES

Ejercicio 7
7.1) Crear el esquema de la Base de Datos “EMPRESA”, compuesta por estas tablas:
Establece las restricciones de integridad que se consideren oportunas, especialmente
las restricciones de integridad referencial.
• Numero: Número identificativo del centro
CENTROS • Nombre: Nombre del centro
• Direccion: Dirección del local
• Numero: Nº identificativo del departamento
• Centro: Nº del centro de trabajo del departamento. Todo departamento está en un
centro de trabajo (edificio o local), que puede albergar más de un departamento.
DEPARTAMENTOS

• Director: Nº de empleado del director del departamento (uno por departamento).


Puede ser director en propiedad o en funciones. Un empleado sólo puede ser director
en propiedad de un único departamento, pero director provisional en funciones de varios.
• Tipo_dir: Tipo de director: 'P', en propiedad y 'F', en funciones.
• Presupuest: Presupuesto anual del departamento, en miles de euros.
• Depto_jefe: Nº del departamento del que depende. Todo departamento depende de
otro (excepto el superior). Un departamento puede tener varios dependiendo de él. Esta
dependencia expresa la jerarquía de mando. Admite un valor nulo.
• Nombre: Nombre del departamento.
• Cod: Nº identificativo del empleado
• Departamento: Nº departamento al que está asignado el empleado
• Telf: Extensión telefónica del empleado
• F_nac: Fecha de nacimiento
EMPLEADOS

• F_ingreso: Fecha de ingreso en la empresa


• Salario: Salario mensual en euros
• Comision: Comisión mensual en euros. Aplicable a empleados vendedores o sus
directores (incluye hasta el director comercial), y con valor nulo para el resto de
empleados. Es vendedor quien pertenece al departamento de Dirección Comercial.
• Num_hijos: Número de hijos
• Nombre: Nombre del empleado

7.2) Añade los datos que se te facilitan con estas consultas.


insert into CENTROS values (10, 'SEDE CENTRAL', 'C. ALCALA 820, MADRID');
insert into CENTROS values (20, 'RELACION CON CLIENTE', 'C. ATOCHA 405, MADRID');
insert into DEPARTAMENTOS values (100,'DIRECCION GENERAL', 10, 260, 'P', 12, null);
insert into DEPARTAMENTOS values (110,'DIRECC.COMERCIAL', 20, 180, 'P', 15, 100);
insert into DEPARTAMENTOS values (111,'SECTOR INDUSTRIAL', 20, 180, 'F', 11, 110);
insert into DEPARTAMENTOS values (112,'SECTOR SERVICIOS', 20, 270, 'P', 9, 100);
insert into DEPARTAMENTOS values (120,'ORGANIZACION', 10, 150, 'F', 3, 100);
insert into DEPARTAMENTOS values (121,'PERSONAL', 10, 150, 'P', 2, 120);
insert into DEPARTAMENTOS values (122,'PROCESO DE DATOS', 10, 350, 'P', 6, 120);
insert into DEPARTAMENTOS values (130,'FINANZAS', 10, 310, 'P', 2, 100);
insert into EMPLEADOS values (110, 121, 350, '2010-11-01', '1914-02-05',1310, null, 3, 'PONS, CESAR');
insert into EMPLEADOS values (120, 112, 840, '2009-06-02', '1918-10-06',1350, 110, 1, 'LASA, 03IO');
insert into EMPLEADOS values (130, 112, 810, '2009-11-03', '1936-02-07',1290, 110, 2, 'TEROL, LUCIANO');
insert into EMPLEADOS values (150, 121, 340, '2010-08-04', '1939-01-09',1440, null, 0, 'PEREZ, 07IO');
insert into EMPLEADOS values (160, 111, 740, '2009-07-05', '1939-11-10',1310, 110, 2, 'AGUIRRE, AUREO');
UNIDAD TEMÁTICA 3: IMPLEMENTACIÓN DE BASES DE DATOS RELACIONALES

insert into EMPLEADOS values (180, 110, 508, '2018-10-06', '1945-03-11',1480, 50, 2, 'PEREZ, 03COS');
insert into EMPLEADOS values (190, 121, 350, '2012-05-07', '2011-02-12',1300, null, 4, 'VEIGA, 07IANA');
insert into EMPLEADOS values (210, 100, 200, '2028-09-08', '2022-01-13',1380, null, 2, 'GALVEZ, PILAR');
insert into EMPLEADOS values (240, 111, 760, '2026-02-09', '2024-02-14',1280, 100, 3, 'SANZ, LAVINIA');
insert into EMPLEADOS values (250, 100, 250, '2027-10-10', '2001-03-15',1450, null, 0, 'ALBA, ADRIANA');
insert into EMPLEADOS values (260, 100, 220, '2003-12-11', '2012-07-16',1720, null, 6, 'LOPEZ, ANTONIO');
insert into EMPLEADOS values (270, 112, 800, '2021-05-12', '2010-09-17',1380, 80, 3, 'GARCIA, 10AVIO');
insert into EMPLEADOS values (280, 130, 410, '2011-01-13', '2008-10-18',1290, null, 5, 'FLOR, DOROTEA');
insert into EMPLEADOS values (285, 122, 620, '2025-10-14', '2015-02-19',1380, null, 0, 'POLO, OTILIA');
insert into EMPLEADOS values (290, 120, 910, '2030-11-15', '2014-02-20',1270, null, 3, 'GIL, GLORIA');
insert into EMPLEADOS values (310, 130, 480, '2021-11-16', '2015-01-21',1420, null, 0, 'GARCIA, 08USTO');
insert into EMPLEADOS values (320, 122, 620, '2025-12-17', '2005-02-22',1405, null, 2, 'SANZ, CORNELIO');
insert into EMPLEADOS values (330, 112, 850, '2019-08-18', '2001-03-23',1280, 90, 0, 'DIEZ, AMELIA');
insert into EMPLEADOS values (350, 122, 610, '2013-04-19', '2010-09-24',1450, null, 1, 'CAMPS, AURELIO');
insert into EMPLEADOS values (360, 111, 750, '2029-10-20', '2010-10-25',1250, 100, 2, 'LARA, DORINDA');
insert into EMPLEADOS values (370, 121, 360, '2022-06-21', '2020-01-26',1190, null, 1, 'RUIZ, FABIOLA');
insert into EMPLEADOS values (380, 112, 880, '2030-03-22', '2001-01-27',1180, null, 0, '03TIN, MICAELA');
insert into EMPLEADOS values (390, 110, 500, '2019-02-23', '2008-10-28',1215, null, 1, 'MORAN, CARMEN');
insert into EMPLEADOS values (400, 111, 780, '2018-08-24', '2001-11-29',1185, null, 0, 'LARA, LUCRECIA');
insert into EMPLEADOS values (410, 122, 660, '2014-07-25', '2013-10-30',1175, null, 0, 'MUãOZ, AZUCENA');
insert into EMPLEADOS values (420, 130, 450, '2022-10-26', '2019-11-30',1400, null, 0, 'FIERRO, CLAUDIA');
insert into EMPLEADOS values (430, 122, 650, '2026-10-27', '2019-11-03',1210, null, 1, 'MORA, VALERIANA');
insert into EMPLEADOS values (440, 111, 760, '2027-09-28', '2028-02-07',1210, 100, 0, 'DURAN, LIVIA');
insert into EMPLEADOS values (450, 112, 880, '2021-10-29', '2028-02-07',1210, 100, 0, 'PEREZ, SABINA');
insert into EMPLEADOS values (480, 111, 760, '2004-04-30', '2028-02-08',1210, 100, 1, 'PINO, DIANA');
insert into EMPLEADOS values (490, 112, 880, '2006-06-01', '2001-01-09',1180, 100, 0, 'TORRES, HORACIO');
insert into EMPLEADOS values (500, 111, 750, '2008-10-02', '2001-01-10',1200, 100, 0, 'VAZQUEZ, HONORIA');

7.3) Realiza las siguientes consultas:


1. Hallar la comisión, el nombre y el salario de los empleados con más de 3 hijos, ordenados
por comisión y, dentro de comisión, alfabéticamente.
2. Obtener los nombres de los departamentos que no dependen de otros.
3. Obtener, por orden alfabético, los nombres y los salarios de los empleados cuyo salario
esté comprendido entre 1250 y 1300 euros.
4. Datos de los empleados que cumplen la condición anterior o tienen al menos un hijo.
5. Obtener, por orden alfabético, los nombres de los departamentos que no contengan la
palabra 'Dirección' ni 'Sector'.
6. Obtener, por orden alfabético, los nombres de los departamentos que, o bien tienen
directores en funciones y su presupuesto no excede los 5 mil euros, o bien no dependen
de ningún otro departamento.
7. Hallar, por orden de número de empleado, el nombre y el salario total (salario más
comisión) de los empleados cuyo salario total supera los 1300 euros mensuales.
8. Hallar el número de empleados de toda la empresa.
9. Hallar cuántos departamentos existen y el presupuesto anual medio de la empresa para
el global de todos los departamentos.
10. Hallar el total de empleados y extensiones telefónicas distintas del departamento 112.
11. Utilice las operaciones de conjuntos para extraer los códigos de los departamentos que
no hacen de departamento jefe.
12. Ídem pero que sí hacen de departamento jefe de algún otro departamento.
UNIDAD TEMÁTICA 3: IMPLEMENTACIÓN DE BASES DE DATOS RELACIONALES

Ejercicio 8
Sean las tablas siguientes:
- TRABAJADOR (id_t, nombre, tarifa, oficio, id_supv)  Trabajadores identificados por su
ID_T. Se guarda su nombre, tarifa por hora (€), oficio e identificador de su supervisor.
- EDIFICIO (id_e, dir, tipo, niv_calidad, cat)  Edificios identificados por su ID_E. Se guarda
su dirección; el tipo de edificio; su nivel de calidad y su categoría.
- ASIGNACION (id_t, id_e, f_inicio, num_dias)  Registra cada vez que un trabajador es
asignado a un edificio.

El contenido de las tablas es:


ASIGNACION
TRABAJADOR ID_T ID_E F_INICIO N_DIAS
ID_T NOMBRE TARIFA OFICIO ID_SUPV 1235 312 2001-10-10 5
1235 M. Faraday 12.5 electricista 1311 1235 515 2001-10-17 22
1311 C. Coulomb 15.5 electricista 1311 1311 435 2001-10-08 12
1412 C. Nemo 13.75 fontanero 1520 1311 460 2001-10-23 24
1520 H. Rickover 11.75 fontanero 1520 1412 111 2001-12-01 4
2920 R. Garret 10.0 albañil 2920 1412 210 2001-11-15 12
3001 J. Barrister 8.2 carpintero 3231 1412 312 2001-10-01 10
3231 P. Mason 17.4 carpintero 323 1412 435 2001-10-15 15
1412 460 2001-10-08 18
EDIFICIO 1412 515 2001-11-05 8
ID_E DIR TIPO NIV_CAL CAT 1520 312 2001-10-30 17
111 1213 Aspen oficina 4 1 1520 515 2001-10-09 14
210 1011 Birch oficina 3 1 2920 210 2001-11-10 15
312 123 Elm oficina 2 2 2920 435 2001-10-28 10
435 456 Maple comercio 1 1 2920 460 2001-10-05 18
460 1415 Beach almacen 3 3 3001 111 2001-10-08 14
515 789 Oak residencia 3 2 3001 210 2001-10-27 14
3231 111 2001-10-10 8
3231 312 2001-10-24 20

8.1) Crea las tablas y usa las siguientes sentencias para introducir los datos:
-- tabla trabajador --
INSERT INTO TRABAJADOR VALUES (1235,"m. faraday",12.5,"electricista",1311);
INSERT INTO TRABAJADOR VALUES (1311,"c. coulomb",15.5,"electricista",1311);
INSERT INTO TRABAJADOR VALUES (1412,"c. nemo",13.75,"fontanero",1520);
INSERT INTO TRABAJADOR VALUES (1520,"h. rickover",11.75,"fontanero",1520);
INSERT INTO TRABAJADOR VALUES (2920,"r. garret",10.0,"albañil",2920);
INSERT INTO TRABAJADOR VALUES (3001,"j. barrister",8.2,"carpintero",3231);
INSERT INTO TRABAJADOR VALUES (3231,"p. mason",17.4,"carpintero",3231);

-- tabla edificio --
INSERT INTO EDIFICIO VALUES (111,"1213 aspen","oficina",4,1);
INSERT INTO EDIFICIO VALUES (210,"1011 birch","oficina",3,1);
INSERT INTO EDIFICIO VALUES (312,"123 elm","oficina",2,2);
INSERT INTO EDIFICIO VALUES (435,"456 maple","comercio",1,1);
INSERT INTO EDIFICIO VALUES (460,"1415 beach","almacen",3,3);
INSERT INTO EDIFICIO VALUES (515,"789 oak","residencia",3,2);
UNIDAD TEMÁTICA 3: IMPLEMENTACIÓN DE BASES DE DATOS RELACIONALES

-- tabla asignacion --
INSERT INTO ASIGNACION VALUES (1235,312,'2001-10-10',5);
INSERT INTO ASIGNACION VALUES (1235,515,'2001-10-17',22);
INSERT INTO ASIGNACION VALUES (1311,435,'2001-10-08',12);
INSERT INTO ASIGNACION VALUES (1311,460,'2001-10-23',24);
INSERT INTO ASIGNACION VALUES (1412,111,'2001-12-01',4);
INSERT INTO ASIGNACION VALUES (1412,210,'2001-11-15',12);
INSERT INTO ASIGNACION VALUES (1412,312,'2001-10-01',10);
INSERT INTO ASIGNACION VALUES (1412,435,'2001-10-15',15);
INSERT INTO ASIGNACION VALUES (1412,460,'2001-10-08',18);
INSERT INTO ASIGNACION VALUES (1412,515,'2001-11-05',8);
INSERT INTO ASIGNACION VALUES (1520,312,'2001-10-30',17);
INSERT INTO ASIGNACION VALUES (1520,515,'2001-10-09',14);
INSERT INTO ASIGNACION VALUES (2920,210,'2001-11-10',15);
INSERT INTO ASIGNACION VALUES (2920,435,'2001-10-28',10);
INSERT INTO ASIGNACION VALUES (2920,460,'2001-10-05',18);
INSERT INTO ASIGNACION VALUES (3001,111,'2001-10-08',14);
INSERT INTO ASIGNACION VALUES (3001,210,'2001-10-27',14);
INSERT INTO ASIGNACION VALUES (3231,111,'2001-10-10',8);
INSERT INTO ASIGNACION VALUES (3231,312,'2001-10-24',20);

8.2) Realiza las siguientes consultas:


1. Nombre de los trabajadores cuya tarifa este entre 10 y 12 euros.
2. ¿Cuáles son los oficios de los trabajadores asignados al edificio 435?
3. Indicar el nombre del trabajador y el de su supervisor.
4. Nombre de los trabajadores asignados a oficinas.
5. ¿Cuál es el número total de días que se han dedicado a fontanería en el edificio 312?
6. ¿Cuántos tipos de oficios diferentes hay?
7. Para cada supervisor, ¿Cuál es la tarifa por hora más alta que se paga a un trabajador
que informa a ese supervisor?
8. Para cada supervisor que supervisa a más de un trabajador, ¿cuál es la tarifa más alta
que se para a un trabajador que informa a ese supervisor?
9. ¿Qué trabajadores reciben una tarifa por hora menor que la del promedio?
10. ¿Qué trabajadores reciben una tarifa por hora menor que la del promedio de los
trabajadores que tienen su mismo oficio?
11. ¿Qué trabajadores reciben una tarifa por hora menor que la del promedio de los
trabajadores que dependen del mismo supervisor que él?
12. ¿Qué supervisores tienen trabajadores que tienen una tarifa/h por encima de 12 euros?
UNIDAD TEMÁTICA 3: IMPLEMENTACIÓN DE BASES DE DATOS RELACIONALES

Ejercicio 9
Gestión de Ventas: dado el modelo Entidad-Relación:

9.1) Crea las tablas y usa estas sentencias para introducir los datos.

INSERT INTO CLIENTE VALUES(1, 'Aarón', 'Rivero', 'Gómez', 'Almería', 100);


INSERT INTO CLIENTE VALUES(2, 'Adela', 'Salas', 'Díaz', 'Granada', 200);
INSERT INTO CLIENTE VALUES(3, 'Adolfo', 'Rubio', 'Flores', 'Sevilla', NULL);
INSERT INTO CLIENTE VALUES(4, 'Adrián', 'Suárez', NULL, 'Jaén', 300);
INSERT INTO Cliente VALUES(5, 'Marcos', 'Loyola', 'Méndez', 'Almería', 200);
INSERT INTO CLIENTE VALUES(6, 'María', 'Santana', 'Moreno', 'Cádiz', 100);
INSERT INTO CLIENTE VALUES(7, 'Pilar', 'Ruiz', NULL, 'Sevilla', 300);
INSERT INTO CLIENTE VALUES(8, 'Pepe', 'Ruiz', 'Santana', 'Huelva', 200);
INSERT INTO CLIENTE VALUES(9, 'Guillermo', 'López', 'Gómez', 'Granada', 225);
INSERT INTO CLIENTE VALUES(10, 'Daniel', 'Santana', 'Loyola', 'Sevilla', 125);
INSERT INTO COMERCIAL VALUES(1, 'Daniel', 'Sáez', 'Vega', 0.15);
INSERT INTO COMERCIAL VALUES(2, 'Juan', 'Gómez', 'López', 0.13);
INSERT INTO COMERCIAL VALUES(3, 'Diego','Flores', 'Salas', 0.11);
INSERT INTO COMERCIAL VALUES(4, 'Marta','Herrera', 'Gil', 0.14);
INSERT INTO COMERCIAL VALUES(5, 'Antonio','Carretero', 'Ortega', 0.12);
INSERT INTO COMERCIAL VALUES(6, 'Manuel','Domínguez', 'Hernández', 0.13);
INSERT INTO COMERCIAL VALUES(7, 'Antonio','Vega', 'Hernández', 0.11);
INSERT INTO COMERCIAL VALUES(8, 'Alfredo','Ruiz', 'Flores', 0.05);
INSERT INTO PEDIDO VALUES(1, 150.5, '2017-10-05', 5, 2);
INSERT INTO PEDIDO VALUES(2, 270.65, '2016-09-10', 1, 5);
INSERT INTO PEDIDO VALUES(3, 65.26, '2017-10-05', 2, 1);
INSERT INTO PEDIDO VALUES(4, 110.5, '2016-08-17', 8, 3);
INSERT INTO PEDIDO VALUES(5, 948.5, '2017-09-10', 5, 2);
INSERT INTO PEDIDO VALUES(6, 2400.6, '2016-07-27', 7, 1);
INSERT INTO PEDIDO VALUES(7, 5760, '2015-09-10', 2, 1);
INSERT INTO PEDIDO VALUES(8, 1983.43, '2017-10-10', 4, 6);
INSERT INTO PEDIDO VALUES(9, 2480.4, '2016-10-10', 8, 3);
INSERT INTO PEDIDO VALUES(10, 250.45, '2015-06-27', 8, 2);
INSERT INTO PEDIDO VALUES(11, 75.29, '2016-08-17', 3, 7);
INSERT INTO PEDIDO VALUES(12, 3045.6, '2017-04-25', 2, 1);
INSERT INTO PEDIDO VALUES(13, 545.75, '2019-01-25', 6, 1);
INSERT INTO PEDIDO VALUES(14, 145.82, '2017-02-02', 6, 1);
INSERT INTO PEDIDO VALUES(15, 370.85, '2019-03-11', 1, 5);
INSERT INTO PEDIDO VALUES(16, 2389.23, '2019-03-11', 1, 5);
UNIDAD TEMÁTICA 3: IMPLEMENTACIÓN DE BASES DE DATOS RELACIONALES

9.2) Realiza las siguientes consultas:


CONSULTAS SOBRE UNA TABLA
1. Devuelve un listado con todos los pedidos que se han realizado. Los pedidos deben estar
ordenados mostrando en primer lugar los pedidos más recientes.
2. Devuelve un listado con los identificadores de los clientes que han realizado algún pedido.
Tenga en cuenta que no debes mostrar identificadores que estén repetidos.
3. Muestra todos los pedidos del año 2017, cuya cantidad sea superior a 500€.
4. Muestra el nombre y los apellidos de los comerciales con una comisión entre 0.05 y 0.11.
5. Devuelve el valor de la comisión de mayor y menor valor que existe en la tabla comercial.
6. Devuelve el identificador, nombre y primer apellido de los clientes cuyo segundo apellido
no es NULL. El listado deberá estar ordenado alfabéticamente por apellidos y nombre.
7. Devuelve un listado en orden alfabético de los nombres de los clientes que empiezan por A
y terminan por O y también los nombres que empiezan por A.
8. Muestra los nombres de los comerciales que terminan por O, eliminando nombres repetidos.
CONSULTAS CON VARIAS TABLAS
9. Muestra (en orden afabético) el identificador y nombre de los clientes que hicieron pedidos.
El listado debe estar ordenado alfabéticamente y se deben eliminar los elementos repetidos.
10. Devuelve un listado de todos el id y los nombres de clientes, que realizaron un pedido
durante el año 2017, cuya cantidad esté entre 300 € y 1000 €.
CONSULTAS CON SUBCONSULTAS
11. Muestra nombre y apellidos de los comerciales partícipes de algún pedido de María
Santana Moreno.
12. Muestra el nombre de los clientes que hicieron algún pedido con algún comercial apellidado
Vega.
13. Devuelve un listado que solamente muestre los clientes que no han realizado ningún pedido.
14. Muestra un listado que sólo muestre los comerciales que no han realizado ningún pedido.
CONSULTAS CON AGRUPAMIENTOS O CON FUNCIONES DE AGRUPACIÓN
15. Calcula las cantidades total y media de todos los pedidos de la tabla pedido.
16. Calcula el número total de clientes que aparecen en la tabla cliente.
17. Calcula cuál es la mayor y la menor cantidad que aparece en la tabla pedido.
18. Muestra el identificador de cliente, nombre y apellidos y el nº total de pedidos de cada
cliente.
19. Repite lo anterior sabiendo algunos clientes no han realizado pedidos (no deben aparecer).
20. Devuelve un listado con el identificador de cliente, nombre y apellidos y el número total de
pedidos que ha realizado cada uno de clientes durante el año 2017

SUBCONSULTAS
21. Haz un listado de todos los pedidos que ha realizado Adela Salas Díaz. (Usa subconsulta)
22. Muestra el nº de pedidos donde participó el comercial Daniel Sáez Vega. (Usa subconsulta)
23. Devuelve los datos del cliente con el pedido más caro en el año 2019. (Usa subconsulta)
24. Devuelve la fecha y la cantidad del pedido de menor valor del cliente Pepe Ruiz Santana.
25. Devuelve el pedido más caro que existe en la tabla pedido si hacer uso de MAX.
26. Devuelve un listado de los clientes que no han realizado ningún pedido.
27. Devuelve (de 2 formas distintas) un listado de los comerciales que no han hecho pedidos.

También podría gustarte