51
1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

Embed Size (px)

Citation preview

Page 1: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

1

Tema 1: Introducción

Bases de datos

Máster en Tecnologías de Información Geográfica

Page 2: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

2

Introducción1. Información y datos2. Ficheros vs. Bases de datos3. Sistemas gestores de bases de datos4. Bases de datos con información geográfica5. Visión de los datos6. Modelo relacional de bases de datos7. Diseño de bases de datos8. Lenguajes de consulta: QBE, SQL9. Arquitectura de un SGBD10. Rendimiento11. Aplicaciones

Page 3: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

3

1. Información y datosLa información se registra mediante datos.

Los datos se pueden mecanizar.

Los datos se interpretan para obtener una información.

La interpretación depende del hombre, no se “puede” mecanizar.

Es necesario un almacenamiento persistente.

Page 4: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

4

DatosTipo de información representada con datos: Atómica:

Números (enteros, coma flotante) Cadenas de caracteres

Estructurada: Números complejos (partes real e

imaginaria) Registros

Ej: coche(matrícula,modelo,color)

Page 5: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

5

DatosInformación geográfica y espacial:

Datos por líneas (raster):

Page 6: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

6

DatosInformación geográfica y espacial:

Datos vectoriales

Page 7: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

7

Fichero: almacenamiento persistente de datos usado para representar información.

Ejemplos: Ficheros de texto, documentos XML

Base de datos: colección de datos relacionados usada para representar información.

También es persistente. Ejemplos MS Access, MS SQL Server, MySQL,

PostgreSQL, Oracle

2.  Ficheros vs. Bases de datos

Page 8: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

8

Page 9: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

9

Ficheros secuenciales

Application

Cola aplicaciones para acceso a los datos

Application

Appl ication

ArchivoApplication

Acceso serializado

199712150007 Widget 100 4 400

199712150007 Thingamabob 275 1 275

199712150008 Widget 100 3 300

Page 10: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

10

Problemas de las organizaciones de ficheros

Redundancia e inconsistencia de datosCostes de mantenimiento de los programas:

Dificultad en el acceso. Cada consulta de datos implica generalmente escribir un nuevo programa

Aislamiento de datos. Formatos diferentes y en medios diferentes

Integridad. Para implementar restricciones de integridad es necesario modificar todos los programas que accedan a los datos

Page 11: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

11

Problemas de las organizaciones de ficheros

Atomicidad. Cuando hay un fallo informático

(corte de corriente, error de disco, ...) se puede producir una inconsistencia en una transferencia bancaria. La transferencia debe ser una operación atómica (ocurre totalmente o no ocurre).

Page 12: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

12

Problemas de las organizaciones de ficheros   Acceso

concurrente.

Application

Application

Trabajo con una copia de

los datosTrabajo con una

copia de los datos

Yo también!

Archivo

199712150007 Widget 100 4 400

199712150007 Thingamabob 275 1 275

199712150008 Widget 100 3 300

Archivo

199712150007 Widget 100 4 400

199712150007 Thingamabob 275 1 275

199712150008 Widget 100 3 300

Archivo

199712150007 Widget 100 4 400

199712150007 Thingamabob 275 1 275

199712150008 Widget 100 3 300

Application

Page 13: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

13

Problemas de las organizaciones de ficheros

Las bases de datos solucionan los problemas de los ficheros.

Sin embargo, no sustituyen a los ficheros en todas las aplicaciones.

Por ejemplo: ficheros temporales, datos no relacionados.

Además, las bases de datos se implementan con ficheros.

Page 14: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

14

Problemas de las organizaciones de ficheros

Los ficheros se prefieren a los SGBD cuando: BD y aplicaciones simples, bien

definidas y sin visos de cambio. Requisitos de tiempo real que no

pueden cubrir los SGBD. No se requiere acceso concurrente.

Page 15: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

15

3. Sistemas gestores de bases de datos (SGBDs)

Usuario 1 Aplicación 1Usuario n Aplicación m

SGBD

BD 1 BD k

... ...

...

Page 16: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

16

Tipos de SGBDs Relacionales.Orientados a objetos.Geográficos.Temporales.XML.

Page 17: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

17

Los SGBDs proporcionan:

Concurrencia

Integridad

Seguridad

Page 18: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

18

Concurrencia a nivel de fila

LastName

FirstName Address Phone

Adams Bobby 1426 Main 555-1423Adams Sandy 214 Cisco Lane 555-4297Brown Terry 45 River Walk 555-8495Caldwell Simone 122 42ND ST 555-5367Fridrich John 956 Billings 555-4311Gaines Lois 6094 Beaker 555-0945Jones Larry 567 Yale Ave. 555-6932Jones Larry 240 Boston Blvd. 555-5390Jones LaVerne South Star Route 555-2345

Mitchell Jean 504 1ST Ave. 555-1777Mitchell Ted 504 1ST Ave. 555-1778Smith Diana 2253 Dahlia 555-6098Smith Grace 983 Fairfax 555-8764Wise Sara 9023 Colorado Blvd. 555-3242

Application

¡Estoy leyendo la 3ª

fila!

Application

Application

¡Estoy cambiando la 6ª fila!

¡Estoy leyendo la 8ª fila y luego la modificaré!

Page 19: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

19

Transacción (unidad de trabajo)

UPDATE B

El programa transfiere 1000€ desde la cuenta A a la B

A 2000 1000 1000 1000

B 3000 3000 4000 4000

A 2000 1000 1000 2000

B 3000 3000 4000 3000

UPDATE A

UPDATE A

UPDATE A UPDATE B

X

X

X

X

X

X

COMMIT

ROLLBACK

Logical Unit of Work

Page 20: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

20

Seguridad Un SGBD es un sistema software capaz de manejar grandes colecciones de datos:

Relacionados, Compartidos y Persistentes.

Aseguran su fiabilidad y privacidad. Usuarios. Roles. Restricciones de acceso.

Page 21: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

21

Integridad Restricciones de integridad: Dominio. Clave primaria. Clave externa. Dependencias funcionales.

Page 22: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

22

VentajasComo consecuencia de estas características se obtienen las siguientes ventajas:

Normalización. Tiempo de desarrollo de aplicaciones reducido. Flexibilidad.

Facilidad para añadir o eliminar datos necesarios. Disponibilidad inmediata de las actualizaciones

de datos para todos los usuarios.

Page 23: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

23

SGBDs

SQL/DS de IBM, 1981 ORACLE de RSI, 1981 DB2 de IBM, 1983 Informix Sybase MS SQL Server MS Access MySQL PostgreSQL

Page 24: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

24

SGBDs con extensiones espaciales

MS SQL Server 2008. Free/Commercial Oracle Spatial. Commercial PostgreSQL (PosGIS). Open-source MySQL Spatial Extensions. Open-source IBM DB2 Spatial Extender. Commercial IBM DB2 Geodetic Extender. Commercial Informix Spatial DataBlade. Commercial Informix Geodetic DataBlade. Commercial Spatial Query Server for Sybase. Commercial

Page 25: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

25

4.  Bases de datos con información geográfica

Page 26: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

26

Tipos de datos SGBDRsTextoMemoNuméricoFecha/HoraMonedaAutonuméricoSí/NoObjeto OLEHipervínculo

Page 27: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

27

Tipos de datos SGBDRs espaciales

MS SQL Server geography geometry

Spatial Query Server (for Sybase) Circle Ellipse Point - a point in 2D space. (x,y) plane. Voxel - a point in 3D space. (x,y,z) volume. Polygon Polygon(n) Polygon set Gpolygon Gpolygon(n) Gpolygon_set Line Line(n) Line_set Rectangle Rectangle_set Llbox Llbox_set

Page 28: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

28

5. Visión de los datosObjetivo de un SGBD:

Proporcionar una visión abstracta de los datos Se ocultan los detalles de cómo se almacenan y

mantienen los datos.

Niveles: Físico

Cómo se almacenan los datos. Lógico

Qué datos y qué relaciones se almacenan. Vistas

Subconjunto del nivel lógico.

Page 29: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

29

VistasCREATE VIEW BLUEDEP AS

SELECT *

FROM EMPL

WHERE DEP LIKE 'BLU%;

SELECT JOB, SAL

FROM BLUEDEP

WHERE JOB <> 'M'

JOB SAL S 31000 S 30000 C 27000 S 29000

JOB SAL DEP S 31000 BLU M 32000 RED S 30000 BLU C 27000 GRE S 33000 GRE M 31000 BLU S 32000 RED C 28000 GRE S 30000 RED M 33000 GRE S 31000 RED S 35000 GRE C 27000 BLU S 29000 RED S 29000 BLU

S 31000 BLU S 30000 BLU M 31000 BLU C 27000 BLU S 29000 BLU

Columns and rowsdefined by BLUEDEP

Page 30: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

30

6. Modelo relacionalLos modelos de datos se usan para poder definir una interpretación de los datos conforme a su estructura, relaciones y operaciones que se les pueden aplicar. Def: Colección de conceptos que se usan para describir la estructura de una BD. La estructura son los tipos de datos, las relaciones y las restricciones. Llevan asociados operaciones básicas.

Page 31: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

31

Modelo relacionalSe usa una colección de tablas para

representar los datos y sus relaciones.

PROPIET1.TABLA_A

COL1 COL2 COL3ABC 7 1987-11-14DEF 4 1963-01-01GHI 6 1946-07-12JKL 7 1951-12-30MNO 0 1992-08-12

PROPIET2.TABLA_B

Una "BBDD relacional"

es una "BBDD de Tablas"

"RELACION" = TABLA

COL1 COL2 COL3ABC 7 1987-11-14DEF 4 1963-01-01GHI 6 1946-07-12JKL 7 1951-12-30MNO 0 1992-08-12

RDBMS = Sistema de Gestión de Bases de Datos Relacionales

Page 32: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

32

7. Diseño de bases de datos

Proceso de creación de un esquema de la base de datos.Fases: Conceptual. Lógico. Físico.

Page 33: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

33

Conceptual: Modelo entidad-relación

Dept LocationsM

Skills

Employees Projects

1

M

M

M

M

M

1 1

1

1

1

1

1

1

1

A LOCATION HAS MANY

DEPTS

MANY EMPLOYEES WORK ON

MANY PROJECTS

Page 34: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

34

Lógico: Relaciones (modelo relacional)

Depts(Id,Name)Employees(Id,Name,Address)Skills(Id,Skill)

Belongs(IdEmployee,IdDept)Has(IdEmployee,IdSkills)

Page 35: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

35

Físico: Tablas, vistas e índices

TABLEEMPL

INDEXNDX1

INDEXNDX2

INDEXNDX3

VIEWBLUEDEP

Page 36: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

36

8. Lenguajes de consulta

QBE (Query By Example) Gráfico.

SQL (Structured Query Language) Textual.

Page 37: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

37

Lenguaje gráfico QBE

Page 38: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

38

Lenguaje SQL Es el lenguaje de facto

para el acceso a los datos en las bases de datos relacionales.

Se divide en tres partes: Lenguaje de definición de

datos (DDL) Lenguaje de manipulación de

datos (DML) Lenguaje de control de datos

(DCL)

Page 39: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

39

SQL CREATE DATABASE MTIGDB;

USE MTIGDB;

CREATE TABLE Districts (DistrictName nvarchar(20), DistrictGeo geometry);

INSERT INTO Districts (DistrictName, DistrictGeo)VALUES ('Downtown', geometry::STGeomFromText ('POLYGON ((0 0, 150 0, 150 150, 0 150, 0 0))', 0));

SELECT StreetName, DistrictNameFROM Districts d, Streets sWHERE s.StreetGeo.STIntersects(DistrictGeo) = 1ORDER BY StreetName;

Page 40: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

40

9. Arquitectura de un SGBD

Componentes del sistema

• Concurrencia. • Gestor de almacenamiento• Procesamiento de consultas• Estructuras de datos

Page 41: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

41

Usuarios normales (administrativos,

cajeros automáticos, ...)

Programadores de

aplicaciones

Usuarios

avanzados

Administrador de

base de datos

Interfaces de aplicaciones

Programas de aplicación

Consulta Esquema de base de datos

Usu

ario

s

Precompilador del DML incorporado

Compilador del DML

Intérprete del DDL

Código objeto de los programas de

aplicación

Pro

cesa

dor

de c

onsu

ltas

Gestor de

transacciones

Gestor de memoria

intermedia

Gestor de

ficheros Ges

tor

de a

lmac

enam

ient

o

Sis

tem

a de

ges

tión

de

base

s de

dat

os

Índices Datos estadísticos

Ficheros de datos

Diccionario de datos

Motor de evaluación de

consultas

Alm

acen

amie

nto

en d

isco

Page 42: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

42

Procesamiento de consultas

¿QUÉ?

Módulocarga

CaminoAcceso

Programa

¿CÓMO?

Optimizador

EstadísticasCatálogo

EJECUCIÓN

Page 43: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

43

10. RendimientoÍndices sobre datos atómicos. Índices secuenciales Índices B Índices B+

Índices sobre datos geográficos. Árboles k-d Árboles cuadráticos (quad-trees) Árboles R

Page 44: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

44

Índices secuenciales

A

B

C

D

E

B

D

A

C

D

B

E

D

C

B

Clave secundaria

Clave primaria

Cajones

Índice secundario 1

2

2

3

4

4

4

5

6

6

A

B

C

D

E

Valores

Clave primaria

Índice primario A

A

B

B

B

B

C

D

D

E

Page 45: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

45

Índices B+Clustered Index

8 13 25 33 45 61 67 75 88

25 61 88

data rowdata rowdata rowdata row

data rowdata rowdata rowdata row

data rowdata rowdata rowdata row

data rowdata rowdata rowdata row

Non-clustered Index

8 13 25 33 45 61 67 75 88

25 61 88

data rowdata rowdata rowdata row

data rowdata rowdata rowdata row

data rowdata rowdata rowdata row

data rowdata rowdata rowdata row

Root Page

Non-leafPages

Leaf Pages

Page 46: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

46

Árboles k-d

Page 47: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

47

Árboles cuadráticos

Page 48: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

48

Árboles R

Page 49: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

49

11. AplicacionesProgramas de aplicación (Java, C#, C++, …)FormulariosAPI de acceso a la BDDominios de aplicación

Sistemas de información geográfica Inventario (stocks) Facturación Medicina (BOT) Construcción …

Page 50: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

50

Application

Application

Application

Application

Application

Application

Programas Aplicación

Gestor de Aplicaciones

Tablas

Logging

ContinuousOperation

Security

Optimizer

Integrity &Recovery

Lock

Manager

SGBD

Page 51: 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica

51

Ciclo de vida de las aplicaciones

NECESIDADES

ANALISISDATOS

DISEÑOBBDD

RELACIONALES

AJUSTEMODELO DATOS

ANALISISPROCESOS

DISEÑOPROCESOS

AJUSTEMODELO PROCESOS

CAPACITY PLANNINGPERFORMANCE ESTIMATES

CREACIÓN

PASO APRODUCCION

PRUEBA