1. Información y datos

Download Report

Transcript 1. Información y datos

Tema 1: Introducción
Bases de datos
Máster en Tecnologías de Información Geográfica
1
Introducción
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Información y datos
Ficheros vs. Bases de datos
Sistemas gestores de bases de datos
Bases de datos con información geográfica
Visión de los datos
Modelo relacional de bases de datos
Diseño de bases de datos
Lenguajes de consulta: QBE, SQL
Arquitectura de un SGBD
Rendimiento
Aplicaciones
2
1. Información y datos
La 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.
3
Datos
Tipo 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)
4
Datos
Información geográfica y espacial:

Datos por líneas (raster):
5
Datos
Información geográfica y espacial:

Datos vectoriales
6
2. Ficheros vs. Bases de datos
Fichero: almacenamiento persistente (no
volátil) de datos usado para representar
información.

Ejemplos: Ficheros de texto, documentos XML
Base de datos: colección persistente de
datos relacionados usada para representar
información.

Ejemplos MS Access, MS SQL Server, MySQL,
PostgreSQL, Oracle, IBM DB2
7
8
Ficheros secuenciales
Acceso
serializado
Application
Appl ic atio n
Application
Cola aplicaciones para
acceso a los datos
Archivo
Application
199712150007
Widget
100
4
400
199712150007
Thingamabob
275
1
275
199712150008
Widget
100
3
300
9
Problemas de las
organizaciones de ficheros
Redundancia e inconsistencia de datos
Costes 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
10
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).
11
Problemas de las
organizaciones de ficheros
 Acceso concurrente.
Trabajo con
una copia de
los datos
Trabajo con una
copia de los datos
Application
Archivo
199712150007
Widget
100
4
400
199712150007
Thingamabob
275
1
275
199712150008
Widget
100
3
300
Application
Archivo
Yo
también!
199712150007
Widget
100
4
400
199712150007
Thingamabob
275
1
275
199712150008
Widget
100
3
300
Application
Archivo
199712150007
Widget
100
4
400
199712150007
Thingamabob
275
1
275
199712150008
Widget
100
3
300
12
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.
13
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.
14
3. Sistemas gestores de
bases de datos (SGBDs)
Usuario 1
...
Usuario n
Aplicación 1
...
Aplicación m
SGBD
BD 1
...
BD k
15
Tipos de SGBDs
Relacionales.
Orientados a objetos.
Geográficos.
Temporales.
XML.
16
Los SGBDs proporcionan:
C oncurrencia
I ntegridad
Seguridad
17
Concurrencia a nivel de fila
¡Estoy
leyendo la 3ª
fila!
¡Estoy
cambiando
la 6ª fila!
Application
Application
¡Estoy
leyendo la 8ª
fila y luego la
modificaré!
Last
Name
Adams
Adams
Brown
Caldwell
Fridrich
Gaines
Jones
Jones
Jones
First
Name
Bobby
Sandy
Terry
Simone
John
Lois
Larry
Larry
LaVerne
Address
1426 Main
214 Cisco Lane
45 River Walk
122 42ND ST
956 Billings
6094 Beaker
567 Yale Ave.
240 Boston Blvd.
South Star Route
Phone
555-1423
555-4297
555-8495
555-5367
555-4311
555-0945
555-6932
555-5390
555-2345
Mitchell
Mitchell
Smith
Smith
Wise
Jean
Ted
Diana
Grace
Sara
504 1ST Ave.
504 1ST Ave.
2253 Dahlia
983 Fairfax
9023 Colorado Blvd.
555-1777
555-1778
555-6098
555-8764
555-3242
Application
18
Transacción (unidad de trabajo)
El programa transfiere 1000€ desde la cuenta A a la B
Logical Unit of Work
UPDATE A
UPDATE B
X
X
X
COMMIT
A
2000
1000
1000
1000
B
3000
3000
4000
4000
UPDATE A
UPDATE B
X
X
X
ROLLBACK
A
B
2000
3000
1000
3000
1000
4000
2000
3000
19
Integridad
Restricciones de integridad:




Dominio.
Clave primaria.
Clave externa.
Definidas por el usuario.
20
Seguridad
Un SGBD es un sistema software capaz de
manejar grandes colecciones de datos:



Relacionados.
Compartidos.
Persistentes.
Aseguran su fiabilidad y privacidad.



Usuarios.
Roles.
Restricciones de acceso.
21
Ventajas
Como 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.
22
SGBDs










SQL/DS de IBM, 1981
ORACLE de RSI, 1981
DB2 de IBM, 1983
Informix, 1985
Gestores de ficheros
Sybase, 1991
("databases")
MS SQL Server (1989, 1992)

DBase
MS Access (1992)
 Paradox
MySQL (1995)
PostgreSQL (1995)
IBM: Industrial Business Machines
HyperSQL (2001)
RSI: Relational Software, Inc.
MS: Microsoft
23
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
24
4. Bases de datos con
información geográfica
25
Tipos de datos SGBDRs
Texto
Memo
Numérico
Autonumérico
Fecha/Hora
Moneda
Sí/No
Objeto OLE
Hipervínculo
26
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
27
5. Visión de los datos
Objetivo 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


Lógico


Cómo se almacenan los datos.
Qué datos y qué relaciones se almacenan.
Vistas

Subconjunto del nivel lógico.
28
CREATE VIEW BLUEDEP AS
Vistas
SELECT *
FROM EMPL
WHERE DEP LIKE 'BLU%;
JOB
S
M
S
C
S
M
S
C
S
M
S
S
C
S
S
SAL
31000
32000
30000
27000
33000
31000
32000
28000
30000
33000
31000
35000
27000
29000
29000
DEP
BLU
RED
BLU
GRE
GRE
BLU
RED
GRE
RED
GRE
RED
GRE
BLU
RED
BLU
SELECT JOB, SAL
FROM BLUEDEP
Columns and rows
defined by BLUEDEP
S
S
M
C
S
31000
30000
31000
27000
29000
BLU
BLU
BLU
BLU
BLU
WHERE JOB <> 'M';
JOB
S
S
C
S
SAL
31000
30000
27000
29000
29
6. Modelo relacional
Los 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.
30
Modelo relacional
Se usa una colección de tablas para
representar los datos y sus relaciones.
RDBMS = Sistema de Gestión de Bases de Datos Relacionales
"RELACION" =
PROPIET1.TABLA_A
COL1
ABC
DEF
GHI
JKL
MNO
COL2
7
4
6
7
0
COL3
1987-11-14
1963-01-01
1946-07-12
1951-12-30
1992-08-12
TABLA
PROPIET2.TABLA_B
Una "BBDD
relacional"
es una "BBDD
de Tablas"
COL1
ABC
DEF
GHI
JKL
MNO
COL2
7
4
6
7
0
COL3
1987-11-14
1963-01-01
1946-07-12
1951-12-30
1992-08-12
31
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.
32
Conceptual: Modelo entidad-relación
M
Dept
1 11
1 M1
Employees
M 1M
A LOCATION
HAS MANY
DEPTS
MANY
EMPLOYEES
WORK ON
MANY
PROJECTS
1
Locations
1
M
Projects
1
1 M
Skills
33
Lógico: Relaciones (modelo relacional)
Depts(Id, Name)
Employees(Id, Name, Address)
Skills(Id, Skill)
Belongs(IdEmployee, IdDept)
Has(IdEmployee, IdSkills)
34
Físico: Tablas, vistas e índices
TABLE
EMPL
INDEX
NDX1
VIEW
BLUEDEP
INDEX
NDX2
INDEX
NDX3
35
8. Lenguajes de consulta
QBE (Query By Example)

Gráfico.
SQL (Structured Query Language)

Textual.
36
Lenguaje gráfico QBE
37
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)
38
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, DistrictName
FROM Districts d, Streets s
WHERE s.StreetGeo.STIntersects(DistrictGeo) = 1
ORDER BY StreetName;
39
9. Arquitectura de un SGBD
Componentes del sistema
• Concurrencia.
• Gestor de almacenamiento
• Procesamiento de consultas
• Estructuras de datos
40
Administrador de
base de datos
Interfaces de
aplicaciones
Programas de
aplicación
Consulta
Esquema de base
de datos
Precompilador del
DML incorporado
Compilador del
DML
Intérprete del DDL
Motor de
evaluación de
consultas
Gestor de
memoria
intermedia
Gestor de almacenamiento
Gestor
de
transacciones
Gestor
de
ficheros
Índices
Datos estadísticos
Diccionario de
datos
Ficheros de datos
Almacenamiento en disco
Código objeto de
los programas de
aplicación
Sistema de gestión de bases de datos
Usuarios
avanzados
Usuarios
Programadores de
aplicaciones
Procesador de consultas
Usuarios normales
(administrativos,
cajeros
automáticos, ...)
41
Procesamiento de consultas
42
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
43
Índices secuenciales
Cajones
Clave
primaria
Índice
primario
B
C
D
E
Índice
secundario
Clave
secundaria
1
B
2
D
2
A
3
C
4
D
4
B
4
E
5
D
C
6
C
D
6
B
A
A
A
Valores
Clave
primaria
A
B
B
C
B
D
B
E
B
D
E
44
Índices B+
Non-clustered Index
Clustered Index
Root Page
25 61 88
8 13 25
33 45 61
25 61 88
67 75 88
Non-leaf
Pages
8 13 25
33 45 61
67 75 88
Leaf Pages
data row
data row
data row
data row
data row
data row
data row
data row
data row
data row
data row
data row
data row
data row
data row
data row
data row
data row
data row
data row
data row
data row
data row
data row
data row
data row
data row
data row
data row
data row
data row
data row
45
Árboles k-d
46
Árboles cuadráticos
47
Árboles R
48
11. Aplicaciones
Programas de aplicación

Python, Java, C#, C++, …
Formularios
API de acceso a la BD
Dominios de aplicación






Sistemas de información geográfica
Inventario (Stocks)
Facturación
Medicina (BOT)
Construcción
…
49
Ciclo de vida de las aplicaciones
NECESIDADES
ANALISIS
DATOS
ANALISIS
PROCESOS
DISEÑO
BBDD
RELACIONALES
DISEÑO
PROCESOS
CAPACITY PLANNING
PERFORMANCE ESTIMATES
AJUSTE
MODELO DATOS
CREACIÓN
AJUSTE
MODELO PROCESOS
PRUEBA
PASO A
PRODUCCION
50