Documentos de Académico
Documentos de Profesional
Documentos de Cultura
rmarind@gmail.com
1
Introducción
1. Información y datos. Historia.
2. Ficheros vs. Bases de datos
3. Sistemas gestores de bases de datos (SGBD)
4. Bases de datos con información geográfica
5. Visión de los datos
6. Modelo relacional de bases de datos (DIA)
7. Diseño de bases de datos
8. Lenguajes de consulta: QBE, SQL
9. Arquitectura de un SGBD (DBMS)
10. Rendimiento
11. 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 (observación mundo real).
Son recopilados como hechos o evidencias.
Adquieren significado a partir de su
procesamiento.
Es necesario un almacenamiento pemanente.
3
1. Información y datos
Diferencias: analicemos este caso,
Pirámide de construcción del conocimiento utilizada en IT para minería de datos, BI (Business Intelligence) y gestión
de la TI. En la IT se han ido asimilando como capas base de la pirámide (valores agregados) sin las cuales no se
podría llegar a la cúspide del conocimiento que es la sabiduría => Sociedad del Conocimiento.
1. Información y datos
Avances:
1. Explica con tus propias palabras lo que es una Base de datos, ilústralo con un ejemplo particular tuyo.
2. Explica que entiendes por almacenamiento “Sistematicamente” (no transcribas textualmente del video)
3. Por que crees que con la llegada de los computadores las base de datos aumentaron su importancia?
4. Explica lo que comprendiste de un Sistema Gestor de Base de datos (SGBD ó DBMS) y que puedes hacer
con el?
5. Aclara con tu propia opinión que diferencia hay entre tener una base de datos en Cinta magnética y tenerla
en Disco duro? Cómo crees que se guardaban los datos en los años 40’s, antes de medios magnéticos?
6. Explica por qué las Base de datos Relacionales cambiaron la historia en la informática y los computadores?
7. Haz un corto resumen de la historia de las base de datos a partir de los años 70’s… hasta nuestros días.
8. Explica con tus propias palabras la diferencia que hay entre una Base de datos Relacional y una Base de
datos No Relacional y define, para ti las ventajas y desventajas de estas. Utiliza un ejemplo (diferente al
del video).
9. Explica (sin transcribir) qué entendiste por SQL (DDL, DML, DCL) ?
10. Expresa tu propia conclusión acerca de las base de datos SQL y No SQL y cuales crees son las más
usadas actualmente ?
9
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 del Tránsito
Ej: auto_particular(matrícula,modelo,color)
10
Datos
Información geográfica y espacial:
Datos por líneas (raster):
11
Datos
Información geográfica y espacial:
Datos vectoriales
12
Datos, Historia (1/6)
13
Datos, Historia (2/6)
Cuando la ciencia de
la computación y la tecnología avanzaron (70’s), se
extendió la necesidad de crear un sistema al cual
accedieran todas las aplicaciones de la organización.
Línea de tiempo
18
2. Ficheros vs. Bases de datos
19
Ficheros vs. Bases de datos SGBD = DBMS
Cobol
PL/I
BASIC
20
Ficheros secuenciales
Acceso
serializado
Applic ation
Appl ic atio n
Application
Archivo Application
21
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
22
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).
23
Problemas de las
organizaciones de ficheros
· Acceso concurrente.
Trabajo con
una copia de Trabajo con una
los datos copia de los datos
Application
Archivo Archivo
Application
Yo
199712150007 Widget 100 4 400 también! 199712150007 Widget 100 4 400
199712150007 Thingamabob 275 1 275
199712150007 Thingamabob 275 1 275
199712150008 Widget 100 3 300
199712150008 Widget 100 3 300
Application
Archivo
24
Problemas de las
organizaciones de ficheros
Las bases de datos solucionan los problemas
de los ficheros.
25
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.
26
TALLER Nº 2
Con base en el tema de Historia visto, la bibliografía entregada, exploraciones propias por Internet, y tu propio
aporte interpretativo, conteste:
1. ¿Qué postuló Codd en un ya famoso artículo de 1970 a partir del cual se desarrollaron las Bases de Datos
Relacionales?
2. ¿Por qué todos los software de bases de datos declaran ser relacionales?
3. ¿Cuáles son las cuatro diferencias principales entre un sistema de procesamiento de archivos y un SGBD?
4. se han descrito las diferentes ventajas principales de un sistema gestor de bases de datos. ¿Cuáles serán
sus principales inconvenientes?
5. Explíquese la diferencia entre independencia de datos física y lógica.
6. Haga una lista de las cinco responsabilidades del sistema gestor de la base de datos. Para cada
responsabilidad explíquense los problemas que ocurrirían si no se realizara esa función
7. ¿Cuáles son las cinco funciones principales del administrador de la base de datos?
8. Lístense siete lenguajes de programación que sean procedimentales y dos que sean no procedimentales.
¿Qué grupo es más fácil de aprender a usar? Explíquese la respuesta.
9. Lístense los seis pasos principales que se deberían dar en la realización de una base de datos para una
empresa particular
10. Construya una línea de tiempo propia de la evolución de los SGBD
27
3. Sistemas gestores de
bases de datos (SGBDs)
SGBD
BD 1 ... BD k
28
Tipos de SGBDs
Relacionales.
Orientados a objetos.
Geográficos.
Temporales.
XML.
29
Los SGBDs proporcionan:
C oncurrencia
I ntegridad
Seguridad
30
Concurrencia a nivel de fila
¡Estoy
leyendo la 3ª Last First
fila! Name Name Address Phone
Adams Bobby 1426 Main 555-1423
Adams Sandy 214 Cisco Lane 555-4297
¡Estoy Application
Brown Terry 45 River Walk 555-8495
cambiando Caldwell Simone 122 42ND ST 555-5367
la 6ª fila! 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
Application
Application
31
Transacción (unidad de trabajo)
El programa transfiere 1000€ desde la cuenta A a la B
UPDATE A UPDATE B
X X X
COMMIT
UPDATE A UPDATE B
X X X
ROLLBACK
32
Integridad
Restricciones de integridad:
Dominio.
Clave primaria.
Clave externa.
Definidas por el usuario.
33
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.
Auditoría (Repositorios, Journal, Log’s eventos)
34
Ventajas
Como consecuencia de estas características se
obtienen las siguientes ventajas:
Independencia Lógica y Física Datos & Apps
Normalización (Redundancia mínima, Repositorio
comú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.
Consultas complejas.
Respaldo y recuperación 35
SGBDs
SQL/DS de IBM, 1981
ORACLE de RSI, 1981
DB2 de IBM, 1983
Informix, 1985
Sybase, 1991 Gestores de ficheros
MS SQL Server (1989, 1992) ("databases")
MS Access (1992) DBase
MySQL (1995) Paradox
PostgreSQL (1995)
HyperSQL (2001) IBM: Industrial Business Machines
RSI: Relational Software, Inc.
MS: Microsoft
36
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
37
4. Bases de datos con
información geográfica
38
Tipos de datos SGBDRs
Texto
Memo
Numérico
Autonumérico
Fecha/Hora
Moneda
Sí/No
Objeto OLE
Hipervínculo
39
Tipos de datos SGBDRs espaciales
MS SQL Server Spatial Query Server (for Sybase)
Circle
geography Ellipse
geometry 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
40
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.
41
CREATE VIEW BLUEDEP AS
Vistas SELECT *
FROM EMPL
WHERE DEP LIKE 'BLU%;
43
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" = TABLA
PROPIET1.TABLA_A PROPIET2.TABLA_B
COL1 COL2 COL3 COL1 COL2 COL3
Una "BBDD
ABC 7 1987-11-14 ABC 7 1987-11-14
DEF 4 1963-01-01 relacional" DEF 4 1963-01-01
GHI 6 1946-07-12 es una "BBDD GHI 6 1946-07-12
JKL 7 1951-12-30 de Tablas" JKL 7 1951-12-30
MNO 0 1992-08-12 MNO 0 1992-08-12
44
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.
45
Conceptual: Modelo entidad-relación
M A LOCATION 1
Dept HAS MANY
DEPTS
Locations
1 11 1
MANY
1 M1 EMPLOYEES M
WORK ON
Employees MANY Projects
M 1M PROJECTS
1
1 M
Skills
46
Lógico: Relaciones (modelo relacional)
Depts(Id, Name)
Employees(Id, Name, Address)
Skills(Id, Skill)
Belongs(IdEmployee, IdDept)
Has(IdEmployee, IdSkills)
47
Físico: Tablas, vistas e índices
TABLE
EMPL
INDEX VIEW
NDX1 BLUEDEP
INDEX INDEX
NDX2 NDX3
48
8. Lenguajes de consulta
QBE (Query By Example)
Gráfico.
49
Lenguaje gráfico QBE
50
Lenguaje SQL
Es el lenguaje de facto para
el acceso a los datos en las
bases de datos relacionales.
51
SQL
CREATE DATABASE MTIGDB;
USE MTIGDB;
52
9. Arquitectura de un SGBD
Componentes del sistema
Concurrencia.
Gestor de almacenamiento
Procesamiento de consultas
Estructuras de datos
53
Usuarios normales
Usuarios
(administrativos, Programadores de Usuarios Administrador de
cajeros aplicaciones avanzados base de datos
automáticos, ...)
Procesador de consultas
Precompilador del Compilador del Intérprete del DDL
DML incorporado DML
Gestor Gestor de
Gestor de almacenamiento
de memoria
transacciones intermedia
Gestor
de
ficheros
Almacenamiento en disco
Índices Datos estadísticos
Diccionario de
datos
Ficheros de datos
54
Procesamiento de consultas
Programa
¿QUÉ?
¿CÓMO?
Optimizador
Estadísticas
Catálogo
55
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
56
Índices secuenciales
Clave Clave
Cajones
Clave primaria secundaria
primaria Valores Índice
secundario 1 B
Índice
A 2 D
primario A
A 2 A
B
A 3 C
B
C
B 4 D
B D
C 4 B
B E
D 4 E
B
5 D
E
C 6 C
D 6 B
D
E
57
Índices B+
Clustered Index Non-clustered Index
Root Page
25 61 88 25 61 88
Non-leaf
8 13 25 33 45 61 67 75 88 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
58
Árboles k-d
59
Árboles cuadráticos
60
Árboles R
61
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
… 62
Ciclo de vida de las aplicaciones
NECESIDADES
ANALISIS ANALISIS
DATOS PROCESOS
DISEÑO
DISEÑO
BBDD
PROCESOS
RELACIONALES
CAPACITY PLANNING
PERFORMANCE ESTIMATES
AJUSTE AJUSTE
MODELO DATOS CREACIÓN MODELO PROCESOS
PRUEBA
PASO A
PRODUCCION
63
Final
64
Principales DBMS 80’s+
Retrieve Btrieve MsJET DAO ADO SQL
Dbase ISAM Paradox Oracle
Timeline
65