Ajouter une relation (Gestion des données)

Synthèse

Établit une relation entre une couche et une autre couche ou table en fonction d’une valeur de champ. Les couches d'entités, les vues tabulaires et les couches raster avec une table attributaire de rasters sont prises en charge.

Les enregistrements dans la table de relations sont appariés aux enregistrements dans le nom de la couche ou la vue tabulaire en entrée. Un appariement est effectué lorsque les valeurs du champ de relations en entrée et du champ de relations en sortie sont égales. Les mises en relation ne modifient pas les données. Il s'agit d'une propriété de la couche.

Utilisation

  • Si l’entrée est un chemin d’accès à une classe d’entités ou à un jeu de données, cet outil crée et renvoie automatiquement une nouvelle couche avec les résultats de l’outil.

  • Les enregistrements du champ Relate Table (Table de relations) peuvent être appariés à plusieurs enregistrements dans la couche ou la vue tabulaire en entrée.

  • La table de relations peut être une table de géodatabase ou un fichier dBASE. Il n'est pas nécessaire que la table de relations soit une couche.

  • L’entrée doit avoir un champ IdObjet. La table de relations ne doit pas obligatoirement contenir un champ IdObjet.

  • Pour enregistrer la mise en relation en vue de l'utiliser dans un autre projet, enregistrez la couche dans un fichier de couche à l'aide de l'outil Enregistrer la couche dans un fichier. Cela s'applique seulement aux couches ; les vues tabulaires ne peuvent pas être enregistrées de cette manière.

  • Pour créer une mise en relation permanente, utilisez l'outil Créer une classe de relations.

  • L'indexation des champs dans la couche ou la vue tabulaire en entrée et dans la table de relations sur laquelle reposera la mise en relation peut améliorer les performances. Pour ce faire, utilisez l'outil Ajouter un index attributaire.

Paramètres

ÉtiquetteExplicationType de données
Nom de la couche ou vue tabulaire

Couche ou vue tabulaire à laquelle la table de relations sera associée.

Mosaic Layer; Raster Layer; Table View
Champ de relation en entrée

Champ de la couche ou de la vue tabulaire en entrée sur lequel la mise en relation sera basée.

Field
Table de relations

Table ou vue tabulaire à associer à la couche ou à la vue tabulaire en entrée.

Mosaic Layer; Raster Layer; Table View
Champ de relation en sortie

Champ dans la table de relations qui contient les valeurs sur lesquelles sera basée la relation.

Field
Nom de la relation

Nom unique donné à une relation.

String
Cardinalité
(Facultatif)

La cardinalité de la relation

  • Un vers unIndique que la relation entre la table en entrée et la table associée est de type un vers un. Par exemple, un enregistrement dans la table en entrée ne correspondra qu'à un seul enregistrement dans la table associée.
  • Un vers plusieursIndique que la relation entre la table en entrée et la table associée est de type un vers plusieurs. Par exemple, un enregistrement dans la table en entrée peut correspondre à plusieurs enregistrements dans la table associée. Il s’agit de l’option par défaut.
  • Plusieurs vers plusieursIndique que la relation entre la table en entrée et la table associée est de type plusieurs vers plusieurs. Par exemple, plusieurs enregistrements de même valeur dans la table en entrée peuvent correspondre à plusieurs enregistrements dans la table associée.
String

Sortie obtenue

ÉtiquetteExplicationType de données
Couche ou vue tabulaire en entrée mise à jour

Jeu de données en entrée mis à jour.

Vue tabulaire, couche raster, couche de mosaïque

arcpy.management.AddRelate(in_layer_or_view, in_field, relate_table, relate_field, relate_name, {cardinality})
NomExplicationType de données
in_layer_or_view

Couche ou vue tabulaire à laquelle la table de relations sera associée.

Mosaic Layer; Raster Layer; Table View
in_field

Champ de la couche ou de la vue tabulaire en entrée sur lequel la mise en relation sera basée.

Field
relate_table

Table ou vue tabulaire à associer à la couche ou à la vue tabulaire en entrée.

Mosaic Layer; Raster Layer; Table View
relate_field

Champ dans la table de relations qui contient les valeurs sur lesquelles sera basée la relation.

Field
relate_name

Nom unique donné à une relation.

String
cardinality
(Facultatif)

La cardinalité de la relation

  • ONE_TO_ONEIndique que la relation entre la table en entrée et la table associée est de type un vers un. Par exemple, un enregistrement dans la table en entrée ne correspondra qu'à un seul enregistrement dans la table associée.
  • ONE_TO_MANYIndique que la relation entre la table en entrée et la table associée est de type un vers plusieurs. Par exemple, un enregistrement dans la table en entrée peut correspondre à plusieurs enregistrements dans la table associée. Il s’agit de l’option par défaut.
  • MANY_TO_MANYIndique que la relation entre la table en entrée et la table associée est de type plusieurs vers plusieurs. Par exemple, plusieurs enregistrements de même valeur dans la table en entrée peuvent correspondre à plusieurs enregistrements dans la table associée.
String

Sortie obtenue

NomExplicationType de données
out_layer_or_view

Jeu de données en entrée mis à jour.

Vue tabulaire, couche raster, couche de mosaïque

Exemple de code

Exemple 1 d'utilisation de l'outil AddRelate (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction AddRelate en mode immédiat.

import arcpy
relate = arcpy.AddRelate_management("Parcel", "ParcelID", "owner_table", 
                                    "ParcelID", "Owner2Parcel")