Presentación del módulo

Sistema de
Información
Geográfica
Ingeniero Agrimensor
Tecnólogo en Cartografía
Componente Temática

Componente temática: Responde a la
pregunta “¿qué?” y “¿cómo?”. Son las
características que se conocen como
atributos de los objetos con los que
representamos el mundo real. Cada objeto
puede registrar un determinado valor para
sus atributos (variables), los cuales pueden
presentar cierta regularidad en el espacio y
en el tiempo y, además, pueden ser de
distinto tipo y escala de medida.
Bases de datos (I)



“Conjunto de datos estructurado y almacenado de
forma sistemática con objeto de facilitar su posterior
utilización”. (Base de datos, BD)
“Conjunto de información interrelacionada,
almacenada digitalmente”. (Base de datos, BD)
Una BD puede estar constituida por cualquier tipo
de datos, incluyendo los de tipo puramente
espaciales, datos numéricos (números),
alfanuméricos (textos), fechas, blobs, etc.. Tienen
como objetivo el de satisfacer la necesidad de
información de algún ente u organización.
Bases de datos (II)


Operaciones básicas: Toda BD debe permitir
añadir, modificar, eliminar y consultar los datos
que almacena.
A estas cuatro operaciones básicas se las conoce
como CRUD : Create, Read, Update and Delete
(Crear, Leer, Actualizar, Borrar).
Bases de datos (III)


“Conjunto de programas desarrollados con el fin
de organizar la información disponible en una
base de datos. Normalmente suele contener
rutinas que permiten la entrada, almacenamiento,
verificación, combinación y recuperación de
datos.” (Manejador de Base de Datos, DBMS)
El DMBS es el encargado de administrar la base
de datos, realizando funciones como inserción,
borrado y modificación de datos. El DBMS es un
software (y a veces hardware y firmware).
Bases de datos (IV)
Ventajas de las BD:
 Mayor independencia: Los datos son
independientes de las aplicaciones que los usan,
y de los usuarios.
 Mayor disponibilidad: Se facilita el acceso a los
datos desde contextos, aplicaciones y medios
distintos.
 Mayor seguridad: Datos mas protegidos.
Bases de datos (V)
Ventajas de las BD:
 Menor redundancia; Un mismo dato no se
encuentra almacenado en múltiples ficheros o
con múltiples esquemas distintos, sino en una
única instancia en la base de datos. Esto redunda
en menor volumen de datos y mayor rapidez de
acceso.
 Mayor eficiencia en la captura, codificación y
entrada de datos.
Bases de datos (VI)
Ventajas de las BD:
 Mayor coherencia: La mayor calidad de los datos
que se deriva de su mejor gestión deriva en mayor
calidad de los resultados.
 Mayor eficiencia: Facilitando el acceso a los datos
y haciendo más sencilla su explotación, la
obtención de resultados es más eficiente.
 Mayor valor informativo: Es más sencillo extraer
la información que los datos contienen, ya que uno
de los cometidos de la base de datos es aumentar
el valor de estos como fuente de información.
Bases de datos (VII)
Ventajas de las BD:
 Mayor facilidad y sencillez de acceso: El usuario
de la base de datos se debe preocupar únicamente
de usar los datos, disponiendo para ello de las
herramientas adecuadas y de una estructura solida
sobre la que apoyarse.
 Facilidad para reutilización de datos: Esto es
una mayor facilidad para compartir.
Modelos de Bases de datos (I)
Dependiendo de la estructura utilizada para construir
una base de datos podemos encontrar:
 Bases de datos jerárquicas.
 Bases de datos en red.
 Bases de datos relacionales.
 Bases de datos orientadas a objetos.
Modelos Relacional (I)



Constituyen el modelo de bases de datos mas
utilizado en la actualidad.
Utilizando un esquema basado en tablas, que
resulta a la vez sencillo de comprender y fácil de
utilizar para el análisis y la consulta de los datos.
Las tablas contienen un numero dado de
registros (equivalentes a las filas en la tabla), así
como campos (columnas), lo que da lugar a una
correcta estructuración y un acceso eficiente.
Modelos Relacional (II)
Modelos Relacional (III)




Desarrollado en 1969 por Ted Codd. Consiste en
un conjunto de “relaciones tabulares”.
Estas relaciones son tan importantes como los
propios datos (las tablas).
La característica principal es su gran
simplicidad, la cual indirectamente le dota de
una gran potencia.
Se sustenta en fundamentos matemáticos
sólidos; sus ideas pueden expresarse mediante
conceptos de la “teoría de conjuntos”.
Modelos Relacional (III)




Desarrollado en 1969 por Ted Codd. Consiste en
un conjunto de “relaciones tabulares”.
Estas relaciones son tan importantes como los
propios datos (las tablas).
La característica principal es su gran
simplicidad, la cual indirectamente le dota de
una gran potencia.
Se sustenta en fundamentos matemáticos
sólidos; sus ideas pueden expresarse mediante
conceptos de la “teoría de conjuntos”.
Modelos Relacional (IV)
Modelos Relacional (V)




La tablas se conocen como relación, ya que recoge
la relación existente entre sus elementos, (constituye
el eje central del modelo relacional).
Las columnas representan los distintos atributos
asociados a la entidad.
Las filas conforman los distintos registros. Una fila
se forma con un conjunto de varios atributos,
constituyendo una tupla.
El esquema de la relación está formado por los
nombres de los atributos y un dominio asociado a
estos (delimita el rango de valores posibles para cada
atributo).
Modelos Relacional (VI)



El esquema de la relación se recoge en la primera
la de la tabla, conocida como cabecera.
El número de tuplas se conoce como cardinalidad.
En resumen: las relaciones son un conjunto de
tuplas asociadas a un esquema. En una relación, el
orden de las filas y el de las columnas son
irrelevantes (exceptuando la cabecera que define el
esquema como hemos visto), pero es importante
que cada atributo sea del tipo correspondiente a la
columna a la que pertenece ( para mantener la
coherencia).
Modelos Relacional (VI)


Una forma abreviada de definir las relaciones que
forman parte de una base de datos es mediante
su nombre y su esquema expresado como una
lista de los atributos que lo constituyen.
Por ejemplo: podemos definir una relación
denominada PERSONAS como:
PERSONAS(CI, Nombre, Altura, Edad, Ciudad)
Modelos Relacional (VII)



Una base de datos contiene (normalmente)
varias tablas, ya que suelen ser muchos los
tipos de datos a almacenar y resulta conveniente
dividirlos en distintas tablas.
Aparte de las relaciones que la tabla implica, es
necesario definir relaciones entre las distintas
tablas, para ello se emplean los denominados
atributos clave.
Un atributo clave es aquel que tiene valor único
para cada tupla, pudiendo servir para representar
a esta plenamente.
Modelos Relacional (VIII)

Por convención, las claves se escriben subrayadas
al definir el esquema de la tabla, de tal modo que el
de la tabla PERSONAS quedará de la siguiente
forma:
PERSONAS(CI, Nombre, Altura, Edad, Ciudad)

Si no existe ningún atributo que cumpla los
requisitos para ser utilizado como clave, este puede
incorporarse al esquema de la relación, añadiendo
por ejemplo un nuevo atributo con un código
arbitrario.
Modelos Relacional (IX)
Diseño y Creación (I)


El diseño implica la definición de la estructura que
va a tener la base de datos, que se deberá
realizar teniendo en cuenta principalmente el tipo
de datos que van a almacenarse y el modelo de
base de datos elegido.
Debe adecuarse al uso previsto de la base de
datos, de tal modo que acomode los datos de la
mejor forma posible para cumplir los objetivos
enunciados anteriormente.
Diseño y Creación (II)

Debe conocerse la naturaleza de los datos que
van a almacenarse (no necesariamente datos de
los que se dispone en el momento de la creación,
sino los que se espera pasen a formar parte de la
base de datos a lo largo de su ciclo de vida), así
como la de los algoritmos y procesos que van a
emplearse sobre ellos.
Diseño y Creación (III)
Fases en el proceso global de desarrollo de una BD:
 Diseño lógico: Independiente del DBMS
empleado, es un diseño conceptual que pretende
modelar el contenido de la base de datos.
 Diseño físico: Es la adaptación del diseño
conceptual a las particularidades del DBMS
escogido.
 Implementación: Introducción de los datos en la
base de datos.
 Mantenimiento: Monitorización de la actividad
sobre la base de datos.
Evolución de las BD en los SIG (I)
Primera generación: ARCHIVOS
 Los primeros programas SIG se caracterizaban por
una ausencia completa de cualquier tipo de
almacenamiento estructurado.
 En estas aplicaciones, los datos no se veían como un
elemento más dentro de un sistema, sino como una
parte del propio software (al menos como algo
asociado únicamente a un producto particular).
 La práctica habitual era uso de archivos con formatos
cerrados, pensados para ser leídos y escritos casi de
forma exclusiva por la aplicación particular que ha de
consumirlos,
Evolución de las BD en los SIG (II)
Primera generación: ARCHIVOS
 Integrar en el SIG otros datos distintos a aquellos
para los que la aplicación no se había diseñado no
era sencillo. Existía una vinculación muy directa
entre software y datos.
 Asimismo, las funcionalidades del software eran
también específicas para esos datos, y todas ellas se
implementaban directamente en la aplicación.
 Al no existir un DBMS que se encargara de gestionar
las operaciones, era el propio SIG quien debía ser
responsable de las funcionalidades de acceso o
edición.
Evolución de las BD en los SIG (III)
Primera generación: ARCHIVOS
 Otras funcionalidades típicas de un DBMS, sin
embargo, no aparecían en estos primeros SIG, ya
que no eran necesarias. Por ej: integridad de los
datos en operaciones concurrentes de varios
usuarios no era necesario si la aplicación en sí no
estaba diseñada para permitir este acceso múltiple.
 Las únicas ventajas que pueden encontrarse en este
enfoque son las relacionadas con el rendimiento, que
podía en ciertos casos ser mayor que el esperable en
caso de utilizar un SGBD para canalizar el trabajo
con los datos (especialización).
Evolución de las BD en los SIG (IV)
Segunda generación: DB Relacionales
 Se empiezan a adaptar las características del
modelo relacional y de las bases de datos que lo
implementan a las particularidades de los datos
espaciales.
 Las dificultades que aparecen debido a la
inherente complejidad de la componente espacial
hacen que surjan diversas alternativas para su
manejo.
Evolución de las BD en los SIG (V)
Segunda generación: DB Relacionales
 Las más reseñables de entre ellas son el uso de
una arquitectura dual en la que únicamente la
componente temática se gestiona mediante una
base de datos y el uso de una arquitectura en
capas en el que se da un pleno almacenamiento
de la información espacial en la base de datos.
Evolución de las BD en los SIG (VI)
Tercera generación: DB Relacionales
 Las más reseñables de entre ellas son el uso de
una arquitectura dual en la que únicamente la
componente temática se gestiona mediante una
base de datos y el uso de una arquitectura en
capas en el que se da un pleno almacenamiento
de la información espacial en la base de datos.
(Lo veremos luego).
Evolución de las BD en los SIG (VII)
Tercera generación: DB Extensibles
 Actualmente las bases de datos presentan
arquitecturas extensibles que permiten ser
adaptadas a la naturaleza de los datos con los
que trabajan.
 Los tipos de datos clásicos conviven con nuevos
tipos de datos que pueden ser definidos, y con
operaciones específicas para estos.
 Por ejemplo: las bases de datos orientadas a
objetos.
Tipos de datos (I)



Depende siempre del DBMS.
Vamos a ver los básicos (pero existen muchos
más): Números, Texto, Fechas, BLOB,
Identificadores de objeto, Identificadores
globales.
Números: Puede almacenar números en uno de
los cuatro tipos de datos numéricos: Entero
corto, Entero largo, Flotante (números de punto
flotante de precisión simple), Doble (números de
punto flotante de precisión doble).
Tipos de datos (II)



Texto: Un campo de texto representa una serie
de símbolos alfanuméricos. Pueden incluir
nombres de calles, propiedades de atributos u
otras descripciones textuales.
Fechas: En el tipo de datos de fecha se pueden
almacenar fechas, horas o fechas y horas.
BLOB: Un BLOB son datos almacenados como
una secuencia larga de números binarios. Sirve
para almacenar imágenes, multimedia o bits de
código, se pueden almacenar en este tipo de
campo.
Operadores de comparación (I)



Los operadores de comparación comparan dos
expresiones y devuelven un valor de tipo
Boolean (es decir Verdadero o Falso; True o
False) que representa la relación entre sus
valores.
Existen operadores para comparar valores
numéricos, operadores para comparar cadenas y
operadores para comparar objetos.
Existen varios tipos de comparadores,
principalmente comparadores de números y
comparadores de texto.
Consultas comunes (II)
Operadores de comparación de números
 Igualdad “=”: ¿Es igual el valor de la primera
expresión que el de la segunda?
 Desigualdad “<>”: ¿Es distinto el valor de la
primera expresión del valor de la segunda?
 Menor que “<”: ¿Es el valor de la primera
expresión menor que el valor de la segunda?
 Mayor que “>”: ¿Es el valor de la primera
expresión mayor que el valor de la segunda?
Consultas comunes (III)
Operadores de comparación de números
 Menor o igual que “<=”: ¿Es el valor de la
primera expresión menor o igual que el valor de
la segunda?
 Mayor o igual que “>=”: ¿Es el valor de la
primera expresión mayor o igual que el valor de la
segunda?
Consultas comunes (IV)
Ejemplos de operadores de comparación de
números
23
23
23
23
23
23
23
23
23
=
=
=
<>
<>
<>
<
<
<
33
23
12
33
23
12
33
23
12
23 > 33
23 > 23
23 > 12
23 <= 33
23 <= 23
23 <= 12
23 >= 33
23 >= 23
23 >= 12
Consultas comunes (V)
Operadores de comparación de texto
 Igualdad “=”: ¿Es igual el valor de la primera
expresión que el de la segunda?
 Desigualdad “<>”: ¿Es distinto el valor de la
primera expresión del valor de la segunda?
 Operador “Like”: Determina si una cadena de
caracteres específica coincide con un patrón
especificado.
 Un patrón puede contener caracteres normales y
caracteres comodín (“%” y/o “_”).
Consultas comunes (VI)
Operadores de comparación de texto
 Durante la operación “=” de búsqueda todos los
caracteres deben coincidir exactamente.
 Los caracteres comodín pueden coincidir con
fragmentos arbitrarios de la cadena.
 La utilización de caracteres comodín hace que el
operador LIKE sea más flexible que los
operadores de comparación de cadenas “=” y
“<>”.
Consultas comunes (VII)
Operadores de comparación de texto
 Comodín “%”: Representa cualquier cadena de
cero o más caracteres.
 Comodín “_”: Representa cualquier carácter (uno
solo).
Consultas comunes (VIII)
Operadores de comparación de texto
 Las cadenas de caracteres siempre deben
entrecomillarse en las consultas. Por ejemplo:
BARRIO = 'MALVIN'


En las expresiones, las cadenas de caracteres
distinguen entre mayúsculas y minúsculas y
espacios. Los textos cuando se comparan con el
operador “=” deben ser exactamente iguales.
No es lo mismo 'MALVIN' que 'Malvin' o
'malvin' o 'Malvín' o 'Malvin '.
Consultas comunes (IX)
Operadores de comparación de texto
 Si queremos buscar con un comodín que
represente un solo carácter podemos utilizar
utilice un guión bajo “_”. Por ejemplo:
NombreFuncionario LIKE 'ALEJANDR_'
NombreFuncionario like 'ALEJANDR_'
Consultas comunes (X)
Buscar valores NULL (cualquier tipo de dato)
 Podemos utilizar la palabra clave NULL para
seleccionar las entidades y los registros que
tienen valores nulos para el campo que se
especificó.
 La palabra clave NULL siempre está precedida
por IS o IS NOT.
Poblacion IS NULL
Consultas comunes (XI)
Buscar valores NULL (cualquier tipo de dato)
 Para encontrar las ciudades para las que si
tenemos población podemos utilizar
Poblacion NOT IS NULL
Consultas comunes (XII)
Buscar números
 Generalmente el punto decimal “.” se utiliza
siempre como delimitador decimal.
 La coma no se puede usar como delimitador
decimal o de miles en una expresión.
 Utilizamos los operadores de comparación de
números: igual (=), distinto (<>), mayor que (>),
menor que (<), mayor o igual que (>=), menor
o igual que (<=) y en un intervalo cerrado
(BETWEEN).
Consultas comunes (XIII)
Buscar números (Ejemplos):
Poblacion > 0
Poblacion > 300000
Poblacion <= 600000
Poblacion Between (300000, 500000)
Poblacion <> 250000

¿Es lo mismo usar “IS NOT NULL” QUE “> 0”?
Consultas comunes (XIV)
Operadores lógicos.



Operador “AND”: El resultado es verdadero si
ambas expresiones son verdaderas.
Operador “OR”: El resultado es verdadero si
alguna expresión es verdadera.
Operador “NOT”: El resultado invierte la condición
de la expresión.
Consultas comunes (XV)
Exp1
True
True
False
False
Exp1
True
False
Exp2
True
False
True
False
Exp1 and Exp2
True
False
False
False
Not Exp1
False
True
Exp1 or Exp2
True
True
True
False
Consultas comunes (XVI)











3 = 3
4 = 4.0
4 = 4.0000000001
4 = ‘Cuatro’
‘JUAN’ = ‘JAUN’
‘JUAN’ = ‘UAN’
‘JUAN’ LIKE ‘_UAN’
‘JUAN’ LIKE ‘%UA%’
3 <= 4
3 <= 3.000000001
Not 4 < 5











Not 3 <> 3
Not 5 <> ‘Cinco’
3 = 3 < 4
4 < 5 < 10
‘5’ = ‘5.0’
‘JUAN’ = ‘ZELMAR’
‘JUAN’ <> ‘ZELMAR’
‘JUAN’ < ‘ZELMAR’
NOT ‘JUAN’ < ‘ZELMAR’
4 = 2 + 1
9 = (2 + 1) ^ 2
Consultas comunes (XVIII)







‘JUAN’ = ‘JU’ + ‘AN’
‘JUAN200’ = ‘JUAN’ + 200
‘JUAN200’ = ‘JUAN’ + ‘200’
‘JUAN’ = ‘JUAN
5 < (1 / 0)
5 < (1 + 1 + 1 + 1 + 1)
‘ARTIGAS’ <> ‘A%R%T%I%G%A%S’
Consultas comunes (XX)
Lecturas del módulo