Consulta de información vectorial. (I) Bases de Datos y SQL.

En esta parte vamos a ver cómo podemos obtener información de las capas vectoriales de un SIG. El tipo de información que vamos a tratar en este post se basa en las tablas de información. En el tipo de Base de Datos más sencillos, donde las files y las columnas nos ayudan a gestionar diverso tipo de información. En ocasiones la cantidad de información que tenemos es tan grande que tenemos serios problemas para poder gestionarla correctamente. Ante esta situación nace el lenguaje de consulta estructurado (SQL), el cual no es más que una manera de comunicarnos con el software para que encuentre la información que deseamos.

Este tipo de lenguaje se caracteriza por estar dividido en tres partes:

  • La primera parte corresponde a la clausula SELECT, en esta parte podemos consultar el atributo que queremos visualizar, por ejemplo, si queremos ver de una Base de Datos, un par de atributos en concreto (como nombre y número de teléfono por ejemplo), éste es el lugar idóneo para indicarlo.
  • La segunda parte del lenguaje sería aquella que comprende la tabla de la que queremos que se extraiga la información.  Esta parte vendría precedida de la cláusula FROM.
  • La tercera parte sería la parte condicional, que es donde le vamos a decir al programa cual es el criterio que queramos que tenga nuestra consulta y que viene precedida de la cláusula WHERE. En esta parte podemos cribar datos tanto cuantitativos como cualitativos y combinar las distintas condiciones a través de operadores lógicos, como AND, OR, NOT y XOR.

Por ejemplo, pensad que quisiéramos consultar en una tabla de información los campos referidos al nombre de los yacimientos, y sólo aquellos que tuvieran un área más pequeña que 1000 m2.  La consulta vendría a ser algo así.

SELECT nombre, area FROM yacimientos WHERE area<1000

Constructor de consultas SQL en pgAdmin III

Bases de Datos Relacionales

El lenguaje SQL gana en complejidad en el momento que procedemos a realizar consultas relacionales ¿Esto que quiere decir? Significa que podemos hacerle consultas a varias tablas a la vez, siempre y cuando estén relacionadas a través de los diferentes campos de los que dispongan las tablas que conforman esa Base de Datos relacional. Esto nos es muy útil cuando estamos trabajando con Bases de Datos relacionales como Postgresql  con su extensión espacial Postgis.

El aspecto relacional es muy interesante en tanto en cuanto nos permite poner en contacto diferentes aspectos de una realidad, como pueda ser un yacimiento en concreto, o incluso varios yacimientos entre sí en las que todos comparten una o más variables. No obstante, en este aspecto con la arqueología nos podemos encontrar con un obstáculo, ya que las informaciones que disponemos de las intervenciones no siempre son todo lo completas como quisiéramos, ya bien sea por la época en la que se realizó la intervención o bien sea porque se buscaban poner de relieve unos aspectos y no otros. Esta cualidad de la disciplina arqueológica hace que por ejemplo uno de los principios que ha de regir toda Base de Datos, como la integridad de los datos, pueda verse afectado y con ello la eficacia de la misma. Sin embargo, no debemos de dejar de aprovechar la potente capacidad de gestión de información que nos brinda esta tecnología informática.

Ejemplo de relaciones entre tablas con OpenOffice Base. Fuente: elaboración propia.

Deja un comentario