Tema: Introducción a las
Bases de Datos.
Introducción a los Sistemas de Cómputo.
Universidad Mariano Gálvez de Guatemala.
Sede San Juan Sacatepéquez.
Facultad de Ingeniería en Sistemas.
1
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
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: vehículo(matrícula,modelo,color)
4
Datos
Información geográfica y espacial:
◼ Datos por líneas (raster):
5
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
6
7
Ficheros secuenciales
Acceso
serializado
Application
Appl ic ation
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
8
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
9
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).
10
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
199712150007 Widget 100 4 400
199712150007 Thingamabob 275 1 275
199712150008 Widget 100 3 300
11
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.
12
3. Sistemas gestores de
bases de datos (SGBDs)
Usuario 1 ... Usuario n Aplicación 1 ... Aplicación m
SGBD
BD 1 ... BD k
13
Tipos de SGBDs
Relacionales.
Orientados a objetos.
Geográficos.
Temporales.
XML.
14
Los SGBDs proporcionan:
C oncurrencia
I ntegridad
Seguridad
15
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
Application
Jones Larry 240 Boston Blvd. 555-5390
¡Estoy Jones LaVerne South Star Route 555-2345
leyendo la 8ª
Mitchell Jean 504 1ST Ave. 555-1777
fila y luego la
modificaré! 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
16
Integridad
Restricciones de integridad:
◼ Dominio.
◼ Clave primaria.
◼ Clave externa.
◼ Definidas por el usuario.
17
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.
18
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.
19
SGBDs
SQL/DS de IBM, 1981
ORACLE de RSI, 1981
DB2 de IBM, 1983
Informix, 1985
Sybase, 1991 Gestores de ficheros
("databases")
MS SQL Server (1989, 1992)
MS Access (1992)
DBase
MySQL (1995) Paradox
PostgreSQL (1995)
HyperSQL (2001) IBM: Industrial Business Machines
RSI: Relational Software, Inc.
MS: Microsoft
20
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
21
4. Bases de datos con
información geográfica
22
Tipos de datos SGBDRs
Texto
Memo
Numérico
Autonumérico
Fecha/Hora
Moneda
Sí/No
Objeto OLE
Hipervínculo
23
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 24
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.
25
CREATE VIEW BLUEDEP AS
Vistas SELECT *
FROM EMPL
WHERE DEP LIKE 'BLU%;
SELECT JOB, SAL
JOB SAL DEP
S 31000 BLU FROM BLUEDEP
M 32000 RED
S 30000 BLU WHERE JOB <> 'M';
C 27000 GRE Columns and rows
S 33000 GRE defined by BLUEDEP
M 31000 BLU
JOB SAL
S 32000 RED S 31000 BLU
S 30000 BLU S 31000
C 28000 GRE
M 31000 BLU S 30000
S 30000 RED C 27000
M 33000 GRE C 27000 BLU
S 29000 BLU S 29000
S 31000 RED
S 35000 GRE
C 27000 BLU
S 29000 RED
S 29000 BLU
26
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.
27
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
28
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.
29
Conceptual: Modelo entidad-relación
M A LOCATION 1
Dept HAS MANY Locations
DEPTS
1 11 1
MANY
1 M1 EMPLOYEES M
WORK ON
Employees MANY Projects
M 1M PROJECTS
1
1 M
Skills
30
Lógico: Relaciones (modelo relacional)
Depts(Id, Name)
Employees(Id, Name, Address)
Skills(Id, Skill)
Belongs(IdEmployee, IdDept)
Has(IdEmployee, IdSkills)
31
Físico: Tablas, vistas e índices
TABLE
EMPL
INDEX VIEW
NDX1 BLUEDEP
INDEX INDEX
NDX2 NDX3
32
8. Lenguajes de consulta
QBE (Query By Example)
◼ Gráfico.
SQL (Structured Query Language)
◼ Textual.
33
Lenguaje gráfico QBE
34
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)
35
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;
36
9. Arquitectura de un SGBD
Componentes del sistema
• Concurrencia.
• Gestor de almacenamiento
• Procesamiento de consultas
• Estructuras de datos
37
Usuarios normales
Usuarios
(administrativos, Programadores de Usuarios Administrador de
cajeros aplicaciones avanzados base de datos
automáticos, ...)
Interfaces de Programas de Consulta Esquema de base
aplicaciones aplicación de datos
Procesador de consultas
Precompilador del Compilador del Intérprete del DDL
DML incorporado DML
Sistema de gestión de bases de datos
Código objeto de Motor de
los programas de evaluación de
aplicación consultas
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
38
Procesamiento de consultas
39
Definición de proyectos
Por grupo definir los diversos temas que
se abordarán para la elaboración del
proyecto de Base de Datos.
Tarea:
◼ Realizar un resumen ejecutivo del módulo
de aprendizaje del tema relativo a
introducción a base de datos. Fecha de
entrega: Viernes 18/03/2022 hasta las
23:59 horas.
40