I N S T I T U T
S U P E R I E U R
INFORMATIQUE
ةـيــملاـعلإل يـلاـعلا دـهعمـلا
ISI
Année Universitaire 2020-2021
Mastère professionnel en logiciels libres - M1
Bases de données Avancées – Activité 3.2
R. ZAAFRANI, 25/10/2020
On souhaite implanter sous Oracle une base de données permettant de faire le suivi de sportifs lors de
compétitions internationales multisports (type jeux olympiques) du point de vue des contrôles antidopage.
L’analyse conceptuelle des besoins exprimés par les instances chargées de ces contrôles est donnée ci-dessous
sous forme d’un diagramme de classes UML.
EQUIPE
NumEq : NUMBER(4)
CodePays : VARCHAR(3)
Sport : VARCHAR(15)
1
Athletes
ATHLETE
NumDossard : NUMBER(5)
Nom : VARCHAR(20)
Prenom : VARCHAR(20)
1
*
Controles
CONTROLE
NumCtrl: NUMBER(6)
Type : VARCHAR(15)
DateCtrl : DATE
Resultat : CHAR(1)
*
Base de données
1. Créer un ensemble de types correspondant au diagramme de classes ci-dessus. Les associations 1–N du
modèle doivent être
forme de collections multiniveaux.
Advertisement
Convention de nommage des types : Suffixer le nom des classes par _t (ex. Athlete_t) et préfixer le nom des
collections par TAB_ (ex. TAB_Controle).
traduites au niveau physique
sous
2. Définir une table nommée Equipe d’objets de type Equipe_t. Donner les commandes permettant d’afficher la
structure de cette table ainsi que celle de ses tables imbriquées.
3. Peupler la table Equipe avec les données ci-dessous, puis afficher son contenu.
NumEq CodePays
Sport
1
2
3
4
5
6
USA
100 mètres
USA
Basket
UK
100 mètres
UK
Aviron
FRA
Aviron
FRA
Basket
NumDossard
1
2
23
8
34
Nom
Green
Lewis
Advertisement
Jordan
Bryant
O Neal
Prénom NumCtrl
Maurice
Carl
Michael
Kobe
Shaquille
4
5
6
9
7
10
11
12
Sphinx
Le
Smith
Smith
Dupond
Martin
Bilba
Parker
Diaw
John
Jack
Albert
Maurice
Jim
Tony
Boris
1
2
3
Advertisement
4
5
6
7
8
9
10
11
12
13
14
DateCtrl Result.
Type
Sanguin 03/08/2019
Sanguin 03/08/2019
Urinaire 03/08/2019
Urinaire 03/08/2019
Urinaire 03/08/2019
Sanguin 03/08/2019
Sanguin 04/08/2019
Urinaire 03/08/2019
Urinaire 03/08/2019
Urinaire 04/08/2019
Urinaire 03/08/2019
Urinaire 03/08/2019
Urinaire 03/08/2019
Urinaire 03/08/2019
N
N
N
N
N
P
N
N
P
Advertisement
P
N
N
N
N
Bases de données Avancées – Activité 3.2
1
Requêtes de « désemboîtement »
1. Liste des équipes (CodePays, Sport) avec les athlètes (Nom, Prénom) les constituant (effectuer une
pseudojointure).
2. Idem - Liste des équipes (CodePays, Sport) avec les athlètes (Nom, Prénom) les constituant - en utilisant un
curseur imbriqué. La différence avec le résultat de la première requête ?
3. Nom et prénom des athlètes triés par pays et par ordre alphabétique
4. Numéro et date des contrôles antidopage effectués par chaque équipe (pseudojointures).
5. Idem en utilisant des curseurs imbriqués.
6. Nom et prénom des athlètes de l’équipe n° 2.
7. Liste des contrôles effectués par l’athlète n° 4 de l’équipe n° 3.
8. Nombre d’athlètes dans l’équipe n° 6.
9. Nombre total d’athlètes par pays.
10. Nombre de contrôles par athlète (ordre alphabétique).
11. Nombre de contrôles positifs par athlète (ordre alphabétique).
12. Nombre de contrôles positifs par pays (ordre alphabétique).
13. Date de dernier contrôle pour chaque athlète (ordre alphabétique).
14. Équipe(s) les plus contrôlées.
15. Équipes dont aucun athlète n’a été contrôlé positif.
Mises à jour des tables imbriquées
1. Insérer l’athlète <30, ‘Pietrus’, ‘Michael’, pas de contrôle> dans l’équipe n° 6.
2. Insérer les contrôles <15, ‘Urinaire’, ‘23/08/2019’, ‘N’> et <16, ‘Sanguin’, ‘23/08/2019’, ‘N’>
pour l’athlète n° 30 de l’équipe n° 6.
3. Supprimer tous les contrôles de l’athlète n° 4 de l’équipe n° 3.
4. Modifier à « Négatif » le résultat des contrôles de l’athlète n° 6 de l’équipe n° 4 passés avant le
04/10/2019.
Bases de données Avancées – Activité 3.2
2