Bases de Données / Databases

Site Web de l'équipe BD du LIP6 / LIP6 DB Web Site

Outils pour utilisateurs

Outils du site


site:enseignement:licence:2i009:tme4-h2

TME 4: Premiers pas en SQL

Le système utilisé pendant les TME est H2.

- Commencez par vous connecter au serveur Oracle en vous aidant de la documentation suivante: SGBD H2

- Créer les tables et charger les données: BD-JeuxOlympiques-v1

On considère le schéma de la base JeuxOlympique2014 donné en TD où l'on a modifié le schéma de RangEpreuve:

  • Athlete (nom,prenom,dateNaissance,pays)
  • RangEpreuve(sport,epreuve,categorie,nomAth*,prenomAth*,dateDebut,dateFin,rang)

Premières requêtes:

* Renvoyer tous les n-uplets stockés dans la relation Athlete:

 SELECT * FROM Athlete;
  • Renvoyer le nombre de n-uplets stockés dans la relation Athlete:
SELECT COUNT(*) FROM Athlete;

Exercice 1:

Exprimez les requêtes suivantes en SQL:

  • 1. Les athlètes (nom, prénom) d'Inde.

Résultat attendu: IQBAL Nadeem, KESHAVAN Shiva, THAKUR Himanshu

  • 2. Le prénom des athlètes dont le nom est 'GOLD'.

Résultat attendu: Arielle, Gracie, Taylor

  • 3. La nationalité de AONO Ryo.

Résultat attendu: Japon

  • 4. Le gagnant du médaille d'or de chaque épreuve. Triez le résultat par sport, puis par épreuve.

Résultat attendu: (74 lignes)

  • 5. Toutes les épreuves (sport, épreuve, catégorie) triées par la date de fin de l'épreuve.

Résultat attendu: (73 lignes)

  • 6. Les athlètes nés entre 1990 et 1995.

Résultat attendu: (87 lignes)

  • 7. Les athlètes suisses ayant participé au sport 'Biathlon' et disqualifié à au moins une épreuve de ce sport.

Résultat attendu: GASPARIN Elisa

  • 8. Les épreuves dans lesquelles il n'y a pas eu une médaille d'argent.

Résultat attendu: Ski alpin Descente Femmes


Exercice 2:

On considère maintenant le schéma complet de la base Jeux Olympiques 2014

  • Pays (codePays, nomP)
  • Sport (sid, nomSp)
  • Epreuve (epid, sid*, nomEp, catégorie, dateDebut, dateFin)
  • Athlete (aid, nomAth, prenomAth, dateNaissance, codePays*)
  • Equipe (eqid, codePays*)
  • AthletesEquipe (eqid*, aid*)
  • RangIndividuel (epid*, aid*, rang)
  • RangEquipe (epid*, eqid*, rang)

La relation Pays contient le code et le nom de tous les pays, même si ils n'ont pas participé aux Jeux Olympiques. Les sports (n-uplets de la relation Sport) sont un ensemble d'épreuves (n-uplets de la relation Epreuve). Pour chaque épreuve on connaît son nom et les date de début et fin de l'épreuve. Les épreuves peuvent être individuelles ou par équipe. Dans le premier cas, la participation des athlètes (n-uplets de la relation Athlete) est stocké dans la table RangIndividuel qui contient en plus le rang qu'ils ont obtenu (1 pour la médaille d'or). Pour les épreuves par équipe les résultats sont stockés dans la relation RangEquipe, alors que l'information sur le pays de chaque équipe et ses participants et stocké dans les relations Equipe et AthletesEquipe. Dans les relations RangIndividuel et RangEquipe l'attribut rang est égal à null si l'athlète ou l'équipe a été disqualifié.

Une représentation graphique du schéma pour la BD JO_v2 se trouve ici.

  1. Créer les tables et charger les données: BD-JeuxOlympiques-v2

Exprimez les requêtes suivantes en SQL :

  • 9. Les épreuves (sport, épreuve, catégorie) individuelles.

Résultat attendu: (73 lignes)

  • 10. Les résultats (nom, prénom, pays de l'athlète et rang) de l'épreuve '1000m' du 'Patinage de vitesse' pour les 'Femmes'.

Résultat attendu: (36 lignes)

  • 11. Le nom et prénom des athlètes qui forment l'équipe qui a gagné la médaille d'or dans l'épreuve 'relais 4x6km' de 'Biathlon' de 'Femmes'.

Résultat attendu: SEMERENKO Vita, SEMERENKO Valj, DZHYMA Juliya, PIDHRUSHNA Olena

Divers: notes sur les TME

site/enseignement/licence/2i009/tme4-h2.txt · Dernière modification: 09/03/2021 19:30 par camelia