Table vers classe de relations (Gestion des données)

Récapitulatif

Crée une classe de relations attribuée à partir des tables d'origine, de destination et de relations.

Utilisation

Syntaxe

TableToRelationshipClass_management (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)
ParamètreExplicationType 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

Type d'association à créer entre les tables d'origine et de destination.

  • SimpleAssociation aux termes de laquelle chaque objet est indépendant (relation parent vers parent). Il s'agit de l'option par défaut.
  • COMPOSITEAssociation aux termes de laquelle l'existence d'un objet régit l'existence de l'objet qui lui est lié (relation parent vers enfant).
String
forward_label

Dénomination de la relation allant de la table/classe d'entités d'origine vers la table/classe d'entités de destination.

String
backward_label

Dénomination de la relation allant de la table/classe d'entités de destination vers la table/classe d'entités d'origine.

String
message_direction

Les messages de direction 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é.

  • NONEAucun message n'est transmis. Il s'agit de l'option par défaut.
  • FORWARDLes messages sont transmis de l'origine vers la destination.
  • BACKWARDLes messages sont transmis de la destination vers l'origine.
  • BOTHLes messages sont transmis de l'origine vers la destination et de la destination vers l'origine.
String
cardinality

Cardinalité de la relation entre l'origine et la destination.

  • ONE_TO_ONEChaque objet de la table/classe d'entités d'origine peut être mis en relation avec un objet ou aucun objet de la table/classe d'entités de destination. Il s'agit de l'option par défaut.
  • ONE_TO_MANYChaque objet de la table/classe d'entités d'origine peut être mis en relation avec plusieurs objets de la table/classe d'entités de destination.
  • MANY_TO_MANYPlusieurs objets de la table/classe d'entités d'origine peuvent être mis en relation avec plusieurs objets de la table/classe d'entités de destination.
String
relationship_table

Table contenant les attributs à ajouter à la classe de relations.

Table View
attribute_fields
[attribute_fields,...]

Champs contenant les valeurs attributaires à ajouter à la classe de relations.

Field
origin_primary_key

Champ de la table d'origine utilisé pour créer la relation. Il s'agit généralement du champ OID.

String
origin_foreign_key

Nom du champ Clé étrangère de la table de relations faisant référence au champ Clé primaire de la table/classe d'entités d'origine.

String
destination_primary_key

Champ de la table de destination utilisé pour créer la relation. Il s'agit généralement du champ OID.

String
destination_foreign_key

Champ de la table de relations faisant référence au champ Clé primaire de la table de destination.

String

Exemple de code

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

Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil 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")
Exemple d'utilisation de l'outil TableToRelationshipClass (script autonome)

Crée une classe de relations attribuée entre la classe d'entités de parcelle et la table contenant les informations de propriété.

# 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)

Environnements

Rubriques connexes

Informations de licence

ArcView : Non
ArcEditor : Oui
ArcInfo : Oui

7/10/2012