Sunteți pe pagina 1din 39

1.

1
CAPITULO I
CONCEPTOS DE SISTEMAS DE BASES DE DATOS

1.1 Conceptos bsicos

Base de Datos (BD): Conjunto de datos relacionados, cuyo
acceso es a traves de un SABD

Dato: Es un hecho conocido, que puede ser registrado, y que
tiene un signiIicado implicito

Una base de datos tiene dos propiedades importantes:
integrada
compartida

Componen la base de datos:
Esquema: Es la descripcion de la base de datos
(metadatos)

Instancia de la base de datos: Son los datos almacenados
en la base de datos, en un instante particular en el tiempo
1. 2

Ejemplo de esquema de una base de datos
METADATO
1. 3

Ejemplo de instancia de una base de datos
1. 4
Sistemas de administracin de bases de datos (SABD): Es
un ambiente de programacion orientado al manejo de
grandes volumenes de datos con propiedad de persistencia.
Es un conjunto de programas que permiten a los usuarios
crear y mantener una base de datos. Ejemplo: Oracle.



Sistemas de base de datos (SBD): SBD BD + SABD










B.D.
S.A.B.D.
Ej. Oracle
SBD
Sistema de base de datos
SABD SGBD DBMS
1. 5


DeIinicion de los
datos almacenados
(Metadatos)
Datos
Almacenados
en la Base de
Datos
SoItware para accesar los
datos almacenados
SoItware para procesar
Consultas/Programas
SoItware
DBMS
Programas de Aplicaciones
/Consultas
SISTEMA DE
BASE DE
DATOS
Usuarios/Programadores
Un ambiente de sistema de bases de datos simpliIicado
1. 6
1.2 Sistemas de procesamiento de archivos
Necesidades de procesamiento de datos de departamentos
individuales en la organizacion
Se desarrollan nuevos programas, normalmente uno a la
vez, para aplicaciones individuales, tales como
remuneraciones, control de inventarios, etc.
No hay un plan general que Iacilite el crecimiento de las
aplicaciones
Cada nueva aplicacion es tipicamente diseada con su
propio conjunto de archivos de datos
Cada programa de aplicacion 'posee sus propios archivos
de datos, y la logica del programa es dependiente de los
Iormatos y descripcion de los datos.
Sus desventajas principales son:
a) Redundancia incontrolada
b) Datos inconsistentes
c) InIlexibilidad
d) Comparticion de datos es limitada
e) No hay tendencia a estandares
f) Baja productividad de los programadores
g) Costo excesivo de mantencion de programas
1. 7
Existen paquetes de soItware que ayudan a evitar (o a
minimizar) algunas de las desventajas mencionadas
anteriormente.

Estos paquetes de soItware incluyen:
Metodos de acceso por claves secundarias
Administradores de archivos
Paquetes para emision de reportes
Procesamiento de consultas en linea
Sistemas de procesamiento de transacciones
Diccionarios de datos
Lenguaje de programacion de alto nivel.

Permanecen las diIicultades principales de los sistemas de
procesamiento de archivos:

Redundancia de datos
Baja comparticion de datos
Carencia de estandares
Baja productividad
1. 8

Ambiente de Archivo

Para cada nueva aplica-
cion un programador o
analista debe crear un
nuevo archivo. Una
instalacion grande tiene
cientos o miles de tales
archivos, lo que genera
mucha redundancia de
datos.


Un archivo puede ser
usado por muchas
aplicaciones. Cuando
cambia una aplicacion
(programa de aplicacion
3) y su archivo tiene que
ser reestructurado, todos
los programas que usan
este archivo tienen que ser
cambiados.
Aparentemente un cambio
trivial en un ambiente de
archivos, provoca una
reaccion en cadena de
otros cambios que
deberian hacerse.
Sistemas basados en archivos
1. 9
Con los sistemas
administradores
de bases de datos,
los usuarios
desconocen la
estructura real de
los datos almace-
nados.
Sistemas administradores de bases de datos
Los lenguajes de
alto nivel de ba-
ses de datos agili-
zan el proceso de
desarrollo de a-
plicaciones y ali-
vian las tareas de
mantenimiento.
1. 10
Arquitectura de ORACLE

1. 11
Versiones estandares de SQL:
SQL1 ANSI 1986
SQL2 (SQL-92) ANSI 1992
SQL3 Incluye conceptos de Orientacion
al Objeto
SQL: Lenguaje para la construccion de
aplicaciones en ORACLE.
1. 12
Herramientas de ORACLE

1. 13
SQL *PLUS de ORACLE , una de las herramientas mas
simples para interactuar con la base de datos.
1. 14
1.3 Ventajas/Desventajas del uso del SABD frente al
Enfoque de archivos

Ventajas

1. Los datos se comparten (la inIormacion es un recurso de la
organizacion)
2. Control de la redundancia de la inIormacion
3. Control de la consistencia en la inIormacion
4. Se mejoran los estandares con respecto a los datos
5. Mejora la seguridad de los datos (control de accesos)
6. Mejora la integridad de los datos (restricciones de
integridad)
7. Permite balancear requerimientos en conIlicto
8. Mejora el tiempo de desarrollo de nuevas aplicaciones
9. Mejora la accesibilidad a los datos ('query languages)
10. Economia de escala (producto de la asignacion
centralizada de los recursos)
11. Mejor control de acceso concurrente a los datos
12. Se dispone de procedimientos de respaldo ('Back Up)
y recuperacion
1. 15

Desventajas
1. Alto costo de un DBMS
2. Mayor costo de hardware
3. Mayor costo de programacion
4. Costo de conversion es alto
5. Procesamiento mas lento de algunas aplicaciones
6. Se incrementa la vulnerabilidad (los recursos son
centralizados)
7. Mayor diIicultad en la recuperacion

1.4 Funciones crticas en un SABD

a) Soporte para atender multiples usuarios en Iorma
concurrente (compartir los datos)
b) Seguridad de los datos almacenados en la base de datos:
Autorizacin (Control de accesos)
c) Recuperacin de caidas del sistema
d) Eficiencia en el acceso a los datos
e) Integridad de los datos
1. 16
1.5 Arquitectura de 3 esquemas para un SABD: Niveles
de abstraccin
Arquitectura ANSI/SPARC, 1978.
Permite describir los datos.
Tiene como objetivo separar al usuario de las
aplicaciones, de la base de datos Iisica.
ANSI/SPARC: STANDARS
PLANNING
AND
REQUEREMENTS COMMITEE OF THE

AMERICAN
NATIONAL
STANDARS
INSTITUTE







Cuales son
los datos?
Como se
almacenan?
Arquitectura de 3 esquemas

1. 17
Niveles (o vistas) de los datos (Niveles de abstraccin)


La mayora de los SABD permiten que la base de datos
de la organizacin sea vista en tres niveles de
abstraccin.

Estos tres niveles son:

Modelo conceptual
Modelo interno
Multiples modelos externos (views)

Es posible deIinir un cuarto nivel: Organizacion Iisica de
los datos



1. 18





























Vistas Externas
(Subschemas)
Modelo Conceptual
(Schema)
Organizacion Fisica
de los datos
Modelo ANSI / SPARC
Modelo Interno
1. 19
Modelo Conceptual (Vista Conceptual)

DeIine el mundo real en un nivel abstracto.
Esta vista incluye todas las entidades representadas en la
base de datos, las relaciones entre estas entidades y otras
caracteristicas tales como restricciones de seguridad,
controles de auditoria y procedimientos de validacion.
NO contiene detalles de implementacion
Se asume un cierto modelo de datos, por ejemplo: red,
relacional, jerarquico.
Se especiIica por medio de un DDL (Data DeIinition
Language)

Schema: DeIinicion de datos o descripcion de datos.


Modelo Externo (Views)

Cada vista del usuario es un subconjunto del modelo
conceptual, deIinido y Iormateado de acuerdo a las
necesidades del usuario.
1. 20
Modelo Interno

Es una deIinicion de la implementacion Iisica de la
base de datos a traves del DBMS.

DeIine la base de datos como una coleccion de
registros logicos, llamados registros 'internos o
'almacenados.

Describe los metodos por los cuales estos registros
estan interrelacionados, por ejemplo, punteros o
indices.

Tiene que ver con: Estrategias de buIIering, estructura
de archivos, estructura de acceso, codiIicacion de
atributos, Iactores de bloqueo, etc.

1. 21
Organizacin fsica de los datos

Descripcion de los dispositivos Iisicos que son usados

El agrupamiento de registros en bloques

Tecnicas de direccionamiento y detalles similares.

Tiene que ver con:
Interaccion con el sistema operativo y el hardware, cpu -
discos - memoria principal - terminales - canales red.



El SABD provee los mecanismos para transformar de un
nivel de abstraccin a otro, intentando mantener una
relativa independencia entre un nivel y otro.
1. 22
Resumen del Modelo ANSI/SPARC:

Esquema Externo
Esquema Conceptual
Esquema Interno

El esquema externo representa las visiones de los usuarios
(como la realidad 'es vista).

El esquema conceptual representa la abstraccion de 'como
la realidad es.

El esquema interno se reIiere a como esa realidad es
representada en un computador.



1. 23
Ejemplo:

Modelo Conceptual o Schema
Empleado (nombre, direccion, teleIono, depto, sueldo)

Esquema Externo
Subschema1: E1 (nombre, direccion, teleIono)
Subschema2: E2 (nombre, depto, sueldo)

Esquema Interno
Archivo Empleados
Nombre : char |20|
Direccion : char |40|
TeleIono : char |10|
Depto : char |15|
Sueldo : REAL
Archivo indices por nombre
Archivo indices por depto
1. 24
Es posible hacer cambios en la base de datos Iisica sin alterar
los programas (por ejemplo, para mejorar el acceso a
registros individuales cambiar la organizacion de un archivo
de secuencial indexado a directo) ~ independencia fsica.




Es posible modiIicar la base de datos conceptual sin
modiIicar los subschemas, por ejemplo, aumentar los
atributos, tabla se separa en dos para mejorar el rendimiento
de ciertas consultas, agregar otro tipo de entidades a la base
de datos ~ independencia lgica.
1. 25
1.6 Lenguaje de base de datos en un SABD relacional

Considera dos aspectos:
DDL: Lenguaje de deIinicion de ddatos
DML

DML: Data Manipulation Language.
Lenguaje en el cual se especiIican las operaciones de
consulta o actualizacion de la base de datos.

Ejemplo de Consulta o Query: Listar todos los clientes de
la II region que hayan comprado mas de $100.000 durante el
ultimo ao.

Usualmente, hay dos Iormas de accesar la base de datos:
a) Lenguaje de base de datos autocontenido (Self-
Contained Database Language)
SQL
b) Lenguaje de base de datos inserto (Embedded
Database Language) en un Lenguaje Husped
(anfitrin)
Ejemplo: C SQL
1. 26
SQL (STRUCTURED QUERY LANGUAGE)
a) Lenguaje de Definicion de Datos (DDL): Permite
deIinir o eliminar objetos de la base de datos tales como
tablas o vistas.
Ejemplo: Alter, Create, Drop, Grant, Rename, Revoke

b) Lenguaje de Manipulacion de Datos (DML): Permite
consultar y actualizar los datos existentes en la base de
datos.
Ejemplo: Select, Insert, Delete, Update

c) Lenguaje de Control de Datos (DCL): Permite controlar
los cambios a los datos y a la base de datos.
Ejemplo: Commit, Rollback, Savepoint (Transaccion)

d) Lenguaje inserto (Embedded Language) ('Cursor)
Lenguaje de Base de Datos Lenguaje de Programacion
SQL
SQLJ

DDL: Data DeIinition Language
DML: Data Manipulation Language
DCL: Data Control Language
1AVA
1. 27
1.6 Componentes de un DBMS (Ambiente operacional
de un DBMS)

Usuario 1
Usuario 2
Usuarios

DBMS

Base
datos

Diccionario
de datos

Programador
Aplicaciones
Administrador B.D.

D
B
A
InterIace 3
InterIace 2
InterIace 1
Ambiente operacional de un DBMS
1. 28
El ambiente operacional de un DBMS es un sistema
integrado de hardware, soItware y personas que es diseado
para Iacilitar el almacenamiento, recuperacion y control del
recurso inIormacion.



Arquitectura de un S.A.B.D
Tablas de
descripcion
del Esquema
Administrador
de la BD
Tablas de
Autorizacion
Tablas de
Acceso
Irecuente
Administrador de
archivos
B D
Compilador de
DDL
Esquema
Programa o Query
Procesador
de Consultas
1. 29




execution
execution
D
STORED DATABASE
E
C
B
A
execution
Application
programmers
APPLICATION
PROGRAMS
Parametric
users
Casual
users
DBA staII
DDL
STATEMENTS
PRIVILEGED
COMMANDS
INTERACTIVE
QUERY
Precompiler
Host languaje
compiler
DML
STATEMENTS
COMPILED
(CANNED)
TRANSACTIONS
DDL
Compiler
System
Catalog
Data
Dictionary
Query
Compiler
DML
Compiler
Run-time
Database
Processor
Stored
Data
Manager
Concurrency Control/
Backup/Recovery Subsystems
Componentes de un DBMS
Las lineas punteadas muestran los accesos que estan bajo el
control del administrador de datos almacenados ('STORED
DATA MANAGER).
1. 30
Estructura del sistema
Programas de
aplicaciones
Llamadas al
sistema
Consulta
Esquema de la
base de datos
Usuarios
Ingenuos
Programadores de
aplicaciones
Usuarios
casuales
Administrador de
base de datos
Usuarios
Precompilador de
lenguaje de manejo de
datos
Procesador de
consulta
Precompilador de
lenguaje de
deIinicion de datos
Codigos objeto
de los programas
de aplicaciones
Manejador de
base de datos
Manejador de
archivos
Sistemas de manejo
de base de datos
Archivos
de datos
Diccionario
de datos
Almacenamien
to en disco
Usan lenguaje
husped
Traduce las proposiciones en
lenguaje de consulta a
instrucciones de bajo nivel que
puede entender el manejador
de la BD. Intenta optimizar la
consulta
Convierte las
proposiciones en DDL en
un conjunto de tablas que
contienen metadatos.
Tales tablas se
almacenan despus en el
D.D.
Constituye la interfaz
entre los datos de bajo
nivel almacenados en la
B.D. y los programas de
aplicaciones y las
consultas que se hacen
al sistema
Convierte las proposiciones
en DML incrustadas en un
programa de aplicacin en
llamadas normales a
procedimientos en el
lenguaje husped. Debe
interactuar con el procesador
de consultas para generar el
cdigo apropiado
Encargado de asignar
espacio en el disco y de las
Estructuras de Datos. que se
van a emplear para
representar la informacin
almacenada en el disco
1. 31
Informacin estadstica: incluye inIormacion acerca de los
datos almacenados en la base de datos. Esta inIormacion la
utiliza el selector de estrategias.
Estructura del sistema
Traduce las proposiciones de un
lenguaje de consulta a uno de bajo
nivel
Procura
transformar la
solicitud del
usuario en una
forma
equivalente pero
ms eficiente,
encontrando as
una estrategia
adecuada para
ejecutar la
consulta
(Log)
bitacora
manejador de recuperaciones
controlador de concurrencia
tabla de candado
buIIer (memoria principal)
almacenamiento
en disco
Estructura del sistema
InIormacion estadistica
indices
datos del
usuario
datos del
sistema
Se encarga de transferir la
informacin entre el disco y
la Memoria principal
El optimizador
de consulta ve
que estrategia
usar de acuerdo
a la informacin
estadstica. Por
ejemplo,
cantidad de
filas, etc.
usuario
analizador sintactico de consultas
selector de estrategias
transaccion del usuario
manejador de buIIer
manejador de archivos
1. 32

Base de
datos Iisica
Base de datos ORACLE
Control Files
Redo Log
Files
Database
Files
1. 33
Administracion del almacenamiento de la
base de datos
1. 34
1.8 Usuarios del S.A.B.D.








Administrador
B.D.
Usuarios
finales
Programadores
Usuario
ingenuo
Usuario
Casual
(SQL)
S.A.B.D.
B.D
Usuarios del S.A.B.D.
1. 35
Administrador de base de datos (DBA, DataBase
Administrator)

Entre otras, sus Iunciones son:

DeIinicion del esquema.
DeIinicion de la estructura de almacenamiento y del
metodo de acceso.
ModiIicacion del esquema y de la organizacion Iisica.
Concesion de autorizaciones para el acceso a los datos.
EspeciIicacion de las limitantes de integridad.


1. 36
1.9 Desarrollo histrico de los SABD

Decada de los 60`s

Predominio de los sistemas basados en modelos jerarquico
y de red.
No existian lenguajes de consulta declarativos.
Normalmente, el DML era combinado con un lenguaje
huesped, tipicamente COBOL.


Decada de los 70`s

Predominio de los sistemas relacionales.
Lenguajes de consulta de tipo declarativo.
DML con lenguaje huesped, pero tambien sistemas
autocontenidos.
Maduracion de la tecnologia relacional.
1. 37
Decada de los 80`s
Continua predominio del modelo relacional.
Emergen estandares (SQL):
SQL 86
SQL 92
SQL 3
SQL: 1999
Aparicion de los OODBMS (Object Oriented).
Aparecen los KBMS (Knowledge Based).

Decada de los 90`s
Maduracion de los OODBMS.
Maduracion de los KBMS.
Aparecen los ORDBMS.
Bases de datos universales.

.....

SABDR
SABDOR
1. 38














En la actualidad, 1998, existe un importante surgimiento de
las bases de datos OBJETO RELACIONAL.

Donde se encuentra el modelo relacional hoy?
(GARTNER GROUP 1991)
OR
1. 39
SBDR COMERCIALES
SQL / DS
DB2
INFORMIX
ORACLE
POSGRESQL
SYBASE
NONSTOP / SQL
INGRES
RDB
UNIFY
MYSQL
SBDR comerciales, para Computadores personales
RIM
RBASE 5000
PARADOX
OS / 2 DATABASE MANAGER
DBASE IV
XBD
WATCOM SQL
SQL SERVER
ACCESS