Étiquette | Explication | Type de données |
Table d’origine | Table ou classe d’entités à associer à la table de destination. | Table View |
Table de destination | Table ou classe d’entités à associer à la table d’origine. | Table View |
Classe de relations en sortie | Classe de relations à créer. | Relationship Class |
Type de relation | Spécifie le type d’association à créer entre les tables d’origine et de destination.
| String |
Appellation avant | Appellation décrivant la relation lors de la navigation depuis la classe d’entités/table d’origine vers la classe d’entités/table de destination. | String |
Appellation arrière | Appellation décrivant la relation lors de la navigation depuis la classe d’entités/table destination vers la classe d’entités/table d’origine. | String |
Sens des messages | Spécifie le sens dans lequel les messages sont transmis entre les objets de la relation. Par exemple, dans une relation entre des pylônes et des transformateurs, lorsqu'un pylône est supprimé, un message est transmis aux objets transformateurs auxquels il est lié pour indiquer que le pylône a été supprimé.
| String |
Cardinalité | Détermine la cardinalité de la relation existant entre l’origine et la destination.
| String |
Table de relations | Table contenant les attributs qui seront ajoutés à la classe de relations. | Table View |
Champs attributaires | Champs contenant les valeurs attributaires qui seront ajoutées à la classe de relations. | Field |
Clé primaire d’origine | Champ de la table d’origine qui permet de créer la relation. Il s’agit généralement du champ Object identifier. | String |
Clé étrangère d’origine | Nom du champ Clé étrangère de la table de relations qui désigne le champ Clé primaire d’origine dans la classe d’entités/table d’origine. | String |
Clé primaire de destination | Champ de la table de destination qui permet de créer la relation. Il s’agit généralement du champ Object identifier. | String |
Clé étrangère de destination | Champ de la table de relations qui désigne le champ Clé primaire dans la table de destination. | String |
Synthèse
Crée une classe de relations attribuées à partir des tables d’origine, de destination et de relations.
Utilisation
Cet outil crée une table dans la base de données contenant les champs d’adresse sélectionnés de la table de relations. Ces champs permettent de 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, une base de données de parcelles peut contenir 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. Un attribut de cette relation peut représenter des parts de copropriété.
Les relations simples, ou point à point, impliquent deux objets ou plus dans la base de données qui existent indépendamment les uns des autres. Par exemple, un réseau ferroviaire peut comporter des intersections avec un ou plusieurs signaux lumineux. Cependant, une intersection de voie ferrée peut exister sans signal lumineux et des signaux lumineux exister sur le réseau ferroviaire là où il n'y a pas d'intersection. Les relations simples peuvent avoir des cardinalités de type un vers un, un vers plusieurs et plusieurs vers plusieurs.
Une relation composite décrit une relation dans laquelle l’existence d’un objet régit l’existence des objets qui lui sont liés. Par exemple, les pylônes électriques supportent les transformateurs et les transformateurs sont montés sur des pylônes. Une fois qu'un pylône est supprimé, un message de suppression est transmis aux transformateurs qui lui sont liés, lesquels sont supprimés de la classe d'entités des transformateurs. Les relations composites décrivent toujours des relations un vers plusieurs.
Les dénominations de parcours avant et arrière décrivent la relation née de la navigation d'un objet à un autre. La dénomination de parcours avant décrit la relation née de la navigation depuis la classe d'origine jusqu'à la classe de destination. Dans notre exemple pylône-transformateur, la dénomination de parcours avant serait : Les pylônes supportent les transformateurs. La dénomination de parcours arrière décrit la relation née de la navigation depuis la classe de destination jusqu'à la classe d'origine. Dans notre exemple pylône-transformateur, la dénomination de parcours arrière serait : Les transformateurs sont montés sur les pylônes.
Paramètres
arcpy.management.TableToRelationshipClass(origin_table, destination_table, out_relationship_class, relationship_type, forward_label, backward_label, message_direction, cardinality, relationship_table, attribute_fields, origin_primary_key, origin_foreign_key, destination_primary_key, destination_foreign_key)
Nom | Explication | Type de données |
origin_table | Table ou classe d’entités à associer à la table de destination. | Table View |
destination_table | Table ou classe d’entités à associer à la table d’origine. | Table View |
out_relationship_class | Classe de relations à créer. | Relationship Class |
relationship_type | Spécifie le type d’association à créer entre les tables d’origine et de destination.
| String |
forward_label | Appellation décrivant la relation lors de la navigation depuis la classe d’entités/table d’origine vers la classe d’entités/table de destination. | String |
backward_label | Appellation décrivant la relation lors de la navigation depuis la classe d’entités/table destination vers la classe d’entités/table d’origine. | String |
message_direction | Spécifie le sens dans lequel les messages sont transmis entre les objets de la relation. Par exemple, dans une relation entre des pylônes et des transformateurs, lorsqu'un pylône est supprimé, un message est transmis aux objets transformateurs auxquels il est lié pour indiquer que le pylône a été supprimé.
| String |
cardinality | Détermine la cardinalité de la relation existant entre l’origine et la destination.
| String |
relationship_table | Table contenant les attributs qui seront ajoutés à la classe de relations. | Table View |
attribute_fields [attribute_fields,...] | Champs contenant les valeurs attributaires qui seront ajoutées à la classe de relations. | Field |
origin_primary_key | Champ de la table d’origine qui permet de créer la relation. Il s’agit généralement du champ Object identifier. | String |
origin_foreign_key | Nom du champ Clé étrangère de la table de relations qui désigne le champ Clé primaire d’origine dans la classe d’entités/table d’origine. | String |
destination_primary_key | Champ de la table de destination qui permet de créer la relation. Il s’agit généralement du champ Object identifier. | String |
destination_foreign_key | Champ de la table de relations qui désigne le champ Clé primaire dans la table de destination. | String |
Exemple de code
Le script ci-dessous pour la fenêtre Python illustre l’utilisation de la fonction TableToRelationshipClass.
import arcpy
arcpy.env.workspace = "C:/data/Montgomery.gdb"
arcpy.TableToRelationshipClass_management("owners", "Parcels", "ownersParcels_RelClass",
"SIMPLE", "Owns", "Is Owned By", "BACKWARD",
"MANY_TO_MANY", "owners", ["OWNER_PERCENT", "DEED_DATE"],
"OBJECTID", "owner_id", "OBJECTID", "parcel_id")
Créer une classe de relations attribuées entre une classe d’entités parcelles et une table avec des informations sur les propriétaires.
# Name: TableToRelationshipClass.py
# Description: Create an attributed relationship class between parcels
# feature class and table with owner information
# Author: ESRI
# import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Copy owners.dat to file gdb table, since both tables to be related
# must be in the same database
ownerDat = "owners.dat"
ownerTbl = "Montgomery.gdb/owners"
arcpy.CopyRows_management(ownerDat, ownerTbl)
# Create attributed relationship class between 'parcel' parcel layer
# and 'owner' table with additional parcel owner information
parcel = "Montgomery.gdb/Parcels"
relClass = "Montgomery.gdb/parcelowners_RelClass"
forLabel = "Owns"
backLabel = "Is Owned By"
attributeFields = ["OWNER_PERCENT", "DEED_DATE"]
originPK = "OBJECTID"
originFK = "owner_ID"
destinationPK = "OBJECTID"
destinationFK = "parcel_ID"
arcpy.TableToRelationshipClass_management(ownerTbl, parcel, relClass, "SIMPLE",
forLabel, backLabel, "BACKWARD", "MANY_TO_MANY",
ownerTbl, attributeFields, originPK, originFK,
destinationPK, destinationFK)
Informations de licence
- Basic: Non
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?