Types de relations de données

Vous pouvez établir ces associations de relations de données de plusieurs manières, notamment en joignant ou en mettant en relation temporairement des tables dans une carte ou en créant des classes de relations dans la géodatabase pour gérer des associations plus permanentes.

Cliquez sur les liens suivants pour en savoir plus sur chacune de ces relations de données :

Consultez la comparaison des relations des données pour accéder à un tableau qui vous aidera à choisir le type de relation de données à utiliser.

Conseil :

Pour en savoir plus sur ces types de relations de données appliqués au monde réel, accédez à ce cours ArcGIS guidé qui présente de manière plus détaillée les étapes et les données du processus de création d’une jointure et d’une relation, et d’amélioration de la qualité des données d’emplacements de terrain de camping à l’aide d’une classe de relations.

Jointures

Une jointure est une association temporaire entre deux tables où les champs et les enregistrements de la table de jointure sont appariés et ajoutés de manière dynamique aux champs et enregistrements de la table en entrée.

Lorsqu’une jointure est créée, les informations jointes obtenues sont stockées dans les propriétés de la couche et apparaissent temporairement sur la carte dans laquelle elle a été créée. Il est possible de les enregistrer avec le projet. Seuls les utilisateurs ayant accès au projet peuvent voir les informations jointes.

Les jointures reposent sur un champ de clé commun qui doit exister dans les deux tables impliquées. Le nom de ce champ peut être différent dans les deux tables, mais le type de données du champ et le type d’informations ou les valeurs stockées dans ce champ doivent être identiques dans les deux tables.

Les types de données pris en charge pour une jointure sont les couches d’entités, les tables, les vues tabulaires et les couches raster comportant une table attributaire raster. Deux cardinalités sont possibles pour les jointures.

  • Un vers un (1:1)
  • Plusieurs vers un (M:1)
    Remarque :

    Un vers plusieurs (1:M) ou plusieurs vers plusieurs (M:N) – Vous pouvez créer une jointure lorsqu’il existe une relation un vers plusieurs ou plusieurs vers plusieurs. Toutefois, selon la source de données, le fonctionnement des outils et d’autres paramètres spécifiques des couches peut varier. Par défaut, tous les enregistrements sont conservés lors de la jointure de tables qui résident dans la même géodatabase. Si vous utilisez des données ne provenant pas d’une base de données, comme des shapefiles ou des tables dBASE, pour créer la jointure, seul le premier enregistrement correspondant est retourné.

    Pour en savoir plus sur l’utilisation de jointures avec différentes entrées et sur les résultats possibles, reportez-vous à la rubrique Ajouter une Jointure.

Dans l’exemple suivant, chaque ressource naturelle (parcs nationaux) est gérée par une organisation spécifique. Pour garantir la cohérence des données, des enregistrements issus de la couche National Parks ont été joints à leur organisation spécifique à l’aide d’une jointure plusieurs vers un afin de créer une image exhaustive des ressources des parcs et d’indiquer quels en sont les propriétaires.

Diagramme d’une jointure plusieurs vers un
Une jointure est créée entre National Parks et la table Organizations.

Une fois la jointure établie, une unique table virtuelle est créée à partir des tables de jointure et en entrée. Les informations jointes obtenues sont stockées dans les propriétés de la couche et apparaissent temporairement sur la carte dans laquelle la jointure a été créée. Il est possible de les enregistrer avec le projet. Les champs supplémentaires de la table jointe peuvent être utilisés pour symboliser, étiqueter, interroger ou analyser les entités de la couche. Les propriétés de champ telles que les alias, la visibilité et la mise en forme des nombres sont conservées lors de l’ajout ou de la suppression d’une jointure.

Pour en savoir plus sur les jointures, reportez-vous à la rubrique Présentation des jointures et relations.

Conseil :

S’il n’existe aucun champ commun, mais que des localisations sont communes, vous pouvez effectuer une jointure spatiale. Les jointures spatiales diffèrent des jointures gérées par attribut, des relations et des classes de relations par le fait qu’elles ne sont pas dynamiques et qu’elles nécessitent d’enregistrer les résultats dans une nouvelle couche en sortie. Une jointure spatiale détermine les entités à joindre en fonction de relations spatiales telles que la proximité et l’inclusion. Pour en savoir plus sur les jointures spatiales, reportez-vous à la rubrique Joindre des données par localisation.

Relations

Une relation est une propriété d’une couche dans ArcGIS Pro. Une relation associe une ou plusieurs tables entre elles via un champ de clé sans réaliser de jointure physique entre les tables.

Dans une relation, les tables restent distinctes et n’apparaissent pas jointes physiquement. Toutefois, lorsqu’une entité ou un enregistrement d’une table est sélectionné, les enregistrements reliés associés au champ de clé de la table reliée sont sélectionnés, ce qui vous permet d’accéder à ces données reliées et de les analyser.

Les relations sont utiles pour les tâches d’analyse des données, d’exploration et de visualisation. Vous pouvez facilement accéder à des informations supplémentaires sur une entité ou une localisation en établissant une relation sans dupliquer les données. Par exemple, vous pouvez créer une relation entre une couche de villes et une table de données sur les précipitations annuelles pour afficher les données de précipitations de chaque ville.

Les relations peuvent être créées pour des shapefiles et des classes d’entités de géodatabase. Trois cardinalités sont possibles entre les enregistrements d’une relation.

  • Un vers un (1:1)
  • Un vers plusieurs (1:M)
  • Plusieurs vers plusieurs (M:N)

    Pour en savoir plus sur l’ajout et l’utilisation de relations, reportez-vous à la rubrique Ajouter une relation.

Les relations ne peuvent exister que dans un fichier de projet ou de couche. Pour enregistrer une relation afin de l’utiliser dans un autre projet ou pour créer une relation permanente, vous pouvez respectivement utiliser les outils de géotraitement Enregistrer la couche dans un fichier et Créer une classe de relations.

Par exemple, dans le cas de la gestion de parcs, les relations peuvent servir à connecter des détails statiques, tels que les noms et les localisations des emplacements de terrain de camping, avec des informations dynamiques, comme les horaires d’arrivée et de départ, les conditions des sites et les réglementations concernant les animaux de compagnie. Dans l’exemple suivant, une relation un vers plusieurs a été créée entre un emplacement de camping et ses attributs. En créant une relation, vous pouvez interroger un emplacement de camping et accéder à ses multiples attributs reliés décrivant les détails associés.

Diagramme d’une relation un vers plusieurs
Une relation est créée entre un Campsites et les CampsiteAttributes disponibles.

Pour en savoir plus sur les relations, reportez-vous à la rubrique Présentation des jointures et relations.

Classes de relations

Une classe de relations est un type de jeu de données dans la géodatabase qui stocke les informations sur la relation ou l’association des enregistrements reliés entre deux classes d’entités, entre une classe d’entités et une table non spatiale, ou entre deux tables non spatiales.

Une classe de relations est physiquement stockée et conservée dans la géodatabase. Elle gère une relation de données à caractère permanent. Vous ne pouvez créer une classe de relations qu’une seule fois dans la géodatabase. Toute personne ayant accès à la géodatabase dans laquelle réside la classe de relations, et accès aux jeux de données impliqués dans la classe de relations, a également accès à la classe de relations.

Les deux participants à une classe de relations doivent être stokés dans la même géodatabase. Tout comme une classe d’entités, une classe de relations peut être crééee et résider au niveau racine d’une géodatabase ou dans un jeu de classes d’entités. Une classe de relations est définie par une relation clé primaire-clé étrangère entre deux tables et peut présente l’une des trois cardinalités ci-après.

Vous pouvez configurer une classe de relations pour que la mise à jour d’un enregistrement dans une table entraîne automatiquement la mise à jour des enregistrements reliés dans l’autre table.

Dans l’exemple suivant, une classe de relations un vers plusieurs a été créée entre les terrains de camping et les emplacements de chaque terrain de camping. Cette relation un vers plusieurs permet de sélectionner un seul terrain de camping et d’accéder à tous les emplacements associés ainsi qu’aux attributs de chaque emplacement pour ce terrain de camping.

Diagramme d’une classe de relations un vers plusieurs
Une classe de relations est créée entre Campground Facilities et chaque Campsites affecté à chaque terrain de camping.

Une fois créée, la classe de relations est conservée dans la géodatabase. Elle permet d’établir des relations et des interactions complexes entre les jeux de données impliqués. Une classe de relations permet de définir des règles et des propriétés pour contrôler ce qui se passe lorsque les données de l’une ou l’autre table sont modifiées, et de vous assurer que seules les modifications valides sont effectuées. Ce comportement de la classe de relations garantit ainsi l’intégrité des données, ainsi que la cohérence et l’efficacité de la gestion des données.

Par exemple, si un terrain de camping de la table d’origine est supprimé, les emplacements correspondants dans la table de destination reliée qui sont affectés à ce terrain de camping sont également supprimés, ce qui permet de conserver des données toujours exactes et fiables.

Diagramme d’une classe de relations composites un vers plusieurs
Une classe de relations composites un vers plusieurs est créée entre Campground Facilities et Campsites affecté à chaque terrain de camping. Une fois la classe de relations établie, la suppression d’un terrain de camping dans la table parent (origine) entraîne une suppression en cascade de tous les emplacements de camping spécifiquement associés à ce terrain de camping dans la table des emplacements de camping (destination).

Lorsque vous créez une classe de relations, vous pouvez également indiquer si elle doit être décrite par des attributs. Une classe de relations décrite par des attributs peut stocker des attributs et des détails supplémentaires sur la relation elle-même.

Pour en savoir plus sur les classes de relations, reportez-vous à la rubrique Types de classe de relations de géodatabase.

Rubriques connexes