Relaciones de SQL Server en ArcSDE?

9

Estoy ejecutando ArcSDE 10 con SQL Server 2008 R2 Standard Edition. Soy nuevo en SDE y SQL Server, pero entiendo que SQL Server tiene la capacidad de crear relaciones entre tablas y mantener ciertas reglas de integridad referencial.

ArcGIS tiene clases de relación que actúan de manera similar, pero una clase de relación no tiene todas las características de las relaciones SQL y no da como resultado una relación SQL en la base de datos de ArcSDE.

¿Es posible crear clases de relación en ArcGIS para una base de datos de ArcSDE y crear relaciones para las mismas tablas en SQL Server? Al hacerlo, podré utilizar estas relaciones si estoy trabajando con los datos en ArcGIS o en SQL Server Management Studio. ¿Los dos tipos de relaciones entrarán en conflicto entre sí u obstaculizarán el rendimiento?

Brian
fuente
Esto es solo una suposición (por lo que no es una respuesta), pero apostaría que agregar relaciones podría causar algunos conflictos a menos que tenga mucho cuidado. En una nota lateral importante, si está versionando sus tablas, no desea leerlas desde el lado SQL, solo desde el lado SIG. La lectura desde el lado SQL solo muestra la versión más antigua de los datos (y no los cambios que se han realizado que constituyen las versiones).
Michael Todd
@MichaelTodd - Gracias por tu respuesta. He oído sobre los problemas con el acceso a datos versionados a través de SQL Server. Sin embargo, también he escuchado que esto es posible utilizando vistas con múltiples versiones. Todavía soy un novato con estas cosas, así que no estoy exactamente seguro de lo que eso significa, pero mi conclusión es que es posible. Solo estoy descubriendo que cuando se trata de la gestión de datos en ArcSDE, ArcGIS es el enlace más débil.
Brian
1
Sí, una vista de múltiples versiones funciona, pero es mucho más lenta. Pasamos de consultas secundarias de 1 segundo a consultas de 4 segundos cuando cambiamos a MVV (que no parece mucho, pero el retraso fue muy notable tanto a nivel interno como externo).
Michael Todd

Respuestas:

7

SDE y SQL no son realmente amigos. No cooperan muy bien. SDE usa sql pero no aprovecha todas sus capacidades nativas. Una relación establecida en sde no se refleja en SQL. La edición de tablas de clases de entidad administradas por SDE, la modificación de los esquemas de tabla fuera del catálogo, así como la realización de muchas otras cosas, harán que SDE se convierta. Dado este historial, dejaría las relaciones a SDE si está tratando de relacionar información de clase de entidad. Si está usando tablas regulares, corte sde y use sql nativo.

No hay referencias para esto aparte de mis propias experiencias. Si se trata de materiales sin fuente, dispute o elimine esto.

Steve
fuente