Objectifs du TP : Initiation à Access I. Introduction Microsoft Access fait partie de l ensemble Microsoft Office. C est un SGBDR (système de gestion de bases de données relationnelles) présentant une approche bureautique, et permettant de gérer des bases de données de taille «raisonnable» : une base de données Access ne peut dépasser 2 Go. MS Access est un logiciel utilisant des fichiers au format Access (mdb - Microsoft DataBase). Il est compatible avec les requêtes SQL (sous certaines restrictions) et dispose d'une interface graphique pour saisir les requêtes (QBE - Query By Example). Les requêtes peuvent être saisies directement en SQL (avec quelques différences de syntaxe par rapport à la norme SQL), ou via différents assistants de création de bases de données. Pour ce 1 er TP, seule l utilisation du langage SQL est autorisée pour la création de tables, ainsi que pour la saisie de requêtes. Ce 1 er TP a pour objectif de vous familiariser avec des fonctions de bases de Access, avec les requêtes SQL (création de tables, interrogations ). II. Démarrage de Access Menu Démarrer > Tous les Programmes > Microsoft Office > Microsoft Access L écran suivant apparaît alors : Figure 1. Extrait du menu «Démarrer»
Figure 2. Ecran à l ouverture d Access Dans le menu de droite, cliquer sur Créer > Bases de données vide La boîte de dialogue suivante apparaît alors : Figure 3. Boîte de dialogue pour la création d une BDD vide Choisissez alors un dossier (voire créez-en un nouveau) sur votre compte pour sauvegarder vos fichiers. Ce premier fichier s intitulera Exemple1.mdb
La boîte de dialogue suivante apparaît alors : Figure 4. Boîte de dialogue permettant les actions sur une BDD. C est par cette boîte de dialogue que pourront être créés tables, requêtes, formulaires (que l on étudiera plus tard), etc En cliquant dans la barre de menu de gauche sur «Requêtes», on obtient alors : Figure 5. Après le choix de «Requêtes» dans la colonne «Objets»
Double-cliquer sur «Créer une requête en mode Création». Cliquez sur le bouton «Fermer». Figure 6. Création d une requête en mode «Création» Dans la barre de menu principale, sous «Fichier», apparaît normalement une icône SQL : Cliquez sur «SQL». Figure 7. Extrait du menu principal d Access Si l icône apparaît sous cette forme là : Figure 8. Bouton «Requête en mode création» appuyez sur le triangle juste à droite, et choisissez l option SQL. Une fenêtre de saisie de requête apparaît alors :
Figure 9. Saisie de requêtes Effacez le «SELECT ;» qui apparaît par défaut, et à la place, saisissez la commande suivante : CREATE TABLE Departement( NumDept varchar(3) PRIMARY KEY, NomDept varchar(30), Population integer, Superficie real ); En cliquant sur l icône (ou en choisissant dans le menu Fichier > Enregistrer sous) vous aurez la possibilité de sauvegarder cette requête SQL dans votre fichier Access Exemple1.mdb. Pour exécuter cette requête, il vous suffira d appuyer sur l icône de la barre de menus (ou de sélectionner Requête > Exécuter dans le menu principal). Si aucun message n apparaît C est plutôt bon signe. En revanche, une erreur de syntaxe vous serait signifiée par une boîte de dialogue accompagnée de son bip mélodieux si caractéristique, et vous devriez alors corriger jusqu à ce qu il n y ait plus d erreur. Fermez alors cette fenêtre, pour retourner dans la boîte de dialogue de la figure 4. Cliquez sur «Tables» dans la colonne «Objets», et vous verrez que dans la liste des tables, s est ajoutée une table «Departement».
Figure 10. Que c est beau Sélectionner «Departement» (attention, ne pas double-cliquer!) et cliquer sur le bouton «Modifier». Apparaît alors la sous-fenêtre ci-dessous : Figure 11. Fenêtre de modification des champs (attributs)
En cliquant sur les différents noms de champs, on vérifiera dans l onglet général que les différents types de données (Entier long, entier, de taille n pour des chaînes de caractères) correspondent bien à ce qui a été défini via la requête SQL. A noter, la petite clé devant l attribut «NumDept», qui indique que celui-ci est la clé primaire de la table. Comme on ne souhaite pas faire de modifications pour l instant, on peut fermer cette sous-fenêtre, en cliquant sur la croix en haut à droite. En double-cliquant sur «Departement», la table apparaît de la manière suivante : Figure 12. Table Departement La table est encore vide, mais il est possible d y faire des saisies en remplissant les différentes cases. Les lignes supplémentaires apparaîtront au fur et à mesure de la saisie. Les saisies peuvent se faire de 2 façons : En SQL : Retournez au menu «Requêtes». Créez une nouvelle requête en mode Création (voir quelques étapes plus haut pour ceux qui ne se souviennent plus), et entrez la requête suivante : INSERT INTO Departement VALUES ( 83, Var, 900000, 5973); Exécutez-là. Une fenêtre d avertissement apparaît alors : N ayez pas peur, cliquez sur «Oui». Figure 13. Attention, vous allez ajouter une ligne. Puis revenez au menu «Tables», et ouvrez-là pour voir à quoi elle ressemble. Normalement, elle ressemble à çà :
Figure 14. Votre table contient maintenant une ligne. Notez qu Access est prêt de vous réserver une nouvelle ligne (*) à remplir. Une fois que c est bon, vous en savez suffisament pour compléter cette table.mais comme faire des INSERT INTO est un peu lourd, utilisez la 2 ème méthode. Saisie directe : Saisissez les données de votre table directement comme si vous étiez sous Excel. Departement NumDept NomDept Population Superficie 29 Finistère 852000 6733 56 Morbihan 645000 6823 83 Var 900000 5973 971 Guadeloupe 450000 1703 974 Réunion 785200 2512 975 Saint Pierre et Miquelon 6300 242 976 Mayotte 200000 374 987 Polynésie 260000 4167 III. Requêtes sur une seule table Question 1. Créer les tables suivantes en SQL (attention, pour cette étape, pensez à la modélisation de la base sous MERISE, avec les clés primaires, étrangères, etc.! A faire valider par l enseignant) Ile NomIle Superficie Population MerOcean NumDept Groix 15 2300 Atlantique 56 Ouessant 16 932 Atlantique 29 Mayotte 374 200000 Indien 976 Tahiti 1043 170000 Pacifique 987 Saint Pierre et Miquelon 242 6300 Atlantique 975 Porquerolles 13 200 Méditerranée 83 Réunion 2512 785200 Indien 974 Kerguelen 7215 100 Indien Clipperton 9 0 Pacifique Belle Ile 50 4735 Atlantique 56 Guadeloupe 1703 450000 Atlantique 971
Ville NomVille Habitants NumDept NomIle Pointe à Pitre 21000 971 Guadeloupe Basse Terre 12400 971 Guadeloupe Saint Pierre 5700 975 Saint Pierre et Miquelon Saint Pierre 69000 974 Réunion Papeete 26200 987 Polynésie Mamoudzou 46000 976 Mayotte Lampaul 932 29 Ouessant Porquerolles 200 83 Porquerolloes Locmaria 800 56 Groix Puis, cliquez sur la table Département. Normalement, elle apparaît ainsi : Question 2. Cliquez sur les «+» devant le numéro de département. Que remarquez-vous? Une fois que cette saisie est faite, on peut commencer à s amuser (si, si), et à créer des requêtes SQL de sélection, regroupement, projection D où les questions suivantes, qui consiste à créer des requêtes en SQL pour : Question 3. Afficher le nom des iles par ordre anti-alphabétique (de Z à A) Question 4. Afficher le nombre d îles dont la population est inférieure à 5000 personnes. Question 5. Afficher toutes les mers et tous les océans dinstincts qui apparaissent dans la table. Question 6. Afficher le nom des îles et leur population, si cette dernière est supérieure à 100000.
Question 7. Afficher le nom et la densité des îles (dans un champ spécifiquement nommé «Densité»), quand celle-ci est supérieure à 100. Question 8. Calculer le nombre total d habitants des îles qui ne sont pas situées dans l Atlantique. Question 9. Afficher la liste des îles, regroupées par mer/océan (dans l ordre alphabétique), dont la population est supérieure à 5000. Pour chacune de ces questions, vous devrez indiquer la requête que vous avez écrite, ainsi que les résultats obtenus. IV. Requêtes sur 2 ou 3 tables. Question 10. Afficher le nom des villes de plus de 5000 habitants situées dans l'atlantique. Question 11. Afficher toutes les villes bretonnes figurant dans la table Villes. Question 12. Afficher le nom des villes, le nombre d habitants des villes, et les mers/océans où elles se trouvent. Le classement se fait par ordre alphabétique de mer/océan, puis par ordre croissant de nombre d habitants des villes. Question 13. Afficher le nom des îles et le nom des villes dont la population regroupe au moins 20% de la population des îles sur lesquelles elles sont situées, ainsi que ce pourcentage. Ex : Locmaria représente 800/2300=34,78% de la population de Groix. Question 14. Afficher le nom des villes, et le nom des îles sur lesquelles elles se situent. Question 15. Afficher la liste des îles et leur population, dont celle-ci est inférieure au nombre d habitants de la ville la plus peuplée (Attention : ne pas oublier les îles sans villes citées dans la table «Villes»). Question 16. Afficher la liste des îles plus petites que la superficie moyenne des départements, et plus peuplées que la ville d outre-mer la plus peuplée.