Manejar una o varias bases de datos es esencial para muchas áreas laborales fuera y dentro del campo de la gestión de recursos hídricos. Dentro de este rubro de la gestión del agua, se suele tener bases de datos espaciales, los cuales pueden ser trabajados a través de Softwares Gis, como archivos ESRI Shapefile.
Es en este contexto de objetos, archivos vectoriales y sus tablas de atributos, en el que se trabajarán las definiciones y ejemplos mostrados en este post. A continuación, se verá qué es el lenguaje SQL, los elementos que lo conforman y algunos ejemplos aplicados al manejo de datos espaciales (Descargue aquí el archivo Shape de puntos con el que se harán los ejemplos).
¿Qué es el lenguaje SQL?
El lenguaje SQL es llamado así por sus siglas en inglés Structured Query Language o lenguaje de búsqueda estructurado. Este lenguaje fue desarrollado para la creación, manipulación y consulta dentro de una base de datos, sin importar su rubro o campo. En un inicio se buscó que fuese un código estándar pero en la actualidad se ha adaptado a cada programa, por lo que varía de software en software, pero la estructura es muy similar entre sí.
¿Cómo se usa el lenguaje SQL?
Por razones prácticas se separará la estructura de las sentencias SQL aplicada a QGIS en:
Operador: Símbolo simple o compuesto que tiene un significado especial, por ejemplo los operadores aritméticos como adición y sustracción.
Dato: Todo objeto que se utiliza como input para la sentencia. Ellos pueden ser Campos o Constantes. Los campos son los parámetros en donde se señala una característica del objeto espacial. Además, las Constantes son los símbolos que representan un valor específico, el cual dependerá del tipo de dato que es.
Tipos de operadores
Los operadores se dividen en operadores propiamente dichos, condicionales, funciones matemáticas, conversiones, funciones de día y hora y funciones geométricas.
Tipos de datos
En el programa QGis sólo se cuentan con 4 tipos de datos:
Date: Fecha, con formato: aaaa-mm-dd
Integer: Número entero
Real: Número real
String: Texto
Los nombres de los tipos de datos varía de acuerdo al software al que se ha adaptado el lenguaje SQL, pero siempre se mantienen estos 4.
Algunos ejemplos de aplicación
1. Para la sentencia "Fecha" >= '2008/01/28', podemos identificar los siguientes elementos:
Utilizando esta sentencia es posible seleccionar aquellos objetos cuya característica Fecha sea mayor al 2008/01/28.
2. Para la sentencia condicional CASE WHEN:
Es posible utilizar esta sentencia para etiquetar los objetos del archivo Shape de puntos. De esta manera se entiende que cuando el campo "Hierro D" es mayor a 0.3, la etiqueta será el valor de "Hierro D" seguido por el texto "mg/L", por otro lado si el campo "Hierro D" es menor a 0.3, la etiqueta será el texto "Supera el Estándar"; en caso que no haya dato no habrá ninguna etiqueta. Así, se obtiene la siguiente imagen: