Tour de France

Transcription

Tour de France
TRAVAUX DIRIGES : Tour de France
FORMATEUR :A BENDAOUD
Partie 1 :
La base de données ci-dessous est utilisée pour faire la gestion des cours du tournoi tour de France
• EQUIPE(code,nom,directeur)
• PAYS(code,nom)
• COUREUR(num-dossart,#code-equipe,#nom,code-pays)
• ETAPE(num,date-etape,kms,ville-depart,ville-arrivee)
• TEMPS(#num-dossart,#num-etape ,temps-realise)
Remarque : la table TEMPS ne stocke que les temps des joueurs qui ont participé à l’étape. Si un coureur
déclare forfait pour une étape, son temps n’apparait pas.
Exécution de requêtes SQL qui portent sur une seule table :
1. Sélection et projection.
a. liste des noms des coureurs
b. liste des villes de départ et les villes d’arrivée des étapes
c. liste des villes du tour renommées en ‘ville’
d. Le nom des coureurs français, renommés en ‘coureurs_français’
e. L’étape du 3 juillet 2003
f. liste des matricules et nom des coureurs dont le nom commence par ‘A’
g. Les noms des coureurs dont le matricule est compris entre 1 et 5.
h. Les temps réalisés et les numéros de dossard pour l’étape 1, ordonnés par ordre décroissant sur le
temps réalisé.
1
Exécution de requêtes SQL qui portent sur plusieurs tables :
Les requêtes qui portent sur plusieurs tables ne peuvent être éditées à partir du menu d’une seule
table. Elles seront éditées à partir du menu de la base elle-même.
Sélectionnez la base dans le menu de gauche et cliquez dans l’onglet « SQL » dans le menu de droite.
2. Jointures
a. Le directeur de l’équipe du coureur numéro 7
b. Le nom des l’équipe, le nom des coureurs et le temps réalisé pour l’étape 1.
c. Le nom des équipes et le nom des coureurs qui ont terminé l’étape 1 en moins de 1h30.
3. Fonctions SQL
a. Le nombre de miles de chaque étape (arrondi à l'entier inférieur),
Indice : 1miles correspond à 1.609344km.
b. La vitesse de chaque coureur pour l’étape numéro 1 (en km/h),
c. La vitesse de chaque coureur pour l’étape numéro 1, par ordre croissant de la vitesse,
d. Les dates des étapes de plus de 200 kilomètres sous la forme "DD/MM/YYYY",
e. Les villes de départ de cette semaine,
Indice : pour récupérer la semaine d'une valeur de type 'date', utilisez la fonction
f. Les étapes qui démarrent de la ville d'arrivée du jour d'avant,
g. Les temps réalisés de chaque coureur sur les étapes d'aujourd'hui, trié par numéros d'étape puis par
temps réalisés,
h. Les couples de coureurs avec leur temps respectif sur l'étape 1, qui ont un écart de temps de moins
de 30s.
Indice : pour convertir une valeur de type 'time' en valeur numérique (en nombre de secondes),
utilisez la fonction . Pour convertir un nombre de secondes en date, utilisez la fonction .
2
PARTIE 2
Logistique
Soit la base de données suivante
• CLIENT(nclt, nom, age, adresse)
• PRODUIT(nprod, type, couleur)
• COMMANDE(#nclt, #nprod, date_cmd , qte)
Donner les requêtes qui permettent de donner :
1. Le nom des clients qui ont un âge supérieur à 20,
2. Le nom des clients ayant commandé le produit numéro 3,
3. La couleur des produits commandés par monsieur Dupont,
4. Le nom des clients ayant commandé au moins un produit,
5. Le nom des clients ayant commandé au moins deux produits,
6. Le nom des clients ayant commandé un produit vert ou un produit bleu,
7. Le nom des clients ayant commandé un produit vert et un produit bleu,
8. Les numéros des produits commandés depuis le 1er juin 2008,
9. Les dates des commandes au format "MM, DD YYYY" de chaque produit avec une chaine qui
contient le nom, l'âge en mois (arrondi au plus proche) et l'adresse du client,
10. Les produits ayant été commandés la veille d'une commande passée par un client dont le nom
commence par 'du'.
3