Un recorrido rápido por el uso de SQL con geodatabases de ArcSDE
Puede usar SQL para acceder a los datasets existentes y a sus propiedades, y editar los datasets versionados y no versionados en geodatabases de ArcSDE.
También puede usar SQL para crear tablas que pueden registrarse con ArcSDE y la geodatabase. Estas tablas pueden contener tipos espaciales y de rásteres de SQL; o bien, pueden contener solo atributos no espaciales.
Cuando accede a una geodatabase con SQL, accede a esta al nivel del sistema de administración de bases de datos (DBMS). Eso significa que los comportamientos y la funcionalidad que implementa ArcSDE, la geodatabase o los clientes ArcGIS no se implementan cuando usa SQL.
En lo que respecta a SQL, usted accede a tablas en una base de datos. Por consiguiente, cuando ejecuta los comandos SQL en los datos de la geodatabase, puede ver datos e información sobre los datos pero no debe alterar ningún dato que participe en el comportamiento de la geodatabase. Consulte Qué tipo de datos puede editarse con SQL para obtener más información.
Además, si su DBMS requiere que un cliente acceda a la base de datos, debe instalar y configurar el cliente del DBMS para poder conectarse directamente a la base de datos.
Usar SQL para acceder a los datos de la geodatabase
Puede usar declaraciones SELECT de SQL para devolver datos de datasets existentes en las geodatabases. Si consulta datasets versionados en geodatabases de ArcSDE, debe usar vistas multiversionadas.
Las vistas multiversionadas incorporan vistas de bases de datos, procedimientos almacenados, desencadenadores y funciones para acceder a una versión especificada de los datos de una tabla de geodatabase mediante Lenguaje estructurado de consultas (SQL).
Cuando se accede a un dataset versionado por medio de una vista multiversionada, se seleccionan todos los registros en la tabla de negocios y se fusionan con los registros de las tablas delta para construir una vista que incluye todos los cambios realizados en la tabla de negocios dentro del contexto de la versión especificada.
Para acceder y analizar datos espaciales simples con SQL, use las funciones SQL espaciales que se instalan con el tipo espacial. Cada tipo espacial tiene su propio conjunto de funciones. Estas funciones evalúan relaciones espaciales, realizan operaciones espaciales, y devuelven y establecen propiedades espaciales. Consulte Relaciones espaciales, Operaciones espaciales y Propiedades de geometría para obtener una vista general de esta funcionalidad.
Usar SQL para acceder a las propiedades de los datasets
Puede usar declaraciones SELECT de SQL para obtener las propiedades de datasets existentes en las geodatabases de ArcSDE.
Las propiedades de los datasets se almacenan en las tablas del sistema de geodatabase. Para obtener esta información, consulte las columnas específicas en las tablas del sistema. En algunos casos, estas columnas contienen documentos XML que puede consultar con expresiones de XPath para obtener información de la propiedad. Esto es verdadero para geodatabases almacenadas en bases de datos en IBM DB2, PostgreSQL y Microsoft SQL Server. Para geodatabases en Oracle, puede acceder a vistas del sistema para leer el texto sin formato en una columna CLOB.
Editar datos de geodatabase con SQL
Puede usar el SQL nativo del DBMS para editar los datos de atributos simples no espaciales en la geodatabase. También puede usar las funciones SQL espaciales instaladas con tipos espaciales para alterar los datos espaciales simples con SQL.
También puede usar SQL para editar datasets versionados y no versionados en geodatabases de ArcSDE. Sin embargo, debe editar datasets que participen en la funcionalidad de la geodatabase, tal como se mencionó anteriormente en este tema.
Cuando edita datos no versionados, debe usar SQL para insertar valores únicos a los campos de Id. global, Id. de objeto y GUID.
Debe usar vistas multiversionadas para editar datos versionados. Esto asegura que los objetos se insertan a las tablas delta durante la edición. Las vistas multiversionadas también insertan automáticamente valores únicos a los campos de Id. de objeto.
Crear tablas con SQL para que se usen con ArcGIS
Puede usar el SQL nativo del DBMS para crear y completar las tablas. Tanto las tablas espaciales como no espaciales que cree con SQL pueden usarse con ArcMap. Puede representar tablas espaciales en ArcMap mediante la creación de capas de consultas. Los atributos, tanto en tablas espaciales como no espaciales, también pueden verse directamente en ArcGIS. Ambas capas de consulta y la posibilidad de acceder directamente a las tablas son útiles si tiene tablas que funcionan con otro sistema en su sitio y desea poder acceder a esas tablas a través de ArcGIS o unirlas en tablas en la geodatabase.
Si desea que las tablas usen la funcionalidad de la geodatabase, registre la tabla con ArcSDE y la geodatabase. Recuerde, sin embargo, que una vez que las tablas usan la funcionalidad de geodatabase, no puede editarlas con SQL.
Para obtener instrucciones, consulte el Ejemplo: registrar una tabla espacial con ArcSDE, Ejemplo: registrar una capa con una geodatabase y Flujo de trabajo: crear una tabla con SQL y registrarla con ArcSDE y la geodatabase.