Actualizado el 7 de febrero de 2022
Parece que siempre ha habido confusión en torno a los términos "relate" y "clase de relación". En esta publicación, intentaremos aclararlo. Las capturas de pantalla del ejemplo son de ArcMap, pero los conceptos también se aplican a ArcGIS Pro.
Lo Básico
- Un relate (también llamado relate de tabla) es una propiedad de una capa en ArcGIS Pro o ArcMap. Creas un relate de tabla para que puedas consultar y seleccionar entidades en una capa y ver todas las entidades relacionadas en otra capa o tabla. Un relate de tabla existe solo en un mapa o archivo de capa (.lyr).

- Una clase de relación es un objeto en una geodatabase que almacena información sobre una relación entre dos clases de entidad, entre una clase de entidad y una tabla no espacial, o entre dos tablas no espaciales. Ambos participantes en una clase de relación deben almacenarse en la misma geodatabase.
- La cardinalidad controla cómo se configuran los relates y las clases de relación. La cardinalidad no es una medida del fervor de un fanático del béisbol de St. Louis, es una descripción de cómo los registros en dos tablas diferentes están relacionados entre sí. La cardinalidad puede ser uno a uno, uno a muchos, muchos a uno o muchos a muchos.
- Los relates de tabla se crean entre tablas que tienen una cardinalidad uno a muchos o muchos a uno. Las clases de relación soportan todas las cardinalidades.
- Cuando creas un relate de tabla o una clase de relación, especificas el campo en cada tabla en el que se basará la relación. Los campos deben ser del mismo tipo de datos (es decir, texto, entero corto, entero largo, ID de objeto, etc.).
- Los relates pueden crearse y editarse con una licencia Básica, Estandar, o Avanzada.
- Las clases de relación pueden crearse y editarse con una licencia Estandar o Avanzada. Son solo lectura con una licencia Básica.
¿Todo claro ahora? ¿No? Está bien, profundicemos más.
El Ejemplo

En la Tabla de Contenidos del mapa anterior, ves una capa de estaciones de bomberos de la ciudad y una tabla no espacial que almacena datos sobre el personal del departamento de bomberos de la ciudad. Se ha creado un relate de tabla entre la capa y la tabla no espacial basado en un campo entero corto en cada tabla que almacena un número ID de estación de bomberos.
¿Qué sucede cuando se selecciona una estación en el mapa?
A continuación, ves la tabla de atributos para la capa de estaciones de bomberos y la tabla del personal de bomberos. Se está usando la opción para mostrar solo las entidades seleccionadas para ambas tablas. Observa que mientras solo se selecciona un registro de estación de bomberos (la estación Washington), seis registros en la tabla del personal de bomberos están seleccionados.

Esto te indica que la capa Estaciones de Bomberos tiene una cardinalidad uno a muchos con la tabla del personal de bomberos. Para cada estación hay múltiples bomberos asociados. En este caso, seis bomberos están asignados a la estación Washington. Debido a que las tablas están relacionadas, cuando seleccionas una estación puedes fácilmente saber quién trabaja en esa estación. Los relates son bidireccionales, lo que significa que también puedes seleccionar un registro en la tabla del personal y acceder al nombre de la estación a la que está asignado el bombero.
No necesitas ni siquiera seleccionar una entidad o abrir las tablas; puedes ver rápidamente la información usando la herramienta Identificar. El nombre de la tabla relacionada se muestra debajo del nombre de la entidad en el lado izquierdo de la ventana Identificar. Expandir la tabla relacionada revela los registros relacionados. Hacer clic en un registro relacionado muestra los datos almacenados en la tabla relacionada.

Supongamos que Brian Butler se está transfiriendo a la estación Adams. Vas a editar la tabla FirePersonnel para reflejar esto. Aquí están los pasos para lograrlo usando nuestro ejemplo.
- Inicia una sesión de edición.
- En la tabla Fire Personnel, selecciona el registro de Brian Butler.
- En el campo Number_, cambia el valor a 1714 (el número ID para la estación Adams).
- Cierra la tabla y guarda tus ediciones.
- Haz clic en la estación Adams con la herramienta Identificar.
- Brian Butler ahora aparece en la lista del personal asociado con la estación Adams.

- Haz clic en la estación Washington con la herramienta Identificar.
- El registro de Brian Butler ya no aparece.

¿Por qué usar una clase de relación?
Los relates son útiles para acceder y ver rápidamente información sobre el mundo real que está almacenada realmente en dos tablas diferentes. Sin embargo, las clases de relación ofrecen capacidades más potentes.
Además de seleccionar registros en una tabla y ver registros relacionados en otra, con una clase de relación puedes establecer reglas y propiedades que controlan lo que sucede cuando se editan datos en cualquiera de las tablas, así como asegurar que solo se realicen ediciones válidas. Puedes configurar una clase de relación para que al editar un registro en una tabla se actualicen automáticamente los registros relacionados en la otra tabla.
Usando el ejemplo anterior, supongamos que se crea una clase de relación entre la capa Estaciones De Bomberos y la tabla del personal. La ciudad tiene un requisito que todas las estaciones tengan un mínimo de cinco bomberos y un máximo de 15 bomberos. Se ha creado una regla para la clase de relación que refleja este requisito.
Al final del ejemplo del relate, la estación Washington tenía cinco bomberos asignados. Ahora, con la clase de relación implementada, si alguien intenta asignar un número diferente a uno de los bomberos asignados a esa estación Washington, aparecerá un mensaje error y entenderán que existe una regla que requiere que todas las estaciones tengan al menos cinco bomberos asignados. Antes editar el número asignado a un bombero existente deberán asignar un nuevo bombero a esa estación Washington. Después podrán cambiar el número asignado al bombero existente para reflejar su transferencia.
La clase de relación asegura que las ediciones sean válidas y apoya el objetivo del departamento contra incendios para que las asignaciones del personal cumplan con el requisito municipal.
Recuerda
- Los relates existen solo en un mapa o archivo .lyr.
- Las clases de relación existen como objetos discretos dentro de una geodatabase. Si alguna tabla participante es eliminada desde la geodatabase, también se elimina la clase relación.
- Tanto los relates como las clases permiten a los usuarios acceder y ver información relacionada desde cualquiera tabla.
- Las clases son usadas frecuentemente para asegurar integridad en los datos. Ayudan a hacer tu geodatabase inteligente.
Se podría decir mucho más sobre relates y clases pero por simplicidad terminamos aquí. Esperamos haber disipado algo confusión. Para más información sobre este tema consulta este tema ayuda.