Sunteți pe pagina 1din 39

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 travs de un SABD.
Dato: Es un hecho conocido, que puede ser registrado, y que
tiene un significado implcito.
Una base de datos tiene dos propiedades importantes:
Integrada: Los archivos de datos que la componen han
sido organizados lgicamente para reducir la redundancia
y facilitar el acceso a los datos
Compartida: Todos los usuarios calificados tienen acceso
a los mismos datos
Componen la base de datos:
Esquema: Es la descripcin 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.

Ejemplo de esquema de una base de datos


METADATO

1.

Ejemplo de instancia de una base de datos

1.

Sistemas de administracin de bases de datos (SABD): Es


un ambiente de programacin orientado al manejo de
grandes volmenes 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

SBD

B.D.

S.A.B.D.
Ej. Oracle

Sistema de base de datos

SABD = SGBD = DBMS

1.

Usuarios/Programadores
SISTEMA DE
BASE DE
DATOS

Programas de Aplicaciones
/Consultas

Software
DBMS
Software para procesar
Consultas/Programas

Software para accesar los


datos almacenados

Definicin de los
datos almacenados
(Metadatos)

esquema

Datos
Almacenados
en la Base de
Datos

instancia

Un ambiente de sistema de bases de datos simplificado

1.

1.2 Sistemas de procesamiento de archivos


Necesidades de procesamiento de datos de departamentos individuales
en la organizacin
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 facilite el crecimiento de las aplicaciones
Cada nueva aplicacin es tpicamente diseada con su propio conjunto
de archivos de datos. Muchos de los datos en estos nuevos archivos ya
se encuentran presentes en archivos ya existentes para otras
aplicaciones
Cada programa de aplicacin posee sus propios archivos de datos, y
la lgica del programa es dependiente de los formatos y descripcin
de los datos.

Sus desventajas principales son:


a)

Redundancia incontrolada: Cada aplicacin tiene sus propios archivos

b)

Datos inconsistentes: Producto de la redundancia se puede producir


inconsistencia en los datos

c)

Inflexibilidad: Si hay nuevos requerimientos, implica mucho trabajo

d)

Comparticin de datos es limitada: cada aplicacin tiene sus propios


datos y normalmente no se comparten

e)

No hay tendencia a estndares

f)

Baja productividad de los programadores: Cada definicin de datos


deba codificarse en el programa

1.

g)

Costo excesivo de mantencin de programas: Cualquier cambio en el


archivo implica cambios en el programa

Existen paquetes de software que ayudan a evitar (o a


minimizar)

algunas

de

las

desventajas

mencionadas

anteriormente.
Estos paquetes de software incluyen:
Mtodos de acceso por claves secundarias
Administradores de archivos
Paquetes para emisin de reportes
Procesamiento de consultas en lnea
Sistemas de procesamiento de transacciones
Diccionarios de datos
Lenguaje de programacin de alto nivel.

Permanecen las dificultades principales de los sistemas de


procesamiento de archivos:
Redundancia de datos
Baja comparticin de datos
Carencia de estndares
Baja productividad

1.

Ambiente de Archivo
Para cada nueva aplicacin un programador o
analista debe crear un
nuevo archivo. Una
instalacin 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 aplicacin
(programa de aplicacin
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
reaccin en cadena de
otros
cambios
que
deberan hacerse.

Sistemas basados en archivos

1.

Con los sistemas


administradores
de bases de datos,
los
usuarios
desconocen
la
estructura real de
los datos almacenados.

Los lenguajes de
alto nivel de bases de datos agilizan el proceso de
desarrollo de aplicaciones y alivian las tareas de
mantenimiento.

Sistemas administradores de bases de datos

1. 10

Ejemplo de SABD Oracle

Arquitectura de ORACLE

1. 11

Versiones estndares de SQL:

SQL1 ANSI 1986


SQL2 (SQL-92) ANSI 1992
SQL3 Incluye conceptos de Orientacin
al Objeto

SQL: Lenguaje para la construccin de


aplicaciones en ORACLE.

1. 12

Herramientas de ORACLE
Otra herramienta de Oracle: SQL Developer

1. 13

SQL *PLUS de ORACLE, una de las herramientas ms


simples para interactuar con la base de datos
SQL*PLUS es una herramienta de Oracle (programa) que
tiene propiedades de formateo, no siendo su objetivo
principal. Para los reportes hay otras herramientas, por
ejemplo SQL*Report Writer

1. 14

1.3 Ventajas/Desventajas del uso del SABD frente al


Enfoque de archivos
Ventajas
1.

Los datos se comparten (la informacin es un recurso de la


organizacin)

2.

Control de la redundancia de la informacin

3.

Control de la consistencia en la informacin

4.

Se mejoran los estndares 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). Por ejemplo, un jefe no puede ganar menos
que sus subordinados

7.

Permite balancear requerimientos en conflicto

8.

Mejora el tiempo de desarrollo de nuevas aplicaciones

9.

Mejora la accesibilidad a los datos (query languages)

10. Economa

de

escala

(producto

de

la

asignacin

centralizada de los recursos)


11. Mejor
12. Se

control de acceso concurrente a los datos

dispone de procedimientos de respaldo (Back Up)

y recuperacin (cadas del sistema y fallas del hardware)

1. 15

Desventajas
1.

Alto costo de un DBMS

2.

Mayor costo de hardware

3.

Mayor costo de programacin

4.

Costo de conversin es alto

5.

Procesamiento ms lento de algunas aplicaciones

6.

Se incrementa la vulnerabilidad (los recursos son


centralizados)

7.

Mayor dificultad en la recuperacin (se debe determinar


qu transacciones fueron completadas, cules no, etc)

1.4 Funciones crticas en un SABD


a)

Soporte para atender mltiples usuarios en forma


concurrente (compartir los datos)

b)

Seguridad de los datos almacenados en la base de datos:


Autorizacin (Control de accesos)

c)

Recuperacin de cadas 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 fsica.


ANSI/SPARC:

STANDARS
PLANNING
AND
REQUEREMENTS COMMITEE OF THE
AMERICAN
NATIONAL
STANDARS
INSTITUTE

Cules son los datos?

Cmo se almacenan?

Arquitectura de 3 esquemas

Cuarto nivel:
Organizacin fsica de los
datos

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

Mltiples modelos externos (views)

Es posible definir un cuarto nivel: Organizacin fsica de


los datos

Cada usuario de una base de datos normalmente requiere de


una vista diferente de los datos

1. 18

Vistas Externas
(Subschemas)

Modelo Conceptual
(Schema)

Modelo Interno

Organizacin Fsica
de los datos
(cuarto nivel)

Modelo ANSI / SPARC

1. 19

Modelo Conceptual (Vista Conceptual)


Define 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
caractersticas tales como restricciones de seguridad,
controles de auditora y procedimientos de validacin.
NO contiene detalles de implementacin
Se asume un cierto modelo de datos, por ejemplo: red,
relacional, jerarquico.
Se especifica por medio de un DDL (Data Definition
Language)

Schema: Definicin de datos descripcin de datos.

Modelo Externo (Views)

Cada vista del usuario es un subconjunto del modelo


conceptual, definido y formateado de acuerdo a las
necesidades del usuario.

1. 20

Modelo Interno
Es una definicin de la implementacin fsica de la
base de datos a travs del DBMS.
Define la base de datos como una coleccin de
registros lgicos, llamados

registros internos o

almacenados.
Describe los mtodos por los cuales estos registros
estn interrelacionados, por ejemplo, punteros o
ndices.
Tiene que ver con: Estrategias de buffering, estructura
de archivos, estructura de acceso, codificacin de
atributos, factores de bloqueo, etc.

1. 21

Organizacin fsica de los datos


Descripcin de los dispositivos fsicos que son usados
El agrupamiento de registros en bloques
Tcnicas 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 abstraccin de como
la realidad es.

El esquema interno se refiere a como esa realidad es


representada en un computador.

1. 23

Ejemplo:
Modelo Conceptual o Schema
Empleado (nombre, direccin, telfono, depto, sueldo)
Esquema Externo
Subschema1: E1 (nombre, direccin, telfono)
Subschema2: E2 (nombre, depto, sueldo)
Esquema Interno
Archivo Empleados
Nombre

: char [20]

Direccin

: char [40]

Telfono

: char [10]

Depto

: char [15]

Sueldo

: REAL

Archivo ndices por nombre


Archivo ndices por depto

1. 24

Indepencencia entre datos y programas


Independencia fsica
Es posible hacer cambios en la base de datos fsica sin alterar
los programas, nivel interno (por ejemplo, para mejorar el
acceso a registros individuales cambiar la organizacin de un
archivo de secuencial indexado a directo).

Permite que el DBA afine la base de datos fsica, dejando


que los programas de aplicacin corran como si ningn
cambio se hubiese efectuado.

Independencia lgica
Es posible modificar la base de datos conceptual sin
modificar los subschemas, por ejemplo, aumentar los
atributos, una tabla se separa en dos para mejorar el
rendimiento de ciertas consultas, agregar otro tipo de
entidades a la base de datos.

Permite que la base de datos cambie y evoluciones sin


afectar las vistas o programas de los usuarios.

1. 25

1.6 Lenguaje de base de datos en un SABD relacional


Considera dos aspectos:
DDL: Lenguaje de definicin de ddatos
DML: Lenguaje de manipulacin de datos
DML: Data Manipulation Language.
Lenguaje en el cual se especifican las operaciones de
consulta o actualizacin de la base de datos.

Ejemplo de Consulta o Query: Listar todos los clientes de


la II regin que hayan comprado ms de $100.000 durante el
ltimo ao.
Usualmente, hay dos formas de accesar la base de datos:
a)

Lenguaje de base de datos autocontenido (SelfContained Database Language)


SQL

b)

Lenguaje de base de datos inserto (Embedded


Database

Language)

(anfitrin)
Ejemplo: C + SQL

en

un

Lenguaje

Husped

1. 26

SQL (STRUCTURED QUERY LANGUAGE)


a)

Lenguaje de Definicion de Datos (DDL):

Permite

definir 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 (Transaccin)

d)

Lenguaje inserto (Embedded Language) (Cursor)


Lenguaje de Base de Datos + Lenguaje de Programacin
SQL

JAVA

SQLJ
DDL: Data Definition Language
DML: Data Manipulation Language
DCL: Data Control Language

El resultado de una
consulta es una tabla,
que para acesarla fila
por fila se utiliza un
cursor (como leer un
archivo
convencional)

1. 27

1.6 Componentes de un DBMS (Ambiente operacional


de un DBMS)
Casuales
Ingenuos

Usuarios
Usuario 1

Base
datos

DBMS

Diccionario
de datos

Usuario 2

El DBA monitorea la
performance del DBMS.
Inicia cambios si es
necesario
Administrador
B.D.

Programador
Aplicaciones
Interface 3

D
B
A

Interface 2

Interface 1

Ambiente operacional de un DBMS


Escribe el cdigo para
procesar los requerimientos
de datos por parte de los
usuarios
El DBA:
define derechos de los
usuarios y responsabilidades.
Mediador entre conflictos que
pueden surgir.
Capacita a los usuarios

Persona a
cargo de la
mantencin
del sistema

El DBA:
Controla todas las definiciones de
datos y establece estndares para
todos los programadores de
aplicaciones que accesan la BD.
Capacita a los programadores

1. 28

El ambiente operacional de un DBMS es un sistema


integrado de hardware, software y personas que es diseado
para facilitar el almacenamiento, recuperacin y control del
recurso informacin.

Programa o Query

Tablas de
Autorizacin
Tablas de
Acceso
frecuente

Procesador
de Consultas

Esquema
Compilador de
DDL

Administrador de la BD
(Database Management)

Administrador de
archivos

Responsable de
transformar los
comandos del nivel
conceptual al nivel
fsico

Responsable de procesar
las instrucciones DML y
optimizar las consultas

BD

Tablas de
descripcin
del Esquema

Puede ser el del


sistema operativo o
uno especialmente
desarrollado

Arquitectura de un S.A.B.D

1. 29

Application
programmers
APPLICATION
PROGRAMS

Casual
users

DBA staff

Parametric users
(ingenuos)

Precompiler
DDL
STATEMENTS

PRIVILEGED
COMMANDS

INTERACTIVE
QUERY
Host languaje
compiler
A

E
DDL
Compiler

System
Catalog
Data
Dictionary

Query
Compiler

DML
STATEMENTS

B
execution

DML
Compiler
execution

Run-time
Database
Processor

execution

Stored
Data
Manager

COMPILED
(CANNED)
TRANSACTIONS

Concurrency Control/
Backup/Recovery Subsystems

STORED DATABASE

Las lneas punteadas muestran los accesos que estn bajo el


control del administrador de datos almacenados (STORED
DATA MANAGER).
Componentes de un DBMS

Usan lenguaje
husped
Usuarios
Ingenuos

Programas de
aplicaciones

Usuarios

Programadores de
aplicaciones

Llamadas al
sistema

Consulta

Precompilador de
lenguaje de
manejo de datos

Cdigos objeto
de los programas
de aplicaciones

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. 30
Traduce las proposiciones en
lenguaje
de
consulta
a
instrucciones de bajo nivel que
puede entender el manejador
de la BD. Intenta optimizar la
consulta
Usuarios
Administrador de
casuales
base de datos

Procesador
de consulta

Manejador
de base de
datos

Manejador de
archivos

Precompilador
de lenguaje de
definicin de
datos

Sistemas de
manejo de base
de datos
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

Archivos
de datos
Almacenamien
to en disco

Esquema de la
base de datos

Diccionario
de datos

Estructura del sistema

1. 31

Traduce las proposiciones de un


lenguaje de consulta a uno de bajo
nivel

usuario
analizador sintctico de consultas
selector de estrategias

bitcora

(Log)

transaccin del usuario

Procura
transformar
la
solicitud
del
usuario en una
forma
equivalente pero
ms
eficiente,
encontrando as
una
estrategia
adecuada para
ejecutar
la
consulta

manejador de recuperaciones
controlador de concurrencia
tabla de candado
manejador de buffer
manejador de archivos

buffer (memoria principal)


Se encarga de transferir la
informacin entre el disco y
la Memoria principal

Informacin estadstica
ndices
datos del
usuario

datos del
sistema

almacenamiento
en disco

El optimizador
de consulta ve
que estrategia
usar de acuerdo
a la informacin
estadstica. Por
ejemplo,
cantidad
de
filas, etc.

Estructura del sistema

Informacin estadstica: incluye informacin acerca de los


datos almacenados en la base de datos. Esta informacin la
utiliza el selector de estrategias.
Estructura del sistema

1. 32

Procesos necesarios de trasfondo:


Check point
Data base writer
Log writer
System minitor
Etc.

Base de
datos fsica

Redo Log
Files

Database
Files

Control Files

Duplicado
por si acaso

Base de datos ORACLE


Configuracin de servidor
dedicado: Por cada proceso
usuario, un proceso servidor

Contiene la estructura fsica de la BD:


Nombres y ubicaciones de los
archivos de datos y archivos redo
logic
Timestamp de la creacin de la BD

1. 33

Se tienen varios
tablespace

Tablespace:
Concepto de Oracle
Estructura lgica de
la BD, porque a nivel
de sistema operativo
se trabaja con
bloques

Administracin del almacenamiento de la base de datos

1. 34

1.8 Usuarios del S.A.B.D.

Usuarios
finales

Usuario
ingenuo

Programadores

Usuario
Casual
(SQL)

S.A.B.D.

B.D

Usuarios del S.A.B.D.

Administrador
B.D.

1. 35

Administrador de base de datos (DBA, DataBase


Administrator)

Entre otras, sus funciones son:


Definicin del esquema.
Definicin de la estructura de almacenamiento y del
mtodo de acceso.
Modificacin del esquema y de la organizacin fsica.
Concesin de autorizaciones para el acceso a los datos.
Especificacin de las limitantes de integridad.

1. 36

1.9 Desarrollo histrico de los SABD


Decada de los 60s
Predominio de los sistemas basados en modelos jerrquico
y de red.
No existan lenguajes de consulta declarativos.
Normalmente, el DML era combinado con un lenguaje
husped, tpicamente COBOL.

Decada de los 70s


Predominio de los sistemas relacionales.
Lenguajes de consulta de tipo declarativo.
DML con lenguaje husped, pero tambin sistemas
autocontenidos.
Maduracin de la tecnologa relacional.

1. 37

Decada de los 80s


Contina predominio del modelo relacional.
Emergen estndares (SQL):

SQL 86

SQL 92

SQL 3

SQL: 1999

Aparicin de los OODBMS (Object Oriented).


Aparecen los KBMS (Knowledge Based).
Decada de los 90s
Maduracin de los OODBMS.
Maduracin de los KBMS.
Aparecen los ORDBMS.
Bases de datos universales.

SABDR
SABDOR

1. 38

OR

Dnde se encuentra el modelo relacional hoy?


(GARTNER GROUP 1991)
En la actualidad, 1998, existe un importante surgimiento de
las bases de datos OBJETO RELACIONAL.

Oracle 10, 11
Oracle 9
Oracle 8
Oracle 7

SQL

PL/SQL

OR

Oracle 7 8 9 10 11

Java

XML

1. 39

SBDR COMERCIALES
SQL / DS

Oracle Express

DB2
INFORMIX
ORACLE
POSGRESQL

Business Intelligence:
OLAP
Data Warehousing
Data Mining

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

S-ar putea să vă placă și