Anda di halaman 1dari 5

EXAMEN 3.

CONSULTAS AVANZADAS, LMD Y PROCEDIMIENTOS


ALMACENADOS.

Dado la siguiente base de datos:

Realiza las siguientes consultas. El Anexo I tiene las sentencias sql para
crear las tablas.
1.
Mostrar los ciclistas que se apelliden Delgado y tengan entre 20 y 30
aos.
2.
Mostrar el nombre y los kms de las etapas con salida en Granada y
llegada en Almeria.
3.
Mostrar los ciclistas que pertenecen a los equipos Banesto o
Kelme o TVM.
4.
hay.

Obtener la edad media, el ms joven y el mayor y cuantos ciclistas

5.
Mostrar el nombre y equipo de los ciclistas que pertenezcan al mismo
equipo que Alex Zulle y posteriormente mostrar el nombre y el equipo de
los ciclistas que no sean de Banesto en la misma consulta (uni).
6.
Mostrar los nombres de los ciclistas y el nmero de etapas que hayan
ganado ordenado por equipo y nombre. Sino han ganado ninguna etapa
deber mostrar 0. Se deben mostrar todos los ciclistas.
7.
Mostrar los ciclistas cuya edad supere la edad media de los ciclistas y
no sean de Banesto.
8.
Mostrar el nombre de los equipos y los corredores de los equipos que
tengan ms de 3 ciclistas ordenado por equipo descendentemente.
9.
Mostrar las etapas, alturas y los nombres de los ciclistas que ganaron
los puertos con una altura mayor de 2499 m.
10.
Mostrar los directores de equipos que tengan ciclistas que hayan
ganado el mallot amarillo.
11.

Mostrar el nombre y los premios que ha ganado cada ciclista.

12.
Copia los ciclistas de Banesto en una tabla nueva llamada
ciclistas2.
13.
Elimina los ciclistas que tengan menos de 25 aos de la tabla
ciclistas2.
14.
Incremente la edad en 5 aos de los ciclistas que tengan 22 aos de
la tabla ciclistas2.
15.
(2 PTOS). Crear un procedimiento almacenado llamada
crud_equipos, que se le pasen 3 parmetros: OPCION, ID, EQUIPO,

DIRECTOR. Dependiendo de lo que valga el parmetro opcin haremos lo


siguiente:

c, insertamos un equipo con los datos pasados al procedimiento.

r, mostramos el equipo.

u, actualizamos el equipo.

d, borramos el equipo.

En cada opcin deberemos mostrar un mensaje diciendo lo que se hizo:


Registro insertado, Registro eliminado, etc.
NOTA: EN EL EJERCICIO 15 PUEDEN USAR LOS APUNTES DE
PROCEDIMIENTOS ALMACENADOS.
ANEXO I.
drop database if exists ciclismo_examen;
create database ciclismo_examen;
use ciclismo_examen;

create table equipo(


nomeq varchar(20) primary key,
director varchar(50)
);

create table ciclista(


dorsal int auto_increment primary key,
nombre varchar(50),
edad int,
nomeq varchar(20),
foreign key (nomeq) references equipo(nomeq)
);

create table etapa(


netapa int auto_increment primary key,
km

int,

salida varchar(20),
llegada varchar(20),

dorsal int,
foreign key (dorsal) references ciclista (dorsal)
);

create table maillot(


codigo varchar(3) primary key,
tipo varchar(20),
color varchar(20),
premio int
);

create table llevar(


dorsal int,
netapa int,
codigo varchar(3),
primary key(dorsal,netapa,codigo),
foreign key (dorsal) references ciclista (dorsal),
foreign key (netapa) references etapa(netapa),
foreign key (codigo) references maillot (codigo)
);

create table puerto(


nompuerto varchar(20) primary key,
altura int,
categoria varchar(1),
pendiente int,
netapa int,
dorsal int);

insert into equipo values('Amore Vita','Ricardo Padacci');


insert into equipo values('Banesto','Miguel Echevarra');
insert into equipo values('Bresciali-Refin','Pietro Armani');

insert into equipo values('Carrera','Luigi Petroni');


insert into equipo values('Gatorade','Gian Luca Pacceli');
insert into equipo values('Kelme','lvaro Pino');
insert into equipo values('Mapei-Clas','Juan Fernndez');
insert into equipo values('Navigare','Lorenzo Sciacci');
insert into equipo values('Telecom','Morgan Reikacrd');
insert into equipo values('TVM','Steevens Henk');

insert into ciclista values(1,'Miguel Indurain',21,'Banesto');


insert into ciclista values(2,'Pedro Delgado Garcia',29,'Banesto');
insert into ciclista values(3,'Alex Zulle',20,'Navigare');
insert into ciclista values(4,'Alessio Di Basco',30,'TVM');
insert into ciclista values(5,'Armand',17,'Amore Vita');
insert into ciclista values(8,'Jean Van Poppel',24,'Bresciali-Refin');
insert into ciclista values(9,'Maximo Podel',17,'Telecom');
insert into ciclista values(10,'Mario Cipollini',31,'Carrera');
insert into ciclista values(11,'Eddy Seigneur',20,'Amore Vita');
insert into ciclista values(12,'Alessio Di Basco',34,'Bresciali-Refin');
insert into ciclista values(13,'Gianni Bugno',24,'Gatorade');
insert into ciclista values(15,'Jess Montoya Delgado',25,'Amore Vita');
insert into ciclista values(16,'Dimitri Konishev',27,'Amore Vita');
insert into ciclista values(17,'Bruno Lealli',30,'Amore Vita');
insert into ciclista values(20,'Alfonso Gutirrez',27,'Navigare');
insert into ciclista values(22,'Giorgio Furlan',22,'Kelme');
insert into ciclista values(26,'Mikel Zarrabeitia',30,'Carrera');
insert into ciclista values(27,'Laurent Jalabert',22,'Banesto');
insert into ciclista values(30,'Melchor Mauri',26,'Mapei-Clas');
insert into ciclista values(31,'Per Pedersen',33,'Banesto');
insert into ciclista values(32,'Tony Rominger',31,'Kelme');
insert into ciclista values(33,'Stefenao della Sveitia',26,'Amore Vita');
insert into ciclista values(34,'Clauido Chiapucci',23,'Amore Vita');
insert into ciclista values(35,'Gian Mateo Faluca',34,'TVM');

insert into etapa values(1,35,'Valladolid','vila',1);


insert into etapa values(2,70,'Salamanca','Zamora',2);
insert into etapa values(3,150,'Zamora','Almendralejo',1);
insert into etapa values(4,330,'Crdoba','Granada',1);
insert into etapa values(5,150,'Granada','Almera',3);

insert into maillot values('MGE','General','Amarillo',1000000);


insert into maillot values('MMO','Montaa','Blanco y rojo',500000);
insert into maillot values('MMS','Ms sufrido','Estrellitas rojas',400000);
insert into maillot values('MMV','Metas volantes','Rojo',400000);
insert into maillot values('MRE','Regularidad','Verde',300000);
insert into maillot values('MSE','Sprint especial','Rosa',300000);

insert into llevar values(1,3,'MGE');


insert into llevar values(1,4,'MGE');
insert into llevar values(2,2,'MGE');
insert into llevar values(3,1,'MGE');
insert into llevar values(3,1,'MMV');
insert into llevar values(3,4,'MRE');
insert into llevar values(4,1,'MMO');

insert into puerto values(' Puerto Pino',2489,'1',34,2,3);


insert into puerto values(' Puerto Naos',2789,'1',44,4,3);
insert into puerto values('Puerto Alto',2500,'E',17,4,2);
insert into puerto values('Puerto Bajo',2500,'E',17,4,2);
insert into puerto values('Puerto Nuevo',2500,'a',17,4,1);
insert into puerto values('Puerto Rio',2500,'E',17,4,1);
insert into puerto values('Puerto Nevado',2500,'E',23,1,2);

Anda mungkin juga menyukai