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:


Premières requêtes sous Oracle:

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

SELECT * FROM tab;
 DESC Athlete
DESC RangEpreuve
 SELECT * FROM Athlete;
SELECT COUNT(*) FROM Athlete;

Exercice 1:

Exprimez les requêtes suivantes en SQL:

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

Résultat attendu: Arielle, Gracie, Taylor

Résultat attendu: Japon

Résultat attendu: (74 lignes)

Résultat attendu: (73 lignes)

Résultat attendu: (87 lignes)

Résultat attendu: GASPARIN Elisa

Résultat attendu: Ski alpin Descente Femmes


Exercice 2:

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

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.

@vider
@jo_v2

Exprimez les requêtes suivantes en SQL :

Résultat attendu: (73 lignes)

Résultat attendu: (36 lignes)

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

Divers: notes sur les TME