ACCESSOFFICE

Lier les tables Access : comment choisir un type de relation ?

Lorsque vous liez deux tables Access, il faut choisir un bon type de relation parmi les trois types proposés par le logiciel. Ainsi, Access vérifiera à chaque ajout, modification ou suppression de données dans l’une de ces tables, si l’action effectuée correspond à la contrainte appliquée sur la liaison.

Plus bas, je vous explique pourquoi et comment choisir un type de relation à appliquer dans une liaison de données sous Access.

Pourquoi choisir un type de jointure sur une relation ?

MS Access comme tous les autres SGBD, permet de lier deux (ou plusieurs) tables pour combiner plusieurs informations dans une seule source. Mais également pour éviter des incohérences pendant l’enregistrement des données. Ce qui s’avère utile pour la synchronisation de données.

Souvent, on peut vouloir récupérer les informations contenues dans deux tables distinctes afin de les afficher sur un formulaire ou sur un état de sortie. Lorsque ces tables ne sont pas liées, il y a de fortes chances que le résultat de cette requête soit erroné. Or, avec un type de relation bien choisi, cela ne sera qu’une simple formalité.

lier les tables access type de relation

De plus, lorsqu’on n’a pas appliqué le bon type de jointure, des erreurs incessantes peuvent surgir chaque fois que l’on souhaite enregistrer, modifier ou rechercher une information quelconque. Sans oublier que les requêtes, les formulaires ainsi que les états de sortie dépendent des tables.

Voilà pourquoi il faut bien choisir un type de relation pour éviter la redondance de données ou encore pour faciliter la recherche et alléger la taille de la base de données.

Enfin, les relations Access permettent d’éviter des lignes orphelines c’est-à-dire celles qui font référence à une source de données inexistante.

Les trois types de relation disponibles dans MS Access

Comme déjà indiqué dans le titre de la section, il existe trois différentes façons de lier les tables Access. Celles-ci sont choisies en fonction des traitements ultérieurs qui seront réalisés sur les tables en liaison.

1- Le type de relation 1, n (un à plusieurs)

Défini sur deux tables, ce type de relation signifie qu’une information d’une table X (source) peut apparaître une ou plusieurs fois dans la table Y (cible). C’est-à-dire qu’on peut avoir plusieurs enregistrements de la table Y qui font référence à un seul enregistrement de la table X.

Vous ne comprenez rien de tout cela ? Ok, explorons cet exemple : vous avez une BD qui a deux tables. La table Client et la table Commandes. Dans la première table, vous stockez toutes les données qui ont un lien direct avec vos clients (ID, Sexe, Région, etc.) tandis que dans la table Commandes, vous enregistrez toutes les commandes effectuées par chaque client.

type de relation

Si vous appliquez le type de relation 1, n à ces tables, c’est sûr qu’il n’y aura pas une commande qui n’a pas de client. Cependant, un même client pourra apparaitre plusieurs fois dans la table Commandes s’il a déjà effectué plus d’une commande.

2- La relation 1, 1 (un à un)

La jointure 1, 1 est le contraire de la jointure précédente. Ici, une ligne de la table X doit correspondre à une et une seule ligne de la table Y. C’est-à-dire, il ne peut y avoir plus d’une ligne de la table source dans la table cible. Sinon, un message d’erreur se déclenchera.

Ce type de relation est trop peu utilisé sous MS Access. Néanmoins, il reste un moyen sûr qui permet d’éviter les redondances de données inutiles.

3- Le type de relation n, n (plusieurs à plusieurs)

Ce type de relation unit deux tables dans le souci de répéter plusieurs fois les lignes d’une table X dans la table Y. Il peut exister par exemple sur une relation entre les tables Produit et Commandes.

Une relation appliquée entre ces tables signifiera que chaque Commande devra être composé d’un ou plusieurs Produit. Alors qu’à l’inverse, chaque Produit devra apparaître sur une ou plusieurs Commande.

Pour faciliter la création des ces types de jointure, il faut créer une table intermédiaire qui aura comme champ les clés primaires des tables Produit et Commande et être liée entre celles-ci par les jointures de type 1, n.

Comment choisir un type de relation pour lier les tables Access ?

Nous venons de voir que pour créer une liaison de données cohérente entre les tables Access, il faut choisir un bon type de relation à appliquer. Ce choix dépendra du nombre de fois qu’une ligne d’une table donnée devra apparaître dans une autre table.

Ainsi, lorsque vous choisissez un type de liaison non conforme, vous risquez d’avoir des incohérences au niveau de vos tables. Et lorsque vous aurez besoin de renvoyer les données des tables, plusieurs erreurs se glisseront.

C’est pourquoi :

  • Pour les données non redondantes, le type de relation 1, 1 est la mieux placée ;
  • Pour les données répétitives dans les tables en liaisons, préférez le type de jointure n, n
  • Et pour les lignes susceptibles d’apparaitre une ou plusieurs fois dans les tables en relation, utilisez la jointure 1, n.

Articles similaires

Laisser un commentaire

Bouton retour en haut de la page