Download Bases de Datos y Consultas

Document related concepts

Base de datos espacial wikipedia , lookup

Base de datos relacional wikipedia , lookup

Modelo relacional wikipedia , lookup

Modelo de base de datos wikipedia , lookup

Vista (base de datos) wikipedia , lookup

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