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
© Copyright 2024