Cas Tennis : le logiciel ACCESS et le langage SQL

Transcription

Cas Tennis : le logiciel ACCESS et le langage SQL
TCFE
ERR
Cas Tennis : le logiciel ACCESS et le langage SQL
Vous effectuez un stage au sein de la direction technique régionale de tennis du Limousin. Votre
responsable de stage, M. Vilas, vous demande de l’aider dans sa tâche gestion d’une base de
données relationnelle.
Vous disposez de la base de données “Tennis” sur le répertoire du réseau local du lycée.
Copiez celle-ci dans votre répertoire personnel, ouvrez ce fichier puis effectuez les travaux suivants
Premier travail : Observation de la base de données.
1. Combien d’objets peut-on distinguer dans le logiciel ACCESS ?
Ouvrez chacun des objets, observez puis complétez l’annexe 1.
2.
a)
b)
c)
Ouvrez le menu “Outils”, sélectionnez “Relations” puis répondez aux questions suivantes :
Combien de tables compte la base de donnés “TENNIS” ?
Les tables sont-elles indépendantes les unes des autres ? Comment sont réalisées les relations ?
Complétez l’annexe 2 (sauf pour la table “Tournoi”).
3. A l’aide de l’annexe 2 et de vos connaissances sur la notion de dépendance fonctionnelle,
déterminez si les affirmations suivantes sont vraies ou fausses. Vous devez justifier vos
réponses.
a) À un nom de club peut correspondre plusieurs numéros d’affiliation.
b) À un numéro de club peut correspondre plusieurs noms (de club).
c) Un club est situé dans un seul département.
d) Un licencié est licencié dans un seul club.
4. Revenez sur l’objet “Table” et complétez l’annexe 3 (sauf pour la table “Tournoi”).
Pourquoi chaque table comporte-t-elle une clé primaire ?
5. Précisez la commande (Ouvrir / Modifier / Nouveau) à utiliser dans l’objet “Table” afin de
pouvoir :
- Saisir, modifier ou supprimer un enregistrement ;
- Saisir, modifier ou supprimer un champ (ou un attribut) ;
- Créer une table.
Cas « Tennis »
Page 1 sur 8
Deuxième travail : modification de la base de données
M. Vilas décide qu’il faut intégrer à la base de données les différents tournois qui se déroulent dans
la région Limousin.
M. Vilas vous précise que :
La participation éventuelle de licenciés et aux tournois n’est pas prise en compte dans la base ;
Pour chaque tournoi, on doit disposer des informations suivantes : son nom, la ville et le
département dans lesquels il se déroule, les dates de début et de fin du tournoi.
Vous disposez, en annexe 4, de la liste des principaux tournois limousins.
1. Finissez de compléter les annexes 2 et 3.
2. Comment allez-vous mettre en relation la table “Tournoi” dans la base de données ? Pourquoi ?
3. Créez cette table dans votre base de données puis mettez la en relation (relation avec
contrainte d’intégrité référentielle) avec la table définie précédemment.
4. Saisissez les enregistrements de cette table.
Troisième travail : Interrogation des tables
Vous disposez des tableaux d’analyse des requêtes (partiellement complétés) en annexe 5.
Certaines requêtes ont, par ailleurs, été exécutées.
1. Finissez de compléter les tableaux d’analyse des requêtes (annexe 5).
2. Exécutez les requêtes manquantes.
Quatrième travail : Modification et conception d’états
1. Améliorez la présentation des deux états qui ont été commencés par M. Vilas.
2. Créez un état à partir de la requête n°4 “Liste des licenciés nés entre 1980 et 1984”.
Cas « Tennis »
Page 2 sur 8
ANNEXE 1 : LES PRINCIPAUX OBJETS D’ACCESS
FORMULAIRE
SGBD classique
REQUETE
TABLE
ETAT
Cas « Tennis »
Page 3 sur 8
ANNEXE 3 : STRUCTURE DES TABLES
Table
Champ
Nom du champ
sous ACCESS
Affiliation n°
Num_affiliation
Nom du club
Type de
donnée
Format de
la donnée
Taille
Nom_club
CLUB
Ville
Département
DEPARTE
MENT
LICENCIE
TOURNOI
Cas « Tennis »
Ville_club
Nom_dep
Département
Nom_dep
Nombre de
licenciés
Nombre_lic
N° de licence
Num_lic
Nom
Nom_lic
Prénom
Prenom_lic
Date de
naissance
Date_nais
Affiliation n°
Num_affiliation
Nom du tournoi
Nom_tourn
Ville du tournoi
Ville_tourn
Département
Nom_dep
Date de début
du tournoi
Debut_tourn
Date de fin du
tournoi
Fin_tourn
Page 4 sur 8
Clé
primaire
(oui/non)
ANNEXE 2 : MODÈLE RELATIONNEL DES DONNÉES
(Forme textuelle)
CLUB ( Num_affiliation, Nom_club, Ville_club,
LICENCIE ( Num_lic,
DEPARTEMENT ( Nom_dep
TOURNOI (
ANNEXE 4 :LES DIFFERENTS TOURNOIS
Nom du tournoi
Ville
Département
Date de début
Date de fin
Passing shot
Panazol
Haute-Vienne
15/05/08
30/05/08
Le petit Roland
Garros
Limoges
Haute-Vienne
15/03/08
30/03/08
Open correzien
Brive
Correze
01/10/08
15/10/08
Tulle Open
Tulle
Correze
01/07/08
15/07/08
Tournoi de la
Marche
Bellac
Haute-Vienne
01/07/08
15/07/08
Gueret Open
Gueret
Creuse
15/06/08
30/06/08
Ussel indoor
Ussel
Correze
01/11/08
15/11/08
Cas « Tennis »
Page 5 sur 8
ANNEXE 5 : TABLEAUX D’ANALYSE DES REQUÊTES
Requête : Liste alphabétique des licenciés (Nom et prénom)
Programmation en langage SQL
Attribut(s) projeté(s)
SELECT Nom_lic, prenom_lic
Table(s) nécessaire(s)
FROM licencie
Critère(s) de tri
ORDER BY Nom_lic ASC;
Requête : Liste des clubs du département de la Haute-Vienne
(Noms du club et du département)
Programmation en langage SQL
Attribut(s) projeté(s)
SELECT Nom_club, nom_departement
Table(s) nécessaire(s)
FROM club
Critère(s) de restriction
WHERE Nom_departement like
“Haute-Vienne”;
Requête : Liste alphabétique des licenciés de l’ASPTT GUERET
(n°, nom et prénom du licencié)
Programmation en langage SQL
Attribut(s) projeté(s)
Table(s) nécessaire(s)
Critère(s) de jointure
Critère(s) de restriction
WHERE Club.num_affiliation =
Licencie.num_affiliation
AND
Critère(s) de tri
Cas « Tennis »
Page 6 sur 8
ANNEXE 5 (suite)
Requête : Liste chronologique des licenciés nés entre 1980 et
1984 (Nom, prénom, date de naissance)
Programmation en langage SQL
Attribut(s) projeté(s)
Table(s) nécessaire(s)
Critère(s) de restriction
Critère(s) de tri
Requête : Nom et prénom du licencié n°10
Programmation
en langage SQL
Requête : Liste alphabétique des licenciés de Corrèze (Nom,
prénom, nom et ville du club)
Programmation
en langage SQL
Cas « Tennis »
Page 7 sur 8
ANNEXE 5 (suite et fin)
Requête : Département(s) ayant plus de 5 000 licenciés (Nom du
département, nombre de licenciés)
Programmation en
langage SQL
Requête : Liste des tournois qui se déroulent en Haute-Vienne
(Nom et ville des tournois)
Programmation en
langage SQL
Requête :
SELECT Nom_tourn, debut_tourn, fin_tourn
Programmation en
FROM Tournoi WHERE debut_tourn
langage SQL
between #01/03/2006# and #30/06/2006#;
Requête :
SELECT licencie.nom_lic,
licencie.prenom_lic, club.nom_club FROM
Programmation en
licencie, club WHERE Club.num_affiliation =
langage SQL
Licencie.num_affiliation AND nom_dep like
“creuse” ORDER BY licencie.nom_lic asc;
Cas « Tennis »
Page 8 sur 8