Download Bases de Datos y Consultas
Document related concepts
Transcript
TALLER DE PLANIFICACIÓN ANÁLISIS TERRITORIAL MEDIANTE SIG BASES DE DATOS Podemos definir base de datos (BD) como un cuerpo de datos relacionados que son almacenados de forma estructurada (UNIGIS, 20052). Las BD son un componente fundamental de los SIG vectoriales, ya que la información temática (atributos) de este modelo de datos se almacena en forma de BD y es gestionada por un Sistema Gestor de Base de Datos (SGBD). Por tanto merece la pena detenernos brevemente en explorar algunas cuestiones básicas acerca de ellas. Desde nuestra perspectiva, el interés por las bases de datos se centra en el diseño lógico de la misma, esto es, en la forma en la que los datos se relacionan entre sí, además de cómo realizar consultas a las mismas para “explotar “ toda la información contenida en ellas con nuestro SIG. EL MODELO RELACIONAL: LAS TABLAS Existen diversos modelos de BD, si bien será de nuestro interés el modelo relacional, en el que todos los datos aparecen almacenados en diferentes tablas bidimensionales (filas y columnas), (generalmente una base de datos relacional está compuesta por muchas tablas), que se relacionan entre sí por medio de columnas compartidas (figura 1). Alumno J.Romera A.Espejo A.Benitez M.Izquierdo Cod_Asignatura 002 004 005 005 DNI 4444 7777 6666 5555 Asignatura Bases Datos SIG Análisis espacial CAD Visual Basic Geomarketing Bases Datos Cod_Asignatura 001 002 003 004 005 006 007 Curso 1º 1º 1º 1º 2º 2º 2º Figura 1. Relación entre tablas mediante columnas compartidas. Elaboración propia Cada fila de una tabla debe ser única y por ello cada una de ellas (registro) presenta un/as columna/s (campo/s) que deben permitir distinguirla de forma única. Este/os campo/s sirven para enlazar la tabla con otras tablas de la base de datos y así relacionar diversos conjuntos de datos. El nombre que se le da a este campo “especial” es el de clave primaria. Generalmente suele estar constituida por un código numérico que permite identificar sin errores cada fila (tabla 1) 2 UNIGIS (2005): Bases de Datos Espaciales: Estructuras y Modelos. Postgrado UNIGIS en Sistemas de Información Geográfica. Universidad de Girona. BASES DE DATOS: 1 TALLER DE PLANIFICACIÓN ANÁLISIS TERRITORIAL MEDIANTE SIG Asignatura Bases Datos SIG Análisis espacial CAD Visual Basic Geomarketing Bases Datos Cod_Asignatura 001 002 003 004 005 006 007 Curso 1º 1º 1º 1º 2º 2º 2º Tabla1: Clave Primaria en una tabla del modelo relacional. Suele venir representada por valores numéricos. Fuente: Elaboración propia. El modelo relacional además posee un conjunto de “normas” que deben cumplir las tablas y que garantizan que sean “relacionalmente” correctas, lo que permitirá un buen funcionamiento de la base de datos. Estas normas consisten en establecer conjuntos de características a cumplir por las tablas. A cada conjunto de características se le denomina FORMA NORMAL, de tal forma que existen Primera Forma Normal, Segunda Forma Normal,… siendo cada una de ellas más restrictiva en lo que respecta a las características a cumplir por las tablas. En un principio se establecieron de forma genérica 3 formas normales, aunque hoy en día, y para casos muy complejos podemos hablar de cuarta y quinta forma normal. Básicamente las sucesivas formas normales consisten en simplificaciones de tablas, tendentes dividir las tablas en tablas más pequeñas y establecer relaciones entre ellas. De esta forma se evita mucha duplicidad de información y mucho tiempo de manejo y gestión de la base de datos. Podemos decir de forma resumida y simplificada, que las formas normales consisten en que “cada atributo que no sea clave debe ser dependiente de la clave primaria (1FN), de toda la clave (2FN) y de nada más que de la clave (3FN)”. A continuación se presenta una tabla sin normalizar, y cómo quedaría tras su paso a tercera forma normal, lista para implementarse en un SGBD. Tabla no Normalizada Alumno A.Montoro Edad 18 CodA 0601 Asignaturas Análisis esp. CodAsg 003 Curso 1º Dpto Geografía Profesor M.Hills C.Pérez F. Rodrigo R.Fernández M.Molinero J. Pedrós 20 19 22 21 19 0602 0603 0604 0605 0606 CAD Visual Basic Geomarketing Visual Basic Geomarketing Bases de datos 004 005 006 005 006 001 1º 2º 2º 2º 2º 1º Dibujo Ing Software E. Aplicada Ing Software E. Aplicada Ing Software L.Sánchez I.Gómez S. Martín I.Gómez S. Martín F. López D.Lozano S. Sevilla I. Manzano 18 23 19 0607 0608 0609 Geomarketing CAD Bases de datos SIG 006 004 007 002 2º 1º 2º 1º E. Aplicada Dibujo Ing.Software Geografía S. Martín L.Sánchez A. Pérez M. Hills BASES DE DATOS: 2 TALLER DE PLANIFICACIÓN ANÁLISIS TERRITORIAL MEDIANTE SIG Tablas en 3FN Alumnos Alumno A.Montoro C.Pérez F. Rodrigo R.Fernández M.Molinero J. Pedrós D.Lozano S. Sevilla I. Manzano Matriculados CodA 0601 0601 0602 0603 0604 0605 0606 0606 0607 0608 0609 CodA 0601 0602 0603 0604 0605 0606 0607 0608 0609 CodAsg 001 004 005 006 005 006 001 006 004 007 002 Asignaturas Nombre Bases Datos SIG Análisis espacial CAD Visual Basic Geomarketing Bases Datos Profesores Nombre S. Martín I.Gómez F. López L.Sánchez A. Pérez M. Hills Edad 18 20 19 22 21 19 18 23 19 CodProf 01 02 03 04 05 06 CodAsg 001 002 003 004 005 006 007 CodProf 03 06 06 04 02 01 05 Dtpo E. Aplicada Ing Software Ing Software Dibujo Ing Software Geografía CONSULTAS A LA BASE DE DATOS. Igualmente, es otro aspecto de interés la forma en la que los usuarios de una base de datos se comunican con el SGBD, para realizar consultas (que son expresiones que contienen atributos, operadores y valores) y obtener información de la misma. Existe un lenguaje que nos permite llevar a cabo la “interrogación” de la base de datos, que se denomina SQL (Structured Query Language). Este lenguaje incluye un conjunto de funciones de búsqueda y recuperación de la información basado en la lógica booleana. Funciona muy bien para llevar a cabo operaciones de búsqueda con la componente temática de los datos (atributos), pero sin embargo, para llevar a cabo operaciones de consulta espacial no podemos decir lo mismo, por lo que para este tipo de consultas BASES DE DATOS: 3 TALLER DE PLANIFICACIÓN ANÁLISIS TERRITORIAL MEDIANTE SIG los software SIG han desarrollado herramientas específicas, que veremos más adelante. En ArcGIS 9.0, para realizar las consultas temáticas existe una interfaz que nos permite construir las consultas en el lenguaje SQL de forma muy sencilla. Estas consultas nos permiten seleccionar los registros que cumplan condiciones especificada en la misma. Por ejemplo, podríamos “preguntarle” a la BD qué municipios, de una capa de municipios de toda Andalucía, pertenecen a la provincia de Granada. También podríamos preguntarle qué municipios tienen más de 20 km2, o qué municipios pertenecen a la provincia de Almería y tienen más de 5000 habitantes, o los que pertenecen a Córdoba y tienen una densidad de población mayor de 50 Hab/km2. Como podemos ver, las consultas constituyen una herramienta muy poderosa de explotación de la información. La estructura de una consulta en lenguaje SQL en ArcGIS es la siguiente: SELECT * FROM (Nombre de la capa) WHERE + Atributo 1 por el que realizaremos la consulta + Operador aritmético ( =, >, <, < >, > =, < = ) + Valor del atributo 1 + Operador lógico (AND, OR …) + Atributo 2 + Operador aritmético + Valor del atributo 2 + Operador lógico +… Un ejemplo de consulta en la que se lleve a cabo una selección por un único atributo podría ser el siguiente: SELECT * FROM “Municipios” WHERE “Población” > = 20.000 Que nos seleccionaría aquellos municipios con una población igual o mayor a 20 mil habitantes. Otro ejemplo de consulta más compleja, en las que se especifiquen varias condiciones a cumplir, requiere del empleo de operadores lógicos como AND y OR, que nos permitan enlazar las distintas condiciones. SELECT * FROM “Municipios” WHERE "Provincia" = 'ALMERIA' AND "Area" >20000000 Que nos seleccionaría los municipios que pertenecen a la provincia de Almería que además poseen una superficie mayor de 20 km2. Para poder acceder a estas consultas en ArcGIS 9.0 desde la ventana de la tabla de atributos, en el menú Options, seleccionamos el comando . Igualmente también podemos acceder desde el menú Selection\ Select by attributes. Nos aparece el siguiente cuadro de diálogo, en el que podemos realizar la consulta: BASES DE DATOS: 4 TALLER DE PLANIFICACIÓN ANÁLISIS TERRITORIAL MEDIANTE SIG Para construir la consulta de acuerdo con la estructura comentada anteriormente, empezamos marcando el atributo (campo) por el que vamos a seleccionar. Por ejemplo, queremos seleccionar los municipios de la provincia de Granada de la capa municipios.shp, por lo que debemos cargar en primer lugar esta capa. 1º Hacemos doble clic en “provincia” 2º Seleccionamos el operador mediante doble clic. La provincia debe ser igual a Granada, luego seleccionaremos el operador =. Otros operadores son el mayor (>), menor (<) mayor o igual (>=), menor o igual(<=) o distinto (< >) 3º Hacemos clic en “Get Uniques Values” de manera que nos aparecen los distintos valores del campo seleccionado, en nuestro caso provincia 4º Hacemos doble clic en “Granada” que sería la condición a cumplir, y pulsamos Apply. El resultado debe parecerse al siguiente: BASES DE DATOS: 5 TALLER DE PLANIFICACIÓN ANÁLISIS TERRITORIAL MEDIANTE SIG Figura X: Resultado de la consulta de selección de los municipios de la provincia de Granada Finalmente explicaremos el cuadro “method”, situado en la zona superior del cuadro de diálogo de consultas. Esta opción nos permite elegir el método de selección que emplearemos al realizar una nueva consulta: generar una nueva selección, seleccionar de un conjunto previamente seleccionado, añadir a una selección… Si seleccionamos nueva selección, seleccionará los elementos de toda la capa que cumplan la/s condición/es. Si seleccionamos añadir a la selección, añadirá a la selección preexistente los elementos de toda la capa que cumplan la/s condición/es. Si seleccionamos eliminar de la selección, eliminará de los elementos seleccionados los que cumplan la/s condición/es especificada/s Y finalmente, si empleamos seleccionar de la selección, únicamente marcará aquellos elementos de entre los que se encuentran seleccionados que cumplan la/s condición/es establecidas. Ya conocemos cómo funcionan las consultas en ArcGIS 9.0… ahora sólo queda practicar con ellas para realizar distintas selecciones empleando diversos atributos, cambiando el método de selección… ¡¡Os recomiendo que practiquéis con esta herramienta, puesto que nos será de gran utilidad!!. BASES DE DATOS: 6