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

TME 4: Premiers pas en SQL

Le système utilisé pendant les TME est Oracle. Il s'agit d'un système de gestion de bases de données (SGBD), fonctionnant selon l'architecture client/serveur.

  1. Commencez par vous connecter au serveur Oracle en vous aidant de la documentation suivante Connexion oracle
  2. Charger la base de données JO_v1 en exécutant
    @jo_v1
  3. Vérifier que votre base contient les deux tables Athlete et Rangepreuve en exécutant
    @liste

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 sous Oracle:

Exécuter des requêtes suivantes. Ne pas oublier le point-virgule en fin des requêtes.

  • Renvoyer la liste de toutes les relations de la base de données:
SELECT * FROM tab;
  • Renvoyer la liste des attributs de la relation Athlete et RangEpreuve:
 DESC Athlete
DESC RangEpreuve
  • 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.

  • Effacez la base de données JO_v1 en exécutant:
@vider
  • Chargez la base de données JO_v2 en exécutant:
@jo_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.txt · Dernière modification: 10/02/2021 16:19 par camelia