Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
site:enseignement:licence:2i009:tme6 [13/02/2019 15:30] camelia créée |
site:enseignement:licence:2i009:tme6 [15/02/2019 15:23] (Version actuelle) camelia |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== TME 6: Requêtes Imbriquées avec Exists, All et Any ====== | ====== TME 6: Requêtes Imbriquées avec Exists, All et Any ====== | ||
On considère le schéma de la base Jeux Olympiques 2014 : | On considère le schéma de la base Jeux Olympiques 2014 : | ||
- | * **Pays** (codePays, nomP) | + | * **Pays** (__codePays__, nomP) |
- | * **Sport** (sid, nomSp) | + | * **Sport** (__sid__, nomSp) |
- | * **Epreuve** (epid, sid*, nomEp, catégorie, dateDebut, dateFin) | + | * **Epreuve** (__epid__, sid*, nomEp, catégorie, dateDebut, dateFin) |
- | * **Athlete** (aid, nomAth, prenomAth, dateNaissance, codePays*) | + | * **Athlete** (__aid__, nomAth, prenomAth, dateNaissance, codePays*) |
- | * **Equipe** (eqid, codePays*) | + | * **Equipe** (__eqid__, codePays*) |
- | *** AthletesEquipe** (eqid*, aid*) | + | * **AthletesEquipe** (__eqid*, aid*__) |
- | * **RangIndividuel** (epid*, aid*, rang) | + | * **RangIndividuel** (__epid*, aid*__, rang) |
- | * **RangEquipe** (epid*, eqid*, rang) | + | * **RangEquipe** (__epid*, eqid*__, rang) |
<fc #800080>Une représentation graphique du schéma pour la BD JO_v2 se trouve {{:site:enseignement:licence:2i009:jo_v2_diagram.pdf| ici}}.</fc> | <fc #800080>Une représentation graphique du schéma pour la BD JO_v2 se trouve {{:site:enseignement:licence:2i009:jo_v2_diagram.pdf| ici}}.</fc> | ||
Ligne 25: | Ligne 25: | ||
<fc #6495ed>**Exercice 2:**</fc> | <fc #6495ed>**Exercice 2:**</fc> | ||
- | Exprimez les requêtes suivantes en **SQL**: | + | Exprimez les requêtes suivantes en **SQL** sur la base de données Jeux Olympiques 2014: |
- | * **1.** Les sports dont toutes les épreuves ont duré un seul jour. | + | * **1.** Les sports dont toutes les épreuves ont duré un seul jour. |
- | ''Résultat attendu: Ski de fond, Ski alpin, Biathlon'' | + | |
- | * **2.** Les sports qui n'ont pas d'épreuves de categorie Mixte. | + | //Résultat attendu: Ski de fond, Ski alpin, Biathlon// |
- | ''Résultat attendu: 12 lignes'' | + | |
- | * **3.** Les équipes dont aucun athlète n'a gagné de médaille aux épreuves individuelles. Attention : il y a des équipes sans athlètes. | + | * **2.** Les sports qui n'ont pas d'épreuves de categorie Mixte. |
- | ''Résultat attendu: 265 lignes avec les équipes sans athlètes - 252 lignes sans les équipes sans athlètes)'' | + | |
+ | //Résultat attendu: (12 lignes)// | ||
+ | |||
+ | * **3.** Les équipes dont aucun athlète n'a gagné de médaille aux épreuves individuelles. Attention : il y a des équipes sans athlètes. | ||
+ | //Résultat attendu: (265 lignes avec les équipes sans athlètes - 252 lignes sans les équipes sans athlètes)// | ||
+ | |||
+ | * **4.** La nationalité de l'athlète le/la plus jeune. Attention : il y a des athlètes dont on ne connaît pas la date de naissance. | ||
+ | //Résultat attendu: ('29/11/1998','JPN')// | ||
+ | |||
+ | * **5.** Le plus jeune athlète de chaque pays. | ||
+ | //Résultat attendu: (26 lignes)// | ||
+ | |||
+ | <fc #6495ed>**Exercice 3:**</fc> | ||
+ | On considère le schéma « Foofle » (la table des distances s'appelle Dist, la table des équipes s'appelle Équipe**F**): | ||
+ | |||
+ | |||
+ | * **Sponsorise**(__NSp, NJo__, Somme) | ||
+ | * **Joueur**(__NJo__, Eq, Taille, Age) | ||
+ | * **EquipeF**(__NEq__, Ville, Couleur, StP) | ||
+ | * **Match**(__Eq1, Eq2__, DateM, St) | ||
+ | * **Dist**(__St1, St2__, NbKm) | ||
+ | |||
+ | |||
+ | Charger la base de données Foofle en exécutant: | ||
+ | <code sql> | ||
+ | @vider | ||
+ | @foofle | ||
+ | </code> | ||
+ | |||
+ | Exprimez les requêtes suivantes de plusieurs manières, en utilisant des jointures, ainsi que les opérateurs EXISTS, ANY, ALL: | ||
+ | |||
+ | * **6.** Quelles équipes ont déjà joué au stade préféré de l'équipe des Piepla ? | ||
+ | //Résultat attendu : (2 lignes) Direkt , Piepla// | ||
+ | |||
+ | * **7.** Quels sont les stades où a déjà joué Manon Messi ? | ||
+ | //Résultat attendu: (3 lignes) GrandArena, Boulodrome, BukHall// | ||
+ | |||
+ | * **8.** A quelle date a eu lieu un match entre deux équipes sponsorisées par le même sponsor? | ||
+ | //Résultat attendu :(4 lignes) 2015-05-16, 2015-05-15, 2015-06-15, 2015-05-12// | ||
+ | |||
+ | * **9.** Quels sponsors ont financé deux joueurs différents ayant eu un match le même jour et dans des stades différents mais proches (moins de 50 km) ? | ||
+ | //Résultat attendu :(4 lignes) Air Monaco, Carouf, Robek, Adadis// |