Una clase de relación es uno de los flujos de trabajo disponibles en ArcGIS Pro para asociar entidades y registros entre sí en una geodatabase.
Herramientas para crear una clase de relación
Dispone de dos herramientas de geoprocesamiento entre las que elegir para crear una clase de relación de geodatabase:
- Utilice la herramienta de geoprocesamiento Crear clase de relación: crea una clase de relación para almacenar una asociación entre campos o entidades de la tabla de origen y la tabla de destino.
- Utilice la herramienta de geoprocesamiento Tabla a clase de relación: crea una clase de relación con atributos a partir de las tablas de origen, destino y relación. Esta herramienta le permite especificar una tabla intermedia existente, como la que se requiere en una relación de muchos a muchos o en una relación con atributos.
Consideraciones sobre las clases de relación de geodatabase
Para ayudarle a determinar el tipo de clase de relación de geodatabase que debe crear y utilizar en su flujo de trabajo, tenga en cuenta lo siguiente:
- La cardinalidad que existe entre los objetos de sus tablas o clases.
La cardinalidad de la clase de relación de la geodatabase especifica cuántas filas o entidades de la tabla de origen están relacionadas con cuántas filas o entidades de la tabla de destino.
Una clase de relación de geodatabase puede tener una de tres cardinalidades:
- Uno a uno (1:1): cada fila o entidad de la tabla de origen puede estar relacionada con cero o una fila o entidad de la tabla de destino. Esta es la opción predeterminada.
- Uno a muchos (1:M): cada fila o entidad de la tabla de origen puede estar relacionada con una o varias filas o entidades de la tabla de destino.
Muchos a muchos (M:N): varias filas o entidades de la tabla de origen pueden estar relacionadas con una o varias filas o entidades de la tabla de destino.
Más información sobre cardinalidades y cómo pueden utilizarse
- El campo clave común que existe en las tablas o clases de origen y destino.
-
Puede asociar registros en una tabla (origen) con registros en otra tabla (destino) a través de un campo común, conocido como una clave. Antes de poder crear cualquier tipo de clase de relación, debe identificar un campo en cada tabla que comparta valores comunes y sean del mismo tipo de datos. Este campo se conoce como campo de clave principal en el origen y campo de clave externa en el destino.
Por ejemplo, una clase de entidad de Campground Facilities (tabla de origen) puede asociarse a una clase de entidad de Campsites (tabla de destino), porque cada una de ellas comparte un campo común que contiene valores comunes, FacilityID en la tabla de origen y ParentFacilityID en la tabla de destino, y tienen el mismo tipo de datos entero largo para ese campo. En este ejemplo, la asociación de estos registros haría posible seleccionar una única instalación de camping y acceder a todas las parcelas de camping asociadas a ese camping.
Nota:
En una clase de relación, no es obligatorio que los campos comunes tengan el mismo nombre, pero sí que tengan el mismo tipo de datos. Los valores de los campos comunes se utilizan para vincular los registros de la tabla en función de la cardinalidad definida.
En el siguiente ejemplo, se ha creado una clase de relación de uno a muchos entre las instalaciones de los campings y las parcelas situadas en cada una de ellas. El uso de esta relación de uno a muchos hace posible seleccionar un único camping y acceder a las parcelas asociadas y a los atributos de cada una de ella para ese camping.
-
El uso de un campo de Id. de objeto o Id. global para representar la relación entre la clave principal de la tabla de origen y la clave externa de la tabla de destino.
A continuación, se exponen algunas consideraciones sobre el uso de los Id. de objeto y los Id. globales:
- Campo Id. de objeto
La creación de una clase de relación en ArcGIS Pro requiere valores únicos para representar la relación entre la clave principal y la clave externa. Al crear una tabla en ArcGIS Pro, se agrega a la tabla un campo entero único que no puede tener valores nulos para que actúe como identificador del objeto (Id. de objeto). En este campo de Id. de objeto se almacena un Id. único para cada fila de la tabla y se crea en tablas y clases de entidad como un Id. de objeto de 32 bits de manera predeterminada.
ArcGIS Pro mantiene el campo Id. de objeto y garantiza un Id. único para cada fila de la tabla cuando se agrega inicialmente. Las funcionalidades clave de ArcGIS, como el uso de la herramienta Identificar y la visualización de conjuntos de selección, dependen de que cada valor de una tabla tenga un valor único.
- De forma predeterminada, las tablas de geodatabase y las clases de entidad se crean en ArcGIS con un Id. de objeto de 32 bits. Sin embargo, en algunas circunstancias es necesario que los valores de Id. de objeto sean superiores a 2.140 millones. La herramienta de geoprocesamiento Migrar Id. de objeto a 64 bits puede utilizarse para migrar el campo Id. de objeto de una clase de relación.
Precaución:
Cuando un campo Id. de objeto se migra para almacenar Id. de objeto de 64 bits, el cambio no puede deshacerse y el dataset ya no puede utilizarse con ArcMap ni ArcGIS Pro 3.1 y versiones anteriores.
La creación de una clase de relación basada en un Id. de objeto no se admite en el versionado en rama.
Sugerencia:
Como alternativa, puede ejecutar la herramienta Migrar clase de relación para migrar una clase de relación basada en el Id. de objeto a una clase de relación basada en el Id. global antes de utilizar los datos en un entorno versionado en rama.
- Campo Id. global
Los Id. globales son similares a los Id. de objeto en el sentido de que ArcGIS Pro los mantiene y no pueden ser editados.
Los Id. globales identifican de forma única una entidad en una geodatabase y en todas las geodatabases. Se recomienda agregar Id. globales a los datos y utilizar el campo Id. global como clave principal. El uso del campo Id. global de la capa garantiza que la clave principal de la clase de relación sea única al establecer una conexión entre una clase de entidad y una tabla.
También puede habilitar los Id. globales en una clase de relación. La opción Id. globales está disponible en la pestaña Administrar para clases de relación con atributos o de muchos a muchos en una geodatabase corporativa, móvil o de archivos. Una vez habilitado, se agrega un campo Id. global a la tabla intermedia.
Una de las diferencias entre Id. globales y GUID es que ArcGIS Pro mantiene activamente los campos Id. global. Por ejemplo, si se utiliza un campo Id. global, cuando se crea una nueva entidad, se le asigna un valor Id. global único, mientras que los campos GUID se dejan en blanco y el usuario debe mantener estos campos.
- Campo Id. de objeto
Aprenda a crear una clase de relación simple o a crear una clase de relación compuesta.
Crear y establecer reglas para las clases de relación de la geodatabase
Si tanto la clase de destino como la de origen existen en el mismo dataset de entidad, la clase de relación se encontrará en ese dataset de entidad. De lo contrario, la clase de relación se encontrará directamente bajo la geodatabase, fuera de cualquier dataset de entidades.
Crear una relación puede implicar varios pasos adicionales y hay diferentes flujos de trabajo que puede seguir para completar el proceso. El flujo de trabajo que debe seguir depende de los datos que tenga y del tipo de relación que desee crear.
- Si tiene clases de origen y destino que contengan entidades o registros, y los valores de clave principal del origen se relacionan correctamente con los valores de clave externa correctos del destino, considere este flujo de trabajo:
- Cree la clase de relación con la herramienta Crear clase de relación.
Establezca las reglas de clase de relación en caso necesario.
Consulte Administrar reglas de clase de relación para obtener más información sobre cómo habilitar y deshabilitar reglas en su clase de relación.
Si establece reglas de clase de relación o trabaja con una clase de relación compuesta, utilice reglas de atributos de validación o restricción para probar y hacer cumplir la integridad referencial de sus datos.
Precaución:
Este flujo de trabajo no es aplicable a las clases de relación de muchos a muchos (M:N) ni a las clases de relación con atributos.
- Si tiene clases de origen y destino rellenadas con entidades o registros y tiene valores de clave principal del origen, pero no tiene valores de clave externa del destino o tiene valores que no se relacionan correctamente, considere este flujo de trabajo:
- Cree la clase de relación con la herramienta de geoprocesamiento Crear clase de relación.
Establezca las reglas de clase de relación en caso necesario.
Consulte Administrar reglas de clase de relación para obtener más información sobre cómo habilitar y deshabilitar reglas en su clase de relación.
- Para seleccionar de forma interactiva objetos de origen y destino relacionados y relacionarlos dentro del cuadro de diálogo Atributos, utilice la opción Agregar seleccionados a la relación.
Esto establece los valores de clave externa en el destino de modo que se relacionen con los valores de clave principal en el origen.
Para obtener más información, consulte Rellenar una tabla de clases de relación con atributos.
Opcionalmente, si se utiliza la herramienta Crear clase de relación para crear una clase de relación con atributos o de muchos a muchos, rellene manualmente la tabla intermedia porque la tabla intermedia resultante solo tendrá los campos generados, ya que ArcGIS no asigna las asociaciones entre los objetos de origen y de destino.
Para saber más, consulte Comprender las clases de relación con atributos.
Si establece reglas de clase de relación o trabaja con una relación compuesta, utilice las reglas de atributos validación o restricción para probar y hacer cumplir la integridad referencial de sus datos.
Precaución:
Este flujo de trabajo no es aplicable a las clases de relación de muchos a muchos (M:N) que no incluyan al menos una clase de entidad como origen o destino.
- Para crear una clase de relación de muchos a muchos entre dos tablas o para crear una clase de relación mediante una tabla intermedia existente que contenga atributos de relación, considere este flujo de trabajo:
- Cree y llene la tabla de origen, la tabla de destino y la tabla intermedia, asegurándose de que los valores de clave principal se relacionarán correctamente con los valores de clave de destino.
Cree la clase de relación con la herramienta De tabla a clase de relación.
Para obtener más información, consulte Comprender las clases de relación con atributos y Crear una tabla de clases de relación con atributos.
Obtenga información sobre consejos de uso de las clases de relación y opciones disponibles para modificar una clase de relación.