Simple y compuesta son los dos tipos de clases de relación de geodatabase que pueden crearse en ArcGIS Pro. El tipo de clase de relación que seleccione se guiará por los datos de que disponga, la cardinalidad de los datasets que desee relacionar y las preguntas a las que trate de responder.
A continuación se describe con más detalle cada tipo de clase de relación.
Tipo de clase de relación simple
Una clase de relación simple es un tipo de relación que asocia entidades de una clase de entidad (tabla de origen) con entidades de otra clase de entidad (destino) u objetos de una tabla.
A continuación se describe una clase de relación simple:
- La cardinalidad puede ser de uno a uno (1:1), de uno a muchos (1:M) o de muchos a muchos (M:N).
- La relación se define entre dos tablas, donde una es el origen y la otra el destino.
- La relación se basa en un campo de atributo común.
- La eliminación de una entidad o fila en la tabla de origen no afecta a las entidades o filas relacionadas en la tabla de destino.
- La relación entre las tablas se mantiene mientras coincidan los valores de los campos de atributo comunes.
Por ejemplo, puede tener una clase de relación simple entre una clase de entidad denominada Campground Facilities (origen) y una clase de entidad denominada Campsites (destino). Cada camping puede estar relacionado con una o varias parcelas contenidas dentro de ese camping, pero la eliminación de una parcela no implica la eliminación del camping.
En una relación simple, los objetos relacionados pueden existir independientemente entre sí. Esto significa que la eliminación de un objeto de destino no tiene ningún efecto sobre el valor de clave principal ni sobre el registro principal de la tabla de origen relacionada.
Por ejemplo, ha llegado un informe de que una tormenta reciente ha arrasado la parcela n.º 6 de Slough Creek; por tanto, la eliminación de este registro de la clase de entidad Campsite (destino) no tiene ningún efecto sobre el camping de Slough Creek en la clase de entidad Campground Facilities (origen).
Sin embargo, al eliminar un objeto de origen en una relación simple, el valor del campo de clave externa para el objeto de destino correspondiente se establece en <Null>. Este comportamiento de clave externa se diseñó para mantener integridad referencial entre entidades. Si se elimina la entidad del origen, el valor en la clave externa ya no está relacionando esa fila con una entidad en el origen y, en consecuencia, el valor de clave externa ya no es necesario y se establece en Nulo.
El único propósito de la clave externa consiste en mantener una relación entre el objeto de destino y el objeto de origen relacionado. Si no hay ninguna entidad de origen con el valor de clave principal correspondiente, no hay ninguna razón para mantener el valor de la clave externa. Si desea relacionar la misma entidad de destino con una entidad de origen nueva o diferente en el futuro, el campo de clave externa se puede actualizar de <Null> al nuevo valor de clave externa.
Por ejemplo, el camping de Slough Creek, con un FacilityID de 259310, es el más pequeño del Parque Nacional de Yellowstone, con solo seis parcelas. Se tomó la decisión de fusionar este camping con el camping más grande de Pebble Creek. En esta clase de relación simple, cuando el registro del camping de Slough Creek se elimina de la tabla de origen, las seis parcelas permanecen en la tabla de destino; sin embargo, su valor de clave externa cambia a <Null>. Ahora puede actualizar el ParentFacilityID de estos seis valores <Null> para que reflejen 259307, de modo que ahora estarán vinculados al ParentFacilityID del camping de Pebble Creek.
Tipo de clase de relación compuesta
De forma similar a una clase de relación simple, una clase de relación compuesta es un tipo de relación que asocia entidades de una clase de entidad (tabla de origen) con entidades de otra clase de entidad (destino) u objetos de una tabla. Las relaciones compuestas también mantienen una integridad referencial cuando se eliminan los objetos, pero realizan esto de un modo diferente. En una relación compuesta, los objetos de destino no pueden existir independientemente de los objetos de origen, de modo que cuando se elimina el origen, los objetos de destino relacionados también se eliminan en un proceso denominado eliminación en cascada. Las relaciones compuestas siempre tienen cardinalidad de uno a muchos cuando se crean, pero se pueden restringir para que sean de uno a uno con reglas de relación.
A continuación se describe una clase de relación compuesta:
- La cardinalidad puede ser de uno a uno (1:1) o de uno a muchos (1:M).
- La relación se define entre dos tablas, donde una es el origen y la otra el destino.
- La relación se basa en un campo de atributo común.
- La eliminación de una entidad o fila en la tabla de origen afecta a las entidades o filas relacionadas en la tabla de destino.
- Las entidades o filas (objetos) de la tabla de destino no pueden existir independientemente de las entidades o filas (objetos) relacionadas de la tabla de origen.
- La relación entre las tablas se mantiene mientras coincidan los valores de los campos de atributo comunes.
Por ejemplo, se ha determinado que la ubicación actual y los terrenos del camping de Slough Creek serían ideales para un nuevo centro educativo. Por lo tanto, las seis parcelas del camping de Slough Creek dejarán de estar disponibles para que los equipos de nivelación y construcción puedan comenzar a preparar el terreno para el nuevo centro educativo de Slough Creek. Ahora, cuando edite la clase de relación compuesta y elimine el registro Slough Creek Campground de la clase de entidad Campground Facilities (origen), se eliminarán las seis parcelas del camping de Slough Creek relacionadas de la clase de entidad Campsite (destino).
Una relación compuesta también puede ayudarle a mantener entidades espacialmente; desplazar o girar una entidad de origen hace que las entidades de destino relacionadas se desplacen o giren con la misma cuando la mensajería se establece en Adelante.
Descubra cómo crear una clase de relación compuesta
Más información sobre las clases de relación de muchos a muchos o 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.