Download Bases de Datos Introducción

Document related concepts

Base de datos wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Modelo de base de datos wikipedia , lookup

Arquitectura ANSI wikipedia , lookup

Sistema de gestión de bases de datos relacionales wikipedia , lookup

Transcript
BASES DE DATOS
Introducción
Por
Ing. Elizabeth León Guzmán
Profesora
Ingeniería de Sistemas
Grupo de Investigación MIDAS
Contenido
Datos, información, bases de datos
 Historia de los datos
 DBMS
 Arquitectura de un Sistema de Bases de
Datos

Introducción a Bases de Datos
Introducción
Dato
¿Qué es un dato?
Introducción a Bases de Datos
Introducción
Dato
¿Qué es un dato?
Hecho individual acerca de algo de interés
para alguien: númerico, alfanúmerico, etc.
Introducción a Bases de Datos
Introducción
Información
¿Qué es información?
Introducción a Bases de Datos
Introducción
Información
¿Qué es información?
- Un dato no constituye información.
- Procesamiento de los datos nos
proporciona información (relación entre
los datos)
Edad
Introducción a Bases de Datos
Nombre
Introducción

¿Qué es una base de datos?
Introducción a Bases de Datos
Bases de Datos
Definición
Una colección de datos
relacionados, y una descripción
de estos datos, diseñados para
cumplir con las necesidades de
información de una organización.
(Connolly & Begg)
Introducción a Bases de Datos
Bases de Datos
Datos
metadatos
BD
Introducción a Bases de Datos
Bases de Datos
Operaciones sobre los datos





Procesamiento
Almacenamiento
Recuperación
Actualización
Intercambio
Organizaciones realizan operaciones sobre sus
datos provenientes de su actividad
Introducción a Bases de Datos
Métodos primitivos para almacenamiento y
manejo de datos
Interés en datos por lo menos en los últimos 12.000 años [1]
Introducción a Bases de Datos
Historia de los datos



Año 3000 A.C: Fichas de
arcilla antiguas para llevar
el registro de las
mercancías en tránsito
(certificaban el contenido
del embarque)
Tabillas de arcilla: pictogramas, símbolos
que describían venta de tierras y
transacciones de pan, cerveza, ovejas,
ganado y prendas de vestir
Neolítico: cortes y muescas en palos
de madera o nudos en cuerdas
Introducción a Bases de Datos
Historia de los datos

Surgimiento de ciudades:



Trueque
Uso de moneda para comerciar bienes y
servicios
Promovió la actividad de llevar un
registro: recuento de los datos para saber
cuanto ha producido una persona y cuanto
de esa producción puede destinarse al
trueque o a la venta
Introducción a Bases de Datos
Historia de los datos

Con el tiempo, diferentes clases de datos
fueron registrados:


Calendario, datos de censos, inspecciones,
sondeos, registros de propiedad de la tierra,
registros de matrimonios, registros de
contribuciones a la iglesia y árboles
genealógicos, etc
Seguimiento a inventarios, embarques,
pagos de salarios, etc.
Introducción a Bases de Datos
Historia de los datos

Interés comercial: sociedades temporales
(entre mercaderes, capitanes de barcos,
etc) -> llevar registros más complejos ->
contabilidad por partida doble
Introducción a Bases de Datos
Historia de los datos

La contabilidad por partida doble se
origino en centros comerciales de Italia
(siglo XIV)



Mercader de Génova (año 1340)
Obra: Summa de Arithmetica, Geometrica
1494
Uso de primera máquina impresora
Introducción a Bases de Datos
Dispositivos de cálculo

Siglo XVII ->interés en dispositivos que pudieran
procesar datos “automáticamente”

Blaise Pascal produce una máquina sumadora
(1640) que fue la precursora del odómetro
automotriz mecánico de ahora

Tarjetas perforadoras: Joseph Marie Jacquard (1805)
inventó dispositivo que automáticamente
reproducía diseños durante el proceso de
entramado de textiles. Guardaba patrones de
diseño en tipo grafico, en forma de agujero en
tarjetas perforadas-> idea brillante para futuros
dispositivos de almacenamiento
Introducción a Bases de Datos
Historia de los datos
Problemas en almacenamiento y
recuperación de datos
 Censo de 1880 en Estados Unidos se
demoro 7 años de trabajo manual
 Finales siglo XIX se dio inicio a la era del
procesamiento de la información
 La solución fue dada por Hollerith:
almacenamiento en tarjetas perforadas e
invento maquinaria para manipularlas
(electromecánica)

Introducción a Bases de Datos
Historia de los datos
El censo en 1890 se completó en un mes
y la tabulación de los datos duro 2 años.
 En 1896 Hollerith fundó Tabulating
Machine Company para producir y
comercializar sus dispositivos, con el
tiempo esta compañía llego a ser IBM.
 Inicios siglo 20, James Powers desarrolló
dispositivos para alimentar tarjetas en el
equipo e imprimir resultados de manera
automática

Introducción a Bases de Datos
Historia de los datos



En 1911 fundó la Powers Tabulating Machine
Company, que llego a ser Unisys corporation.
En la decada de 1950 fueron introducidos los
primeros computadores electrónicos.
Medios nuevos para almacenar datos:







Cinta de papel perforada
Cinta magnética
Disco magnético
Tambores magnéticos
Unidades de disco
Discos compactos
DVD
Introducción a Bases de Datos
Tipos de Datos
Cuantificables ( numéricos )
 Cualitativos ( categóricos: nominales,
ordinales )

Ejemplos
Introducción a Bases de Datos
Abstraer un Minimundo
Ejemplo: Sistema académico
Entes y sus propiedades (datos)
Estudiante. (nombre, código, teléfono,
semestre, carrera)
Profesor.(nombre, profesión,
investigación)
Curso. (nombre, horario, salón)
Introducción a Bases de Datos
Aplicaciones

Ventas


Bancos


Libros, autores, editoriales, prestamos
Finanzas


Estudiantes, matriculas, cursos y profesores
Bibliotecas


Historias clínicas, citas, doctores, enfermeras y enfermedades
Educación (colegios, universidades)


Clientes, cuentas, prestamos y transacciones bancarias
Hospitales


Clientes, productos y compras
Acciones, bonos, ventas y compras
Transporte

Reservas, horarios, inventario
.
.
.
Introducción a Bases de Datos
Base de datos
Internet
Front End
Aplicaciones
Back End
Bases de datos
Almacenamiento
Introducción a Bases de Datos
Arquitectura
Cliente-servidor


Servidor: gestiona la
base de datos
Cliente: permite
enviar comandos al
servidor
Cliente 1
Cliente 2
.
.
.
Cliente n
Introducción a Bases de Datos
Servidor
Sistema de Base de
Datos
Usuarios
Programas
de
Aplicación
Sistema
Administrador de
bases de datos
DBMS (Database
Management
System)
Dato
s
Metadato
s
Sist.
Operativo
Proporcionar forma de
almacenar y
recuperar la
información de manera
practica y eficiente
Introducción a Bases de Datos
Usuario Admon
Petición de datos
Datos
Vista
DBMS
DBMS
Petición de datos
metadatos
Usuario Final
Usuario Simple o Experto
BD
Petición de datos
Usuario Programador
o Desarrollador
Introducción a Bases de Datos
Usuarios de Bases de
datos
Diseñador: Establece el esquema de la
BD
 Programador: Construye la BD
(implementación)
 Desarrollador de aplicaciones:
implementa las aplicaciones (Ej: web),
“interfaces” entre los usuarios finales y la
bd.
 Administrador: Carga los datos, genera
los accesos a los usuarios finales
(permisos), etc.
Introducción a
Bases
de Datos Los que usan los datos
Final:

Usuario Diseñador
Diseña el modelo lógico de la BD
 Organización de los datos
 Usos típicos de los datos
 Como se almacenan los datos

Introducción a Bases de Datos
Usuario Programador

Implementa aplicaciones que se
comunican con la BD:


Web
Interfaces a otras aplicaciones
Introducción a Bases de Datos
Usuario Administrador
Planificación de la base de datos
 Desarrollo de estándares (ej.: nombres),
 políticas y procedimientos
 Diseño lógico de la base de datos
 Acceso y control (usuarios y passwords)
 Mantenimiento Respaldo

Introducción a Bases de Datos
Usuario Final

Simple: usuario que usa la BD

Experto: usa y tiene privilegios en la BD
Introducción a Bases de Datos
DBMS (Data Base Manager System)
Sistema de Administración de bases de
Datos
“Conjunto de programas que maneja
la estructura de la BD y controla el
acceso a los datos guardados en
ella”
Introducción a Bases de Datos
DBMS
Crea y organiza
 Establece y mantiene rutas de acceso
 Maneja los datos según las necesidades de
los usuarios
 Mantiene integridad y seguridad de los
datos
 Control de usuarios que acceden

Introducción a Bases de Datos
DBMS

Gran cantidad de personas quieren
acceder a la información:


Empleados, clientes, etc.
DBMS deben proveer:




Eficiencia: datos masivos (terabytes)
Seguridad de los datos: datos
consistentes(hardware, poder, etc.)
Privacidad de los datos
Recuperación de los datos. Persistencia: datos
deben mantenersen, (Respaldo de los datos)
Introducción a Bases de Datos
DBMS

Gran cantidad de personas quieren
acceder a la información:


Empleados, clientes, etc.
DBMS deben proveer:




Eficiencia: datos masivos (terabytes)
Seguridad de los datos: datos
consistentes(hardware, poder, etc.)
Privacidad de los datos
Recuperación de los datos. Persistencia: datos
deben mantenersen, (Respaldo de los datos)
Introducción a Bases de Datos
Eficiencia

Grandes cantidades de usuarios y
generación de datos


Multiusuario: manejo de la concurrencia. Que
para los usuarios sea transparente que otros
usuarios acceden a la base de datos
simultaneamente.
Miles de consultas por segundos
Introducción a Bases de Datos
Seguridad de los datos

Proteger los datos de destrucciones
maliciosas o cambios en los datos (robo,
destrucción, intentos de falsificación)
Ejemplo: alguien que quiera incrementar el
saldo de su cuenta bancaria
Datos deben ser consistentes a pesar de lo que
pueda ocurrir
Introducción a Bases de Datos
Privacidad de los datos

Los empleados que consultan los datos de
las compañías se les asigna acceso solo a
los datos que ellos requieren para su
trabajo.
Ejemplo: los vendedores no deberían tener
acceso a los datos de salario de los empleados
de la compañía
Introducción a Bases de Datos
Respaldo y recuperación de
los datos

Capacidad de recuperar los datos si estos
son perdidos o dañados, ya sean por:


fallas de hardware
desastre natural
Introducción a Bases de Datos
Mantenimiento de la exactitud
de datos
Datos almacenados varias veces
 Cuando una nueva aplicación aparece los
datos son nuevamente almacenados


Redundancia de datos
Introducción a Bases de Datos
Datos como Recurso
Corporativo
Los datos son un recurso difíciles de
manejar
 Cantidades inmensas de datos
 Es necesario utilizar software que permita
ayudar a manejar los datos
 Es necesario hardware cada vez mas
rápido a medida que el volumen de datos
crece.
 Especialistas en administración de datos
son necesarios.

Introducción a Bases de Datos
Datos como Recurso
Corporativo
Database Management Systems DBMS
(Sistema Gestor de Bases de Datos)
 Administradores de bases de datos
 Hardware mas rápido
 Facilidades para almacenar grandes
volumenes de datos.

Introducción a Bases de Datos
Tipos de DBMSs

Según el modelo de Datos
 Relacional – Modelo de datos basado en tablas
 Red – Modelo de datos basado en grafos con
registros como nodos y relaciones entre registros
como enlaces.
 Jerarquico – Modelo de datos basado en arboles
 Orientado a Objetos – Modelo de datos basado en
el paradigma de la programacion orientada a
objetos.
 Distribuido – Compuesto de varios DBMSs
independientes como nodos de un ared de
comunicaciones.
Introducción a Bases de Datos
Sistemas Administradores
de Bases de Datos (DBMS)
Tipos de DBMS

Según modelo de datos





administradores
administradores
administradores
administradores
de
de
de
de
Según número de usuarios



Sistemas
Sistemas
Sistemas
Sistemas
Monousuario
Multiusuario
Según número de sitios
Centralizado
 Distribuido
Introducción a Bases de Datos

datos
datos
datos
datos
relacionales
orientados a objetos
jerárquicos
en red
•1960
•IBM, UNIVAC,
HoneyWell
•Computadores
mainframe
•Legacy systems
(datos históricos)
Sistemas Administradores
de Bases de Datos (DBMS)
Tipos de DBMS

Según modelo de datos





administradores
administradores
administradores
administradores
de
de
de
de
Según número de usuarios



Sistemas
Sistemas
Sistemas
Sistemas
Monousuario
Multiusuario
Según número de sitios
Centralizado
 Distribuido
Introducción a Bases de Datos

datos
datos
datos
datos
relacionales
orientados a objetos
jerárquicos
en red
•Viable en 1980
•Preferido desde
entonces
Sistemas Administradores
de Bases de Datos (DBMS)
Tipos de DBMS

Según modelo de datos





administradores
administradores
administradores
administradores
de
de
de
de
Según número de usuarios



Sistemas
Sistemas
Sistemas
Sistemas
Monousuario
Multiusuario
Según número de sitios
Centralizado
 Distribuido
Introducción a Bases de Datos

datos
datos
datos
datos
relacionales
orientados a objetos
jerárquicos
en red
•Util para ciertas
aplicaciones
Aspectos de BD
Ambiente centrado en los datos: recurso
corporativo importante. Compartir los
datos con personas que los requieran
dentro y fuera de la organización
 Integración de datos y almacenarlos en
forma no redundante
 Ambiente que maneje aspectos como:
seguridad, respaldo, recuperación y
control de concurrencia de datos

Introducción a Bases de Datos
Tipos de BD

En número de usuarios


BD de escritorio: soporta solo un usuario al tiempo
BD multiples: múltiples usuarios al mismo tiempo

BD de grupo de trabajo: menos de 50 usuarios

BD empresarial: mas de 50 usuarios (cientos)
En ubicación de los datos


BD centralizada: todos los datos en un mismo lugar (el
mismo servidor)
BD distribuida: datos distribuidos en varios servidores
Introducción a Bases de Datos
Tipos de BD

Modo de uso y “tiempo de captar la
información”


Base de datos operacional o
transaccional: soporta operaciones diarias de
una compañía. (transacciones de de venta,
pagos servicios,etc.). Registradas con precisión
y de inmediato.
Bodega de Datos: Guarda datos empleados
para generar información que soporte toma de
decisiones.
Introducción a Bases de Datos
Tipos BD

Estructuración de los datos

Datos No estructurados: datos en formato
en el cual fueron recolectados. El formato no
permite el procesamiento de la información
Documentos texto, contenidos de “e-mails”,
memorandos
Introducción a Bases de Datos

Datos estructurados: los datos son
procesados para que la información tenga un
formato.
Estudiante: nombre, codigo, edad, genero, semestre

Datos semiestructurados: datos que han
sido procesados en alguna medida
Digitalizacion de facturas en imágenes
 Email: el remitente y el destino estan formateados, el
asunto y el contenido NO.

Introducción a Bases de Datos
Tipos BD
Bases de datos XML: soporta el
almacenamiento y admon de datos XML
semiestructurados.
XML:
XML EXtensible Markup Language), Lenguaje
de marcado extensible. Lenguaje especial que
representa y manipula elementos de datos en
formato textual.

Introducción a Bases de Datos
Modelo de Datos

Formalismo que define cual es la
estructura de los datos



Alternativas





Entre un archivo
Entre archivos
Jerarquica
Red
Relacional
Orientada a Objetos
La estructura es llamada schema
(esquema)

Un esquema tiene muchas instancias
Introducción a Bases de Datos
Breve Historia de las Bases
de datos

1960s:

Inicios de 1960s: Charles Bachmann
desarrollo el primer DBMS (IDS)


1960s: Primer DBMS exitosamente comercial
desarrollado por IBM (IMS)


Modelo de red
Modelo Jerárquico donde la relación de los datos
era en forma de árbol
1960s: Conference On DAta Systems
Languages (CODASYL) modelo definido.
Modelo de red mas estandarizado.
Introducción a Bases de Datos
Breve Historia de las Bases
de datos

1970s:


1970: Ted Codd definió el modelo relacional
en el Laboratorio San Jose de IBM
Comienzan dos proyectos

INGRES en la University of California, Berkeley
 Llega a ser comercial INGRES, seguido por
POSTGRES que fue incorporado en Informix

System R en IBM San Jose Laboratory
 Llego a ser DB2

1976: Peter Chen definió el modelo entidad
relación (ER)
Introducción a Bases de Datos
Breve Historia de las Bases
de datos

1980s


Tecnología de bases de datos relacionales
es madura
El SQL es estandarizado por la ISO (finales
de 1980s)
Introducción a Bases de Datos
Breve Historia de las Bases
de datos

1990s





Continua la expansión de la tecnología
relacional y mejora su rendimiento.
Distribución es realidad
Nuevos modelos de datos: orientado a objetos,
deductivo
Tarde 1990s: el modelo OO es incorporado al
relacional DBMSs → Object-Relational DBMSs
Nuevas áreas de aplicación: Data warehousing
y OLAP, Web e Internet, interés en texto y
multimedia.
Introducción a Bases de Datos
Ejemplo de instancias en
modelo relacional
TRABAJA
EMPLEADO
ENO
E1
E2
E3
E4
E5
E6
E7
E8
ENOMBRE
J. Diaz
M. Nuñez
A. Arias
J. Martínez
B. Casas
L. Rondón
R. Pardo
J. Angarita
EPROFESION
Ing. Eléctrico
Analista Sistemas
Ing. Mecánico
Progrador
Analista Sistemas
Ing. Eléctrico
Ing. Mecánico
Analista Sistemas
PROYECTO
PNO
P1
P2
P3
P4
P5
PNOMBRE
Instrumentacion
Desarrollo de BD
CAD/CAM
Mantenimiento
CAD/CAM
Introducción a Bases de Datos
PRESUPUESTO
150000
135000
250000
310000
500000
ENO PNO
E1
E2
E2
E3
E3
E4
E5
E6
E7
E7
E8
P1
P1
P2
P3
P4
P2
P2
P4
P3
P5
P3
RESP
Administrador
Analista
Analista
Consultor
Ingeniero
Programador
Administrador
Administrador
Ingeniero
Ingeniero
Administrador
DUR
12
24
6
10
48
18
24
48
36
23
40
Lenguaje

DDL - Lenguaje de Definición de
Datos: Permite definir los componentes
del esquema. Lo usa el administrador.

DML – Lenguaje de Manipulación de
Datos: Permite administrar las
operaciones a realizar sobre los datos:
consultar y/o modificar.
Introducción a Bases de Datos
SQL - Structured Query
Language

Lenguaje propio de los DBMS para
interactuar con las bases de datos:





Crear
Definir
Consultar
Modificar
Actualizar
Introducción a Bases de Datos
Lenguaje de Consulta

SQL es un lenguaje de programación para
bases de datos

Algebra relacional es el lenguaje base para
queries que extraen datos

Embedded SQL es un lenguaje que combina
programas SQL con otros lenguajes

4GL son programas de aplicación que extienden
SQL

ODBC/JDBC/Dynamic SQL son protocolos
estandars para acceder a sistemas de bases de
datos desde maquinas remotas
Introducción a Bases de Datos
Arquitectura General de un
DBMS
Nivel Externo
Nivel Lógico o
conceptual
Nivel Físico o interno
Introducción a Bases de Datos
Nivel interno
Estructura física de almacenamiento
 Todos los detalles de cómo el DBMS
utiliza el disco duro, la memoria, etc.
 El sistema debe ser rápido en
responder y eficiente en el uso de
espacio

Introducción a Bases de Datos
Nivel conceptual
Estructura lógica de almacenamiento
 Diseño conceptual de la base de datos:
Tablas, columnas, etc.
 El diseño debe reflejar conceptualmente el
 problema a modelar

Introducción a Bases de Datos
Nivel externo
Vistas sobre las tablas
 Requiere sólo acceso parcial a los datos
 Cada vista debe reflejar adecuadamente la
parte de los datos que interesa a cada uno

Introducción a Bases de Datos
Esquema de la base de
datos
Descripción de la estructura de la base
de datos
Esquema Interno
 Esquema Conceptual
 Esquema Externo

Introducción a Bases de Datos
Esquema interno
Descripción de la organización física de
los datos: estructuras de datos en
disco y rutas de acceso.
Introducción a Bases de Datos
Esquema Conceptual
Descripción de la estructura lógica de
la
base de datos completa (ej.: a través
de
diagramas entidad-relación). Se omiten
los detalles del almacenamiento
físico.
Introducción a Bases de Datos
Esquema externo
Descripción de la estructura lógica de
una parte de la base de datos que es
de interés a un grupo particular.
Introducción a Bases de Datos
Tarea de la BD
Coherencia
Independencia
entre los datos
Independencia
Física y Lógica de
los datos
Introducción a Bases de Datos
Independencia Física
El esquema conceptual no es
afectado por cambios al esquema
físico de datos.

Si el DBMS modifica su organización
interna de archivos, no pasa nada con el
esquema conceptual (sucede cuando hay
un cambio de versión, o al migrar a otro
DBMS)
Introducción a Bases de Datos
Independencia Lógica
Algunos elementos del esquema
externo no son afectados por cambios
al esquema conceptual
Agregar más columnas no afecta las vistas
 Modificar columnas sólo afecta las vistas
que incluyen esas columnas

Introducción a Bases de Datos
Referencias
[1] Guillenson. Administración de Bases de Datos. LIMUSA WILEY
[2] Coronel, Morris, Rob. Bases de Datos: Diseño, Implementación y
Adminnistración. CENGAGE Learning
Introducción a Bases de Datos