¿Cuándo es seguro usar ObjectIDs como claves en una clase de relación?

14

Siempre he evitado usar ObjectIDs al definir clases de relaciones. Tengo entendido que algunas acciones en una geodatabase restablecerán los ID de objeto (como importar / exportar). Sin embargo, veo a mucha gente usándolos.

¿Estoy siendo paranoico o hay casos en los que es seguro usar ObjectIDs al definir una clase de relación?

    
pregunta Kirk Kuykendall 25.01.2011 - 18:22

2 respuestas

16

Los ID de objeto solo se mantienen mediante Copiar / Pegar. Ninguna herramienta de importación o exportación los mantiene. En general, no se recomienda a los ObjectID del usuario en las clases de relación. Si todos sus datos son realmente estáticos, debería funcionar bien, pero siempre habrá un riesgo al importar o exportar los datos.

    
respondido por el Lance Shipman 25.01.2011 - 18:43
4

Siempre que sea posible, baso las relaciones en otros campos clave. El uso de ObjectID me ha presentado problemas en el pasado por las razones exactas que menciona Lance. En los proyectos en los que los datos que se transfieren entre nuestro servidor SDE y un servidor de clientes, usar el ObjectID para relacionar tablas significa tener que realizar varias maquinaciones en las tablas para mantener relaciones.

Incluso si no hay un plan para mover los datos, prefiero usar un campo diferente para las claves. Mi experiencia es que los clientes generalmente no entienden completamente las implicaciones de sus acciones en las bases de datos GIS y a menudo rompen las cosas sin darse cuenta. He tenido casos en los que los clientes mueven los datos de una manera que altera el ID de objeto. Mis proyectos suelen incluir algún código personalizado para ir junto con la base de datos y no me gusta confiar en que los clientes entiendan el sistema para evitar fallos. Por lo tanto, prefiero usar otros campos para las claves primarias y para las relaciones, campos que puedo controlar.

    
respondido por el Jeff Berry 26.01.2011 - 18:42

Lea otras preguntas en las etiquetas