Bonjour à tous !
Je vais développer ici un petit tutoriel pour utiliser le logiciel de gestion de base de données Access.
Qu’est-ce que c’est que Microsoft Access?
Microsoft Access est un logiciel comprenant un système de gestion de base de données relationnel. Pour faire simple, il vous sert à gérer de multiples bases de données que vous pouvez entrez dans le logiciel.
Qu’est-ce qu’une base de données?
En informatique une base de données est un lot d’informations stockées dans un dispositif informatique. Les technologies existantes permettent d’organiser et de structurer la base de données de manière à pouvoir facilement manipuler le contenu et stocker efficacement de très grandes quantités d’informations.
Donc, on peut stocker multiples informations dans une base de données, et l’intérêt du logiciel est de pouvoir les utiliser comme on le veut.
On a accès à l’information plus rapidement et plus facilement. Toutes les informations se retrouvent stockées dans un endroit unique dans la base de données. On peut même faire des recherches beaucoup plus facilement, et on possède un meilleur suivi de l’information.
Pour une entreprise, cela peut par exemple lui faciliter sa gestion des stocks !
Ex: Combien me reste-t-il en stock du produit X? Qui sont mes dix clients les plus importants en ce moment?
Grâce à Access, on a ici plusieurs avantages qui se présentent à nous :
- Meilleur suivi de l’information.
- Meilleure gestion des données.
- Meilleure analyse des données.
- Meilleure prise de décision.
- Mieux apte à répondre aux besoins de la clientèle.
- Automatisation de certaines tâches répétitives.
Ce type de base de données a plusieurs avantages comparés à une base de données simple aussi appelée “flat file”. Elle utilise beaucoup moins d’espace parce qu’elle réduit au minimum les redondances ou les répétitions des données. Pour mieux comprendre l’avantage d’un système de gestion de base de données relationnel (SGBDR), utilisons un exemple de factures (formation GEA à la base pour moi).
Regardons quelques-unes des données que l’on retrouve normalement sur une facture:
Date, Numéro de facture, Numéro du vendeur, Numéro du produit, Quantité vendue, Prix unitaire, Description du produit….
Voici quelques-unes de ces données dans une BD simple.
| No. Facture |
Client |
Produit |
Description |
Prix Unitaire |
Qté
|
| 1001 |
ABC |
415 |
TRIANGLE |
12.75 |
50 |
| 1002 |
ABC |
416 |
CARRÉ |
10.00 |
20 |
| 1003 |
XYZ |
415 |
TRIANGLE |
12.75 |
75 |
L’idée d’une base de données relationnelle est de répartir les données dans plusieurs base de données ou tables et de créer des connexions, des relations entre chacune d’elles. Voici comment les variables pourraient être divisées dans une BD relationnelle.
| Facture |
Client |
Vendeur |
Inventaire |
| No. Facture |
No. Client |
No. Vendeur |
No. Produit |
| No. Produit |
Adresse |
Nom |
Description |
| Qté vendue |
Code Postal |
Prénom |
Prix unitaire |
| No. Vendeur |
No. téléphone |
No. Ass. Soc. |
Qté disponible |
| No. Client |
Personne autorisée |
Date d’embauche |
Qté commandée |
Dans le tableau précédent, la table Facture va chercher les informations sur le client de la table Client par le champ commun NO. CLIENT (en rouge). Il est inutile de réécrire les données du client plusieurs fois. On peut aller chercher l’information grâce à une relation entre ces deux tables par le champ No. Client. La même chose se produit pour les informations nécessaires pour les tables Vendeur et Inventaire par leurs variables communes No. Vendeur et No. Produit respectivement.
De cette manière, il est inutile de réécrire les données redondantes ou répétitives. Ceci conserve de l’espace pour d’autres données. Pour les trois factures de l’exemple, on économise de l’espace et du temps à ne pas avoir à réécrire les informations sur le client “ABC” ni la description et le prix unitaire du produit “415″.
Définitions
L’utilisation d’une base de données apporte aussi de nouveaux termes à comprendre. Voici une liste des termes qui seront nécessaires de connaître pour gérer au mieux le logiciel Access.
| Champ : |
Une information nécessaire sur une personne, une chose ou un événement. Ex.: couleur, taille, modèle, date, nom, prénom, téléphone, adresses, description, commentaires etc. |
Enregistrement:
|
Un regroupement de champs qui décrient une personne, une chose ou un événement. Ex.: nom, prénom, date de naissance, téléphone, numéro d’assurance sociale ou compagnie, adresse, téléphone, télécopieur, personne responsable ou département, personne responsable, téléphone.Le champ téléphone est utilisé de trois manières différentes. Il est soit le numéro de téléphone d’un employé, d’une personne dans une compagnie ou d’un département. |
| Table: |
Un regroupement d’enregistrements sur un thème un commun. Ex.: employés, inventaire, client, fournisseurs, véhicules, contacts etc. |
| Base de données: |
Un regroupement de tables, de requêtes, de formulaires, et de rapports et de programmation qui constitue un système complet. Ex.: gestion de la facturation, gestion de l’inventaire, immatriculation des véhicules, carnet de numéro de téléphone, réservations etc. |
La définition d’une base de données prend maintenant un sens plus large qu’auparavant. Ce n’est plus juste un fichier qui contient de l’information utile pour l’utilisateur. Il contient aussi les requêtes, les formulaires, les états, les macros et les modules pour développer une “application” ou un “système” qui répond aux besoins spécifiques de l’utilisateur.
Quelles sont les composantes d’Access?

Tables :
|
Structure de la table, type de champs et les informations qui y sont entreposées.
|

Requêtes :
|
Recherche d’informations qui répond à certains critères déterminés par l’utilisateur.
|
Formulaire :
|
Présentation de l’information à l’écran d’une manière pratique pour l’utilisateur.
|

État :
|
Présentation de l’information sur papier d’une manière pratique pour l’utilisateur.
|

Macro :
|
Développement de routines pour automatiser certaines tâches.
|

Modules :
|
Programmation
|
Création d’une base de données
La première étape de la création d’une base de données est l’analyse. C’est d’ailleus l’étape la plus importante. Si vous passez trop rapidement sur cette étape, vous allez ensuite perdre beaucoup de temps et d’efforts à refaire ce qui aurait dû être accompli auparavant.
Avant de créer votre base de données, il faut avoir une idée claire. Il faut préparer une analyse des besoins auxquels il vous faudra répondre. Quelles sont les informations dont vous avez besoin? Ex.: Quelles informations ai-je besoin sur mes clients, sur mes fournisseurs, sur mon inventaire, sur mon personnel etc.
Par exemple, pour connaître le total des ventes, il me faudra connaître les quantités vendues et le prix unitaire de celle-ci.
Gardons l’exemple de la facture, et voyons les champs qui nous seront utiles….
Liste des champs
Voici la liste de champs que l’on peut retrouver une facture.
Date, Numéro de facture, Numéro de client, Adresse de facturation du client, Ville, Numéro de téléphone, Adresse E-mail, Adresse de livraison, Personne contact, Conditions de paiement, Numéro de produit, Description du produit, Prix unitaire du produit, Quantité achetée, Total, sous-total, TPS (Taxe sur le Produits et Services, 7% du total), Grand total, Escompte, Bon de commande, Numéro du vendeur, Nom du vendeur …
On dirait pas, mais toutes ces informations peuvent être très utiles (j’ai suivi une formation GEA comptabilité avant de venir ^^)
La seconde étape : regrouper les informations dans des tables.
Il faut ensuite regrouper en entités tous ces champs dans une table ou un “thème” en commun. Ex.: Est-ce que le champ “Escompte” ou “Conditions de paiement” ira dans la table “Facture” ou avec “Client”?
Le concept est de distribuer les champs dans le plus grand nombre de tables possibles. Mais il y a certaines règles à suivre:
- Regroupement des champs dans des tables qui peuvent être reliées.
- Pas de dédoublement de champs, sauf pour les champs en commun.
- Pas de dédoublement d’entrée d’information.
- Pas de champs calculables dont on peut avoir le résultat avec les informations des autres champs des tables. Ex.: Total = Qté * Prix unitaire, donc le total ne sera pas une table.
Il faut regrouper les champs dans des tables. Quels sont les champs que l’on peut regrouper ensemble? Pour la facture, on retrouve des éléments qui distinguent la facture, le client, les produits et le vendeur. Ce sont les quatre tables qui seront utilisées.
Il faut aussi s’assurer que les champs sont dans la bonne table, qu’il n’y a pas de tables cachées à l’intérieur des autres (ça ferait tout “buggé” pour les requêtes après).
À l’exception des champs en commun qui servent à “relier” les tables, un champ ne devrait pas se retrouver dans plusieurs tables.
Déterminer les clés primaires
Une clé primaire est un champ qui permet de différencier un enregistrement des autres. Par exemple, bien qu’il puisse avoir plusieurs factures avec la même date, la même quantité achetée, au même client ou avec le même vendeur, il est impossible de retrouver deux factures avec le même numéro. Une clé primaire n’est pas obligatoire pour une table. Elle le devient lorsque vous voulez relier deux tables. L’une des tables doit avoir une clé primaire.
Déterminer les relations entre les tables
Pour qu’une relation soit possible entre deux tables, il faut:
- 2 tables (ou requêtes ou une combinaison des deux)
- 1 champ en commun dans chacune des tables.
- Même type de champ (Texte avec texte, numérique avec numérique… sauf exception de numéro auto avec numérique)
- Même longueur (Pas un champ long de 15 caractères avec un autre long de 50 caractères !)
Vous n’êtes pas obligé de relier toutes les tables l’une à l’autre. Il est possible d’accéder à l’information tant que les tables soient reliées directement ou indirectement entre elles (l’intérêt d’un logiciel comme Accès….).
Déterminer les types de relations , appelées cardinalités
Il existe trois types de relations : 1 à 1, 1 à plusieurs et plusieurs à plusieurs.
Pour l’exemple, voilà comment on relie les tables voici comment relier les tables dont les informations se retrouvent sur une facture.

L’image ci-dessus démontre la liste des tables avec les champs qui les composent. De plus, les traits indiquent les relations entre les tables. La relation de types plusieurs à plusieurs requiert une table intermédiaire composée, au minimum de la clé primaire (d’où l’importance de bien créer des clés primaires) des deux tables à relier (ici, la table “Facture” fait le lien entre la table “clients” et la table “employés”). C’est la raison d’être de la table Transition Fact-Inv qui pourrait tout aussi s’appeler Items de la facture.
La normalisation et les formes normales.
L’avantage d’une base de données relationnelle est d’éviter au maximum les répétitions ou les redondances d’information. La normalisation sert à séparer la liste des champs en plusieurs tables pour avoir une base de données qui est plus efficace.
Première forme normale : répétition des données
Pour atteindre la première forme normale, il faut éliminer les groupes répétitifs en les séparant en plusieurs tables. Le travail à accomplir pour atteindre la première forme normale est d’éviter complètement les répétitions d’entrée de données.
Par exemple, une facture peut contenir plusieurs produits.
| Numéro de facture |
Numéro de produit |
| 1 |
1, 3, 5 |
Donc, il peut avoir plusieurs numéros de produits pour une même facture. Ceci est de la redondance et ce n’est pas une forme appropriée pour conserver de l’information dans une base de données relationnelle. Comment fera-t-on ensuite pour relier une modification au bon produit? Il faut donc mettre Numéro de produit dans une table autre que Facture. On peut en même temps déplacer les champs similaires dans l’autre table.
Il faut s’assurer que l’utilisateur ne va pas entrer plusieurs fois la même information. Par exemple, cela ne serait pas efficace d’avoir une table “Facture” qui contiendrait aussi les champs “Nom du client”, “Adresse de livraison”, “personne contact”. Cela ne passerait pas à la première forme normale. La norme est qu’il faut que l’utilisateur rentre pour chaque facture la même information qu’il a déjà entrée dans les factures précédentes pour le même client.C’est pour cette raison qu’il faut “découper” la liste des champs dont vous avez besoin dans plusieurs tables pour avoir une forme efficiente d’entrée et d’utilisation des données.
Facture: Numéro de facture, date, bon de commande, escompte
Clients : Numéro de client, adresse de facturation, ville, numéro de téléphone, numéro de télécopieur, adresse de courriel, adresse de livraison, personne-contact, escompte.
Employés : Numéro du vendeur, nom, prénom, numéro d’assurance sociale
Inventaire : Numéro de produit, description, prix unitaire, quantité achetée, quantité disponible
Il faut ensuite déterminer la clé primaire pour chaque table. Cela est nécessaire pour la seconde forme normale. Une clé primaire est un champ, ou une série de champs, qui permet de distinguer un enregistrement des autres. Pour la table Facture, la clé primaire est le champ Numéro de facture. Le contenu de tous les autres champs de la table peut se répéter ce qui serait contraire à la convention d’une clé primaire.
Deuxième forme normale: Dépendance directe à la clé primaire
Il faut ici éliminer les dépendances partielles. Cela veut dire qu’il faut s’assurer que tous les champs de la table dépendent de la clé primaire de la table. Sinon, il faudra créer une nouvelle table ou déplacer le champ.
Le problème pour ce niveau est le champ Quantité achetée. Il dépend en même temps du numéro de facture et du numéro de produit. Une facture peut avoir plusieurs produits. Mais un produit peut aussi se retrouver sur plusieurs factures. Il y a donc une relation de plusieurs à plusieurs entre ces deux tables.
Facture : Numéro de facture, Date, bon de commande, escompte
Clients : Numéro de client, adresse de facturation, ville, numéro de téléphone, numéro de télécopieur, adresse e-mail, adresse de livraison, personne contact, escompte.
Employés : Numéro du vendeur, nom, prénom, numéro d’assurance sociale
Inventaire : Numéro de produit, description, prix unitaire, quantité disponible
Items : Numéro de facture, Numéro de produit, Quantité achetée
Voici un exemple du contenu de la table items. Pour cette base de données, la table permet de relier les tables Facture et Inventaire. La clé primaire de cette table est composée de deux champs: Numéro de facture et Numéro de produit. Ce sont aussi les clés primaires des tables Facture et Inventaire.
| Numéro de facture |
Numéro de produit |
Quantité achetée |
| 1 |
1 |
10 |
| 1 |
2 |
25 |
| 2 |
1 |
50 |
| 2 |
2 |
100 |
Dans cette table, un même numéro de facture et un même numéro de produit peuvent être utilisés plusieurs fois. Mais seulement un à la fois. Il n’y aura jamais deux fois le même numéro de facture et le même numéro de produit.
Troisième forme normale : Dépendances partielles de la clé
Il faut ici éliminer les dépendances transitives. Il faut s’assurer qu’il n’y a pas de tables qui soient cachées parmi les autres.
Aussi, les tables ne devraient jamais contenir de champs calculés (dit précédemment). Il est possible d’avoir le “sous total” en multipliant les “Quantité vendue” par les “Prix unitaire”. Donc, il est inutile de l’avoir dans les tables.(ne nous encombrons pas avec des informations inutiles….)
La troisième étape est de déterminer les relations entre les différentes tables. Il faut regarder quelles sont les relations possibles entre les entités. Pour avoir une relation, deux tables doivent avoir au moins un champ en commun. Une fois que vous avez réalisé les regroupements et déterminé les relations, vous avez votre base pour la création des tables.
Maintenant que vous avez les entités et les champs qui les composent, pensez à quoi devrait ressembler vos formulaires et vos états. Est-ce que les champs que vous avez choisis répondent à tous vos besoins? Réfléchissez bien, car cela est super important pour que la base de données et les requêtes fonctionnent correctement après.
Voici un aperçu de ce que le logiciel Access permet de faire. Il n’est pas très compliqué à prendre en main, une fois qu’on a compris le principe. Je vous ai expliqué ici jusqu’au stade des relations entre les tables. Le but de ce tutoriel n’est pas de tout vous expliquer (car cela est très facile à prendre en main pour des gens comme vous qui utilisez beaucoup l’informatique) mais à vous démontrez que si un jour vous créez votre entreprise, vous pourrez avoir besoin de ce logiciel très utile qui vous aidera dans votre gestion (afin que votre entreprise survive plus d’une année
).
J’espère que vous avez compris le principe général, et que vous utiliserez ce logiciel si jamais vous êtes amenés à gérer une entreprise plus tard.