SlideShare ist ein Scribd-Unternehmen logo
1 von 50
1
Tema 1: Introducción
Bases de datos
Máster en Tecnologías de Información Geográfica
2
Introducción
1. Información y datos
2. Ficheros vs. Bases de datos
3. Sistemas gestores de bases de datos
4. Bases de datos con información geográfica
5. Visión de los datos
6. Modelo relacional de bases de datos
7. Diseño de bases de datos
8. Lenguajes de consulta: QBE, SQL
9. Arquitectura de un SGBD
10. Rendimiento
11. Aplicaciones
3
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.
4
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)
5
Datos
Información geográfica y espacial:
 Datos por líneas (raster):
6
Datos
Información geográfica y espacial:
 Datos vectoriales
7
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
2. Ficheros vs. Bases de datos
8
9
Ficheros secuenciales
Application
Cola aplicaciones para
acceso a los datos
Application
Application
Archivo Application
Acceso
serializado
199712150007 Widget 100 4 400
199712150007 Thingamabob 275 1 275
199712150008 Widget 100 3 300
10
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
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).
12
Problemas de las
organizaciones de ficheros
 Acceso concurrente.
Application
Application
Trabajo con
una copia de
los datos
Trabajo 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
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.
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.
15
3. Sistemas gestores de
bases de datos (SGBDs)
Usuario 1 Aplicación 1
Usuario n Aplicación m
SGBD
BD 1 BD k
... ...
...
16
Tipos de SGBDs
Relacionales.
Orientados a objetos.
Geográficos.
Temporales.
XML.
17
Los SGBDs proporcionan:
Concurrencia
Integridad
Seguridad
18
Concurrencia a nivel de fila
Last
Name
First
Name Address Phone
Adams Bobby 1426 Main 555-1423
Adams Sandy 214 Cisco Lane 555-4297
Brown Terry 45 River Walk 555-8495
Caldwell Simone 122 42ND ST 555-5367
Fridrich John 956 Billings 555-4311
Gaines Lois 6094 Beaker 555-0945
Jones Larry 567 Yale Ave. 555-6932
Jones Larry 240 Boston Blvd. 555-5390
Jones LaVerne South Star Route 555-2345
Mitchell Jean 504 1ST Ave. 555-1777
Mitchell Ted 504 1ST Ave. 555-1778
Smith Diana 2253 Dahlia 555-6098
Smith Grace 983 Fairfax 555-8764
Wise 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é!
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
20
Integridad
Restricciones de integridad:
 Dominio.
 Clave primaria.
 Clave externa.
 Definidas por el usuario.
21
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.
22
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.
23
SGBDs
 SQL/DS de IBM, 1981
 ORACLE de RSI, 1981
 DB2 de IBM, 1983
 Informix, 1985
 Sybase, 1991
 MS SQL Server (1989, 1992)
 MS Access (1992)
 MySQL (1995)
 PostgreSQL (1995)
 HyperSQL (2001) IBM: Industrial Business Machines
RSI: Relational Software, Inc.
MS: Microsoft
Gestores de ficheros
("databases")
 DBase
 Paradox
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
25
4. Bases de datos con
información geográfica
26
Tipos de datos SGBDRs
Texto
Memo
Numérico
Autonumérico
Fecha/Hora
Moneda
Sí/No
Objeto OLE
Hipervínculo
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
28
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
 Cómo se almacenan los datos.
 Lógico
 Qué datos y qué relaciones se almacenan.
 Vistas
 Subconjunto del nivel lógico.
29
Vistas
CREATE VIEW BLUEDEP AS
SELECT *
FROM EMPL
WHERE DEP LIKE 'BLU%;
JOB SAL
S 31000
S 30000
C 27000
S 29000
J
OB 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 rows
defined by BLUEDEP
SELECT JOB, SAL
FROM BLUEDEP
WHERE JOB <> 'M';
30
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.
31
Modelo relacional
Se usa una colección de tablas para
representar los datos y sus relaciones.
PROPIET1.TABLA_A
COL1 COL2 COL3
ABC 7 1987-11-14
DEF 4 1963-01-01
GHI 6 1946-07-12
JKL 7 1951-12-30
MNO 0 1992-08-12
PROPIET2.TABLA_B
Una "BBDD
relacional"
es una "BBDD
de Tablas"
"RELACION" = TABLA
COL1 COL2 COL3
ABC 7 1987-11-14
DEF 4 1963-01-01
GHI 6 1946-07-12
JKL 7 1951-12-30
MNO 0 1992-08-12
RDBMS = Sistema de Gestión de Bases de Datos Relacionales
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.
33
Conceptual: Modelo entidad-relación
Dept Locations
M
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
34
Lógico: Relaciones (modelo relacional)
Depts(Id, Name)
Employees(Id, Name, Address)
Skills(Id, Skill)
Belongs(IdEmployee, IdDept)
Has(IdEmployee, IdSkills)
35
Físico: Tablas, vistas e índices
TABLE
EMPL
INDEX
NDX1
INDEX
NDX2
INDEX
NDX3
VIEW
BLUEDEP
36
8. Lenguajes de consulta
QBE (Query By Example)
 Gráfico.
SQL (Structured Query Language)
 Textual.
37
Lenguaje gráfico QBE
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)
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, DistrictName
FROM Districts d, Streets s
WHERE s.StreetGeo.STIntersects(DistrictGeo) = 1
ORDER BY StreetName;
40
9. Arquitectura de un SGBD
Componentes del sistema
• Concurrencia.
• Gestor de almacenamiento
• Procesamiento de consultas
• Estructuras de datos
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
Usuarios
Precompilador del
DML incorporado
Compilador del
DML
Intérprete del DDL
Código objeto de
los programas de
aplicación
Procesador
de
consultas
Gestor
de
transacciones
Gestor de
memoria
intermedia
Gestor
de
ficheros
Gestor
de
almacenamiento
Sistema
de
gestión
de
bases
de
datos
Índices Datos estadísticos
Ficheros de datos
Diccionario de
datos
Motor de
evaluación de
consultas
Almacenamiento
en
disco
42
Procesamiento de consultas
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
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
45
Índices B+
Clustered Index
8 13 25 33 45 61 67 75 88
25 61 88
datarow
datarow
datarow
datarow
datarow
datarow
datarow
datarow
datarow
datarow
datarow
datarow
datarow
datarow
datarow
datarow
Non-clustered Index
8 13 25 33 45 61 67 75 88
25 61 88
datarow
datarow
datarow
datarow
datarow
datarow
datarow
datarow
datarow
datarow
datarow
datarow
datarow
datarow
datarow
datarow
Root Page
Non-leaf
Pages
Leaf Pages
46
Árboles k-d
47
Árboles cuadráticos
48
Árboles R
49
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
 …
50
Ciclo de vida de las aplicaciones
NECESIDADES
ANALISIS
DATOS
DISEÑO
BBDD
RELACIONALES
AJUSTE
MODELO DATOS
ANALISIS
PROCESOS
DISEÑO
PROCESOS
AJUSTE
MODELO PROCESOS
CAPACITY PLANNING
PERFORMANCE ESTIMATES
CREACIÓN
PASO A
PRODUCCION
PRUEBA

Weitere ähnliche Inhalte

Ähnlich wie Tema 1 Introducción.ppt (20)

Adsi guía 4 - realizar el analisis de las bases de datos
Adsi   guía 4 - realizar el analisis de las bases de datosAdsi   guía 4 - realizar el analisis de las bases de datos
Adsi guía 4 - realizar el analisis de las bases de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Cuestionario de informática ivan hidalgo
Cuestionario de informática ivan hidalgoCuestionario de informática ivan hidalgo
Cuestionario de informática ivan hidalgo
 
Introduccion a SQL Server 2000
Introduccion a SQL Server 2000Introduccion a SQL Server 2000
Introduccion a SQL Server 2000
 
D:\Introduccion A Sql 2000 Server
D:\Introduccion A Sql 2000 ServerD:\Introduccion A Sql 2000 Server
D:\Introduccion A Sql 2000 Server
 
Cursobasesdedatos
CursobasesdedatosCursobasesdedatos
Cursobasesdedatos
 
Bd cjcm
Bd cjcmBd cjcm
Bd cjcm
 
Melavvv
MelavvvMelavvv
Melavvv
 
INTRODUCCION A BASE DE DATOS
INTRODUCCION A BASE DE DATOS INTRODUCCION A BASE DE DATOS
INTRODUCCION A BASE DE DATOS
 
Conceptos de bases de datos
Conceptos de bases de datosConceptos de bases de datos
Conceptos de bases de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Cuestiones de repaso
Cuestiones de  repasoCuestiones de  repaso
Cuestiones de repaso
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Grupo 4
Grupo 4Grupo 4
Grupo 4
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Presentcion grupo 4 ib
Presentcion grupo  4 ibPresentcion grupo  4 ib
Presentcion grupo 4 ib
 
Presentcion grupo 4 ib
Presentcion grupo  4 ibPresentcion grupo  4 ib
Presentcion grupo 4 ib
 
Base de datos
Base de datosBase de datos
Base de datos
 
Presentcion grupo 4 ib
Presentcion grupo  4 ibPresentcion grupo  4 ib
Presentcion grupo 4 ib
 
Base de datos
Base de datosBase de datos
Base de datos
 

Mehr von CarlosPerez492470 (10)

La energía solar.pptx
La energía solar.pptxLa energía solar.pptx
La energía solar.pptx
 
Presentación Diapositivas Prevención del estrés Azul verde y blanco.pdf
Presentación Diapositivas Prevención del estrés  Azul verde y blanco.pdfPresentación Diapositivas Prevención del estrés  Azul verde y blanco.pdf
Presentación Diapositivas Prevención del estrés Azul verde y blanco.pdf
 
Componentesrelacionales.pptx
Componentesrelacionales.pptxComponentesrelacionales.pptx
Componentesrelacionales.pptx
 
Trabajo Grupo 2.pptx
Trabajo Grupo 2.pptxTrabajo Grupo 2.pptx
Trabajo Grupo 2.pptx
 
TENDENCIAS TIC CON WEB.pptx
TENDENCIAS TIC CON WEB.pptxTENDENCIAS TIC CON WEB.pptx
TENDENCIAS TIC CON WEB.pptx
 
cableado-estructurado.ppt
cableado-estructurado.pptcableado-estructurado.ppt
cableado-estructurado.ppt
 
EL UML X2
EL UML X2EL UML X2
EL UML X2
 
mapa mental nutricion.pptx
mapa mental nutricion.pptxmapa mental nutricion.pptx
mapa mental nutricion.pptx
 
Modelo canvas.docx
Modelo canvas.docxModelo canvas.docx
Modelo canvas.docx
 
CANCER CC.pptx
CANCER CC.pptxCANCER CC.pptx
CANCER CC.pptx
 

Tema 1 Introducción.ppt

  • 1. 1 Tema 1: Introducción Bases de datos Máster en Tecnologías de Información Geográfica
  • 2. 2 Introducción 1. Información y datos 2. Ficheros vs. Bases de datos 3. Sistemas gestores de bases de datos 4. Bases de datos con información geográfica 5. Visión de los datos 6. Modelo relacional de bases de datos 7. Diseño de bases de datos 8. Lenguajes de consulta: QBE, SQL 9. Arquitectura de un SGBD 10. Rendimiento 11. Aplicaciones
  • 3. 3 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.
  • 4. 4 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)
  • 5. 5 Datos Información geográfica y espacial:  Datos por líneas (raster):
  • 6. 6 Datos Información geográfica y espacial:  Datos vectoriales
  • 7. 7 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 2. Ficheros vs. Bases de datos
  • 8. 8
  • 9. 9 Ficheros secuenciales Application Cola aplicaciones para acceso a los datos Application Application Archivo Application Acceso serializado 199712150007 Widget 100 4 400 199712150007 Thingamabob 275 1 275 199712150008 Widget 100 3 300
  • 10. 10 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
  • 11. 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).
  • 12. 12 Problemas de las organizaciones de ficheros  Acceso concurrente. Application Application Trabajo con una copia de los datos Trabajo 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
  • 13. 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.
  • 14. 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.
  • 15. 15 3. Sistemas gestores de bases de datos (SGBDs) Usuario 1 Aplicación 1 Usuario n Aplicación m SGBD BD 1 BD k ... ... ...
  • 16. 16 Tipos de SGBDs Relacionales. Orientados a objetos. Geográficos. Temporales. XML.
  • 18. 18 Concurrencia a nivel de fila Last Name First Name Address Phone Adams Bobby 1426 Main 555-1423 Adams Sandy 214 Cisco Lane 555-4297 Brown Terry 45 River Walk 555-8495 Caldwell Simone 122 42ND ST 555-5367 Fridrich John 956 Billings 555-4311 Gaines Lois 6094 Beaker 555-0945 Jones Larry 567 Yale Ave. 555-6932 Jones Larry 240 Boston Blvd. 555-5390 Jones LaVerne South Star Route 555-2345 Mitchell Jean 504 1ST Ave. 555-1777 Mitchell Ted 504 1ST Ave. 555-1778 Smith Diana 2253 Dahlia 555-6098 Smith Grace 983 Fairfax 555-8764 Wise 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é!
  • 19. 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
  • 20. 20 Integridad Restricciones de integridad:  Dominio.  Clave primaria.  Clave externa.  Definidas por el usuario.
  • 21. 21 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.
  • 22. 22 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.
  • 23. 23 SGBDs  SQL/DS de IBM, 1981  ORACLE de RSI, 1981  DB2 de IBM, 1983  Informix, 1985  Sybase, 1991  MS SQL Server (1989, 1992)  MS Access (1992)  MySQL (1995)  PostgreSQL (1995)  HyperSQL (2001) IBM: Industrial Business Machines RSI: Relational Software, Inc. MS: Microsoft Gestores de ficheros ("databases")  DBase  Paradox
  • 24. 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
  • 25. 25 4. Bases de datos con información geográfica
  • 26. 26 Tipos de datos SGBDRs Texto Memo Numérico Autonumérico Fecha/Hora Moneda Sí/No Objeto OLE Hipervínculo
  • 27. 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
  • 28. 28 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  Cómo se almacenan los datos.  Lógico  Qué datos y qué relaciones se almacenan.  Vistas  Subconjunto del nivel lógico.
  • 29. 29 Vistas CREATE VIEW BLUEDEP AS SELECT * FROM EMPL WHERE DEP LIKE 'BLU%; JOB SAL S 31000 S 30000 C 27000 S 29000 J OB 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 rows defined by BLUEDEP SELECT JOB, SAL FROM BLUEDEP WHERE JOB <> 'M';
  • 30. 30 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.
  • 31. 31 Modelo relacional Se usa una colección de tablas para representar los datos y sus relaciones. PROPIET1.TABLA_A COL1 COL2 COL3 ABC 7 1987-11-14 DEF 4 1963-01-01 GHI 6 1946-07-12 JKL 7 1951-12-30 MNO 0 1992-08-12 PROPIET2.TABLA_B Una "BBDD relacional" es una "BBDD de Tablas" "RELACION" = TABLA COL1 COL2 COL3 ABC 7 1987-11-14 DEF 4 1963-01-01 GHI 6 1946-07-12 JKL 7 1951-12-30 MNO 0 1992-08-12 RDBMS = Sistema de Gestión de Bases de Datos Relacionales
  • 32. 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.
  • 33. 33 Conceptual: Modelo entidad-relación Dept Locations M 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
  • 34. 34 Lógico: Relaciones (modelo relacional) Depts(Id, Name) Employees(Id, Name, Address) Skills(Id, Skill) Belongs(IdEmployee, IdDept) Has(IdEmployee, IdSkills)
  • 35. 35 Físico: Tablas, vistas e índices TABLE EMPL INDEX NDX1 INDEX NDX2 INDEX NDX3 VIEW BLUEDEP
  • 36. 36 8. Lenguajes de consulta QBE (Query By Example)  Gráfico. SQL (Structured Query Language)  Textual.
  • 38. 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)
  • 39. 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, DistrictName FROM Districts d, Streets s WHERE s.StreetGeo.STIntersects(DistrictGeo) = 1 ORDER BY StreetName;
  • 40. 40 9. Arquitectura de un SGBD Componentes del sistema • Concurrencia. • Gestor de almacenamiento • Procesamiento de consultas • Estructuras de datos
  • 41. 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 Usuarios Precompilador del DML incorporado Compilador del DML Intérprete del DDL Código objeto de los programas de aplicación Procesador de consultas Gestor de transacciones Gestor de memoria intermedia Gestor de ficheros Gestor de almacenamiento Sistema de gestión de bases de datos Índices Datos estadísticos Ficheros de datos Diccionario de datos Motor de evaluación de consultas Almacenamiento en disco
  • 43. 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
  • 45. 45 Índices B+ Clustered Index 8 13 25 33 45 61 67 75 88 25 61 88 datarow datarow datarow datarow datarow datarow datarow datarow datarow datarow datarow datarow datarow datarow datarow datarow Non-clustered Index 8 13 25 33 45 61 67 75 88 25 61 88 datarow datarow datarow datarow datarow datarow datarow datarow datarow datarow datarow datarow datarow datarow datarow datarow Root Page Non-leaf Pages Leaf Pages
  • 49. 49 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  …
  • 50. 50 Ciclo de vida de las aplicaciones NECESIDADES ANALISIS DATOS DISEÑO BBDD RELACIONALES AJUSTE MODELO DATOS ANALISIS PROCESOS DISEÑO PROCESOS AJUSTE MODELO PROCESOS CAPACITY PLANNING PERFORMANCE ESTIMATES CREACIÓN PASO A PRODUCCION PRUEBA