Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Tables de base de données Access, Exercice pour débuter
Cet
exercice Access est le tout premier d'une longue liste à suivre. Nous proposons d'apprendre à maîtriser le
gestionnaire de base de données Access par la mise en pratique. Et pour cela nous débutons par le commencement afin d'assurer une progression pédagogique millimétrée. Chaque cas pratique proposera de reprendre les travaux réalisés dans l'exercice précédent. Ainsi, au fil de cet apprentissage, nous bâtirons une vraie
application professionnelle. En l'occurrence ici, il s'agira d'offrir tous les outils permettant de gérer les clients et leurs factures sur la base de produits achetés.
Source de l'application et présentation
Pour les manipulations, il est nécessaire de disposer de données. Nous proposons tout d'abord de les réceptionner.
Vous notez la présence d'un volet sur la gauche de l'écran. Il s'agit du
volet des objets Access.
Trois éléments sont déjà présents. Il s'agit de trois
tables nommées respectivement
Clients,
Produits et
Remises. Les tables sont les outils pour fonder une base de données et sceller son ossature. Même si elles permettent d'afficher les données, elles ne doivent jamais être utilisées pour les modifier ou en ajouter. Nous le verrons, l'outil dédié est le
formulaire.
Ce volet sur la gauche, listera tous les
objets Access que nous créerons au fil de l'apprentissage par ces exercices. Ils seront regroupés par catégories. Nous y retrouverons les
tables bien sûr mais aussi les
requêtes, les
formulaires, les
états et encore les
macros.
- Dans le volet de gauche, double cliquer sur la table Clients,
Nous l'affichons ainsi en
mode feuille de données. Ce mode est utilisé pour vérifier les réglages définis en mode création. Il peut s'agir des
formats,
types de données ou
masques de saisie par exemple. Nous aurons l'occasion d'aborder très vite ces notions.
Cette
table recense donc tous les
clients connus par l'entreprise. Chaque ligne décrit un client. En termes de
base de données, une ligne est appelée
enregistrement. Chaque
enregistrement est détaillé sur plusieurs colonnes. Ces colonnes sont appelées des
champs définis par leur nom en entête. Ces définitions sont primordiales pour débuter l'apprentissage d'un
gestionnaire de base de données.
Chaque client est donc décrit sur les
champs Client_civilite, Client_nom, Client_prenom, Client_dep et Client_ville. Ces deux derniers champs,
Client_dep et Client_ville, ne sont pas encore renseignés à ce stade.
Les noms attribués aux
champs d'une
table sont importants. Ils ne doivent pas être négligés. Tout d'abord, il est nécessaire d'exclure les espaces ainsi que les accents. Les noms doivent être explicites et le plus court possible. Il est intéressant de rappeler en préfixe le
nom de la table, comme ici. Lorsque nous réaliserons des correspondances, par les
requêtes notamment, ils permettront d'identifier sans ambiguïté la source de données.
- Dans le volet de gauche, double cliquer sur la table Produits pour afficher son contenu,
Cette
table recense tous les articles vendus par l'entreprise. Si vous consultez la petite barre de navigation en bas de la fenêtre
Access, vous remarquez qu'elle compte
244 enregistrements. 244 produits sont donc proposés à la vente. Le niveau de détail est plus important que pour la table précédente. Les champs sont effectivement plus nombreux. Vous notez la présence d'un identifiant unique pour chaque enregistrement, inscrit dans le tout premier
champ produit_id. Cette notion est fondamentale pour un
gestionnaire de base de données. Toute
table doit identifier chacun de ses
enregistrements de façon unique. Toute table doit donc offrir un champ dédié. Et ce
champ doit porter la
clé primaire. Nous y reviendrons.
La nature des champs de cette table diffère contrairement à la précédente. Certains hébergent des données numériques tandis que d'autres accueillent des informations textuelles. Pour des raisons d'ergonomie et d'homogénéité, dans les exercices à suivre, nous devrons définir les
types de données associés, mais aussi les
formats et les
masques de saisie.
Lorsque plusieurs tables ou objets sont ouverts ensemble, vous remarquez qu'ils sont listés sous forme d'onglet. Un clic sur l'
onglet Clients par exemple permet de revenir sur l'affichage du contenu de la
table Clients.
- Dans le volet de gauche, double cliquer sur la table Remises pour afficher son contenu,
Un troisième onglet vient se greffer à la suite des autres et nous affichons la
table en mode
feuille de données. Cette table est très simple. Elle est organisée sur deux champs. Elle propose des remises reconnues par des codes. Ces codes font office d'
identifiants dans le premier
champ Remise_id. A l'avenir, nous exploiterons cette table pour permettre à l'entreprise de réaliser des opérations commerciales. L'un de ces codes inscrit dans le
champ produit_code de la
table produits conduira à une promotion.
Créer les clés primaires
Nous l'avons déjà évoqué, les
tables sont l'ossature d'une
base de données. Elles doivent être pensées et architecturées en amont. De plus, l'information doit être découpée entre plusieurs tables. Et ces tables devront être reliées entre elles. C'est une nécessité absolue dans le fonctionnement des
gestionnaires de bases de données.
Il n'est pas envisageable de répéter les informations d'un client à chaque fois qu'il passe une commande. Ces
données doivent être reliées dans des tables différentes. C'est ainsi que nous améliorons la gestion de l'information et les performances globales.
Certaines de ces
tables sont encore manquantes. Nous devrons les créer. En effet, nous devons pouvoir renseigner les commandes et le détail de chaque commande d'un client. Il s'agira ensuite de les relier. Ces liaisons sont rendues possibles par la présence d'une
clé primaire. Comme elle identifie chaque
enregistrement de façon unique, c'est elle qui permet de déterminer sans ambiguïté quelles sont toutes les commandes attachées à un client par exemple.
- Cliquer sur l'onglet Clients pour revenir sur l'affichage de sa table,
- Dans le ruban Accueil, cliquer sur la flèche du bouton Affichage,
- Dans la liste, choisir Mode création,
Nous basculons ainsi en
mode conception de table. C'est dans cet éditeur que nous apprendrons, au fil des exercices, à typer et formater les champs notamment. Dans cette
table Clients, vous remarquez qu'ils sont tous typés comme des
textes courts. L'
onglet Général en bas de la fenêtre, offre toutes les options de paramétrage pour le champ sélectionné en haut de la fenêtre. Et à ce titre, nous constatons que la taille de ce texte court est limitée à 255 caractères. Pour un champ destiné à recevoir l'information sur la civilité du client, ce réglage est surdimensionné. Afin de calibrer la
base de données au plus juste et de préserver les ressources, nous l'adapterons en temps voulu.
Cette
table Clients ne propose pas encore de
champ permettant d'identifier chaque personne de façon unique. Nous devons le créer et l'exploiter comme
clé primaire.
- Cliquer droit sur l'étiquette de ligne du champ Client_civilite,
- Dans le menu contextuel, choisir Insérer des lignes,
Une nouvelle ligne apparaît en entête des champs. C'est la position idéale pour entreprendre la création du
champ de la clé primaire.
- Dans la zone Nom du champ, saisir : Client_id,
- Dans la zone Type de données, choisir NuméroAuto avec la liste déroulante,
Ce type de données consiste à attribuer un
numéro entier auto-incrémenté à chaque création de nouvel
enregistrement. Ainsi, chaque client sera identifié de façon unique. De fait, nous pouvons poser la
clé primaire sur ce
champ. Par définition, une
clé primaire n'accepte pas les doublons. Vous ne devez donc jamais la poser sur un champ offrant des redondances.
- Cliquer droit sur l'étiquette du champ Client_id,
- Dans le menu contextuel, choisir Clé primaire,
Comme vous le remarquez, le symbole d'une clé se positionne instantanément sur l'étiquette de ligne du
champ Client_id. Ce dernier est donc explicitement défini comme le
champ de la clé primaire. En bas de la fenêtre, dans l'onglet général, vous remarquez que son
attribut Indexé est réglé sur la valeur
Oui - Sans doublons. Les redondances sont donc interdites. Le numéro auto-incrémenté veillera au grain. Un
champ indexé est un champ pour lequel les valeurs sont stockées dans une base de connaissance pour améliorer les performances lors des recherches par exemple. Il s'agit en effet de la référence unique pour chaque enregistrement.
Cette notion est donc fondamentale, toute table de base de données sauf très rares exceptions, doit toujours posséder une
clé primaire.
- Enregistrer les modifications (CTRL + S),
- A gauche du ruban Création, cliquer sur la flèche du bouton Affichage,
- Dans la liste, choisir Mode feuille de données,
Nous retrouvons l'affichage du contenu de la
table Clients. Mais cette fois, l'information supplémentaire sur l'identifiant apparaît. Et bien que la création de ce champ ait eu lieu a posteriori, vous remarquez que les
numéros incrémentés uniques se sont créés automatiquement.
Nous devons désormais définir les clés primaires sur les deux autres tables.
- Cliquer sur l'onglet de la table Produits pour afficher son contenu,
- A gauche du ruban Accueil, cliquer sur la flèche du bouton Affichage,
- Dans la liste, choisir Mode création,
Nous basculons donc en conception de table. Vous remarquez la présence d'une information dans la
colonne Description pour le
champ produit_code. Cette colonne permet au concepteur d'ajouter des notes destinées à rappeler la nature et la fonction de certaines informations. Elles ne sont pas visibles en mode feuille de données.
Le
champ produit_id semble dédié pour recevoir la
clé primaire. Pourtant, nous n'allons pas l'exploiter. Le
champ produit_ref est plus adapté. La référence d'un article est unique par définition. C'est donc lui qui doit porter cette fameuse clé.
- Cliquer droit sur l'étiquette du champ produit_id,
- Dans le menu contextuel, choisir Supprimer les lignes,
- Puis, cliquer sur le bouton Oui du message de confirmation,
Nous l'avons dit précédemment, il est opportun de positionner le champ de la clé primaire en entête.
- Glisser l'étiquette de ligne du champ produit_ref au-dessus du champ produit_nom,
- Puis, cliquer droit sur son étiquette de ligne,
- Dans le menu contextuel, choisir clé primaire,
Comme précédemment, le symbole de la clé apparaît sur l'étiquette du champ.
- Enregistrer les modifications (CTRL + S),
- A gauche du ruban Création, cliquer sur la flèche du bouton Affichage,
- Dans la liste, choisir Mode feuille de données,
Nous retrouvons l'affichage des produits de la société. Certes, nous avons quelque peu réorganisé les colonnes. Aucune alerte n'est apparue et c'est très bon signe. En effet, si le
champ produit_ref avait comporté des redondances,
Access aurait affiché une alerte d'incompatibilité. Rappelez-vous, par défaut, le
champ de la clé primaire est
indexé sans doublons.
- Cliquer sur l'onglet Remises pour afficher le contenu de sa table,
- A gauche du ruban Accueil, cliquer sur la flèche du bouton Affichage,
- Dans la liste, choisir Mode création,
Comme vous le remarquez, le
champ de la clé primaire avait déjà été défini sur le
champ Remise_id de cette table. Il est auto-incrémenté et
indexé sans doublons, fort naturellement.
Créer et configurer des tables
Nous l'avons annoncé en préambule de cette formation, au fil de l'apprentissage par les
exercices, nous transformerons cette
base de données Access, en véritable application professionnelle de gestion. Elle devra notamment permettre d'établir la
facturation des clients. Et pour cela, deux tables sont nécessaires. La première doit archiver les informations de synthèse de chaque nouvelle
commande, comme la date et le montant total. La seconde doit offrir le niveau de détail de chacune de ces
commandes. Elle doit donc accueillir les informations sur les références articles et les quantités achetées notamment. Nous choisissons de nommer ces
tables respectivement
Commandes et
Detail_commandes.
- En haut de la fenêtre Access, cliquer sur l'onglet Créer pour activer son ruban,
- Dans la section Tables, cliquer sur le bouton Création de table,
Nous basculons de nouveau en mode
conception de table mais cette fois, l'éditeur est vide de champs. Nous devons créer l'ensemble des champs composant la
table Commandes pour commencer. Nous typerons ces derniers sans ajuster leur taille pour l'instant. Chaque chose en son temps.
- Dans la première ligne de la zone Nom du champ, saisir le nom : Com_num,
- Dans la colonne Type de données, choisir NuméroAuto avec la liste déroulante,
Nous commençons donc par la création du champ auto-incrémenté qui doit porter la
clé primaire.
- Cliquer droit sur son étiquette de ligne,
- Dans le menu contextuel, choisir Clé primaire,
- Créer ensuite le champ Com_client avec le type de données Numérique,
En effet, ce champ doit recevoir l'identifiant du client ayant passé commande. C'est ainsi que sera établie la liaison avec la
table parente Clients, sur la
clé primaire. Les deux champs servant à créer cette relation doivent avoir le même type de données.
- Créer le champ Com_date avec le type de données Date/Heure,
- Puis, créer le champ Com_montant avec le type de données Montéaire,
Ce type est en effet tout à fait approprié pour afficher le montant d'une commande en Euros avec deux décimales. Il s'agit en quelques sortes d'un formatage prédéfini. Nous le constaterons en temps voulu.
Tous les champs nécessaires ayant été créés, nous devons enregistrer cette table.
- Réaliser le raccourci clavier CTRL + S,
- Dans la boîte de dialogue qui apparaît, la nommer Commandes et valider par Ok,
Instantanément, vous constatez que cette nouvelle
table apparaît listée dans le
volet des objets Access. Elle est désormais disponible.
- En haut de la fenêtre Access, cliquer sur l'onglet Créer pour activer son ruban,
- Dans la section Tables, cliquer sur le bouton Création de table,
Nous sommes de retour dans l'
éditeur de création de table d'Access.
- Créer les champs suivants :
Nom : Det_num, Type de données : NuméroAuto, champ de la clé primaire,
Nom : Det_com, Type de données : Numérique,
Nom : Det_ref, Type de données : Texte court,
Nom : Det_qte, Type de données : Numérique,
Nom : Det_remise, Type de données : Monétaire,
Le
champ Det_com est ainsi défini avec le même
type de données que celui de la
clé primaire de la table parente. Il s'agit du
champ Com_num créé précédemment. C'est ainsi que nous établirons la relation. Et c'est ainsi que nous pourrons retrouver tous les articles liés à une commande passée.
- Enregistrer la table (CTRL + S) sous le nom Detail_commandes,
Comme précédemment, cette table apparaît désormais listée dans le volet des objets Access.
Nous avons donc posé les premières pierres pour construire l'ossature de la
base de données. Nous poursuivrons la construction de ces fondations dans le prochain
exercice Access pour débutants.