Une classe de relations, qu’elle soit simple ou composite et quelle que soit sa cardinalité, peut disposer d’attributs. Lorsqu'une classe de relations est créée avec une cardinalité de type plusieurs vers plusieurs ou avec des attributs, une table intermédiaire est créée.
Cette table intermédiaire contient les deux champs de clé étrangère suivants, et chaque ligne de cette table est utilisée pour mapper les associations entre un objet d’origine et un objet de destination.
- Le champ Origin Forein Key (Clé étrangère d’origine) est associé au champ de clé primaire de la table ou de la classe d’entités d’origine.
- Le champ Destination Foreign Key (Clé étrangère de destination) est associé au champ de clé primaire de la table ou de la classe d’entités de destination.
Par exemple, pour permettre aux gardes forestiers et aux touristes de localiser les activités (baignade, randonnée pédestre, canotage, etc.) proposées dans les diverses installations du Parc national de Grand Teton, une classe de relations de type plusieurs vers plusieurs a été créée entre la classe d’entités Facilities (Installations) et la table autonome Activities (Activités). Dans ce scénario, le camping Lizard Creek propose désormais des activités de canotage, et une relation entre ces objets doit être ajoutée à la classe de relations.
Conseil :
Pour en savoir plus sur les classes de relations attribuées et sur la façon de les appliquer dans un scénario réel, consultez l’article de blog ArcGIS Explore a many-to-many relationship class. Ce blog livre un examen plus approfondi des étapes du processus et comprend les données nécessaires pour créer et renseigner une classe de relations attribuées plusieurs vers plusieurs afin de garantir la validité des données du parc. Les sections Accéder à une table intermédiaire et Ajouter une relation entre des objets ci-après contiennent des images créées à partir de données disponibles sur ce blog.
Lorsque la table intermédiaire est créée à l’aide de l’outil Create Relationship Class (Créer une classe de relations), seuls les champs sont générés automatiquement. Comme ArcGIS n’associe pas automatiquement les objets d’origine aux objets de destination, vous devez ajouter manuellement les relations entre les objets pour renseigner les lignes. L’ajout de relations entre des objets peut être réalisé dans une session de mise à jour en sélectionnant les entités ou les lignes apparentées dans les deux classes d’objets participantes et en ajoutant la relation à la table intermédiaire via la fenêtre Attributes (Attributs). Vous pouvez accéder à la fenêtre Attributes (Attributs) en cliquant sur le bouton Attributes (Attributs) dans l’onglet Edit (Mise à jour). Une fois qu'une relation a été ajoutée à la table intermédiaire, les champs de clé étrangère sont automatiquement renseignés avec les valeurs de clé primaire associées et des données peuvent être saisies dans les champs attributaires supplémentaires. Ce processus doit être répété pour tous les ensembles d'entités reliées.
Remarque :
Une fois qu’une classe de relations attribuées est créée, vous pouvez l’ajouter dans votre carte. La classe de relations attribuées apparaît sous forme de table que vous pouvez ouvrir dans la fenêtre Contents (Contenu). Par ailleurs, dans la vue Fields (Champs), vous pouvez ajouter et supprimer des champs définis par l’utilisateur dans cette table intermédiaire. Toutefois, cette table intermédiaire n’est pas reconnue en tant que classe d’objets dans la géodatabase. Par conséquent, les comportements de géodatabase comme les règles attributaires, les domaines, les sous-types, les valeurs conditionnelles et les valeurs par défaut ne peuvent pas être appliqués ni utilisés avec cette table intermédiaire.
Accéder à une table intermédiaire
Avant d’ajouter une relation entre deux objets, vous devez d’abord créer une classe de relations entre les classes ou les tables d’entités contenant les objets à mettre en relation. Créez une classe de relations attribuées à l’aide de l’outil de géotraitement Create Relationship Class (Créer une classe de relations) ou Table To Relationship Class (Table vers classe de relations) dans ArcGIS Pro.
Une fois qu’une classes de relations attribuées est créée, la table intermédiaire de cette classe de relations attribuées être accessible.
Pour savoir comment ajouter des lignes à la table intermédiaire d’une classe de relations attribuées, consultez la section Ajouter une relation entre des objets.
Conseil :
Les exemples et les images ci-dessous ont été créés à partir de données disponibles en téléchargement via l’article de blog ArcGIS Explore a many-to-many relationship class.
- Dans ArcGIS Pro, à partir de la fenêtre Catalog (Catalogue), sous le dossier Databases (Bases de données), cliquez pour développer la géodatabase contenant la classe de relations définie par des attributs.
Remarque :
Pour ajouter, supprimer ou mettre à jour des enregistrements dans une classe de relations attribuées résidant dans une géodatabase d’entreprise, vous devez être connecté à cette dernière en tant que propriétaire de la classe de relations.
- Vous pouvez éventuellement cliquer avec le bouton droit sur la classe de relations dans la fenêtre Catalog (Catalogue) et cliquer sur Properties (Propriétés).
Vous pouvez gérer les propriétés de la classe de relations à partir des onglets General (Général), Rules (Règles) et Manage (Gérer).
Conseil :
Les fonctionnalités de géodatabase figurant sous l’onglet Manage (Gérer) de la boîte de dialogue Relationship Class Properties (Propriétés de la classe de relations) sont activées, car il s’agit des propriétés d’une classe de relations attribuées.
- Cliquez avec le bouton droit sur la classe de relations dans la fenêtre Catalog (Catalogue), puis cliquez sur Add to Current Map (Ajouter à la carte actuelle).
Lorsque vous ajoutez une classe de relations définie par des attributs à votre carte dans ArcGIS Pro, la table intermédiaire créée pour la classe de relations attribuées est ajoutée en tant que table dans la fenêtre Contents (Contenu) et apparaît sous la section Standalone Tables (Tables autonomes). Cette table intermédiaire prend le nom de la classe de relations.
- Cliquez avec le bouton droit sur les classes ou les tables d‘entités participant à la classe de relations à partir de la fenêtre Catalog (Catalogue), puis cliquez sur Add to Current Map (Ajouter à la carte actuelle).
- À partir de la fenêtre Contents (Contenu), sous Standalone Tables (Tables autonomes), vous pouvez éventuellement cliquer avec le bouton droit sur la table intermédiaire et cliquer sur Open (Ouvrir) pour passer en revue les champs et les attributs.
Par exemple, si une classe de relations est créée avec l’outil Table to Relationship Class (Table vers classe de relations), ce qui nécessite qu’une table existante soit renseignée avec des attributs complémentaires sur la relation, la table intermédiaire obtenue peut se présenter comme suit. Dans cet exemple, la table intermédiaire de cette classe de relations attribuées contient toutes les relations valides entre la classe d’entités Facilities (Installations) et la table Outdoor activities (Activités de plein air), où le champ Facility_ID est la clé étrangère d’origine et le champ Activity_ID est la clé étrangère de destination.
Si une classe de relations est créée avec l’outil Create Relationship Class (Créer une classe de relations), la table intermédiaire contient uniquement les champs obligatoires, et les valeurs de ces champs doivent être renseignées, car ArcGIS ne mappe 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, la table intermédiaire doit être renseignée manuellement, et la table intermédiaire obtenue peut se présenter comme suit.
Ajouter une relation entre des objets
Vous pouvez utiliser la fenêtre Attributes (Attributs) pour ajouter des relations entre deux objets. Dans une classe de relations attribuées ou de type plusieurs vers plusieurs, la table intermédiaire mappe et stocke les associations entre les objets d’origine et de destination. Lorsqu’une relation est créée entre deux objets dans ce type de classe de relations, une nouvelle ligne est ajoutée à cette table intermédiaire. Cette nouvelle ligne est renseignée avec les valeurs des clés primaires des objets d’origine et de destination.
Pour ajouter des relations entre des objets, suivez ces étapes pour ajouter des lignes dans la table intermédiaire d’une classe de relations attribuées.
- Dans l’onglet Edit (Mise à jour), dans le groupe Selection (Sélection), cliquez sur l’outil Select (Sélectionner) .
- Utilisez l’outil Select (Sélectionner) pour sélectionner les objets d’origine et de destination apparentés de manière interactive. Si une table participe à la relation, ouvrez-la en sélectionnant Open (Ouvrir) dans la fenêtre Contents (Contenu), puis sélectionnez les lignes souhaitées.
Par exemple, si vous utilisez l’image située en haut de cette rubrique, le camping Lizard Creek de la classe d’entités Facilities (Installations) doit être associé à l’activité Boating (Canotage) de la table Outdoor Activities (Activités de plein air). Le camping Lizard Creek (objet d’entité d’origine) et Boating (objet d’entité de destination) ont été sélectionnés.
- Cliquez sur le bouton Attributes (Attributs) dans l’onglet Edit (Mise à jour) pour ouvrir la fenêtre Attributes (Attributs).
Les entités d’origine et de destination sélectionnées s’affichent dans la fenêtre Attributes (Attributs).
- Cliquez pour développer l’entité d’origine sélectionnée dans la fenêtre Attributes (Attributs), puis cliquez avec le bouton droit sur l’étiquette de la classe de relations.
- Cliquez sur l'option Ajouter l'élément sélectionné à la relation. Le camping Lizard Creek de la classe d’entités Facilities (Installations) a été être associé à l’activité Boating (Canotage) de la table Outdoor Activities (Activités de plein air).
- La fenêtre Attributes (Attributs) se met à jour pour afficher la relation ajoutée entre les entités d’origine et de destination sélectionnées.
- Une ligne est ajoutée à la table intermédiaire, et les champs de clé étrangère sont renseignés avec les valeurs de clés primaires apparentées.
- Répétez les étapes 2 à 5 pour renseigner la table intermédiaire avec toutes les relations appropriées entre les objets.
- Enregistrez vos modifications pour enregistrer les relations et les nouvelles données dans la table intermédiaire.
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?