Définition des relations entre les tables dans Microsoft Access

Dans Access, une relation est une association qui lie le champ de clé primaire dans une table à un champ qui contient les mêmes informations dans une autre table. Le champ de l’autre table s’appelle la clé étrangère. Par exemple, si des comptes clients sont attribués à des commerciaux spécifiques, vous pouvez établir une relation en liant le champ de clé primaire lD Employé de la table Employés au champ de clé étrangère lD Employé de la table Clients. Chaque compte client est attribué à un seul employé, mais chaque employé peut gérer plusieurs comptes clients, ce type de relation, le plus courant, est donc appelé relation un-à-plusieurs.

De même, si chaque commande est associée à un client, vous pouvez établir une relation en liant le champ de clé primaire lD Client dans la table Clients et le champ de clé étrangère lD Client dans la table Commandes. Chaque commande est passée par un seul client, mais chaque client peut passer plusieurs commandes. Encore une fois, c’est une relation un-à-plusieurs.

Les relations moins courantes comprennent :

■ Un-à-un Dans ce type de relation, chaque enregistrement d’une table peut avoir un et un seul enregistrement associé dans l’autre table. Ce type de relation n’est pas couramment utilisé car il est plus facile de mettre tous les champs dans une table. Cependant, vous pouvez utiliser deux tables liées au lieu d’une pour diviser une table avec de nombreux champs, ou pour suivre les informations qui ne s’appliquent qu’à certains des enregistrements de la première table.

■ Plusieurs-à-plusieurs Ce type de relation est en réalité deux relations un-à-plusieurs liées ensemble via une troisième table. Vous pouvez trouver cette relation dans une base de données qui contient les tables Produits, Commandes et Détails des commandes. La table Produit a un enregistrement pour chaque produit et chaque produit a un ID du produit unique. La table Commandes a un enregistrement pour chaque commande passée et chaque enregistrement qu’elle contient a un ID de commande unique. Cependant, la table Commandes ne spécifie pas quels produits ont été inclus dans chaque commande; ces informations se trouvent dans la table Détails de la commande – la table au milieu qui relie les deux autres tables ensemble. Les produits et les commandes ont chacun une relation un-à-plusieurs avec les détails de la commande. Les produits et les commandes ont donc une relation plusieurs-à-plusieurs les uns avec les autres. En langage clair, cela signifie que chaque produit peut apparaître dans de nombreuses commandes et que chaque commande peut inclure de nombreux produits.

La manière la plus courante de créer une relation entre deux tables consiste à ajouter les tables à la page Relations qui s’affiche lorsque vous cliquez sur le bouton Relations dans le groupe Relations de l’onglet Outils de base de données. Vous faites ensuite glisser un champ dans une table vers le champ commun de l’autre table et terminez la définition de relation dans la boîte de dialogue Modifier les relations. Dans cette boîte de dialogue, vous avez la possibilité d’imposer une restriction appelée intégrité référentielle sur les données, ce qui signifie qu’une entrée ne sera pas autorisée dans une table sauf si elle existe déjà dans l’autre table.

Une fois que vous avez créé une relation, vous pouvez la supprimer en supprimant la ligne reliant les tables sur la page Relations. Vous pouvez effacer toutes les cases de la page en cliquant sur le bouton Effacer la mise en page dans le groupe Outils de l’onglet Outil de conception.

Dans cet exercice, vous allez créer des relations entre une table et deux autres tables. Ensuite, vous testerez l’intégrité référentielle de l’une des relations.

CONFIGURATION

Vous avez besoin de la base de données MyTables avec laquelle vous avez travaillé dans l’exercice précédent pour compléter cet exercice. Si nécessaire, ouvrez la base de données. Suivez ensuite les étapes.

1 Dans l’onglet Créer, dans le groupe Tables, cliquez sur le bouton Table pour créer une nouvelle table. Avant d’ajouter des champs à cette table, sauvegardons-la.

2 Dans la barre d’outils d’accès rapide, cliquez sur le bouton Enregistrer, nommez la table Commandes et cliquez sur OK.

3 À droite de Cliquez pour ajouter, cliquez sur la flèche et dans la liste des types de données, cliquez sur Nombre. Répétez cette étape pour créer un deuxième champ qui a le type de données Nombre.

4 Renommez Champs1 comme ID client et Champs2 comme ID Employé.

Chaque commande du tableau des commandes sera passée par un client et sera traitée par un employé. Créons des relations entre la table Commandes et les tables Clients et Employés afin de ne pas créer d’enregistrements pour les commandes de clients qui n’existent pas ou qui semblent avoir été traitées par des employés qui n’existent pas.

5 Fermer les commandes de la table.

CONSEIL Vous ne pouvez pas créer de relation pour une table ouverte.

6 Dans l’onglet Outils de base de données, dans le groupe Relations, cliquez sur le lien Relations pour ouvrir la boîte de dialogue Afficher la table.

RÉSOLUTION DES PROBLÈMES Si la boîte de dialogue ne s’ouvre pas automatiquement, cliquez sur le bouton Afficher le tableau dans le groupe Relations de l’onglet Outil de conception.

7 Pour indiquer que vous souhaitez créer une relation pour la table Clients sélectionnée, cliquez sur Ajouter. Puis double-cliquez sur ID Employé et cliquez sur Fermer. Ensuite, sur la page Relations, notez que le champ  lD client apparaît dans les listes de champs des deux tables.

Les deux cases répertorient tous les champs dans leurs tableaux respectifs.

8 Dans la liste des champs Clients, cliquez sur ID Client et faites-le glisser vers le bas et sur ID Client dans la liste des champs ID Employé. Relâchez le bouton de la souris pour ouvrir la boîte de dialogue Modifier les relations.

Au bas de la boîte de dialogue, Access indique qu’il s’agira d’une relation un-à-plusieurs.

9 Cochez la case Appliquer l’intégrité référentielle, puis cliquez sur Créer. Notez sur la page Relations qu’une ligne relie désormais les deux listes de champs, liant la clé primaire dans la table Clients et la clé étrangère dans la table ID Employé.

Les symboles à chaque extrémité de la ligne indiquent que chaque valeur d’ID client n’apparaît qu’une seule fois dans la table Clients mais peut apparaître plusieurs fois dans la table Commandes.

Ajoutons la table Commande à la page Relations afin que nous puissions créer une relation qui lie cette table à la table ID Employé.

10 Dans l’onglet Outil de conception, dans le groupe Relations, cliquez sur le bouton Afficher le tableau.

Ensuite, dans la boîte de dialogue Afficher la table, double-cliquez sur la table Employés et cliquez sur Fermer.

CONSEIL Vous pouvez également ajouter des tables en les faisant glisser du groupe Tables du volet de navigation vers la page Relations.

11 Si nécessaire, faites glisser les barres de titre des trois listes de champs pour les disposer côte à côte et équidistantes.

12 Dans la liste des champs Employés, cliquez sur le champ ID  Employé, puis faites-le glisser vers le bas et sur le champ ID  Employé dans la liste des champs Commandes. Ensuite, dans la boîte de dialogue Modifier les relations, cochez la case Appliquer l’intégrité référentielle, puis cliquez sur Créer.

13 Une fois qu’Access a tracé la ligne de relation entre la clé primaire et la clé étrangère, fermez la page Relations, en cliquant sur Oui pour enregistrer sa disposition.

Testons maintenant les relations.

14 Ouvrez la table Commandes. Ensuite, dans le champ ID Client du premier enregistrement, remplacez la valeur 0 par 11 et cliquez sous l’enregistrement pour le terminer. Access affiche une boîte de message vous indiquant que vous ne pouvez pas ajouter le nouvel enregistrement à la table.

15 Cliquez sur OK. Puis changez la valeur en 1.

16 Dans le champ ID Employé, remplacez la valeur 0 par 1, puis cliquez sous l’enregistrement sur

complète le. Access accepte l’enregistrement car il existe un enregistrement avec la valeur 1 dans le champ ID Client de clé primaire de la table Clients et un enregistrement avec la valeur

1 dans le champ ID Employé de clé primaire de la table Employés.

■ Access  comprend des modèles pour vous aider à créer des applications Web et des bases de données de bureau, et des composants d’application pour vous aider à ajouter des tables associées et d’autres objets de base de données.

■ Plutôt que de stocker toutes les informations dans une table, créez des tables différentes pour chaque type d’informations, telles que les clients, les commandes et les fournisseurs.

■ En mode Feuille de données, vous pouvez créer une structure de table simple en saisissant des données et en attribuant un nom aux champs. Vous pouvez également définir le type de données et certaines propriétés.

■ La manipulation ou le masquage des colonnes et des lignes n’a aucun effet sur les données sous-jacentes.

■ En mode Création, vous pouvez modifier la structure de n’importe quel tableau, que vous l’ayez créé manuellement ou dans le cadre d’un modèle.

■ Les types de données et les propriétés déterminent quelles données peuvent être saisies dans un champ et à quoi ressembleront les données à l’écran. Attention: la modification de certaines propriétés peut affecter les données.

■ En créant une relation entre le champ de clé primaire d’une table et le champ de clé étrangère d’une autre, vous pouvez combiner des informations

 

 

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print
Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages

Cours Office Access

Nos certifications

Sur Facebook

Nos cours Office

Newsletter

Nous suivre...

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x