Las clases de relación de la geodatabase administran las asociaciones entre los objetos de una clase (clase de entidad o tabla) y los objetos de otra. Los objetos situados en ambos extremos de la relación pueden ser entidades con geometría o registros de una tabla.
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 varias parcelas de camping asociadas a ese camping.
Ventajas de las clases de relación
Una clase de relación de una geodatabase establece una conexión entre dos tablas basada en un campo común, también conocido como clave. Esta conexión puede utilizarse para aplicar la integridad referencial o para navegar entre registros relacionados. A continuación se enumeran algunas de las ventajas y capacidades avanzadas que proporciona una clase de relación:
- Integridad referencial: una clase de relación puede aplicar la integridad referencial, lo que garantiza que las relaciones entre las tablas sigan siendo coherentes. Esto significa que, si se elimina un registro de la tabla de origen, también se eliminarán todos los registros relacionados de la tabla de destino.
- Mejora de la entrada y edición de datos: al editar datos, las clases de relación pueden ayudar a garantizar que los cambios se propaguen correctamente a través de las tablas relacionadas. Esto puede ayudar a evitar incoherencias y errores en los datos.
- Análisis de datos más ricos: cuando se ha establecido una clase de relación entre datasets, puede realizar consultas y análisis más complejos. Por ejemplo, puede buscar todas las entidades de una tabla que estén relacionadas con una entidad concreta de otra tabla.
- Administración de datos eficiente: las clases de relación permiten una administración eficiente de los datos relacionados. En lugar de duplicar los datos en varias tablas, puede almacenarlos en un solo lugar y crear relaciones con ellos desde otra tabla.
- Cardinalidad: la cardinalidad describe cómo se relacionan entre sí los elementos o los datos. Por ejemplo, en los datos SIG de una ciudad, uno a uno podría ser de un edificio a un propietario. Uno a muchos podría ser una ruta de autobús que da servicio a muchas paradas. Muchos a muchos podrían ser muchos compradores que visitan muchas tiendas. Las clases de relación nos ayudan a entender estas conexiones y a encontrar sentido a datos complejos.
- Reglas de relación: puede definir restricciones en la clase de relación para garantizar que se mantenga la precisión y la coherencia de los datos espaciales al editar los datos. Por ejemplo, una regla de relación podría establecer que cada edificio deba estar asociado a una parcela específica. Puede establecer reglas sobre cómo se conectan las cosas, como un edificio a una parcela, una ruta de autobús a muchas paradas de autobús o muchos compradores que visitan muchas tiendas, para ayudar a mantener la integridad de los datos, conservando la precisión y fiabilidad de sus datos en su geodatabase. Esto puede ayudar a mantener la integridad de los datos.
- Relaciones con atributos: las clases de relación pueden almacenar información adicional sobre la propia relación. Por ejemplo, en una relación entre carreteras y accidentes de tráfico, un atributo podría almacenar el número de accidentes ocurridos en cada segmento de carretera. Las clases de relación pueden tener atributos, lo que le permite almacenar información sobre la propia relación. Por ejemplo, podría almacenar la fecha en la que se estableció una relación.
- Notificación: las notificaciones permiten realizar actualizaciones automáticas. Si se realiza un cambio en una tabla, los registros relacionados de la otra tabla pueden actualizarse automáticamente. Las clases de relación pueden enviar mensajes cuando se producen determinados eventos, como cuando se crea o elimina una relación. Esto puede utilizarse para desencadenar un comportamiento personalizado en su aplicación.
- Navegación: puede navegar por las relaciones en ambas direcciones. Por ejemplo, si tiene una relación entre una tabla Clientes y una tabla Pedidos, puede buscar todos los pedidos de un cliente determinado o buscar el cliente asociado a un pedido concreto.
- Actualizaciones y eliminaciones en cascada: las clases de relación admiten actualizaciones y eliminaciones en cascada. Esto significa que, si se actualiza o elimina un registro de la tabla de origen, los cambios pueden propagarse a los registros relacionados de la tabla de destino.
Limitaciones de las clases de relación
Las clases de relación de la geodatabase administran asociaciones entre objetos en dos tablas o clases de entidad relacionadas. No obstante, existen las siguientes restricciones y limitaciones:
- Las clases de relación solo se pueden definir entre tablas o clases de entidad de la misma geodatabase.
- Las tablas o clases de entidad también deben almacenarse en la misma geodatabase.
Datasets que participan en más de una clase de relación
Una tabla o clase de entidad puede participar en más de una clase de relación; sin embargo, existen algunas restricciones.
- Una tabla o clase de entidad determinada no puede ser el destino en dos clases de relación compuesta. Sin embargo, puede tener más de una relación simple entre un par de clases. Puede hacerlo si necesita forzar una cardinalidad diferente, dependiendo de la dirección en la que navegue por la relación.
- Si existe una clase de relación compuesta entre dos clases, no se puede crear ninguna otra clase de relación entre las mismas dos clases.
- Para crear una clase de relación en un dataset de entidades, la clase de origen o la de destino debe estar en el dataset de entidades.
- Puede tener más de una relación simple entre un par de clases. Puede hacerlo si necesita forzar una cardinalidad diferente, dependiendo de la dirección en la que navegue por la relación.
Clases de relación no admitidas
Los siguientes tipos y propiedades de clases de relación no se admiten en ArcGIS:
- Las relaciones recursivas en las que existe una relación entre registros de la misma tabla o clase de entidad todavía no se admiten en ArcGIS.
- Cada una de las claves principales y externas se puede basar en un solo campo; ArcGIS no admite las claves principales y externas complejas.
Si ha determinado que el uso de una clase de relación en la geodatabase es el método más adecuado para usted según los datos que tiene y las preguntas que intenta responder, los siguientes pasos son comprender los tipos de clases de relación de geodatabase y crear una clase de relación.