De tablas a clase de relación (Gestión de datos)

Nivel de licencia:BasicStandardAdvanced

Resumen

Crea una clase de relación con atributos a partir de las tablas de origen, de destino y de relación.

Uso

Sintaxis

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)
ParámetroExplicaciónTipo de datos
origin_table

Tabla o clase de entidad que se asociará a la tabla de destino.

Table View
destination_table

Tabla o clase de entidad que se asociará a la tabla de origen.

Table View
out_relationship_class

Clase de relación que se creará.

Relationship Class
relationship_type

Tipo de asociación que se creará entre las tablas de origen y de destino.

  • SIMPLEAsociación en la que cada objeto es independiente de otro (relación principal con principal). Esta es la opción predeterminada.
  • COMPOSITEAsociación en la que la duración de un objeto controla la duración de su objeto relacionado (relación principal con secundario).
String
forward_label

Etiqueta que describe la relación que se está transfiriendo desde la tabla/clase de entidad de origen a la tabla/clase de entidad de destino.

String
backward_label

Etiqueta que describe la relación que se está transfiriendo desde la tabla/clase de entidad de destino a la tabla/clase de entidad de origen.

String
message_direction

Los mensajes de dirección se propagarán entre los objetos de la relación. Por ejemplo, en una relación entre polos y transformadores, cuando se elimina el polo, envía un mensaje a sus objetos transformadores relacionados y les informa que fue eliminado.

  • NONENo se propagan mensajes. Esta es la opción predeterminada.
  • FORWARDLos mensajes se propagan desde el origen hacia el destino.
  • BACKWARDLos mensajes se propagan desde el destino hacia el origen.
  • BOTHLos mensajes se propagan desde el origen hacia el destino y desde el destino hacia el origen.
String
cardinality

Cardinalidad de la relación entre el origen y el destino.

  • ONE_TO_ONECada objeto de la tabla/clase de entidad de origen se puede relacionar con cero o con un objeto de la tabla/clase de entidad de destino. Esta es la opción predeterminada.
  • ONE_TO_MANYCada objeto en la tabla/clase de entidad de origen se puede relacionar con varios objetos de la tabla/clase de entidad de destino.
  • MANY_TO_MANYVarios objetos de la tabla/clase de entidad de origen se pueden relacionar con varios objetos de la tabla/clase de entidad de destino.
String
relationship_table

Tabla que contiene los atributos que se agregarán a la clase de relación.

Table View
attribute_fields
[attribute_fields,...]

Los campos que contienen valores de atributo que se agregarán a la clase de relación.

Field
origin_primary_key

Campo en la tabla de origen que se utilizará para crear la relación. Generalmente, éste es el campo del identificador de objeto.

String
origin_foreign_key

Nombre del campo Clave externa de la tabla de relación que hace referencia al campo Clave principal de la tabla/clase de entidad de origen.

String
destination_primary_key

Campo en la tabla de destino que se utilizará para crear la relación. Generalmente, éste es el campo del identificador de objeto.

String
destination_foreign_key

Campo de la tabla de relación que hace referencia al campo Clave principal de la tabla de destino.

String

Ejemplo de código

Ejemplo de TableToRelationshipClass (ventana de Python)

La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la herramienta 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")
Ejemplo de TableToRelationshipClass (secuencia de comandos independiente)

Crear una clase de relación con atributos entre la clase de entidad de parcela y una tabla con información del propietario.

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

Entornos

Temas relacionados

Información sobre licencias

ArcGIS for Desktop Basic: No
ArcGIS for Desktop Standard: Sí
ArcGIS for Desktop Advanced: Sí
5/12/2014