Bases de datos espaciales introducciónpdi.topografia.upm.es/m.manso/docencia/bbddee2010/... ·...
Transcript of Bases de datos espaciales introducciónpdi.topografia.upm.es/m.manso/docencia/bbddee2010/... ·...
14/09/2010
1
Bases de datos espacialesTema 1: Introducción
Miguel Ángel Manso
ETSI en Topografía, Geodesia y Cartografía - UPM
Contenido: definiciones y conceptos
• Fundamentos (conceptos)
• Visión y clasificación general de los SGBD
• Operaciones de las BBDD
• Arquitecturas Hw y Sw de BBDD
• Estructura de los datos
14/09/2010
2
Fundamentos
• Data Set
– A logical collection of values or database objects
• Database
– A logical collection of information that is interrelated, managed, and stored as a unit. A store for multiple data sets.
Fundamentos
• Data Model
– A conceptual description of the data elements/objects and their relationships that are to be represented in a database
• Data Dictionary
– A description of the contents of a database including data entity and attribute code definitions
– An important element of metadata (DDBB domain)
14/09/2010
4
Fundamentos
• Data Transparency
– Transparency means hiding the structure and relationships from applications
– When structure, relationships, or media change the impacts on applications are minimized
• Data Base Management System (DBMS)
– Provides for the input, storage, manipulation, query, and retrieval of data. A store for multiple databases.
Resumen: Base de datos y SGBD
• BBDD: Gran colección de datos interrelacionados almacenados en un ordenador que dota de persistencia (ante cambios de Sw y Hw)
• SGBD: Sistema que proporciona persistencia, concurrencia, escalabilidad de datos, seguridad, integridad y eficiencia en las consultas
• Los SGBD facilitan: definición (modelado), implementación, manipulación, consulta y actualización
14/09/2010
5
Visión simplificada de SGBD
• Objetivo:
– Dotar de independencia sobre los datos
• Abstracción
– Nivel lógico
– Nivel físico
Spatial database with application to GIS, Rigaux (pg 5)
Spatial database Systems, Yeung(pg 27)
Clasificación de SGBD
Enlace recomendado: http://rojos.iespana.es/trabajos/bd/actual.ppt
14/09/2010
6
Operaciones de las BBDD (Índice)
• Almacenamiento y manipulación
• Seguridad e integridad
• Consulta
• Transacciones
• Respaldo (Backup) y recuperación
• Replicación y sincronización
• SQL
Almacenamiento y recuperación
• Tipos de almacenamiento:
– Primario
– Secundario
– Terciario
• Secundario y terciario: bloques de disco
• Primario: memoria principal y ficheros (buffer & file manager)
14/09/2010
7
Almacenamiento
Memoria Caché
Memoria RAM
Disco Magnético
Disco Óptico
Cinta
Respaldo de datos
Auditoria y tablas
Optimizar consultas
Fuente: (Carlos Castillo UPF 2007)
Seguridad
• Seguridad: operaciones que puede realizar un perfil de usuario. Dos modelos:
– discrecional (operaciones que puede hacer un usuario sobre un determinado objeto)
– responsables (mandatory) (usuarios se clasifican por niveles o roles y cada nivel define reglas o restricciones)
14/09/2010
8
Integridad
• Objetivo: mantener las restricciones de integridad. Modelos:– Restricciones de dominio (tipo de dato y rangos de
valores)
– Claves y relaciones (valores únicos y existencia de la clave en otras tablas: integridad referencial)
– Restricciones de integridad semántica (reglas normalmente lógicas, que definen si se puede o no insertar un elemento en función del estado representado en la base de datos)
Referencia integridad semántica:http://www.monografias.com/trabajos58/procesamiento-datos/procesamiento-datos2.shtml
Consultas (Índice)
• Las operaciones se pueden clasificar en:– Selección (SELECT)
– Proyección (PROJECT)
– Combinación (JOIN)
– Producto (PRODUCT)
– Unión (UNION)
– Intersección (INTERSECT)
– Diferencia (DIFFERENCE)
– División (DIVIDE)
14/09/2010
9
SELECCIÓN y PROYECCIÓN
• Selección:
– SELECT FROM
– SELECT FROM ORDER BY
– SELECT PREDICADO FROM
• Predicado: ALL, TOP, DISCTINCT, DISCTINROW
• Proyección:
– SELECT atributos FROM
COMBINACIÓN (JOIN)
• JOIN natural
• JOIN Lateral (LEFT & RIGHT)
14/09/2010
10
PRODUCTO
• Producto cartesiano, genera la combinación de filas de la primera tabla con las de la segunda
UNION
SELECT column_name(s) FROM table_name1UNION [ALL]SELECT column_name(s) FROM table_name2
UNION ALL
14/09/2010
11
INTERSECCIÓN
SELECT * FROM Orders WHERE Quantity BETWEEN 1 AND 100
INTERSECT
SELECT * FROM Orders WHERE Quantity BETWEEN 50 AND 200;
DIFERENCIA
SELECT * FROM Orders WHERE Quantity BETWEEN 1 AND 100
EXCEPT | MINUS
SELECT * FROM Orders WHERE Quantity BETWEEN 50 AND 75;
14/09/2010
12
DIVISION
• r ÷ s is used when we wish to express queries with “all”
• Ejemplo: Which persons have a bank account at ALL the banks in the country?
• Se construye con NOT EXIST seguido NOT IN, • O bien con dos NOT EXIST consecutivos.
Ejemplos de DIVISION: http://web.abo.fi/~soini/divisionEnglish.pdf
Transacciones
• Operaciones indivisibles. Principios:– Atomicidad
– Aislamiento
– Durabilidad o permanencia
– Consistencia en la preservación
• Mecanismos de control:– Control de concurrencia
– Auditoria de transacciones (logging)
– Confirmación de transacciones (commit)
– Vuelta atrás (rollback)
14/09/2010
13
Respaldo y recuperación
• Backup:
– Hot backup
– Cold backup
• Restore
– Only Cold backup
Replicación y sincronización
• Objetivos:– Mejorar el rendimiento
– Mejorar la disponibilidad
de un modo transparente para los usuarios
• Configuración: maestro/s + esclavos
• Métodos de replicación:– Instantánea (snapshot)
– Fusión (merging)
– Transaccional (transactional)
14/09/2010
14
Lenguaje de Manipulación de datos
• La manipulación (carga, mantenimiento y consulta/explotación) se realiza con un lenguaje de manipulación de datos (DML)
• El DML más extendido es SQL, considerado un lenguaje declarativo en el que el usuario indica los resultados esperados no la forma de obtenerlos
• SQL tiene bases matemáticas y posibilita cálculo relacional y álgebra relacional
SQL statements: modos de uso
• Procesamiento interactivo (consola tipo SQL+, etc.)
• Embebido en un lenguaje de programación (Java, C++, etc.)
• Mediante llamadas a nivel de interfaces definidas a nivel de S.O.
• Usando API como JDBC and SQLJ (Java)
• Aplicaciones independientes que llaman a procedimientos almacenados
14/09/2010
15
SQL statements types
• Database query (SELECT .. FROM .. WHERE ..)
• Data definition (CREATE TABLE, ALTER TABLE .. ADD ..)
• Data manipulation (INSERT INTO .., DELETE, UPDATE)
• Database connection and access control (CONNECT, CREATE ROLE, GRANT)
• Data sharing (CREATE TRIGGER)
• Data integrity (CONSTRAINT UNIQUE, CHECK)
Arquitecturas Hw y Sw de BBDD (Índice)
• Centralizada
• Distribuida
• Modelos de distribución de BBDD
• Módulos del Sw de BBDD
• Arquitectura Web de BBDD
14/09/2010
16
Arquitecturas centralizada de BBDD
Spatial database Systems, Yeung (pg 42)
Arquitectura distribuida de DDBB
Spatial database Systems, Yeung (pg 43)
14/09/2010
17
Modelos de distribución de BBDD
Spatial database Systems, Yeung (pg 45)
Módulos de Sw de BBDD
Spatial database Systems, Yeung (pg 46)
14/09/2010
18
Arquitectura Web para BBDD
Spatial database Systems, Yeung (pg 48)
Estructura de los datos
• Lógica
• Física
• Índices
14/09/2010
19
Estructura lógica de los datos
• The logical data structure is used in logical data modeling that aims to find the most effective distribution of the data and data files inside the database
Spatial database Systems, Yeung (pg 50)
Estructura física de los datos
• Tipos de datos
– Básicos: Textos, numéricos y fechas
– Tipos de datos abstractos (ADT), este tipo de datos es el que usan los SGDB para almacenar nuevos tipos de datos como los espaciales