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, les couches ou les tables de valeurs de sous-type et les couches raster avec une table attributaire raster sont prises en charge.

Les enregistrements dans la valeur du paramètre Table de relations sont appariés aux enregistrements dans la valeur du paramètre Nom de la couche ou vue tabulaire. Un appariement a lieu lorsqu’une valeur de champ dans le paramètre Champ de relation en entrée et une valeur de champ dans le paramètre Champ de relation en sortie sont égales.

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 une nouvelle couche avec les résultats de l’outil.

  • Une relation ne modifie pas les données. Il s’agit d’une propriété de la couche ou vue tabulaire.

  • Les enregistrements de la 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 posséder un champ ID d’objet. La table de relations ne doit pas obligatoirement contenir un champ ID d’objet.

  • Pour enregistrer la relation et 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 relation peut améliorer les performances. Pour ce faire, utilisez l’outil Ajouter un index attributaire.

  • Si la couche en entrée possède une relation et que la propriété Automatically select related data (Sélection automatique des données associées) est cochée, une sélection sur la couche en entrée sélectionne également les enregistrements dans la table associée.

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 clé primaire dans la couche ou de la vue tabulaire en entrée sur lequel repose la relation.

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 de clé étrangère dans la table de relations qui permet d’apparier la clé primaire.

Field
Nom de la relation

Nom unique d’une relation.

String
Cardinalité
(Facultatif)

Indique la cardinalité de la relation.

  • Un vers unLa relation entre la table en entrée et la table associée sera 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 plusieursLa relation entre la table en entrée et la table associée sera 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 plusieursLa relation entre la table en entrée et la table associée sera 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.

Table View; Raster Layer; Mosaic Layer

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 clé primaire dans la couche ou de la vue tabulaire en entrée sur lequel repose la relation.

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 de clé étrangère dans la table de relations qui permet d’apparier la clé primaire.

Field
relate_name

Nom unique d’une relation.

String
cardinality
(Facultatif)

Indique la cardinalité de la relation.

  • ONE_TO_ONELa relation entre la table en entrée et la table associée sera 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_MANYLa relation entre la table en entrée et la table associée sera 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_MANYLa relation entre la table en entrée et la table associée sera 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.

Table View; Raster Layer; Mosaic Layer

Exemple de code

Exemple 1 d’utilisation de la fonction AddRelate (fenêtre Python)

Le script ci-dessous pour la fenêtre Python montre comment utiliser la fonction AddRelate en mode immédiat.

import arcpy
arcpy.management.AddRelate("Parcel", "ParcelID", "owner_table", "ParcelID", 
                           "Owner2Parcel")

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes