SQL_pgadminNo dejamos de escuchar hablar de este lenguaje, de la importancia que tiene dentro del uso de las nuevas tecnologías y , como no, dentro del mundo de los GIS. En este breve post tratamos de hacer una breve introducción al mismo

¿Qué es SQL?

Para empezar, SQL son las siglas en inglés de Structured Query Language, que en español sería Lenguaje de Consultas Estructurado. Se trata de un lenguaje de programación diseñado para crear bases de datos relacionales y ofrecer las capacidades necesarias para su manipulación.

Sin embargo, para entender mejor lo anterior vamos a dedicar unos párrafos a aclarar ciertas ideas:

Primero, ¿qué es un Sistema de Gestión de Bases de Datos (SGBD)?

Una de las razones por las cuales construimos una base de datos es la de poder filtrar o consultar la información que necesito en cada instante. Un SGBD nos permite convertir una simple tabla o sistema de tablas de datos en algo útil con el que podamos realizar nuestros análisis para una posterior toma de decisiones.

Oracle, Microsoft SQL Server, Microsoft Access o IBM DB2 son ejemplos de sistema de gestión de bases de datos propietarios, es decir, de pago.

Segundo, ¿qué es un Sistema de Gestión de Bases de Datos Relacional (SGBDR)?

La forma en que puede estructurarse la información es muy variada, pero a lo largo de los últimos años, han sido las bases de datos relacionales las que se han ido imponiendo. Hoy día se están realizando muchos avances con otro tipo de estructuras debido, sobre todo, a la llegada del Big Data. Sin embargo, en el mundo GIS la información viene dada por tablas que están, en muchas ocasiones, relacionadas entre ellas.

Ejemplo de tablas de datos relacionadas en la que tenemos tres bases de datos. Todas ellas tienen en común información sobre Madrid. Para poder realizar un análisis más completo, nos es necesario que exista un sistema que las relacione.

Por tanto, a nosotros lo que nos va a interesar es aprender a gestionar de la forma más eficiente posible las bases de datos relacionadas. Los sistemas de gestión open source que hay en el mercado son: PostgreSQL, que en el sector Geo lo implantamos con la extensión PostGIS y MySQL.

Ambos son de especial interés para cualquier profesional de los GIS que quiera dar un paso adelante en su carrera, y ambos se apoyan en el lenguaje de programación SQL para su gestión. Además, una plataforma tan importante como es ArcGIS también hace uso de SQL para sus consultas a datos.

 

En este otro post podéis ver cómo se trabaja con SQL y ArcGIS

 

Algunos ejemplos de código en SQL:

Creación de una base de datos llamada “Paises”:

Creación de una tabla denominada “misPaises”, con tres columnas cuyos campos son dos cadenas de caracteres y un número entero:

 

Selección de los nombres de las capitales con más de 3 millones de habitantes:

 

 

Como podéis ver en estos ejemplos SQL es un lenguaje que pretende ser (y creo que lo consigue) lo más natural posible, facilitandonos mucho su comprensión y aprendizaje.

 

Los ejemplos que he escrito pertenecen al SQL estándar que se estableció en 1992. A partir de éste han ido apareciendo “dialectos” que son los utilizados por cada uno de los Sistemas de Gestión de Bases de Datos Relacionales que hay en el mercado. Es decir que, el SQL utilizado por MySQL no es el mismo que el de PostGIS o el que viene incorporado en ArcGIS aunque todos parten de una misma base.

En este otro post podéis ver cómo se trabaja con SQL y ArcGIS