CESI Bases de données - Site de Bertrand LIAUDET

Transcription

CESI Bases de données - Site de Bertrand LIAUDET
CESI
Bases de données
ACCESS
septembre 2006
Bertrand LIAUDET
BASE DE DONNEES
Base de données : des fichiers de données + un logiciel pour exploiter ces données.
LES DONNEES
Table : le format standard d’un fichier de données = table Excel.
Une base de données contient plusieurs tables. Chaque table donne les informations sur un
sujet particulier : les clients, les produits, etc. Les tables peuvent être relier les unes aux
autres.
Une table est constituée de lignes et de colonnes.
Ligne : une table peut être considérée comme un ensemble. Chaque ligne de la table est un
élément de l’ensemble. Exemple : les lignes de la table des élèves sont : la ligne de Dupond,
celle de Durand, etc.
Colonne : chaque colonne correspond à une caractéristique de la notion qui se trouve dans la
table. Exemple : les caractéristiques de la table des élèves sont : le nom, le prénom, l’adresse,
etc.
LE LOGICIEL
4 manipulations des données : création, modification, suppression, consultation.
Formulaire : un formulaire est un petit programme qui permet de créer, modifier, supprimer
ou consulter des données choisies (c’est un écran de saisie et/ou de consultation).
Etat : un état est un petit programme qui permet d’imprimer des données choisies. C’est la
finalité (l’impression) qui distingue l’état du formulaire de consultation.
Requête : une requête est un petit programme qui permet de répondre à une question
concernant n’importe quelle données, à la différence des formulaires et des états qui
ACCESS - p. 1 sur 13
travaillent sur des données choisies une fois pour toute (tous les clients parisiens, tous les
produits achetés par plus de 100 clients, etc.). La requête permet de consulter les données sans
avoir à créer un formulaire.
Page : une page est un formulaire destiné à être publié sur internet. C’est la finalité (la
publication sur internet) qui distingue la page du formulaire.
Macro : une macro est un programme qui combine des formulaires, des états et des requêtes.
Module : un module est un programme écrit en Visual Basic pour Application (VBA). Le
VBA permet de réaliser des opérations plus complexes que les macros.
FENETRES PRINCIPALE ET INIATIALE D’ACCESS
Démarrage : 3 options : création d’une nouvelle base, ouvrir une base existante, assistant de
création.
Fenêtre principale : Elle comporte 2 parties : 1) En haut, le bandeau horizontal de titre
(Microsoft Access) et de menus ; 2) la zone d’affichage en dessous.
Fenêtre initiale : Elle se situe dans la zone d’affichage de la fenêtre principale. Elle comporte
3 parties : 1) En haut, le bandeau horizontal de titre (bd1 : Base de données) et de menus ; 2)
le menu principal vertical à gauche ; 3) la zone des objets créés à droite.
ACCESS - p. 2 sur 13
Bandeau de titre : bd1 : base de données : on aura tout intérêt à changer ce nom.
Le menu vertical (menu niveau 1) : il comporte les deux menus principaux (de niveau 1) :
1) les objets ; 2) les groupes.
Le menu objet (menu niveau 2) : il donne accès à plusieurs sous-menus (de niveau 2) qui
permettent de créer les objets de la base de données : les tables, les requêtes, les formulaires,
les états, les pages, les macros, les modules.
Le menu groupes (menu niveau 2) : il contient le sous-menu « favoris » et sera abordé
ultérieurement.
La zone des objets créés (menu niveau 3) : pour chaque objet (chaque sous-menu de niveau
2), on affiche dans la zone des objets créés les objets sous-menus terminaux de niveau 3 (ils
se distinguent par leur icône avec une clé) et les différents objets qui auront été créés. Tous
ces objets sont double-cliquables.
A noter que les objets sous-menus terminaux sont radicalement différents des objets créés.
Les premiers sont des menus (des commandes), tandis que les seconds sont des objets
concrets. Pour bien les distinguer, les objets sous-menus terminaux ont une icône spécifique
(avec clé) et apparaissent toujours en premier dans la liste. Evidemment, on ne peut pas les
supprimer.
ACCESS - p. 3 sur 13
Le menu du bandeau horizontal (menu niveau 3) : Le bandeau horizontal permet, pour
chaque objet, de l’ouvrir, de le modifier, d’en créer un nouveau, de le supprimer. Il permet
aussi de choisir la façon dont on veut présenter les objets dans la fenêtre. Ces fonctionnalités
sont aussi accessibles via le bouton droit de la souris.
Les objets de base : table, requêtes, formulaires, état et pages sont les objets de bases de la
bases de données.
Les objets complexes : macros et modules sont les objets complexes de la base de données.
Création des objets de base : pour tous les objets de base, on peut créer en mode création ou
créer avec un assistant. Dans le cas des tables, on peut créer la table en entrant directement les
données. Dans le cas des pages, on peut créer la table en modifiant une page web existante.
Mode création et mode assistant : pour les tables et les requêtes, pour l’apprentissage, on
travaillera uniquement en mode création. Pour les formulaires, les états et les pages, le
graphisme étant important, on travaillera en mode assistant.
Sauvegardes : pour sauvegarder ce qu’on a créé, on peut : 1) faire « fichier/enregistrer », ou
ctrl-s ou icône enregistrer à partir du menu horizontal de la fenêtre principale ; 2) cliquer sur
la croix rouge du bandeau horizontal de la fenêtre initiale.
Le menu de la fenêtre principale : Fichier permet d’ouvrir et d’enregistrer la base de
données. Edition permet de faire les copier-coller. Affichage reprend les fonctionnalités
d’affichage du menu du bandeau horizontal (menu de niveau 3) de la fenêtre initiale. Insertion
reprend la fonctionnalité « nouveau » du menu du bandeau horizontal (menu de niveau 3).
Fenêtre permet de gérer l’affichage des fenêtres.
Le menu outil de la fenêtre principale : c’est un menu fondamental pour la fabrication de la
base de donnée. Particulièrement le sous-menu terminal « relation » qui permettra de créer les
liens entre les tables.
CREATION DE TABLES
ACCESS - p. 4 sur 13
La création des colonnes de la table (nom du champ) est assez intuitive.
Quelques précisions :
Type de données
Mémo : pour un texte sans taille ;
Numauto : pour les clés primaires. La valeur est donnée automatiquement pour chaque
nouvel enregistrement.
Objet OLE : on passe (OLE : Object Linking and Embedding, c’est-à-dire liaison et
incorporation d'objets. C’est un protocole qui permet de lier ou d'incorporer (insérer) un objet,
tel qu'un graphique d'une application ou d'un fichier serveur OLE, dans un fichier de
destination OLE, tel qu'un formulaire ou un état Microsoft Access).
Général
Masque de saisie : permet de contraindre la saisie.
Valide si : permet de définir des bornes, etc.
Null interdit : le champ est obligatoire. On ne peut pas ne pas le renseigner.
Chaîne vide autorisée : on peut mettre une chaîne vide (pour un champ texte obligatoire sans
chaîne vide, on met Null interdit et chaîne vide autorisée à oui).
Indexé : est utile pour accélérer les requêtes. Les clés primaires sont toujours indexées par
défaut. On indexe les champs sur lequel on est amené à faire des tris ou des recherches. Sans
doublons : pour les champs à valeurs uniques (les clés primaires principalement) ; avec
doublons : pour les autres (les clés étrangères particulièrement).
Remarque : les clés étrangères issues d’association 1.1 ont un NULL interdit. Celles issues
d’associations 0.1 ont un NULL autorisé.
ACCESS - p. 5 sur 13
Liste de choix : permet de définir une liste de valeurs possibles pour l’attribut.
On choisit entre « zone de liste » et « zone de liste modifiable » : la liste modifiable permet
d’ajouter de nouvelles valeurs possibles pour l’attribut.
La liste des valeurs peut être déterminée par une requête ou directement une table
(table/requête) ou en listant les valeurs possibles séparées par des « ; » (valeurs).
Pour limiter les valeurs possibles à la liste (empêcher la saisie d’autres valeurs), on peut
préciser : « limiter à la liste ».
CREATION DES RELATIONS ENTRE LES TABLES
Dans le menu outil de la fenêtre principale : le sous-menu terminal « relation » qui permet
de créer les liens entre les tables.
On peut aussi y accéder par l’icône de relation :
FORMULAIRES
Le formulaire : il permet d’ajouter, modifier, supprimer et consulter les enregistrements
d’une table.
Formulaire = saisie + consultation écran + éventuellement impression
2 types de formulaire : le formulaire liste et le formulaire page.
Le formulaire liste : il permet de consulter les enregistrements en liste (comme un tableau
excel).
Le formulaire page : il permet de consulter les enregistrement un par un (un enregistrement
par page).
Création assistée d’un formulaire
Pour créer un formulaire, on utilise le mode assistant. On choisit une table et, dans un premier
temps, on met tous les champs. On peut choisir la présentation : formulaire liste (tabulaire ou
feuille de données) ou formulaire page (colonne simple ou justifié). On peut choisir le style
graphique : classique pour le plus sobre.
A la place d’une table, on pourra aussi choisir une requête.
Modification d’un formulaire
On peut modifier manuellement le formulaire.
ACCESS - p. 6 sur 13
Les valeurs par défaut
On peut définir une valeur par défaut pour un champ soit au niveau de la table elle-même, soit
au niveau du formulaire. La valeur par défaut au niveau de la table vaut pour tous les cas
d’entrée. La valeur par défaut au niveau du formulaire ne vaut que pour ce formulaire.
Utilisation d’un formulaire
Double-cliquer sur l’objet formulaire dans la zone des objets créés.
Dans le menu de la fenêtre principale, on trouve deux nouvelles entrées : format et
enregistrements.
ACCESS - p. 7 sur 13
Format : permet de paramétrer le style graphique de l’affichage. Il correspond à la deuxième
barre d’icônes (gras, italique, etc.)
Manipulation des colonnes du formulaire liste, style « excel »
On peut manipuler les colonnes du formulaire en liste comme une feuille excel : changer la
largeur d’une colonne, cacher une colonne, déplacer une colonne.
Enregistrements : permet de manipuler les enregistrements : trier, sélectionner (filtrer),
rechercher, tout montrer, créer un nouvel enregistrement.
Créer un nouvel enregistrement : soit par menu insertion / nouvel enregistrement ; soit par
menu enregistrement / saisie de données ; soit par l’icône flèche-étoile ; soit directement dans
le formulaire liste.
Les filtres :
Tout les enregistrements : permet de montrer tous les enregistrements. Icône entonnoir.
Filtre par sélection et hors sélection : en plaçant le curseur sur une valeur d’un attribut,
permet de récupérer tous les enregistrements qui ont la même valeur (par sélection), ou bien
tous les enregistrements qui ont une valeur différente (hors sélection). Icône entonnoir avec
éclair.
Filtre par formulaire et filtre tri avancé : permettent de définir une formule de filtre et/ou
de tri et ensuite de l’appliquer avec appliquer le filtre/tri. Icône entonnoir avec feuille.
Appliquer le filtre/tri : permet d’appliquer la formule de filtre et/ou de tri précédemment
définie. Icône entonnoir.
Sauvegarde des modifications :
La sauvegarde des modifications est automatique dès qu’on quitte l’enregistrement. On peut
forcer la sauvegarde : enregistrement / sauvegarder : maj-entrée.
Impression d’un formulaire :
On peut imprimer les données affichées par un formulaire sans avoir à utiliser un état.
ACCESS - p. 8 sur 13
ETATS
L’état : il permet d’imprimer des données. L’état est identique au formulaire : la seule
différence, c’est qu’il fige le format, le filtre (la sélection) et le tri une fois pour toute.
Etat = impression
2 types d’état : les états liste et les états page.
L’état liste : il permet d’imprimer les enregistrements en liste.
L’état page : il permet d’imprimer les enregistrement un par un (un enregistrement par page).
Il peut servir, par exemple, à faire des lettres-type pour un mailing.
Création assistée d’un état
Pour créer un état, on utilise le mode assistant. Dans un premier temps, on met tous les
champs. On ne choisit pas de niveau de regroupement. On peut choisir des critères de tri.
Enfin, on choisit la présentation : état liste (tabulaire ou justifié) ou formulaire
page (verticale). On peut choisir le style graphique : société pour le plus sobre.
Modification d’un état
On peut modifier manuellement le formulaire. Dans le cas d’un format page, si on souhaite
avoir un enregistrement par page, il faudra ajouter un saut de page à la fin du détail de l’état.
Il faudra aussi très probablement déplacer l’entête d’état dans l’entête de page.
A la différence des formulaires, et du fait de la finalité d’impression, les états possèdent un
en-tête de page et un pied de page.
CREATION DE REQUETES
Les requêtes : ce sont des commandes qui permettent de répondre à des questions concernant
les données de la base.
Exemples : quels sont les adhérents à jour de leur cotisation ? Trier les adhérents par date de
cotisation décroissante.
Table résultat : le résultat d’une requête est une table qui peut être utilisée comme n’importe
quelle table : affichée comme un tableau excel, ou bien transmis à un formulaire ou à un état.
Il peut aussi servir pour créer une nouvelle table.
2 langages de création de la requête : la requête peut être écrite en langage graphique (mode
création de requête), soit en langage SQL (mode SQL). On peut circuler en permanence entre
ces deux modes.
Création d’une requête en mode création
Pour créer une requête, on utilise le mode création.
On va d’abord ajouter la ou les tables concernées par la requête.
On ajoute ensuite les champs de projection et on coche le bouton « afficher ».
ACCESS - p. 9 sur 13
On ajoute ensuite les champs de restriction. S’ils sont aussi champ de projection, il est inutile
de les remettre.
On ajoute ensuite les critères de restriction.
Enfin, on ajoute les tris souhaités.
Basculer le mode d’affichage : bouton droit dans le bandeau horizontal de la fenêtre zone
des tables ou menu affichage de la fenêtre principale : sélectionner mode SQL, ou bien mode
création de requête, ou bien mode feuille de donnée (ce dernier mode sert à afficher le résultat
de la requête).
Affichage des résultats
Une fois la requête créée, on peut l’exécuter en double-cliquant dessus dans la zone des objets
créés.
Quand la requête est ouverte (en mode graphique ou en mode SQL), on peut aussi l’exécuter
pour voir le résultat qu’elle donne : c’est le mode feuille de données accessible avec le
bouton droit.
Formule logique complexe : and et or mélangé
Le principe du mode création de requête est que les critères qui sont sur la même ligne sont
réunis par des « and » et regroupés dans entre parenthèses, et que les critères sur des lignes
différentes sont réunis par des « or ».
Chaque critère peut aussi inclure une formule logique.
On arrive dont à une formule logique qui est une succession de « or ».
Conseil : dès qu’on a une formule logique complexe, il vaut mieux la vérifier dans le mode
SQL.
Opérateur utilisables dans les requêtes
Les opérateurs de comparaison : >, >, <>, etc.
Entre : entre des lettres, des réels, des dates, des chaînes de caractères.
Dans : dans une liste de valeurs entre parenthèses, les valeurs étant séparées par des « ; ».
Exemple : dans (2 ; 4 ; 6)
Comme : comme « *ette »
Est : est NULL
Pas : pas dans, pas entre, est pas, etc.
Générateur d’expression
Le bouton baguette magique permet d’ouvrir un générateur d’expression qui donne accès à
des opérateurs et à des fonctions.
Notons la fonction Date() qui retourne la date du jour.
Requête et formulaire / état
Le résultat d’une requête est une table.
On peut souhaiter mettre en forme ce résultat pour une consultation à l’écran ou pour faire de
la saisie : dans ces deux cas, un formulaire utilisera la requête.
On peut aussi souhaiter mettre en forme ce résultat pour une impression. Dans ce cas, un état
utilisera la requête.
Requête paramétrée
ACCESS - p. 10 sur 13
Les critères de restriction de la requête peuvent être entrés dynamiquement pendant
l’exécution de la requête. Par exemple : si on cherche telle personne qu’on connaît par son
nom, il suffit de mettre un texte entre crochets dans la zone de critère du nom : [Entrez le nom
recherché :].
CREATION DE MACROS
Les macros : ce sont des petits programmes qui permettent de développer une interface
utilisateur plus élaborée. Les macros permettent, entre autre, d’ouvrir les formulaires.
Les boutons dans les formulaires : un bouton est un élément graphique dans un formulaire.
Il permet, quand on clique dessus, de lancer une macro.
Architecture générale :
La macro lance un formulaire. Le formulaire permet, via les boutons, d’accéder à d’autres
macro et donc à d’autres formulaires :
macro -> formulaire
formulaire -> bouton -> macro
Formulaire menu général:
Le formulaire menu général ne contient que des boutons qui correspondent à toutes les
fonctionnalités attendues pour le logiciel qu’on souhaite développer.
Macro autoexec :
La macro nommée autoexec est lancée automatiquement au démarrage d’access.
Typiquement, elle lancera le formulaire menu général.
Création d’une macro
Pour créer une macro, on clique sur nouveau dans le menu de la fenêtre initiale.
Il suffit ensuite de lister les actions dans la colonne action.
Pour chaque action, on peut mettre des commentaires dans la colonne commentaires.
Selon les cas, on peut paramétrer l’action dans la zone arguments de l’action, en bas.
ACCESS - p. 11 sur 13
Exécution d’une macro :
Pour exécuter une macro, on double-clique sur son nom dans la zone des objets créés.
Principe de l’exécution d’une macro :
Quand une macro s’exécute, elle déroule toutes les actions. On pourrait par exemple ouvrir
plusieurs formulaires. Après que la macro ai fini de s’exécuter, les formulaires sont ouverts.
Ils permettront, via les boutons, de lancer d’autres macros.
Quelques actions-fonctions de macro :
Ouvrir formulaire : pour ouvrir un formulaire. Argument : nom du formulaire.
Fermer : pour fermer un formulaire, ou autre chose.
Agrandir : pour que la fenêtre du formulaire soit ouverte en grand.
Arrêt macro : pour terminer la macro (utile sous condition).
Quelques propriétés d’un formulaire
Accès : affichage / propriété ; icône main-fiche ; petit carré en haut à gauche.
Format / boutons de déplacement : non : pour supprimer le menu de circulation en bas de
l’écran
Format / afficher sélecteur : non : pour supprimer la flèche et la barre verticale à gauche.
Format / diviseur d’enregistrements : non : pour supprimer la barre horizontale en bas.
IMPORTATION DE DONNEES EXCEL
Dans une base de données, on peut importer des données en créant la table :
Fichier / Données externes / Importer :
ACCESS - p. 12 sur 13
Permet de créer une table et de la remplir à partir d’un fichier excel.
Il faut suivre les instructions.
S’il existe déjà une clé primaire dans le fichier excel, on évite d’en rajouter une.
On indexe la clé primaire en précisant « sans doublons ».
On peut indexer les clés étrangères, en précisant alors « avec doublons »
PRECISIONS : TABLES ET DONNEES
Mettre à jour les types des données :
Longueur des chaînes de caractères.
Not NULL
Etc.
Créer des listes de valeurs pour
les départements,
les supérieurs hiérarchiques,
les fonctions.
Modifier les valeurs de commission : c’est un champ numérique. La valeur par défaut est 0.
Toutes les valeurs non renseignées doivent être passées à 0.
PRECISIONS : FORMULAIRES
Formulaires de saisie « de base » : pour emp et dept
Formulaire « Dept-saisie » avec tous les employés du département :
Outil « sous formulaire / sous état » dans la mise à jour manuelle du formulaire.
On relie le sous formulaire au formulaire « Emp-liste »
Formulaire « Emp-saisie » avec les informations du département :
On met d’abord tous les champs de emp.
Puis, à la suite, tous les champs de dept.
On supprime dept.deptno
On affiche les données par emp
Dans le formulaire, on vérouille dept_nom et ville
Vérouillé : oui : on supprime la possibilité de modifier les valeurs dans la table liée. Laisser
cette possibilité est à manier avec prudence.
Zone de liste : Ajout de la liste des départements dans un formulaire de saisie des employés.
C’est une information qui n’est pas dynamique. Elle s’affiche une fois pour toute sans mise à
jour.
Zone de liste variable : permet de visualiser les valeurs possibles avec toutes les
informations (par exemple, pour les supérieurs hiérarchique, on affiche les informations des
employés).
ACCESS - p. 13 sur 13