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