Des relations peuvent exister entre des objets spatiaux, entre des objets non spatiaux ou entre des objets spatiaux et non spatiaux. 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.
Vous pouvez créer une classe de relations attribuées à l’aide de l’outil de géotraitement Créer une classe de relations ou Table vers classe de relations dans ArcGIS Pro.
Après avoir examiné chaque outil de géotraitement, il en ressort que les outils Créer une classe de relations et Table vers classe de relations sont presque identiques. Tous les deux créent une classe de relations, vous permettent de définir le type et la cardinalité de la classe de relations et désignent les champs de clé primaire et de clé étrangère.
Toutefois, les paramètres de ces outils qui sont utilisés pour créer une classe de relations attribuées diffèrent.
L’outil Créer une classe de relations peut créer une classe de relations attribuées ou non attribuées. La table intermédiaire est générée lorsque cet outil est utilisé pour créer une classe de relations attribuées. Cependant, elle contient uniquement les champs requis et n’est pas renseignée, car ArcGIS n’apparie pas les associations entre les objets d’origine et de destination. Si vous utilisez cet outil pour créer une classe de relations attribuées, vous devez renseigner la table intermédiaire manuellement.
Voici le paramètre supplémentaire inclus avec l’outil Créer une classe de relations :
- Relationship class is attributed (Classe de relations attribuées) : lorsque ce paramètre est sélectionné, une table intermédiaire est créée pour vous, même si elle ne génère que les champs obligatoires.
Remarque :
Relationship class is attributed (Classe de relations attribuées) est un paramètre facultatif de l’outil Créer une classe de relations qui ne doit être sélectionné que si vous créez une classe de relations attribuées.
- Relationship class is attributed (Classe de relations attribuées) : lorsque ce paramètre est sélectionné, une table intermédiaire est créée pour vous, même si elle ne génère que les champs obligatoires.
L’outil Table vers classe de relations crée une classe de relations attribuées. La table intermédiaire de cette classe de relations attribuées est renseignée en fonction des champs attributaires sélectionnés dans une table de relations existante. Ces champs attributaires sélectionnés contiennent des attributs de relations supplémentaires en plus de ceux exigés lors de la création d’une classe de relations non attribuées. Ils servent à stocker les attributs de la relation elle-même qui ne sont attribués ni à la classe d’origine, ni à la classe de destination. Par exemple, dans une classe de relations entre des parcelles et des propriétaires dans laquelle des propriétaires possèdent des parcelles et des parcelles appartiennent à des propriétaires, le pourcentage de propriété dont dispose chaque propriétaire en particulier peut être stocké sous la forme d’un attribut de relation.
Voici les paramètres supplémentaires inclus avec l’outil Table vers classe de relations :
- Relationship Table (Table de relations) : table existante contenant les attributs qui seront ajoutés à la classe de relations.
- Attribute Fields (Champs attributaires) : noms des champs présents dans la Relationship Table (Table de relations) contenant les valeurs attributaires qui seront ajoutées à la table intermédiaire dans la classe de relations attribuées.
Remarque :
Les paramètres Relationship Table (Table de relations) et Attributes Fields (Champs attributaires) sont obligatoires avec l’outil Table vers classe de relations. Les attributs et champs attributaires seront ajoutés à la nouvelle classe de relations attribuées en tant que table intermédiaire.
Avant de commencer à créer une classe de relations attribuées, examinez les remarques relatives aux classes de relations de géodatabase dans Se préparer à la création d’une classe de relations.
Procédez comme suit pour créer une classe de relations attribuées à l’aide de l’outil Créer une classe de relations.
Conseil :
- Les classes de relations sont prises en charge dans les géodatabases fichier, mobiles et d’entreprise. Pour créer une classe de relations attribuées, vous pouvez cliquer avec le bouton droit de la souris sur une géodatabase existante ou sur un jeu de classes d’entités dans une géodatabase. Si vous créez une classe de relations dans une géodatabase d’entreprise, vous devez vous connecter à la géodatabase d’entreprise en tant qu’utilisateur doté de privilèges permettant de créer des données dans la base de données.
Pour en savoir plus sur les classes de relations attribuées et savoir comment les appliquer dans un scénario du monde réel, consultez l’article de blog ArcGIS Explore a many-to-many relationship class. Ce blog livre une étude plus détaillée des étapes du processus et comprend les données requises pour créer une classe de relations plusieurs vers plusieurs afin de garantir la validité des données de parc.
- Démarrez ArcGIS Pro, puis ouvrez un projet ArcGIS Pro existant ou commencez sans modèle.
- Dans la fenêtre Catalog (Catalogue), cliquez avec le bouton droit de la souris sur une géodatabase existante, puis cliquez sur New (Nouveau) dans le menu contextuel.
- Sélectionnez Relationship Class (Classe de relations) .
La boîte de dialogue de l’outil de géotraitement Créer une classe de relations s’affiche avec les paramètres par défaut.
Remarque :
Vous pouvez aussi utiliser l’outil Table vers classe de relations pour créer une classe de relations avec une table intermédiaire contenant des attributs de relation.
- Pour Origin Table (Table d’origine), vous pouvez sélectionner un jeu de données dans la liste ou utiliser le bouton de navigation pour le sélectionner.
- Pour Destination Table (Table destination), vous pouvez sélectionner un jeu de données dans la liste ou utiliser le bouton de navigation pour le sélectionner.
- Pour Output Relationship Class (Classe de relations en sortie), cliquez sur le bouton de navigation et accédez à la géodatabase dans laquelle la classe de relations sera stockée. Pour Name (Nom), attribuez un nom à la classe de relations et cliquez sur Save (Enregistrer).
Pour cet exemple, la table d’origine et la table de destination se trouvent dans une géodatabase mobile nommée Wyoming Natural Assets.geodatabase. Par conséquent, la classe de relations doit également se trouver dans cette même géodatabase mobile. Étant donné que la géodatabase mobile (.geodatabase) repose sur SQLite, le préfixe « main » (« principal ») est ajouté automatiquement au nom de la classe de relations pour indiquer qu’elle appartient à la structure principale, à savoir la structure par défaut d’une base de données SQLite.
- Pour Relationship Type (Type de relation), sélectionnez Simple.
Pour en savoir plus sur les différences entre une classe de relations simples et composites, reportez-vous à la rubrique Types de classe de relations de géodatabase.
- Saisissez les étiquettes des paramètres Forward Path Label (Dénomination origine vers destination) et Backward Path label (Dénomination destination vers origine) pour cette classe de relations.
Le paramètre Forward Path Label (Dénomination origine vers destination) décrit la relation parcourue depuis la classe d’origine jusqu’à la classe de destination. À l’inverse, le paramètre Backward Path Label (Dénomination destination vers origine) décrit la relation parcourue dans le sens opposé, de la classe de destination vers l’origine. Reportez-vous à la rubrique Paramètres de l’outil Créer une classe de relations pour en savoir plus sur ces dénominations.
- Sélectionnez None (Aucun) pour Message Direction (Sens des messages) puisque vous créez une classe de relations simples.
Le paramètre Message Direction (Sens des messages) décrit la façon dont les messages sont transmis entre les objets associés. Ce paramètre s’applique si vous voulez implémenter des comportements de mise à jour ou de suppression en cascade personnalisés pour la classe de relations. Reportez-vous à la rubrique Paramètres de l’outil Créer une classe de relations pour en savoir plus sur les effets de la définition du paramètre Message Direction (Sens des messages) pour une classe de relations simples ou composites.
- Pour Cardinality (Cardinalité), sélectionnez l’option de cardinalité appropriée aux données faisant partie de votre classe de relations.
La cardinalité d’une classe de relations indique combien d’objets dans l’origine sont associés à combien d’objets dans la destination. Les options Cardinality (Cardinalité) prises en charge pour une classe de relations attribuées sont les suivantes :
- One to one (1:1) (Un vers un) : chaque ligne ou entité de la table d’origine peut être mise en relation avec zéro ou une ligne ou entité de la table de destination. Il s’agit de l’option par défaut.
- One to many (1:M) [Un vers plusieurs (1:M)] : chaque ligne ou entité dans la table d’origine peut être associée à une ou plusieurs lignes ou entités dans la table de destination.
- Many to many (M:N) [Plusieurs vers plusieurs (M:N)] : plusieurs lignes ou entités dans la table d’origine peuvent être associées à plusieurs lignes ou entités dans la table de destination.
- Selon l’outil que vous utilisez, procédez comme suit :
- Si vous utilisez l’outil Créer une classe de relations, cochez la case en regard du paramètre Relationship class is attributed (Classe de relations attribuées).
Si vous utilisez l’outil Table vers classe de relations pour le paramètre Relationship Table (Table de relations), accédez à l’emplacement dans lequel se trouve une table contenant les valeurs attributaires appartenant à la classe de relations.
Conseil :
Dans une relation qui est décrite par des attributs, la Relationship Table (Table de relations) doit comporter des champs qui jouent le rôle de clés étrangères pour les tables ou classes d’entités d’origine et de destination. Ces clés étrangères sont associées aux clés primaires dans la classe d’entités d’origine et de destination ou aux clés primaires de la table.Pour Attribute Fields (Champs attributaires), sélectionnez les noms des champs du paramètre Relationship Table (Table de relations) contenant les valeurs attributaires que vous voulez ajouter à la classe de relations. Les champs doivent être présents dans la valeur du paramètre Relationship Table (Table de relations) et apparaîtront dans la table intermédiaire.
- Spécifiez les champs ci-dessous que la classe de relations attribuées utilisera comme champs clés pour apparier les valeurs entre les champs Origin Foreign Key (Clé étrangère d’origine) et Destination Foreign Key (Clé étrangère de destination) dans la table intermédiaire, avec les valeurs Origin Primary Key (Clé primaire d’origine) et Destination Primary Key (Clé primaire de destination) des classes d’entités ou tables d’origine associées.
Clé primaire d’origine : pour les classes de relations plusieurs vers plusieurs ou attribuées, il s’agit du champ de la table d’origine lié au champ Origin Foreign Key (Clé étrangère d’origine) de la table intermédiaire.
Clé étrangère d’origine : pour les classes de relations un vers plusieurs ou attribuées, il s’agit du champ de la table intermédiaire lié au champ Origin Primary Key (Clé primaire d’origine) de la table d’origine.
- Clé primaire de destination : champ de la table de destination lié au champ Destination Foreign Key (Clé étrangère de destination) de la table intermédiaire. Cette valeur est requise pour les classes de relations plusieurs vers plusieurs ou attribuées.
- Clé étrangère de destination : champ de la table intermédiaire lié au champ Destination Primary Key (Clé primaire de destination) de la table de destination. Cette valeur est requise pour les classes de relations plusieurs vers plusieurs ou attribuées.
Remarque :
Les champs de clé peuvent porter des noms différents, mais leur type de données doit être identique et ils doivent contenir le même genre d’informations, par exemple des ID de parcelle. Les champs de tous les types de données, à l'exception des champs BLOB (grand objet binaire), date et raster, peuvent être des champs de clé.
- Cliquez sur Run (Exécuter) pour créer la classe de relations attribuées.
Remarque :
Vous pouvez cliquer sur le menu déroulant Run (Exécuter) et sélectionner Schedule Run (Planifier l’exécution) pour exécuter l’outil ultérieurement, voire avec une répétition.
En savoir plus sur la planification des outils de géotraitement
Apprendre à examiner et à renseigner une table de classes de relations attribuées
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?