Utiliser des relations

Utiliser des relations entre tables

Votre navigateur ne prend pas en charge la vidéo. Installez Microsoft Silverlight, Adobe Flash Player ou Internet Explorer 9.

La puissance d’une base de données relationnelle réside dans la combinaison des données de plusieurs tables. Pour parvenir à ce résultat, vous devez commencer par établir des relations entre vos tables. Access se charge ensuite de combiner les données de requêtes, formulaires et états.

Pour afficher toutes les relations existantes définies pour une base de données, vous devez ouvrir un modèle Access, accéder à l’onglet Outils de base de données, puis sélectionner Relations.

Remarque : Si vous ouvrez une base de données vide ou que vous n’avez pas défini de relation de table, Access vous invite à ajouter une table ou une requête. Avant d’ajouter une relation, vous avez besoin d’au moins deux tables. Dans l’idéal, vous devez commencer par créer toutes vos tables. Pour plus d’informations, voir Créer des relations à l’aide de l’Assistant Liste de choix et Créer des relations à l’aide du volet Relations.

Présentation de l’affichage Relations

Les lignes dans l’affichage Relations matérialisent les connexions entre les tables. Dans l’image suivante, la table de gauche est la table parent. La table de droite est la table enfant. La ligne entre les deux connecte les champs (dans ce cas, Réf commande et Réf produit) utilisés pour la mise en correspondance des données.

Les relations sont représentées par des lignes dessinées entre les champs parent et enfant.

Les lignes et symboles indiquent la manière dont les tables sont liées :

  • Une ligne de connexion épaisse signifie que l’intégrité référentielle des données est appliquée. C’est parfait. Les données restent ainsi synchronisées.

  • Dans notre illustration, le nombre 1 indique qu’il ne peut y avoir qu’un seul enregistrement correspondant dans cette table. Dans la table Commandes affichée ici, un seul enregistrement correspond à chaque commande.

  • Le symbole ∞ indique que plusieurs enregistrements peuvent inclure la même référence. Dans la table Détails de la commande affichée ici, une commande (indiquée par sa référence de commande) peut apparaître plusieurs fois, puisque la même commande peut inclure plusieurs produits.

Types de relations entre les tables

Il existe trois types de relations entre les tables :

  • Un-à-un. Chaque élément dans chaque table n’apparaît qu’une fois. Par exemple, chaque employé ne peut utiliser qu’un véhicule de service. Pour plus d’informations, voir Créer des relations un-à-un.

  • Un-à-plusieurs. Un élément d’une table peut avoir une relation avec plusieurs éléments dans une autre table. Par exemple, chaque bon de commande peut inclure plusieurs produits.

  • Plusieurs-à-plusieurs. Un ou plusieurs éléments d’une table peut avoir une relation avec un ou plusieurs éléments dans une autre table. Par exemple, chaque commande peut inclure plusieurs produits, et chaque produit peut apparaître sur plusieurs commandes. Pour plus d’informations, voir Créer des relations plusieurs-à-plusieurs.

Relations un-à-plusieurs

Une des relations les plus courantes entre les tables dans les bases de données bien conçues est la relation un-à-plusieurs.

Les relations entre les tables s’appuient normalement sur la clé primaire dans une des tables. Rappelez-vous que la clé primaire est un identificateur unique (souvent numérique) pour chaque enregistrement. Pour montrer que les informations incluses dans deux tables différentes sont liées, vous créez généralement une relation à l’aide de la clé primaire d’une des tables.

Dans la relation illustrée ici, par exemple, chaque personne figurant dans la table Contacts a un ID, qui est la clé primaire (indiquée par le symbole de clé associé). Cet ID apparaît également dans le champ Propriétaire de la table Biens. Pour envoyer un courrier électronique à la personne associée à un bien, vous devez obtenir la valeur dans le champ Adresse de courrier. Pour ce faire, vous recherchez la valeur dans le champ Propriétaire de la table Biens, puis cet ID dans la table Contacts. Le nombre 1 à l’une des extrémités de la ligne de connexion et le symbole ∞ à l’autre extrémité indiquent qu’il s’agit d’une relation un-à-plusieurs. Un contact peut ainsi être associé à plusieurs biens.

Relation un-à-plusieurs

Modifier une relation

Si vous modifiez une base de données existante ou si vous avez créé votre base de données à partir d’un modèle, vous pouvez modifier les relations existantes afin de répondre à vos besoins.

Remarque : Si les tables avec lesquelles vous voulez travailler sont en cours d’utilisation, vous devez commencer par les fermer, ainsi que tous les objets ouverts qui les utilisent.

  1. Sélectionnez Outils de base de données > Relations.

  2. Sélectionnez la ligne qui connecte les deux tables liées.

    Conseil : Si vous ne voyez pas la relation souhaitée, dans l’onglet Création, dans le groupe Relations, sélectionnez Toutes les relations.

  3. Dans l’onglet Création, sélectionnez Modifier les relations.

    Modification d’une relation existante entre des tables

    Table/Requête est la table parent de gauche (dans cet exemple, Clients).

    Table/Requête liée est la table enfant (dans cet exemple, Commandes).

    Même si les tables n’apparaissent pas dans cet ordre dans l’affichage Relations, leur positionnement dans la boîte de dialogue indique le sens de la ligne les reliant et la relation établie. Cet aspect est important s’il s’agit d’une relation un-à-plusieurs, par exemple. Cela indique en effet que la table de gauche correspond au côté « un » (table parent) et la table de droite au côté « plusieurs » (table enfant).

  4. Pour modifier les champs qui connectent les tables, sélectionnez un autre champ sous chaque table qui apparaît. Dans cet exemple, le champ Réf de la table Clients est connecté au champ Réf client dans la table Commandes.

  5. Vous pouvez changer la façon dont Access synchronise vos données entre les tables.

    Appliquer l’intégrité référentielle

    Sélectionnez cette option pour éviter l’apparition de données non valides et maintenir la synchronisation des références au sein des relations entre les tables.

    Par exemple, supposons que vous ayez une relation un-à-un entre les tables Employés et Avantages employé. Si un employé quitte l’entreprise et que vous le supprimez de votre table Employés, l’enregistrement d’employé lié dans la table Avantages employé est également supprimé.

    Il peut arriver qu’il n’y ait aucune raison d’appliquer l’intégrité référentielle. Par exemple, supposons que vous ayez une relation un-à-plusieurs entre les tables Expéditeurs et Commandes. Vous supprimez un expéditeur, or cet expéditeur est mappé à des commandes dans la table Commandes. Ces commandes deviennent orphelines : elles incluent toujours une référence d’expéditeur, mais celle-ci n’est plus valide, car l’enregistrement auquel elle fait référence n’existe plus.

    Mettre à jour en cascade les champs correspondants

    Sélectionnez cette option pour que les données dans les champs liés soient mises à jour dans toutes les tables liées.

    Par exemple, supposons que vous souhaitiez simplement changer la référence d’un expéditeur. Cette option garantit que la référence d’expéditeur est mise à jour non seulement dans la table Expéditeurs, mais également dans les autres tables liées à celle-ci qui incluent également cette référence d’expéditeur, telles que la table Commandes.

    Effacer en cascade les enregistrements correspondants

    La décision de sélectionner cette option dépend de la nécessité pour vous de conserver les enregistrements dans certaines tables, même si ceux-ci peuvent être supprimés dans d’autres tables.

    Par exemple, supposons que vous supprimiez un expéditeur. Si cette option est sélectionnée, Access supprime tous les enregistrements de toutes les tables qui font référence à cette référence d’expéditeur, y compris toutes les commandes (dans la table Commandes) honorées par cet expéditeur. Vous ne devez sélectionner cette option que si vous êtes sûr de vouloir supprimer l’historique de vos commandes.

  6. Pour modifier le type de jointure établissant la relation entre les tables d’interne en externe, sélectionnez le bouton Type de jointure. Pour plus d’informations, voir Créer des requêtes avec des jointures externes.

Supprimer une relation entre tables

Remarque : Si les tables avec lesquelles vous voulez travailler sont en cours d’utilisation, vous devez commencer par les fermer, ainsi que tous les objets ouverts qui les utilisent.

Pour supprimer une relation entre des tables :

  1. Sélectionnez Outils de base de données > Relations.

  2. Sélectionnez la ligne qui connecte les deux tables liées.

    Conseil : Si vous ne voyez pas la relation souhaitée, dans l’onglet Création, dans le groupe Relations, sélectionnez Toutes les relations.

  3. Appuyez sur Suppr. Si vous êtes invité à confirmer la suppression de la relation, sélectionnez Oui.

Remarque : Lorsque vous supprimez une relation, vous supprimez également la prise en charge de l’intégrité référentielle pour cette relation le cas échéant. Par conséquent, Access n’empêchera plus les modifications à l’origine d’enregistrements orphelins du côté « plusieurs » d’une relation un-à-plusieurs.

Autres actions

Créer une relation

Supprimer une relation

Formation sur Excel

Formation sur Outlook

Quand votre base de données a des tables, vous créez des relations entre elles. Les relations sont essentielles, car elles relient vos tables après que vous avez divisé vos données. Elles ont en outre un fort impact sur la façon dont vous concevez vos requêtes et obtenez des réponses à partir de vos données.

Les bases de données relationnelles utilisent trois types de relation entre leurs tables : un-à-plusieurs, plusieurs-à-plusieurs et un-à-un.

La relation que vous utilisez dépend de vos données. Vous avez une relation un-à-plusieurs quand un enregistrement unique d’une table est lié à un ou plusieurs enregistrements d’une autre table.

Notre exemple de base de données a ce type de relation. Un même client peut avoir un ou plusieurs numéros de téléphone et chacun de ces numéros est exclusivement lié à un client.

Vous avez une relation plusieurs-à-plusieurs quand un enregistrement unique de la table A est lié à un ou plusieurs enregistrements de la table B et qu’un enregistrement unique de la table B est également lié à un ou plusieurs enregistrements de la table A.

Il existe généralement des relations plusieurs-à-plusieurs dans les bases de données de suivi des commandes, où une commande peut contenir plusieurs produits et un produit peut faire partie de plusieurs commandes

Ce type de relation existe également dans les bases de données d’étudiants, où plusieurs étudiants peuvent occuper plusieurs salles de classe.

Vous avez une relation un-à-un quand un enregistrement unique d’une table est lié à un enregistrement unique d’une autre table. Par exemple, un employé donné peut conduire une voiture de fonction donnée. Notez toutefois que les relations un-à-un ne sont pas si courantes.

Sélectionnons Outils de base de données, puis Relations. Le volet Relations s’ouvre. Vous allez beaucoup l’utiliser.

Il s’agit de l’endroit où vous créez et gérez la plupart de vos relations. Ici, vous pouvez voir une relation classique : deux tables reliées par une ligne. La ligne indique que les tables sont liées.

Il s’agit en fait d’une relation un-à-plusieurs. En effet, dans le cas présent, la ligne de relation affiche un 1 et un symbole INFINI. Ces symboles sous-tendent deux concepts importants.

Premièrement, la table du côté 1 est la table PARENT et la table du côté PLUSIEURS est la table ENFANT.

Deuxièmement, vous pouvez considérer que la plupart de vos relations ont des CÔTÉS. Dans le cas présent, vous avez une table sur le côté 1 et une table sur le côté PLUSIEURS.

Les côtés sont importants, car ils ont une incidence sur la création de vos requêtes.

Sélectionnez la ligne de relation, puis dans le ruban, sélectionnez Modifier des relations.

Trois paramètres de relation affectent vos données et vous aident à utiliser les relations correctement : Intégrité référentielle, Mises à jour en cascade et Suppressions en cascade. Voici leur rôle.

L’intégrité référentielle synchronise les enregistrements dans les deux tables. Comme elle a un rôle primordial dans la précision de vos données, il est préférable de la configurer.

Quand l’intégrité référentielle est appliquée, vous ne pouvez pas ajouter de numéro de téléphone, sauf si un nom existe dans la table Clients. Cela vous empêche de créer des ORPHELINS, qui sont des données sans enregistrement parent.

Par exemple un montant de vente sans commande associée. C’est pour cela qu’il est important de définir l’intégrité référentielle.

Le paramètre de mises à jour en cascade permet de reproduire les modifications côté parent en cascade jusqu’aux enregistrements associés du côté ENFANT ou PLUSIEURS.

Si un client change son nom, par exemple, entrez cette modification dans la table Clients pour modifier les enregistrements associés.

Le paramètre de suppressions en cascade détermine si vous pouvez supprimer les données. Si cette option est désactivée, vous ne pouvez pas supprimer de données. Si cette option est activée, quand vous supprimez un enregistrement, Access supprime tous les éléments liés à celui-ci.

Par exemple, quand vous supprimez un client, les numéros de téléphone du client sont également supprimés.

Cela empêche la présence d’orphelins, par exemple des numéros de téléphone sans client. Toutefois, n’oubliez pas que les règles de votre entreprise peuvent vous empêcher de supprimer les données. Elles ont un rôle important à jouer dans la conception de votre base de données.

Vous connaissez maintenant les relations entre les tables, y compris l’utilisation du volet Relations d’Access et les paramètres de relations qui permettent d’utiliser plus efficacement votre base de données Access.

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×