implantation d`une base de donnees sous ms-access 97
Transcription
implantation d`une base de donnees sous ms-access 97
Stage STT050 - Novembre 2000 Page 1 IMPLANTATION D’UNE BASE DE DONNEES SOUS MS-ACCESS 97 GENERALITES SUR MS-ACCESS Fonctionnalités de MS-ACCESS Access 97 est un produit Microsoft de type SGBDR (Système de Gestion de Bases de Données Relationnelles). Il permet de décrire et manipuler des données stockées sous forme de tables dans une base de données relationnelle. Les opérations effectuées sur une base de données sont : - La définition de la base de données qui consiste à déclarer la structure des différentes tables et les relations entre les tables. C'est lors de cette définition que sont mises en place les contraintes d'intégrité de domaine, de clef, de référence ; - La saisie des n-uplets dans les tables en respectant les contraintes précédemment définies ; - La manipulation des données de la base. Access propose deux types d'outils pour consulter et mettre à jour la base de données : d'une part un outil interactif d'interrogation par requêtes, d'autre part des outils d'automatisation de tâches que sont le langage de macrocommandes et le langage de programmation ; - La présentation des données de la base. Access propose deux modes de présentation : le formulaire pour un affichage à l'écran et l'état pour créer un document éditable. La base de données Access et les manipulations qui lui sont appliquées constituent une application Access. Elle se définit à l’aide d’objets. Access propose six catégories d’objets : - Table : une table est une relation entre attributs, chaque attribut ou champ est une colonne de la table, chaque ligne d’une table est un n-uplet ou enregistrement. L’ensemble des tables forme le schéma relationnel de la base avec les relations définies entre ces tables. La définition des relations s'effectue dans le menu Edition par la commande Relations ; - Requête : Une requête est une interrogation appliquée sur une table ou un groupe de tables de la base, elle permet de manipuler les données de la base de manière interactive. Elle se construit en mode QBE (Query By Example), c’est-à-dire grâce à un utilitaire graphique ; - Formulaire : un formulaire est un dessin d’écran permettant de présenter des données de la base ainsi que des traitements effectués sur ces données ; - Etat : un état est un document, destiné à une édition papier, permettant de présenter et de mettre en forme des données de la base ainsi que des traitements effectués sur ces données ; - Macro : une macro-commande décrit une action ou un ensemble d’actions destinés à être exécutés et à s’enchaîner automatiquement ; - Module : un module de programmation est une procédure ou une fonction écrite dans le langage de programmation Visual Basic. Un module est exécuté en réponse à un événement déclenché sur l’objet auquel il est attaché (formulaire ou état par exemples). Stage STT050 - Novembre 2000 Page 2 Interface utilisateur de MS-ACCESS MS-ACCESS est un logiciel fonctionnant sous l’environnement graphique MS-Windows. Pour le lancer il faut sélectionner le programme correspondant dans la liste des programmes. Le logiciel se présente selon l’interface Windows : - une barre de menus, chaque menu propose un certain nombre de choix, commandes ou items. Lors de l’activation d’un menu, les items qui apparaissent en grisé ne sont pas disponibles, ceux qui sont cochés sont déjà activés. Un item peut être associé à une touche de raccourci clavier. Les items qui sont suivis d’une flèche sont associées à un sous-menu. Ceux qui sont suivis de ... permettent l’ouverture d’une boîte de dialogue où l’utilisateur saisira des informations nécessaires à l’exécution de la commande. Le menu ? est le menu d’aide. - une barre d’outils présentant des boutons qui servent de raccourci aux commandes les plus usuelles. Il est possible de choisir la barre d’outils en sélectionnant la commande barre d’outils du menu Affichage ; - une icône en haut dans le coin gauche est celui du menu système . Elle permet notamment de quitter le logiciel ; - les boutons en haut à droite permettant la réduction (en icône), l’agrandissement et la restauration de la taille de la fenêtre. Après création ou ouverture d'une base de données s'affiche une fenêtre Base de Données présentant les six catégories d'objets, les objets de la catégorie sélectionnée (Tables par défaut) et trois boutons : - Nouveau permet d'insérer un nouvel objet dans la classe sélectionnée. Par exemple, lorsque la catégorie Tables est active, ce bouton permet de définir une nouvelle table de la base de données ; - Ouvrir permet d'accéder aux différents objets de la catégorie. Par exemple, lorsque la catégorie Tables est active, ce bouton permet de visualiser la liste des n-uplets de la table active(sélectionnée) ; - Modifier permet de modifier la définition d'un objet. Par exemple, lorsque la catégorie Tables est active, ce bouton permet de modifier la structure de la table sélectionnée. Stage STT050 - Novembre 2000 Page 3 UTILISATION DE MS-ACCESS EN TANT QUE SGBDR Définition d’une base de données Définition des tables Créer une nouvelle base Activer le menu Fichier Sélectionner la commande Nouvelle base de données Dans la fenêtre qui s'affiche, dans l'onglet Général, sélectionner Base de données vide Renseigner la boîte de dialogue en déclarant le nom de la base de données (c'est-àdire le nom du fichier qui stocke la base) et le dossier (répertoire) de stockage. Ouvrir une base existante Activer le menu Fichier Renseigner la boîte de dialogue La fenêtre Base de Données s'affiche qui permet de créer des tables Définir une table Cliquer sur l'onglet Tables puis choisir le bouton Nouveau puis l'option Mode création et permet la définition des champs composant la table. Définir un champ, c’est : - lui attribuer un nom mnémonique, pertinent, porteur de sens ; - déclarer son type de données dans la zone Type de données. Le type de données par défaut est texte. Choisir le type souhaité dans le menu déroulant ; Types de données des champs Access Texte Comprend des lettres, des nombres, des symboles spéciaux ou tout autre caractère imprimable (255 caractères). Mémo Contient du texte dont la longueur variable est trop importante pour un champ alphanumérique (32000 caractères). Numérique Contient des nombres entiers ou décimaux. Les champs numériques conviennent aux calculs. Monétaire Contient des nombres comme un champ numérique mais son format par défaut comporte position décimale et symb ole monétaire. Date/Heure Contient toute date valide entre le 1er janvier 1000 et le 31 décembre 9999. Access tient compte des années bissextiles et contrôle la validité des dates. NuméroAuto Valeur numérique augmentée automatiquement d'un incrément par nouvel enregistrement. Il ne peut y avoir qu'un champ de ce type par table. Si le champ est clef étrangère d’une autre table, le type de données doit être le même (voir la déclaration de la clef primaire dans la table correspondante). Oui/Non Valeurs booléennes. Objet OLE Contient un objet placé dans la table à partir d'autres applications Windows supportant OLE (Object Linking and Embedding). Stage STT050 - Novembre 2000 Lien hypertexte Contient l'adresse réticulaire d'une ressource Page 4 Stage STT050 - Novembre 2000 Page 5 - décrire éventuellement le champ dans la zone Description - définir les propriétés du champ, c’est-à-dire des caractéristiques permettant de contrôler automatiquement la façon dont Access stocke, manipule et affiche les données. Chaque type de données est associé à un jeu de proprietés différents. Exemples de proprietés attachées à un champ Taille du champ permet de préciser le nombre de caractères d’un champ de type Texte, le type de représentation pour un champ numérique ; Valide si permet de définir le domaine de valeurs du champ (ensemble de valeurs possibles) ; Message si erreur permet d’associer un message d’erreur qui sera utilisé lors de la saisie du champ ; Légende permet de définir le libellé qui sera associé au champ lors de la génération du feuille de saisie. Si cette proprieté n’est pas renseignée, c’est le nom du champ qui sera utilisé ; Null interdit permet d'autoriser ou non que la valeur du champ ne soit pas renseignée. Pour une clef étrangère, cette proprieté permet d'exprimer la cardinalité minimum de la relation qu'exprime ce champ : si la cardinalité minimum est 0 alors Null interdit est à Non, si la cardinalité minimum est 1 alors Null interdit est à Oui ; Indexé un index détermine l'ordre dans lequel Access accède aux enregistrements de la table. L'objectif d'un index est d'accélérer les requêtes, les recherches et les tris. Un index peut être simple (un champ) ou composé (deux ou plusieurs champs). Il est possible de créer jusqu'à cinq index par table. La clef primaire est l'index par défaut. - le déclarer clef primaire si nécessaire. Un champ déclaré comme clef primaire pourra être déclaré clef étrangère dans d’autres tables à condition que les types de données soient identiques. Sauf si ce champ est de type NuméroAuto, le champ correspondant dans une autre table peut être de type NuméroAuto ou de type Numérique (la proprieté Taille du champ étant alors Entier Long). Pour créer une clé primaire Cliquer sur le champ à définir comme tel (pour une clé composite maintenir la touche CTRL enfoncée et cliquer sur le sélecteur de chaque champ à inclure). Cliquer sur le bouton Clé primaire, dans la barre d'outils ou choisir Edition /Clé primaire. Fermer la fenêtre de définition de la table pour nommer et sauvegarder la table. Mise à jour de la structure d'une table Dans la fenêtre Base de Données, sélectionner la table puis le bouton Modifier. Déplacer des champs Sélectionner le champ en cliquant sur son sélecteur, à gauche de la zone Nom du champ. Cliquer de nouveau sur le sélecteur et faire glisser le champ jusqu'à sa nouvelle position. Supprimer des champs Pour supprimer un champ du panneau de description des champs, le sélectionner et appuyer sur la touche Suppr. Ajouter des champs Sélectionner le champ avant lequel vous désirez pratiquer l'insertion Sélectionner dans le menu Insertion la commande Lignes Renseigner le nouveau champ. Stage STT050 - Novembre 2000 Page 6 Modifier la clé primaire Supprimer la clé existante en sélectionnant la ligne du champ et en décochant Clé primaire dans le menu Edition (ou en utilisant le bouton correspondant) Sélectionner le nouveau champ et activer l'option Clé primaire Modifier le type de données d'un champ Se placer sur la case correspondante et sélectionner le nouveau type dans la liste Définition du schéma relationnel : définition des relations entre les tables Deux types de relation peuvent être crées entre des tables : les relations un à un et les relations un à plusieurs. La plupart des relations sont de type un à plusieurs. Définition d’une relation entre des tables Dans le menu Outils, utiliser l'item Relations pour créer des relations entre des tables qui ont des champs correspondants ou cliquer sur l'icône correspondant dans la barre d'outils. Dans le menu Relations, choisir l'item Afficher la table ou l'icône correspondant. La boîte de dialogue Ajouter une table s’ouvre, dans l'onglet Tables : sélectionner la table comprenant la clef primaire qui sera source du lien un à plusieurs : table source choisir le bouton Ajouter sélectionner la table comprenant la clef étrangère, but du lien un à plusieurs : table destination choisir le bouton Ajouter fermer la boîte de dialogue (bouton Fermer) Faire glisser avec la souris la clef primaire de la table source sur le champ correspondant de la table destination. Une boîte de dialogue Relations s’ouvre. Pour mettre en place une contrainte d’intégrité référentielle, cocher la case correspondante. Valider la relation en choisissant le bouton Créer. Ajout d’une relation Choisir dans la barre d’outils l’icône d’ajout d’une relation puis procéder comme ci-dessus. Saisie des données d'une table Dans la fenêtre Base de Données, cliquer sur l'onglet Tables, sélectionner la table puis sur le bouton Ouvrir Saisir les champs sous forme tabulaire (le formulaire est un autre mode de saisie proposé sous Access) Stage STT050 - Novembre 2000 Page 7 Manipulation de la base de données : définition de requêtes Une requête permet de sélectionner un ensemble de données extrait d’une table ou de plusieurs tables mises en relation. Le résultat d’une requête est affiché dans une feuille et peut être exploité dans un formulaire ou un état voire être stocké dans une nouvelle table. Une requête peut également mettre à jour des données de la base par ajout, modification ou suppression d’enregistrements dans une table . Créer une requête Dans la fenêtre Base de Données, sélectionner l'onglet Requêtes puis le bouton Nouveau et l'option Mode création La boîte de dialogue Ajouter une table s’ouvre : ajouter la ou les tables nécessaires à votre opération de requête Fermer la boîte de dialogue (bouton Fermer) La fenêtre de définition de la requête présente les tables sélectionnées. Dans la deuxième partie de la fenêtre, sélectionner les champs utilisées par la requête : Faire glisser avec la souris le champ de la table dans une cellule Champ de la zone de définition de la requête ou sélectionner le champ dans la liste attachée à la cellule Renseigner les autres cellules de la fenêtre de requête : Tri pour que les données soient présentées selon un ordre défini sur le champ Afficher pour que les occurences du champ soient affichées dans la feuille de réponses (projection) Critères pour définir la sélection des lignes la jointure est implicite lorsque sont sélectionnées des tables liées Fermer la fenêtre de définition de la requête Une boîte de dialogue s'ouvre pour saisir le nom de la requête Les principaux opérateurs de requêtes d’Access =, <, >, <=, >= Opérateurs de comparaison Et Opérateur et logique Ou Opérateur ou logique Pas Opérateur non logique Comme permet de comparer deux chaînes à l'aide de caractères génériques (?,*) Dans permet de déterminer si la valeur d'une expression est égale à une des valeurs dans une liste donnée Entre pour déterminer si la valeur d'une expression se trouve dans une plage de valeurs Compte nombre de valeurs Max valeur maximale Min valeur minimale Moyenne moyenne des valeurs Somme total des valeurs & permet de concaténer deux opérandes Date La date système actuelle Jour Un nombre entre 1 et 31 représentant le jour du mois Stage STT050 - Novembre 2000 Page 8 Stage STT050 - Novembre 2000 Page 9 Pour réaliser une opération sur tous les enregistrements d'une table Créer une requête Sélectionner les champs sur lesquels portera le calcul dans la grille d'interrogation Cliquer sur le bouton Opérations dans la barre d'outils ou choisir Affichage opération La ligne opération apparaît dans la grille d'interrogation. Regroupement apparaît dans la cellule opération sous chaque champ de la requête Dans la cellule opération de chaque champ, sélectionner le type d'opération Pour effectuer des calculs sur des groupes d'enregistrements Cliquer sur le bouton Opération dans la barre d'outils ou choisir Affichage Opération Choisir le type d'opération (attention Microsoft Access groupe les champs de gauche à droite). Pour n’afficher que les valeurs distinctes Cliquer sur le bouton droit pour afficher la fenêtre des propriétés et renseigner la zone valeurs distinctes par oui. Créer un champ calculé Créer une fenêtre de requête Sur la zone champs, entrer un nom de la colonne suivi de :Expression Exemple : Pour calculer le nouveau prix d’un produit après augmentation de 10 % Vous créez un nouvel intitulé de colonne comme suit prix majoré:[prixunitaire]*1,1 Créer une requête paramétrée Une requête paramétrée permet, lors de son exécution, de saisir un ou plusieurs paramètres sur lesquels seront appliqués les traitements définissant la requête. Dans la fenêtre Base de Données, sélectionner l'onglet Requêtes puis le bouton Nouveau et l'option Mode création Ajouter alors la ou les table(s) nécessaire(s) à la définition de la requête. Puis choisir les champs nécessaires. Pour chaque champ dont la valeur doit être saisie en paramètre, il faut : - dans la cellule Critères du champ entrer le texte du message (entre crochets) qui invitera l’utilisateur à saisir le paramètre ; - définir le type de données du champ à saisir : dans le menu Requête, choisir Paramètres : la boîte de dialogue Paramètres de la requête apparaît. Dans la première cellule Paramètre, entrer le texte du message qui a été saisi dans la cellule Critères (sans les crochets) puis utiliser la touche Tabulation pour passer à la cellule suivante et choisir le type de données. Après avoir ainsi défini les types de données de chaque paramètre, choisir le bouton OK et fermer la boîte de dialogue Paramètres de la requête. Stage STT050 - Novembre 2000 Page 10 Exécuter une requête Dans la fenêtre Base de Données, choisir l'onglet Requêtse puis sélectionner la requête dans la liste Choisir le bouton Ouvrir pour visualiser la feuille de réponses ou cliquer sur l'icône correspondant. Supprimer une requête Dans la fenêtre Base de Données, choisir l'onglets Requêtes puis sélectionner la requête dans la liste Utiliser la touche Suppr pour supprimer la requête Modifier une requête Dans la fenêtre Base de Données, choisir l'onglet Requêtes puis sélectionner la requête dans la liste Choisir le bouton Modifier puis effectuer les modifications (voir la création d'une requête). Stage STT050 - Novembre 2000 Page 11 UTILISATION D'ACCESS EN TANT QU'OUTIL DE DÉVELOPPEMENT MS-ACCESS permet également de développement des applications qui permettent de présenter les données de la base de données et de mettre à jour la base de données. Plusieurs objets permettent le développement d'applications : - les formulaires permettent de créer une interface de manipulation des données pour l'utilisateur ; - les modules permettent de programmer à l'aide du langage Visual Basic des opérations sur la base de données ou d'exploitation des données et sur les formulaires ; - les macro-commandes permettent d'automatiser l'enchaînement de commandes. Ici seule la définition et l'utilisation de formulaires est décrite. Notion de formulaire Un formulaire est une fenêtre permettant la présentation ou la saisie des données. Il représente l'interface d'accès aux données pour l'utilisateur. La notion est différente pour les pages web où le formulaire permet l'interaction avec l'utilisateur (pas forcément liée à la présentation ou la mise-à-jour d'une base de données). Un formulaire va donc contenir des champs de la base de données présentés dans des contrôles graphiques et d'autres composants graphiques comme des boutons permettant l'interaction avec l'utilisateur. La gestion de l'interaction avec l'utilisateur s'effectue grâce à la gestion d'événements provoqués par l'utilisateur lorsqu'il agit sur les composants graphiques. Pour les opérations liées aux formulaires, voir le site http://www.multimania.com/inisan/access/index.html CONVERTIR UNE BASE DE DONNÉES Pour convertir une base de données dans une autre version d'Access, voir dans le menu Outils l'item Utilitaires de bases de données puis la commande Convertir une base de données.