2 votos

Diferencias entre dialectos SQL en QGIS vs ArcView vs Oracle

Soy un poco nuevo con las consultas SQL y hay algo que no entiendo: Una consulta SQL en QGIS se escribe de manera diferente a la misma consulta en ArcView y probablemente también se escribirá de manera diferente si quiero consultar una base de datos Oracle utilizando una herramienta de Oracle. ¿Es como si SQL fuera un lenguaje y cada software utilizara su propia jerga del mismo lenguaje?

EDITAR: ¡Gracias por las respuestas! Ahora bien, ¿sabéis de alguna documentación en algún sitio que me enseñe a hacer una consulta en la calculadora de campos de QGIS? Puedo hacer una simple utilizando las funciones implementadas, pero ¿qué pasa con algo más complejo (utilizando el caso cuando, donde, y así sucesivamente) ?

5voto

aditya Puntos 111

En las aplicaciones SIG, a menudo SELECT * FROM de la expresión SQL, por lo que el usuario sólo tiene que introducir la expresión WHERE cláusula.

Además, las aplicaciones a menudo abstraen el lenguaje SQL para facilitar su uso y comprensión por parte de sus clientes (que pueden no conocer las normas ANSI SQL), y optan por aplicar su propia implementación del lenguaje SQL en aras de la coherencia. En algunos casos, como ArcGIS, la sintaxis cambia en función del RDBMS subyacente .

Para consultar datos basados en archivos, incluidas geodatabases de archivos, coberturas, shapefiles, tablas INFO, tablas dBASE y datos CAD y VPF, se utiliza el dialecto SQL de ArcGIS que admite un subconjunto de capacidades SQL. Para consultar geodatabases personales, se utiliza la sintaxis de Microsoft Access. Para consultar una geodatabase ArcSDE, se utiliza la sintaxis SQL del DBMS subyacente DBMS subyacente (es decir, Oracle, SQL Server, DB2, Informix o PostgreSQL).

Por ejemplo:

  • Al consultar archivos shape, los campos deben ir entre comillas dobles: "ÁREA"
  • Cuando se consulta una geodatabase personal, los campos se encierran entre corchetes: [ÁREA]
  • Cuando se consulta una geodatabase de archivos, los campos se encierran entre corchetes: "ÁREA"
  • Al consultar ArcSDE: depende de la fuente.

NOTA: Los operadores SQL, las palabras reservadas y las funciones también pueden depender de la base de datos cuando se utiliza esta metodología para "pasar a través" del dialecto SQL. Consulta de DATE puede resultar especialmente difícil debido a las expectativas de formato.

3voto

Alessandro Cuttin Puntos 116

¿Es como si SQL fuera un idioma y cada programa utilizara su propia jerga del mismo idioma?

Es exactamente así.

3voto

Biz Puntos 11

En realidad existen normas SQL, véase también esto Artículo de Wikipedia pero este estándar sólo está implementado en las principales bases de datos objeto-relacionales, como PostgreSQL o MySQL.

Lo que QGIS utiliza en su calculadora de campos es una especie de lenguaje de consulta personalizado con una sintaxis que se asemeja a SQL pero que está muy lejos de implementar cualquier estándar. El sitio Documentación de QGIS lo dice explícitamente:

QGIS dispone de cierto soporte para el análisis sintáctico de expresiones de tipo SQL. Sólo se admite un pequeño subconjunto de sintaxis SQL.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X