Anda di halaman 1dari 6

Prctica SQL Vuelta Ciclista (DML)

U.T. 5: SQL Sistemas Gestores de Bases de Datos. 2 A.S.I. IES Valdehierro. Madridejos.

1. Esquema de trabajo
La siguiente base de datos almacena in ormaci!n sobre una "uelta ciclista# E$%I&' (nome)ui*o+ director, -I-LIS.A (dorsal+ nombre+ edad+ nome)ui*o, E.A&A (numeta*a+ /ms+ salida+ llegada+ dorsal, &%E0.' (nom*uerto+ altura+ categor1a+ *endiente+ numeta*a+ dorsal, MAILL'. (c!digo+ ti*o+ color+ *remio, LLEVA (c!digo+ numeta*a+ dorsal, La cla"e *rimaria de cada relaci!n est2 ormada *or los atributos )ue a*arecen subra3ados. La in ormaci!n )ue contienen las relaciones anteriores se describe a continuaci!n# EQUIPO contiene los datos de los distintos e)ui*os# nombre (nomequipo, 3 nombre de su director (director,. CICLISTA contiene los datos de los ciclistas )ue com*onen los distintos e)ui*os# n4mero del dorsal (dorsal,+ nombre del ciclista (nombre,+ edad del ciclista (edad, 3 nombre del e)ui*o al )ue *ertenece (nomequipo,. ETAPA contiene los datos de las eta*as )ue com*onen la "uelta ciclista# n4mero de la eta*a (numetapa, (las eta*as se numeran consecuti"amente# 5+ 2+ ...,+ /il!metros )ue tiene la eta*a ( ms,+ nombre de la *oblaci!n de donde sale la eta*a (salida,+ nombre de la *oblaci!n donde est2 la meta de la eta*a ( lle!ada, 3 n4mero del dorsal del ciclista )ue ha ganado la eta*a ( dorsal,. Los atributos salida 3 llegada est2n de inidas sobre el mismo dominio. PUE"TO contiene los datos de los *uertos de monta6a )ue "isita la "uelta ciclista# nombre del *uerto (nompuerto,+ altura m27ima del *uerto (altura,+ categor1a del *uerto# *rimera+ es*ecial+ etc. (cate!or#a,+ *orcentaje )ue indica la *endiente media del *uerto (pendiente,+ n4mero de la eta*a donde se sube el *uerto (numetapa, 3 n4mero del dorsal )ue ha ganado el *uerto al *asar en *rimera *osici!n (dorsal,. $AILLOT contiene los datos de los *remios )ue se otorgan mediante los distintos maillots# c!digo del maillot (c%di!o,+ clasi icaci!n )ue *remia ese 5

maillot# general+ monta6a+ etc. (tipo,+ color de la camiseta asociada (color, e im*orte del *remio )ue corres*onde al ciclista )ue termine la "uelta lle"ando el maillot (premio,. LLE&A contiene la in ormaci!n sobre )u8 ciclistas (dorsal, han lle"ado cada maillot ( c%di!o, en cada una de las eta*as (numetapa,.

2. Car ar el esquema ! datos


Se *ro*orcionan los archi"os# cicli_esquema.sql # contiene las sentencias S$L necesarias *ara crear el es)uema 9ciclismo:. *.ctl # archi"os con los datos de cada tabla.

ciclismo.bat # archi"o )ue ejecuta las sentencias S$L del archi"o cicli_esquema.sql 3 carga los datos de cada tabla. &ara cargar el es)uema+ *or tanto+ bastar2 con ejecutar el archi"o ciclismo.bat. Se recomienda hacerlo desde una sesi!n del int8r*rete de comandos *ara *oder obser"ar las salidas del *rograma. %na "e; ejecutado *ueden re"isarse los archi"os *.log )ue a*arecen en la car*eta+ 3a )ue contendr2 los errores+ si se *roducen del *roceso de carga del es)uema 3 sus datos.

". Practicar co# SQL (DDL)


3.1. Completa la parte desaparecida en los siguientes ejemplos.
'. 'btener el nombre 3 la altura de todos los *uertos de 5< categor1a.

SELECT nompuerto, altura FROM puerto

WHERE categoria=1;

'/. 'btener =.
SELECT C5nombre, E5numetapa FROM Ciclista C, Etapa E WHERE C5 orsal = E5 orsal %"& E5:ms ; 1<$;

(.

'btener el nombre =.

SELECT nombre FROM ciclista WHERE e a !ETWEE" #$ %"& '$;

''. 'btener =. ). 'btener el n4mero de las eta*as =.


SELECT C5nombre FROM Ciclista C WHERE C5nome8uipo = /SELECT E5nome8uipo FROM E8uipo E WHERE E5 irector= -%l9aro .ino-0;

SELECT numetapa FROM Etapa WHERE llega a L()E *+O,OR sali a L()E *,%,%,-;

*.

'btener =. '(. 'btener los nombres de los *uertos cu3a altura es ma3or )ue la media de altura de los *uertos de 2< categor1a. SELE-. = '). 'btener el n de las eta*as ganadas *or ciclistas con edad su*erior a los B? a6os.
SELECT numetapa FROM Etapa3

SELECT nompuerto FROM .uerto WHERE categoria (" /1,#,'0;

5.

'btener todos los datos =.

SELECT 1 FROM ciclista WHERE e a (S "2LL;

+.

'btener el nombre 3 la edad de los ciclistas )ue *ertene;can a e)ui*os cu3o nombre contenga la cadena >5??@A.

'*. 'btener el n4mero de las eta*as ganadas *or ciclistas )ue *ertene;can a e)ui*os cu3o director tenga un nombre )ue em*iece *or >CA.
SELECT numetapa FROM Etapa3

SELECT nombre, e a FROM ciclista WHERE 3

'5. 'btener =
SELECT .5nompuerto, C5nombre FROM .uerto ., Ciclista C WHERE .5 orsal=C5 orsal %"& .5pen iente ;= %LL /SELECT pen iente FROM .uerto0;

,.

'btener =.

SELECT *"4m5 e ciclistas =-,CO2"T/10,*Me ia E a =-,%67/e a 0 FROM ciclista WHERE nome8uipo=-%stana-;

-.

'btener *ares de n4meros de eta*as 3 nombres de *uertos ganados *or el mismo ciclista.

'+. 'btener el nombre de los *uertos 3 de los ciclistas )ue los ha3an ganado+ cum*liendo )ue el *uerto no sea el )ue tenga la menor *endiente.
SELECT .5nompuerto, C5nombre3

SELECT 3

..

'btener =.

',. 'btener =.
SELECT .5nompuerto, C5nombre FROM .uerto ., Ciclista C WHERE .5 orsal = C5 orsal %"& "OT /.5pen iente = %LL /SELECT pen iente

SELECT C5nombre FROM ciclista C, e8uipo E WHERE C5nome8uipo=E5nome8uipo %"& E5 irector=-%l9aro .ino-;

FROM .uerto 00;

'-. 'btener =.
SELECT C5nombre FROM Ciclista C, Lle9ar L WHERE C5 orsal = L5 orsal %"& E>(STS /SELECT 1 FROM Maillot M WHERE M5premio = <$$$$ %"& M5co igo = L5co igo0;

WHERE e a ;#< 7RO2. !@ nome8uipo H%6("7 CO2"&/ orsal0;';

(*. 'btener el nombre del ciclista 3 el n4mero de *uertos )ue ha ganado+ siendo la media de la *endiente de 8stos su*erior a 5?.
SELECT C5nombre, CO2"T/.5nompuerto03 ;

(5. 'btener =. '.. 'btener el nombre de los ciclistas )ue no han ganado eta*as.
SELECT nombre FROM Ciclista WHERE "OT E>(STS /30; ?1 o la e8ui9alente 1? SELECT nombre FROM Ciclista WHERE orsal "OT (" /5550; /SELECT nombre FROM Ciclista WHERE nome8uipo=-%stana-0 2"(O" /SELECT nombre FROM Ciclista WHERE nome8uipo = *SaAo !an:-0

(+. 'btener =.
SELECT numetapa, sali a FROM etapa WHERE "OT E>(STS /SELECT 1 FROM puerto WHERE puerto5numetapa= etapa5numetapa0;

(/. 'btener =.
SELECT nombre FROM Ciclista C WHERE "OT E>(STS /SELECT 1 FROM Etapa E WHERE :ms ; #$$ %"& C5 orsal =;E5 orsal0;

(,. 'btener =.
SELECT e5sali a, e5llega a FROM etapa e, puerto p WHERE e5numetapa = p5numetapa %"& p5pen iente = /SELECT M%>/pen iente0 FROM puerto0;

('. 'btener =.
SELECT C5nombre FROM Ciclista C WHERE "OT E>(STS /SELECT 1 FROM Etapa E WHERE E5:ms ; #$$ %"& C5 orsal =;E5 orsal0 %"& E>(STS /SELECT 1 FROM Etapa E# WHERE E#5:ms ; #$$0;

(-. D=E
SELECT nombre FROM ciclista c WHERE e a =/SELECT M("/e a 0 FROM ciclista0;

((. 'btener =.
SELECT nome8uipo, %67/e a 0 FROM Ciclista 7RO2. !@ nome8uipo;

(.. 'btener =.
SELECT &(ST("CT color FROM maillot m, lle9ar l, ciclista c WHERE c5 orsal=l5 orsal %"& m5co igo=l5co igo %"& "OT E>(STS /SELECT 1 FROM lle9ar l#, ciclista c# WHERE c#5 orsal=l#5 orsal %"& c#5nome8uipo=;

(). 'btener =.
SELECT nome8uipo, %67/e a 0 FROM Ciclista

c5nome8uipo %"& l#5co igo=l5co igo0;

D Filas selecciona as5

)/. 'btener el nombre de los ciclistas )ue *ertene;can a un e)ui*o )ue tenga m2s de cinco corredores indicando el n4mero de eta*as ganadas *or cada uno.
3

).

'btener el nombre 3 el e)ui*o de los ciclistas )ue han ganado alguna eta*a lle"ando el maillot amarillo+ mostrando tambi8n el n4mero de eta*a.

)'. 'btener el nombre de los e)ui*os )ue tengan la media de edad m27ima de todos los e)ui*os.
SELECT C5nome8uipo, %67/C5e a 0 FROM ciclista C 555;

&ORS%L "OM!RE EI2(.O ET%.% BBBBBB BBBBBBBBBBBBBBB BBBBBBB BBBBBB 1 %lberto Conta or %stana 1 1 Fila selecciona a5

*.

'btener los datos de las eta*as )ue no comien;an en la misma ciudad en )ue acaba la eta*a anterior.
)MS BBB #'$ #<$ J$ #$$ ##$ #$L 1J$ 1D< <# S%L(&% BBBBBBBBBBBB %lmen raleKo !aGa !eni orm (guala a !enas8ue Santo &oming Cangas e On E9ila Sego9ia LLE7%&% &ORS%L BBBBBBBBB BBBBBB CHr oba C' %licante ## !eni orm 1 %n orra # MaragoGa 1# Santan er 1$ %lto el "ara J E9ila C &estilerias &N #

)(. Fombre de los ciclistas )ue =.


SELECT c5nombre FROM ciclista c WHERE E>(STS/ SELECT 1 FROM lle9ar l WHERE l5 orsal=1 %"& "OT E>(STS/ SELECT 1 FROM lle9ar l# WHERE l#5 orsal=c5 orsal %"& l#5co igo=l5co igo00;

"2MET%.% BBBBBBBB J L C 1$ 1# 1< 1L 1C #$

D Filas selecciona as5

5.

3.2. Crea las sentencias SQL necesarias para responder a las siguientes cuestiones
'. 'btener los datos de las eta*as )ue *asan *or alg4n *uerto de monta6a 3 )ue tienen salida 3 llegada en la misma *oblaci!n.

'btener el n4mero de las eta*as )ue tienen alg4n *uerto de monta6a+ indicando cu2ntos tiene cada una de ellas.

"2MET%.% )MS S%L(&% LLE7%&% &ORS%L BBBBBBBB BBB BBBBBBB BBBBBBB BBBBBB 1C 1D< E9ila E9ila C 1 Fila selecciona a5

"2MET%.% "2M+.2ERTOS BBBBBBBBBB BBBBBBBBBBB 11 # # 1 1C ' 1$ J 1O 1 1D # 1< 1 L Filas selecciona as5

(.

'btener las *oblaciones )ue tienen la meta de alguna eta*a+ *ero desde las )ue no se reali;a ninguna salida.

+.

'btener el nombre 3 la edad de los ciclistas )ue han lle"ado dos o m2s maillots en una misma eta*a.

LLE7%&% BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB %licante %lto e la CruG e la &eman a %lto el "aranco Caceres EstaciHn e Cerler Lagos e Co9a onga Ma ri Sierra "e9a a 6alencia

&ORS%L "OM!RE E&%& BBBBBB BBBBBBBBBBBBBBBBBB BBBB 1 %lberto Conta or '# '$ !enKamin "o9al 7onGaleG #C #O &imitriN Mura9Ne9 #L ' Filas selecciona as5

,.

'btener el nombre 3 el e)ui*o de los ciclistas )ue han lle"ado alg4n maillot o )ue han ganado alg4n *uerto.
"OMEI2(.O

&ORS%L "OM!RE

BBBBBB BBBBBBBBBBBBBBBBBBB BBBBBBBBBBBBBBB 1 %lberto Conta or %stana # Le9i LeipPeimer %stana ' Carlos Sastre SaAo !an: J &amiano Cunego Lampre L Mauricio %lberto Ra oban: C Qean 6an .oppel Lotus Festina D Massimo .o enGana "a9igare 1$ Quan %ntonio FlecPa Ra oban: 1# %lessio &i !asco %more 6ita 1O &imitri )onisPe9 QollN Club 1L !runo Leali !rescialiBReFin #$ %lFonso 7utiRrreG %rtiacP ## 7iorgio Furlan 7eSiss #J Clau io CPiappucci Carrera #< 7ianni !ugno 7atora e #O &mitriN Mura9Ne9 %stana #L %leAan r )olobne9 SaAo !an: #C %ssan !aGaNe9 %stana '$ !enKamin "o9al %stana '' %lessan ro !allan Lampre J# &a9i e Cassani T6M JC Marco Saligari 7eSiss OL %rman e las Cue9asCastorama OD E N Seigneur Castorama DD .er .e ersen Seguros %maNa #< Filas selecciona as5

1# 1' 1J 1L #$ #1 1J Filas selecciona as5

''. 'btener la edad media de los ciclistas )ue han ganado alguna eta*a.
E&%&+ME&(% BBBBBBBBBB '$,D<#'C1 1 Fila selecciona a5

'(. 'btener el nombre de los *uertos de monta6a )ue tienen una altura su*erior a la altura media de todos los *uertos.
.2ERTO BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB %rcalis CerlerBCirco e %mpriu Coll e Or ino CruG e la &eman a "a9acerra a .uerto e la Morcuera Sierra "e9a a L Filas selecciona as5

-.

'btener los datos de los ciclistas )ue han "estido todos los maillots (no necesariamente en la misma eta*a,.

ninguna Fila selecciona a

..

'btener el c!digo 3 el color de a)uellos maillots )ue s!lo han sido lle"ados *or ciclistas de un mismo e)ui*o.

'). 'btener las *oblaciones de salida 3 de llegada de las eta*as donde se encuentran los *uertos con ma3or *endiente.
"2MET%.% S%L(&% LLE7%&% BBBBBBBB BBBBBBBBBBBBBB BBBBBBBBBBBBBBBB 1$ (guala a %n orra 1 Fila selecciona a5

CO& COLOR BBB BBBBBBBBBBBBBBBBBBBB MMS Estrellitas mora as 1 Fila selecciona a5

'/. 'btener los n4meros de las eta*as )ue no tienen *uertos de monta6a.
"2MET%.% BBBBBBBBBB 1 ' J < O L C D

'*. 'btener el dorsal 3 el nombre de los ciclistas )ue han ganado los *uertos de ma3or altura.
&ORS%L "OM!RE BBBBBB BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB D Massimo .o enGana #O &mitriN Mura9Ne9 # Filas selecciona as5

'5. 'btener los datos de las eta*as cu3os *uertos (todos, su*eran los 5B?? metros de altura.
"2MET%.% BBBBBBBB # 11 )MS BBB 1C$ 1D< S%L(&% BBBBBBBBBB 6alla oli %n orra LLE7%&% &ORS%L BBBBBBBBBBB BBBBBB Salamanca 'O EstaciHn e O<

1D 1D$ E9ila ' Filas selecciona as5

&estilerias

'+. 'btener el nombre de los ciclistas )ue *ertenecen a un e)ui*o de m2s de cinco ciclistas 3 )ue han ganado alguna eta*a+ indicando tambi8n cu2ntas eta*as han ganado.
&ORS%L "OM!RE "2M+ET%.%S+7%"%&%S BBBBBB BBBBBBBBBBBBBBBBBB BBBBBBBBBBBBBBBBBB # Le9i LeipPeimer ' C' Hernan !uenaPora 1 D' !o Hamburger 1 <# 6la isla9 !obri: 1 ## 7iorgio Furlan 1 CO Quan MartineG 1 'O &mitrN )oGontcPu: 1 1$ Quan %ntonio FlecPa1 1 %lberto Conta or # < 7ertBQan TPeunisse 1 J &amiano Cunego 1 11 Filas selecciona as5

Anda mungkin juga menyukai