Bases de données Chapitre 1 1 Introduction Une base de données est un logiciel qui sert à mémoriser et trier des données diverses. On pourrait comparer une base de données à un fichier classique (Kartei en allemand), qui contient des informations diverses sur un sujet précis. 2 Un peu de théorie pour commencer Une base de données informatique est constituée de tables (allemand : Tabellen, anglais : tables) qui regroupent les informations à mémoriser. Avant de construire une table, on doit réfléchir sur la nature de ces informations. Par exemple, la table suivante représente une sorte d annuaire : elle contient certaines informations sur des personnes : Nom Prénom Date de naissance Numéro Rue Localité Code postal Muller Jean-Paul 2.3.1997 12 rue de l Ecole Ettelbruck 1234 Luxembourg Schmitt Pierre-Henri 22.5.1960 76 av. Kennedy Diekirch 5542 Luxembourg Une table contient des lignes (horizontales), dont chacune représente des informations bien définies sur un élément (objet ou personne) précis. L exemple précédent montre que la première ligne donne toutes les informations qui nous intéressent sur un certain Monsieur Muller, alors que la deuxième ligne représente une toute autre personne. On appelle une telle ligne un enregistrement (allemand : Datensatz, anglais : record). On peut aussi considérer la table comme étant constituée de colonnes (verticales), dont chacune subdivise les enregistrements en des cases séparées. Ces colonnes sont appelées des champs (allemand : Felder, anglais : fields). Chaque champ a un nom et un type. Dans l exemple, on peut voir les noms des champs en haut de la table : «Nom», «Prénom», «Date de naissance» etc. Quant au type d un champ (appelé aussi type de données), il indique quel genre d informations le champ peut contenir. Ainsi, il y a p.ex. des champs qui ne Pays Version 1.1 Page 1
peuvent contenir que des nombres ou des dates, alors que d autres peuvent contenir toute sorte de texte, voire même des images. Dans l exemple ci-dessus, les noms et types des champs ont été choisis de la façon suivante : Nom du champ Type du champ Nom Texte (anglais: Text) Prénom Texte (anglais: Text) Date de naissance Date (anglais: Date/Time) Numéro Nombre (anglais: Number) Rue Texte (anglais: Text) Localité Texte (anglais: Text) Code postal Nombre (anglais: Number) Pays Texte (anglais: Text) Remarque : On pourrait se demander maintenant pourquoi l adresse a été subdivisée en plusieurs éléments (rue, localité, code postal et pays) dans cet exemple. Ne serait-ce pas mieux de stocker toute l adresse dans un seul champ du type texte portant le nom «Adresse»? La réponse est que cela dépend de l usage qu on veut faire de la base de données. Par exemple, si l on n utilise qu un seul champ pour l adresse, il ne sera pas possible de trier les enregistrements par localité ou par code postal. 3 Créer une base de données Le logiciel de base de données que nous allons utiliser dans ce cours s appelle Microsoft Access 1. Il peut être lancé à travers le menu «Start» de Windows. Bien évidemment, il existe un grand nombre d autres logiciels de bases de données sur le marché. Une fois que le logiciel Access est lancé, nous cliquons sur la petite feuille blanche dans la barre d outils, en haut de la fenêtre. 1 Ce document décrit l usage de la version 2003 de MS Access. Certaines différences peuvent exister par rapport à d autres versions du même logiciel. Version 1.1 Page 2
Parmi les options apparaissant ensuite dans la partie droite de la fenêtre, nous sélectionnons Blank database. Cette approche nous permet de créer une base de données originalement vide. Nous pourrons rajouter nos tables et données par la suite. Toute base de données Access est sauvegardée dans un fichier sur le disque. Il est donc encore nécessaire que nous choisissons le répertoire où ce fichier devra se trouver, et le nom qu il devra porter. Ceci se fait à l aide d une fenêtre de sauvegarde standard. Il reste à mentionner que les fichiers Access ont toujours l extension «.mdb». La fenêtre principale de notre base de données est ensuite affichée. C est ici que nous pouvons à tout moment voir les éléments que notre base contient. La liste au bord gauche de la fenêtre nous permet de sélectionner les différentes catégories d éléments (Tables, Queries, Forms etc.) Pour l instant, seulement les tables nous intéressent. 4 Construire une table Pour créer une nouvelle table, il suffit de double-cliquer l option Create table in Design view dans la partie droite de la fenêtre de base de données. Le terme anglais «Design view» désigne le mode création, une sorte d atelier où nous pouvons construire la structure de nos tables. Version 1.1 Page 3
C est dans le mode création que nous entrons les noms des champs de notre table (dans la colonne Field Name), ainsi que les types de ces champs (dans la colonne Data Type). Dans la colonne Description, nous pouvons entrer une description des champs. Entrer une description est optionnel, mais peut servir à rendre notre travail plus lisible et aider à éviter des ambiguïtés. Par exemple, le champ «Numéro» cidessus pourrait tout aussi bien se référer à un numéro de personne qu au numéro de la maison dans l adresse. La description «Numéro de la maison» est donc utile pour éviter qu un utilisateur de notre base de données comprenne mal la signification de ce champ. Pour sauvegarder la structure de notre table, nous cliquons sur le symbole de la disquette. Le logiciel nous demande alors d entrer un nom pour la table. Généralement, c est une bonne idée de choisir un nom descriptif, donc p.ex. «Table de personnes» pour une table qui servira à stocker des informations sur des personnes. Version 1.1 Page 4
Finalement, Access nous informe que nous n avons pas encore choisi de clé primaire (primary key) pour notre nouvelle table. La clé primaire d une table se compose d un ou de plusieurs champs qui servent à identifier de manière non ambiguë tout enregistrement de cette table. Par exemple, dans une base de données contenant des informations sur des personnes, le champ «Prénom» ne pourra jamais servir de clé primaire, puisqu il existe un grand nombre de personnes ayant le même prénom. De même, le champ «Nom de famille» n est pas un bon choix pour une clé primaire. La combinaison des champs «Prénom» et «Nom de famille» cependant pourrait éventuellement être utilisé comme clé primaire, mais seulement si l on est sûr que cette base particulière ne contiendra jamais deux personnes ayant le même prénom et le même nom de famille. Un choix encore meilleur est bien évidemment le champ «Matricule», s il est présent, car le numéro de matricule est unique pour chaque personne. Si nous ne voulons pas choisir une clé primaire nous-même, Access peut résoudre le problème en rajoutant un champ supplémentaire à la table. Ce champ portera le nom «ID» et sera du type «AutoNumber». Il contiendra un numéro unique (choisi par le logiciel) pour chaque enregistrement, et représente donc une clé primaire parfaite. En répondant par Yes à la question montrée cidessus, le champ «ID» est rajouté à notre table. Le concept de clé primaire est particulièrement important si l on travaille avec plusieurs tables. Si notre base de données ne contiendra qu une seule table, il est acceptable de ne pas créer de clé primaire. En général cependant, il est recommandé de toujours définir une clé primaire pour chaque table. 5 Gérer des données Pour saisir des données, respectivement modifier ou supprimer des enregistrements d une table, il faut quitter le mode création (design view) pour passer au mode données (datasheet view). Le mode données est accessible depuis le mode création en cliquant l icône représentant une table minuscule, tout à gauche de la barre d outils : Version 1.1 Page 5
Cet icône prendra ensuite l aspect d une petite équerre (Geodreieck), qui est le symbole du mode création :. En cliquant encore une fois sur ce même bouton, on peut ainsi revenir au mode création. 5.1.1 Saisir et modifier des données Toute nouvelle table se présente initialement avec une seule ligne vide en mode données : Pour créer un premier enregistrement dans la table, il suffit de remplir cette ligne. On constate alors qu il reste toujours une ligne vide derrière toutes les autres lignes. Cette ligne est marquée d une étoile (*) au bord gauche : On peut ainsi à tout moment rajouter un nouvel enregistrement, simplement en remplissant la dernière ligne vide. Si jamais cette ligne ne serait pas visible, on dans la barre d outils en haut de la fenêtre pour la faire appa- clique l icône raître. Il est tout aussi facile de modifier des données déjà entrées : il suffit de cliquer dans le champ à modifier et d apporter nos changements, comme dans un logiciel de traitement de texte. On remarque que lors de l édition d un champ, un petit crayon est affiché au bord gauche. Nos modifications sont acceptés dès l instant que nous cliquons sur un autre enregistrement. Le crayon disparaît alors. Version 1.1 Page 6
D ailleurs, les boutons tout en bas de la fenêtre servent à naviguer parmi les enregistrements présents dans la table : Il est laissé comme exercice au lecteur de découvrir par expérimentation la fonctionnalité exacte de chacun de ces boutons. 5.1.2 Supprimer des enregistrements Pour supprimer un enregistrement (en mode données), nous cliquons d abord dans l un des champs de l enregistrement en question. Ensuite, nous cliquons l icône dans la barre d outils en haut de la fenêtre. Finalement, la demande de confirmation qui apparaît doit être acquittée par un clic sur le bouton Yes : Version 1.1 Page 7