capitulo1.pdf
TRANSCRIPT
-
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 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. 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 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
B.D. S.A.B.D.
Ej. Oracle
SBD
Sistema de base de datos
SABD = SGBD = DBMS
-
1. 5
Definicin de los
datos almacenados
(Metadatos)
Datos
Almacenados
en la Base de
Datos
Software para accesar los
datos almacenados
Software para procesar
Consultas/Programas
Software
DBMS
Programas de Aplicaciones
/Consultas
SISTEMA DE
BASE DE
DATOS
Usuarios/Programadores
Un ambiente de sistema de bases de datos simplificado
instancia esquema
-
1. 6
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. 7
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. 8
Ambiente de Archivo
Para cada nueva aplica-
cin 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. 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
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
Otra herramienta de Oracle: SQL Developer
Herramientas de ORACLE
-
1. 13
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
SQL *PLUS de ORACLE, una de las herramientas ms
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 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 control de acceso concurrente a los datos
12. Se 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)
Organizacin Fsica
de los datos
(cuarto nivel)
Modelo ANSI / SPARC
Modelo Interno
-
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 (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
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
SQLJ
DDL: Data Definition Language
DML: Data Manipulation Language
DCL: Data Control Language
JAVA
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)
Usuario 1
Usuario 2
Usuarios
DBMS
Base
datos
Diccionario
de datos
Programador
Aplicaciones
Administrador
B.D.
D
B
A Interface 3
Interface 2
Interface 1
Ambiente operacional de un DBMS
Casuales
Ingenuos
Escribe el cdigo para
procesar los requerimientos
de datos por parte de los
usuarios
Persona a
cargo de la
mantencin
del sistema
El DBA monitorea la
performance del DBMS.
Inicia cambios si es
necesario
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
El DBA:
define derechos de los usuarios y responsabilidades.
Mediador entre conflictos que pueden surgir.
Capacita a los usuarios
-
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.
Arquitectura de un S.A.B.D
Administrador de la BD
(Database Management)
Tablas de
Autorizacin
Tablas de
Acceso
frecuente
Administrador de
archivos
B D
Programa o Query
Procesador
de Consultas
Responsable de procesar
las instrucciones DML y
optimizar las consultas
Responsable de
transformar los
comandos del nivel
conceptual al nivel
fsico
Puede ser el del
sistema operativo o
uno especialmente
desarrollado
Tablas de
descripcin
del Esquema
Compilador de
DDL
Esquema
-
1. 29
execution execution
D
STORED DATABASE
E
C
B
A
execution
Application
programmers
APPLICATION
PROGRAMS
Parametric users
(ingenuos)
Casual
users DBA staff
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 lneas punteadas muestran los accesos que estn 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
definicin de
datos
Cdigos 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 informacin acerca de los
datos almacenados en la base de datos. Esta informacin 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) bitcora
manejador de recuperaciones
controlador de concurrencia
tabla de candado
buffer (memoria principal)
almacenamiento
en disco
Estructura del sistema
Informacin estadstica
ndices
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 sintctico de consultas
selector de estrategias
transaccin del usuario
manejador de buffer
manejador de archivos
-
1. 32
Base de
datos fsica
Base de datos ORACLE
Control Files
Redo Log
Files
Database
Files
Procesos necesarios de trasfondo:
Check point
Data base writer
Log writer
System minitor
Etc.
Configuracin de servidor
dedicado: Por cada proceso
usuario, un proceso servidor
Duplicado
por si acaso
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
Administracin del almacenamiento de la base de datos
Tablespace:
Concepto de Oracle
Estructura lgica de la BD, porque a nivel
de sistema operativo
se trabaja con
bloques
Se tienen varios
tablespace
-
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 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
En la actualidad, 1998, existe un importante surgimiento de
las bases de datos OBJETO RELACIONAL.
Dnde se encuentra el modelo relacional hoy?
(GARTNER GROUP 1991)
OR
SQL PL/SQL OR Java XML
Oracle 7
Oracle 8
Oracle 9
Oracle 10, 11
Oracle 7 8 9 10 11
-
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
Oracle Express
Business Intelligence:
OLAP
Data Warehousing
Data Mining