Cualquier clase de relación, ya sea simple o compuesta, y de cualquier cardinalidad, puede tener atributos. Cuando se crea una clase de relación con una cardinalidad de muchos a muchos o con atributos, se crea una tabla intermedia.
Esta tabla intermedia contiene los dos campos de clave externa siguientes y cada fila de esta tabla se utiliza para asignar las asociaciones entre un objeto de origen y un objeto de destino.
- El campo Clave externa de origen está asociado con el campo de clave principal de la tabla o la clase de entidad de origen.
- El campo Clave externa de destino está asociado con el campo de clave principal de la tabla o la clase de entidad de destino.
Por ejemplo, para ayudar a los guardas forestales y a los turistas a localizar actividades específicas, como natación, senderismo y paseos en barco disponibles en diversas instalaciones del Parque Nacional de Grand Teton, se ha creado una clase de relación de muchos-a-muchos entre la clase de entidad Instalaciones y la tabla independiente Actividades. En este escenario, el Camping Lizard Creek cuenta ahora actividades de navegación, y es necesario agregar una relación entre estos objetos a la clase de relación.
Sugerencia:
Para obtener más información sobre las clases de relación con atributos y ver cómo se pueden aplicar a un escenario real, consulte el artículo del blog de ArcGIS Explorar una clase de relación de muchos a muchos. Este blog proporciona una revisión más profunda de los pasos del flujo de trabajo e incluye los datos necesarios para crear y rellenar una clase de relación de muchos a muchos con atributos para ayudar a mantener la validez de los datos sobre parques. Las secciones Acceder a una tabla intermedia y Agregar una relación entre objetos contienen imágenes creadas mediante datos disponibles en este blog.
Cuando la tabla intermedia se crea mediante la herramienta Crear clase de relación, los campos son lo único que se crea automáticamente. ArcGIS no asocia automáticamente los objetos de origen con sus objetos de destino, por lo que es necesario agregar manualmente las relaciones entre los objetos para rellenar las filas. La adición de relaciones entre objetos puede realizarse en una sesión de adición seleccionando entidades o filas relacionadas en las dos clases de objeto participantes y agregando la relación a la tabla intermedia desde el panel Atributos. Para acceder al panel Atributos, haga clic en el botón Atributos de la pestaña Editar. Una vez que se ha agregado una relación a la tabla intermedia, los campos de clave externa se rellenarán automáticamente con los valores de clave principal relacionados y se pueden introducir los datos en cualquier campo de atributo adicional. Este proceso se debe repetir para todos los conjuntos de entidades relacionadas.
Nota:
Una vez que se crea una clase de relación con atributos, puede agregar la clase de relación con atributos a su mapa. La clase de relación con atributos aparecerá como una tabla que puede abrir en el panel Contenido. Además, desde la vista Campos, puede agregar y eliminar campos definidos por el usuario en esta tabla intermedia. No obstante, esta tabla intermedia no se reconoce como clase de objeto de la geodatabase. Como resultado, los comportamientos de la geodatabase, como las reglas de atributos, los dominios, los subtipos, los valores contingentes y los valores predeterminados, no pueden aplicarse ni utilizarse con esta tabla intermedia.
Acceder a una tabla intermedia
Antes de agregar una relación entre dos objetos, debe crear una clase de relación entre las clases de entidad o tablas que contengan los objetos que desea relacionar. Cree una clase de relación con atributos mediante la herramienta de geoprocesamiento Crear clase de relación o De tabla a clase de relación en ArcGIS Pro.
Una vez que se ha creado una clase de relación con atributos, es posible acceder a la tabla intermedia correspondiente.
Consulte la sección Agregar una relación entre objetos a continuación para obtener instrucciones detalladas sobre cómo agregar filas a la tabla intermedia de una clase de relación con atributos.
Sugerencia:
Los siguientes ejemplos e imágenes fueron creados con los datos disponibles para su descarga del artículo Explorar una clase de relación de muchos a muchos del blog de ArcGIS.
- En ArcGIS Pro, desde el panel Catálogo, en la carpeta Bases de datos, haga clic para expandir la geodatabase que contiene la clase de relación con atributos.
Nota:
Para agregar, eliminar o actualizar registros en una clase de relación con atributos que resida en una geodatabase corporativa, deberá estar conectado a la geodatabase corporativa como propietario de la clase de relación.
- Si lo desea, también puede hacer clic con el botón derecho en la clase de relación en el panel Catálogo y seleccionar Propiedades.
Las propiedades de la clase de relación se pueden administrar desde las pestañas General, Reglas y Administrar.
Sugerencia:
La funcionalidad de la geodatabase que aparece en la pestaña Administrar del cuadro de diálogo Propiedades de clase de relación está activada, ya que estas son las propiedades de una clase de relación con atributos.
- Haga clic con el botón derecho en la clase de relación en el panel Catálogo y seleccione Agregar a mapa actual.
Al agregar una clase de relación con atributos al mapa en ArcGIS Pro, la tabla intermedia creada para dicha tabla de relación con atributos se agregará como tabla en el panel Contenido y aparecerá en la sección Tablas independientes. El nombre de esta tabla intermedia será el mismo que el de la clase de relación.
- Haga clic con el botón derecho en las clases de entidad o las tablas que participan en la clase de relación en el panel Catálogo y seleccione Agregar al mapa actual.
- Opcionalmente, en el panel Contenido, en Tablas independientes, haga clic con el botón derecho en la tabla intermedia y seleccione Abrir para revisar los campos y atributos.
Por ejemplo, si se crea una clase de relación con la herramienta De tabla a clase de relación, que requiere una tabla existente rellenada con atributos adicionales sobre la relación, la tabla intermedia resultante podría tener un aspecto similar al siguiente. En este ejemplo, la tabla intermedia para esta clase de relación con atributos contiene todas las relaciones válidas entre la clase de entidad Instalaciones y la tabla Actividades al aire libre, donde el campo Facility_ID es la clave externa original y el campo Activity_ID es la clave externa de destino.
Si se crea una clase de relación con la herramienta Crear clase de relación, la tabla intermedia solo contendrá los campos necesarios, y los valores de estos campos deben rellenarse, ya que ArcGIS no asigna las asociaciones entre los objetos de origen y de destino. Utilizar esta herramienta para crear una clase de relación con atributos significa que la tabla intermedia debe rellenarse manualmente, y la tabla intermedia resultante podría tener un aspecto similar al siguiente.
Agregar una relación entre objetos
Puede utilizar el panel Atributos para agregar relaciones entre objetos. En una clase de relación de muchos a muchos o con atributos, la tabla intermedia asigna y almacena asociaciones entre los objetos de origen y de destino. Cuando se crea una relación entre dos objetos de este tipo de clase de relación, se agrega una nueva fila a esa tabla intermedia. Esta fila se rellena con los valores de las claves principales de los objetos de origen y de destino.
Para agregar relaciones entre objetos, siga estos pasos para agregar filas en la tabla intermedia de una clase de relación con atributos:
- En la pestaña Editar, en el grupo Selección, haga clic en la herramienta Seleccionar .
- Utilice la herramienta Seleccionar para seleccionar los objetos de origen y de destino de forma interactiva. Si una tabla participa en la relación, seleccione Abrir para abrir la tabla desde el panel Contenido y seleccione las filas deseadas.
Por ejemplo, utilizando la imagen de la parte superior de este tema, el Camping Lizard Creek de la clase de entidad Instalaciones debe estar asociado con la actividad Náutica en la tabla Actividades al aire libre. El Camping Lizard Creek (objeto de entidad de origen) y Náutica (objeto de entidad de destino) se han seleccionado.
- Haga clic en el botón Atributos en la pestaña Editar para abrir el panel Atributos.
Las entidades de origen y destino aparecen en el panel Atributos.
- Haga clic para expandir la entidad de origen seleccionada en el panel Atributos y luego haga clic con el botón derecho en la etiqueta de la clase de relación.
- Haga clic en la opción Agregar seleccionados a la relación. El Camping Lizard Creek de la clase de entidad Instalaciones se ha asociado con la actividad Náutica de la tabla Actividades al aire libre.
- El panel Atributos se actualiza para mostrar la relación agregada entre las entidades de origen y destino seleccionadas.
- Se agrega una fila a la tabla intermedia y los campos de clave externa se rellenan con los valores de clave principal relacionados.
- Repita los pasos 2 a 5 para rellenar la tabla intermedia con todas las relaciones apropiadas entre objetos.
- Guarde los cambios para guardar las relaciones y los nuevos datos en la tabla intermedia.