Vous êtes sur la page 1sur 37

Facultad de Ciencias de la Ingeniera

Ingeniera Informtica y Ciencias de la Computacin



Introduccin al Diseo
de Bases de Datos
Ing. Jonathan Carrillo
Quito, Septiembre 2014

DISEO E IMPLEMENTACIN
DE BASE DE DATOS
Contenido:
1. Sistemas de Informacin
-Bases de Datos DBMS
2. Arquitectura de los Sistemas de Bases de Datos
Conceptos Generales
Arquitectura ANSI/X3/SPARC
Estructura de los DBMS
3. Arquitectura de Aplicaciones
Cliente-Servidor
Tres Capas
n Capas
4. Conclusin



Introduccin al Diseo de Bases de Datos
1. Sistemas de Informacin - Bases de Datos DBMS

Para iniciar el curso de diseo e implementacin de
base de datos es indispensable contestar las
siguientes preguntas:
A. Qu es un sistema de Informacin?
B. Qu es un sistema de base de datos?
C. Qu es un sistema de gestin de base de
datos?
D. Qu es una base de datos?
E. Por qu una base de datos?




Ing. Jonathan Carrillo - Septiembre 2014
Introduccin al Diseo de Bases de Datos
1. Sistemas de Informacin - Bases de Datos DBMS

A. Qu es un sistema de Informacin?
> Es un conjunto de procesos, datos y
herramientas operados por usuarios para
recoger, almacenar, procesar y recuperar
informacin.(Banda, 2010)
Ing. Jonathan Carrillo - Septiembre 2014
Introduccin al Diseo de Bases de Datos
1. Sistemas de Informacin - Bases de Datos DBMS

B. Qu es un sistema de base de datos?
> Es un sistema computarizado para guardar
registros; es decir, es un sistema computarizado
cuya finalidad general es almacenar datos y
permitir a los usuarios recuperar y actualizar
esa informacin a base de peticiones. (Date,
2008)
> Sistema cuyo propsito general es registrar y
mantener la informacin consolidada y
coherente mediante un conjunto de procesos,
datos, software, hardware y usuarios. (Banda,
2010)




Ing. Jonathan Carrillo - Septiembre 2014
Introduccin al Diseo de Bases de Datos
1. Sistemas de Informacin - Bases de Datos DBMS
C. Qu es un sistema de gestin de base de datos o
SGBD (DBMS en ingls)?
> Consiste en una coleccin de datos
interrelacionados y una coleccin de programas
para acceder a esos datos (Korth, 2002)
> Tipos: Relacionales, Orientados a Objetos,
Objetos Relacionales


Ing. Jonathan Carrillo - Septiembre 2014
Major DBMS Vendors (Craigs Mullins)
IBM: Database Page (DB2, Informix, IMS, Netezza, solidDB)
Microsoft SQL Server
Oracle Corporation (Berkeley DB, Database 11g, Exadata, MySQL,
TimesTen)
Sybase (acquired by SAP)

Introduccin al Diseo de Bases de Datos
1. Sistemas de Informacin - Bases de Datos DBMS







Ing. Jonathan Carrillo - Septiembre 2014
Open Source DBMS
Actian (Ingres)
Apache Derby
Drizzle
EnterpriseDB
Firebird
MySQL (acquired by Oracle)
Perst (embedded database)
PostgreSQL
VoltDB
Other DBMS Vendors
Alpha Software
Altibase
Amazon SimpleDB
ANTs Compatibility Server
CA Mainframe DBMS
Datacom (CA Technologies)
dBASE
Empress (embedded database)
eXtremedb (embedded database)
Filemaker
HP NonStop SQL
IDMS - from CA Technologies
InterBase - from Embarcadero
Technologies
InterSystems - Cache'
Introduccin al Diseo de Bases de Datos
1. Sistemas de Informacin - Bases de Datos DBMS







Ing. Jonathan Carrillo - Septiembre 2014
Other DBMS Vendors
jBase
Model 204 - hierarchic DBMS from Rocket Software
Progress
Pervasive PSQL
PublicPIM
Raima
Software AG (Adabas, Tamino)
SQL-Base (Unify)
SQLite
Teradata
ThinkSQL
U2 - extended relational database system from Rocket Software
XML Database Products

Introduccin al Diseo de Bases de Datos
1. Sistemas de Informacin - Bases de Datos DBMS

D. Qu es una base de datos?
> Es un conjunto de datos persistentes que es
utilizado por los sistemas de Informacin o
aplicacines de alguna empresa dada (Date,
2008)
> Una Base de Datos representa algn aspecto del
mundo real y es utilizada por uno o ms grupos
de usuarios con fines especficos. (Elmasri, 2007)

Ing. Jonathan Carrillo - Septiembre 2014
Introduccin al Diseo de Bases de Datos
1. Sistemas de Informacin - Bases de Datos DBMS

Ing. Jonathan Carrillo - Septiembre 2014
Procesos
Hardware
Usuarios
Datos
Software
Datos
Datos
Introduccin al Diseo de Bases de Datos
1. Sistemas de Informacin - Bases de Datos DBMS

E. Por qu una base de datos?
> Compactacin: No hay necesidad de archivos en
papel voluminosos.
> Velocidad: La mquina puede recuperar y
actualizar datos ms rpidamente que un
humano.
> Menos trabajo laborioso: Se puede eliminar gran
parte del trabajo de llevar los archivos a mano.
> Informacin actualizada: En el momento que la
necesitemos, tendremos a nuestra disposicin
informacin precisa y actualizada.
Ing. Jonathan Carrillo - Septiembre 2014
Introduccin al Diseo de Bases de Datos
1. Sistemas de Informacin - Bases de Datos DBMS

E. Por qu una base de datos?
> Los datos pueden compartirse
> Es posible reducir la redundancia
> Es posible (hasta cierto grado) evitar la
inconsistencia
> Es posible brindar un manejo de transacciones
> Es posible hacer cumplir la seguridad
> Es posible hacer cumplir los estndares
(departamentales, de instalacin, corporativos, de
la industria, nacionales e internacionales)
Ing. Jonathan Carrillo - Septiembre 2014
Introduccin al Diseo de Bases de Datos
2. Arquitectura de los Sistemas de Bases de Datos
> Conceptos Generales
> Abstraccin: Simplificacin de la realidad.
Consiste en aislar un elemento de su contexto o
del resto de los elementos que lo acompaan.
> Modelo: Representacin abstracta de la realidad.
> Modelo basado en datos: Se caracteriza por la
identificacin de la organizacin de los datos y
sus niveles de abstraccin.
> Esquema: descripcin de una base de datos que
se especifica durante la fase de diseo.
> Instancia: Datos de la base de datos en un
momento concreto




Ing. Jonathan Carrillo - Septiembre 2014
Introduccin al Diseo de Bases de Datos
2. Arquitectura de los Sistemas de Bases de Datos
> Arquitectura ANSI/X3/SPARC (Standard Planning
and Requirements Committee of the American National Standards
Institute on Computers and Information Processing)
> El objetivo de la ANSI/X3/SPARC (arquitectura
de tres esquemas), es separar las aplicaciones de
usuario y las bases de datos fsicas para disear
las bases de datos
> Explica la independencia de los datos, es decir,
la capacidad de cambiar el esquema en un nivel
de un sistema de bases de datos sin tener que
cambiar el esquema en el siguiente nivel ms
alto.

Ing. Jonathan Carrillo - Septiembre 2014
Introduccin al Diseo de Bases de Datos
2. Arquitectura de los Sistemas de Bases de Datos
> Arquitectura ANSI/X3/SPARC (Standard Planning and
Requirements Committee of the American National Standards
Institute on Computers and Information Processing)
Ing. Jonathan Carrillo - Septiembre 2014
Se identifica el acceso a los
datos y las relaciones existentes
entre ellos desde el punto de
vista de los usuarios.

Consiste en una representacin
de los datos y sus relaciones
desde un punto de vista de la
organizacin sin considerar
restricciones de
almacenamiento.

Ubicacin fsica de los datos y
mecanismos de acceso a los
mismos.
Introduccin al Diseo de Bases de Datos
2. Arquitectura de los Sistemas de Bases de Datos
>Arquitectura ANSI/X3/SPARC
Ing. Jonathan Carrillo - Septiembre 2014
cmo se
almacenan
realmente los
datos
qu datos se
almacenan en la
base de datos y
qu relaciones
existen entre
esos datos.
Presentacin y
descripcin de
los datos
Introduccin al Diseo de Bases de Datos
2. Arquitectura de los Sistemas de Bases de Datos
> Estructura de un DBMS
Ing. Jonathan Carrillo - Septiembre 2014
Introduccin al Diseo de Bases de Datos
2. Arquitectura de los Sistemas de Bases de Datos
> Estructura de un DBMS
> Datos Almacenados: conformado por archivos
de datos y el diccionario de datos de la BDD

Ing. Jonathan Carrillo - Septiembre 2014
Introduccin al Diseo de Bases de Datos
2. Arquitectura de los Sistemas de Bases de Datos
> Estructura de un DBMS
> Gestor de Transacciones: responsable de
mantener la integridad y la seguridad del sistema,
es adems el responsable del control de la
concurrencia y la recuperacin ante fallos.
Ing. Jonathan Carrillo - Septiembre 2014
Introduccin al Diseo de Bases de Datos
2. Arquitectura de los Sistemas de Bases de Datos
> Estructura de un DBMS
> Interfaces externos/Consultas Operacionales:
Interfaz que permite la comunicacin entre 2
programas. GUI, API

Ing. Jonathan Carrillo - Septiembre 2014
Introduccin al Diseo de Bases de Datos
2. Arquitectura de los Sistemas de Bases de Datos
> Estructura de un DBMS
> Gestor de Almacenamiento (Storage
Manager):
Es el componente encargado de recuperacin
y/o modificacin de los datos almacenados.
Gestiona las peticiones de los mdulos
superiores.
Es el responsable del mantenimiento y la
utilizacin de los ndices (cuando hay
inserciones, actualizaciones o eliminacin se
utiliza un Select para optimizar la bsqueda).
Ing. Jonathan Carrillo - Septiembre 2014
Introduccin al Diseo de Bases de Datos
2. Arquitectura de los Sistemas de Bases de Datos
> Estructura de un DBMS
> Gestor de Almacenamiento (Storage
Manager):
Proporciona una interfaz de bajo nivel entre los
datos almacenados y los programas de
aplicacin que se hace sobre ellos, est
compuesto de 2 subcomponentes:
Administrador de Archivos (File Manager).
Administrador de Buffer (Buffer Manager)

Ing. Jonathan Carrillo - Septiembre 2014
Introduccin al Diseo de Bases de Datos
2. Arquitectura de los Sistemas de Bases de Datos
> Estructura de un DBMS
> Gestor de Almacenamiento (Storage
Manager):
Administrador de Archivos (File Manager).
Mantiene un registro de la ubicacin exacta de
los datos en los dispositivos de almacenamiento
fsicos (es la FAT [File Allocation Table] de la
BDD).
Es el que se encarga de recuperar los bloques*
de los datos desde los archivos de datos (sabe
dnde est y las trae)

Ing. Jonathan Carrillo - Septiembre 2014
*Bloque o pgina: es la unidad de E/S; es decir, es la cantidad de datos transferidos entre el
disco (almacenamiento secundario) y la memoria principal en una sola operacin de E/S. Los
tamaos tpicos de pgina son 1 KB, 2 KB o 4 KB (1 KB = 1024 bytes).
Introduccin al Diseo de Bases de Datos
2. Arquitectura de los Sistemas de Bases de Datos
> Estructura de un DBMS
> Gestor de Almacenamiento (Storage
Manager):
Administrador de Buffer (Buffer Manager)
Se encarga de la gestin eficiente del espacio
de memoria asignada. Se encarga de los
bloques de datos en las pginas de memoria.
Recibe peticiones del Gestor de Transacciones
sobre la permanencia de los bloques de datos
en la memoria.

Ing. Jonathan Carrillo - Septiembre 2014
2. Arquitectura de los Sistemas de Bases de Datos
> Estructura de un DBMS
> Gestor de Almacenamiento (Storage Manager):
Introduccin al Diseo de Bases de Datos
Ing. Jonathan Carrillo - Septiembre 2014 Ing. Jonathan Carrillo - Septiembre 2014
Datos
Almacenados
M
E
M
O
R
I
A

Datos
Procesador
de Consultas
Gestor de
Transacciones
Gestor de Almacenamiento
Consultas
Operacionales
Peticin
Introduccin al Diseo de Bases de Datos
2. Arquitectura de los Sistemas de Bases de Datos
> Estructura de un DBMS
> Procesador de Consultas (Query
Manager):
Se encarga de la gestin de las peticiones de
consulta y/o modificacin hechas por los
aplicativos que accesan a los datos.
Identifica el tipo de operacin que se va a hacer
sobre la BDD. Las operaciones pueden ser
DRL, DML, DDL, TCL y DCL

Ing. Jonathan Carrillo - Septiembre 2014
Introduccin al Diseo de Bases de Datos
2. Arquitectura de los Sistemas de Bases de Datos
> Estructura de un DBMS
> Procesador de Consultas (Query
Manager):
El acceso a los datos y operaciones:
DRL (Data Retrivel Language) : Select
DML (Data Manipulation Language): Insert, Update,
Delete, Merge
DDL (Data Definition Language): Create, Alter,
Drop, Rename, Truncate
TCL (Transactional Control Language) : Commit,
Rollback, Savepoint
DCL (Data Control Language): Grant, Revoke
Ing. Jonathan Carrillo - Septiembre 2014
Introduccin al Diseo de Bases de Datos
2. Arquitectura de los Sistemas de Bases de Datos
> Estructura de un DBMS
> Procesador de Consultas (Query
Manager):
Traduce las sentencias SQL a sentencias de
bajo nivel. En caso de sentencias DML y DRL
las optimiza, como resultado de esto se entrega
el rbol de acceso (PATH).
Una vez que se defina el PATH enva los
requerimientos al gestor de almacenamiento,
finalmente le entrega al usuario o aplicativo los
resultados.
Ing. Jonathan Carrillo - Septiembre 2014
Ing. Jonathan Carrillo - Septiembre 2014 Ing. Jonathan Carrillo - Septiembre 2014
Buffer pool (or data cache), Mullins C. S.
2. Arquitectura de los Sistemas de Bases de Datos
> Estructura de un DBMS
Introduccin al Diseo de Bases de Datos
Ing. Jonathan Carrillo - Septiembre 2014 Ing. Jonathan Carrillo - Septiembre 2014
Datos
Almacenados
Gestor de
almacenamiento
Gestor de
Transacciones
Consultas
Operacionales
Procesador de Consultas
2. Arquitectura de los Sistemas de Bases de Datos
> Estructura de un DBMS
Introduccin al Diseo de Bases de Datos
Introduccin al Diseo de Bases de Datos
3. Arquitectura de Aplicaciones
> Cliente - Servidor
Ing. Jonathan Carrillo - Septiembre 2014
Introduccin al Diseo de Bases de Datos
3. Arquitectura de Aplicaciones
> Cliente - Servidor
La aplicacin se divide
en un componente que
reside en la mquina
cliente, que llama a la funcionalidad del sistema de
bases de datos en la mquina servidor mediante
instrucciones del lenguaje de consultas.
Los estndares de interfaces de programas de
aplicacin como ODBC y JDBC se usan para la
interaccin entre el cliente y el servidor.

Ing. Jonathan Carrillo - Septiembre 2014
Introduccin al Diseo de Bases de Datos
3. Arquitectura de Aplicaciones
> Tres Capas
Ing. Jonathan Carrillo - Septiembre 2014
Red
Introduccin al Diseo de Bases de Datos
Ing. Jonathan Carrillo - Septiembre 2014
3. Arquitectura de Aplicaciones
> Tres Capas
La mquina
cliente interacta mediante
un front-end y no
contiene ninguna llamada
directa a la base de datos.
En su lugar, el cliente se
comunica con un servidor de aplicaciones,
usualmente mediante una interfaz de formularios.
El servidor de aplicaciones, a su vez, se comunica
con el sistema de bases de datos para acceder a los
datos.

Introduccin al Diseo de Bases de Datos
3. Arquitectura de Aplicaciones
> n Capas
Ing. Jonathan Carrillo - Septiembre 2014
Introduccin al Diseo de Bases de Datos
Ing. Jonathan Carrillo - Septiembre 2014
3. Arquitectura de Aplicaciones
> n Capas
Los diferentes procesos
estn distribuidos en
diferentes capas no slo lgicas,
sino tambin fsicas.
Los procesos se ejecutan en diferentes equipos, que
pueden incluso residir en plataformas o sistemas
operativos completamente distintos.
Cada equipo posee una configuracin distinta y
est optimizado para realizar el papel que le ha
sido asignado dentro de la estructura de la
aplicacin, de modo que tanto los recursos como la
eficiencia global del sistema se optimicen
Introduccin al Diseo de Bases de Datos
Ing. Jonathan Carrillo - Septiembre 2014
4. Conclusin
Creo firmemente que
debemos tener las bases
adecuadas y comprenderlas
bien, antes de intentar
cualquier tipo de
construccin sobre ellos.
Estoy interesado en los
fundamentos, no en las
novedades y modas.
C.J. Date

Vous aimerez peut-être aussi