Вы находитесь на странице: 1из 124

OBJETIVO :

El estudiante conocer los fundamentos, los objetivos,


disciplinas y arquitectura de las bases de datos
distribuidas.
UNIDAD I.
FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS


Base de Datos Distribuidas
En el mundo actual,
diversos tipos de personas,
en varios lugares a nivel
mundial, querrn compartir
un gran base de datos,
estas empresas que tienen
la finalidad de garantizar el
UNIDAD I. FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS

compartimiento de los archivos de los usuarios optan
por dividir esta base de datos en unas ms pequeas
denominados fragmentos, los cuales se pueden
colocar en distintas ubicaciones.

UNIDAD I. FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS

Entonces llamamos base de datos distribuidas a los
fragmentos que se encuentran almacenados en lugares
distintos.

Estos sitios constan con
una computadora y una
DBMS (Sistema de
gestin de base de
datos), para administrar
la base local situada conectndose entre s aquellos
fragmentos de una base distribuida por medio de una red de
comunicacin.
Al momento de surgir una peticin de consulta de cualquier
sitio, el administrador general de la base de datos, analiza
esta peticin y determina qu tipo de base de datos
distribuidas (fragmentos) se puede necesitar.

Las bases de datos locales pueden conectarse fsicamente
de diversas formas:
UNIDAD I. FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS

Red totalmente conectada
Red prcticamente conectada
Red con estructura de rbol
Red de estrella
Red de anillo
UNIDAD I. FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS

Las principales diferencias entre estos tipos de configuraciones
podemos tener lo siguiente:
Costo de la instalacin: El costo de conectar fsicamente las
localidades del sistema

Costo de la comunicacin: El costo del tiempo y el dinero
que interviene en enviar un mensaje desde una localidad a otra.

Fiabilidad: La frecuencia con que falla una lnea de
comunicacin o una localidad.

Disponibilidad: La posibilidad de acceder a la informacin a
pesar que podran existir los fallos en algunas localidades o
lneas de comunicacin.
CONSTRUCCIN DE UNA BASE DE DATOS DISTRIBUIDA
UNIDAD I. FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS

Base distribuida
particionada: una
base de datos global
se divide en tres
partes (A, B, C),
donde cada una de
las bases se almacena
en lugares diferentes.
CONSTRUCCIN DE UNA BASE DE DATOS DISTRIBUIDA
Base de datos
multiplicada y
distribuida: las bases
de datos se duplican
en cada sitio, con el
objetivo de reducir
costos de
comunicacin y
aumentar el
desempeo del
sistema, eliminando la
necesidad de la
transmisin de datos
en las diferentes
ubicaciones.
UNIDAD I. FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS

Este sistema es raro por su costo de las replicas de sus bases
y el proceso de la actualizacin de los datos
CONSTRUCCIN DE UNA BASE DE DATOS DISTRIBUIDA
Distribucin de la base de
datos combinando replicas y
particiones: en la actualidad
este tipo de distribucin se
emplea con mayor frecuencia. El
archivo se divide basndose en
el patrn que usa, es decir los
datos se guardan en los lugares
donde puede ser accedido con
ms frecuencia, pero si requiere
un dato en ms de un sitio, este
fragmento puede estar
almacenado en cada uno de
estos sitios.
UNIDAD I. FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS

Ventajas de las bases de datos distribuidas.
UNIDAD I. FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS

Compartimiento de datos: los usuarios de una base pueden
tener acceso a los datos de otra base. Por ejemplo desde una
oficina de una empresa matriz en el caso del gerente puede tener
acceso a los datos de todos sus trabajadores y de otros tambin en
una empresa sucursal de la misma.
Ventajas de las bases de datos distribuidas.
Autonoma: existe un administrador del sistema responsable
del nivel de seguridad global cada base tiene un cierto grado de
control, en cada base hay otro administrador local que puede
tener a llegar un cierto nivel de autonoma diferente
UNIDAD I. FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS

Ventajas de las bases de datos distribuidas.
Disponibilidad: si en sistema de base de datos distribuidos llega
a fallar un fragmento los otros fragmentos pueden seguir
funcionando. Los datos tambin pueden llegar a duplicarse en los
fragmento llegando a encontrar los datos con ms facilidad.
UNIDAD I. FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS

El sistema debe detectar el fallo y tomar medidas necesarias para reparar el fallo, en este
momento el sistema no debe utilizar la base daada, una vez arreglado el fallo debe necesitar un
mecanismo para integrarla al sistema de nuevo, pero con menos complicaciones.
UNIDAD I. FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS

Desventajas de las bases de datos distribuidas
Costo del desarrollo del software: sistema complejo para
mantener la coordinacin y estabilidad entre los fragmentos
provoca que este desarrollo sea costoso

Mayor probabilidad de errores: como las bases locales
funcionan en paralelo, es ms difcil asegurar el
funcionamiento correcto y los procedimientos de
recuperacin de fallos del sistema.

Mayor sobrecarga de procesamiento: el intercambio de
archivos, mensajes y la ejecucin de algoritmos que
constituyen el funcionamiento de las bases locales da como
resultado una sobrecarga que no se da en los sistemas
centralizados.
UNIDAD I. FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS

Desventajas de las bases de datos distribuidas
Actualizacin de los datos duplicados: algunos datos
pueden estar duplicados en varios sitios, por lo tanto este tipo
de actualizacin se debe llegar a cabo en todos los lugares
que exista datos duplicados

Transparencia de ubicacin: la mayora de este tipo de
sistemas no alcanzan su completa transferencia de su
ubicacin, por lo tanto requieren de la ayuda del usuario,
transfiriendo archivos para su procesamiento local.

Optimizacin de los procesos de consulta: cuando
existe una consulta en un sistema distribuido, existe muchas
manera de que esta consulta se divida en subpreguntas para
recuperar los datos en las diferentes bases locales, este tiempo
vara dependiendo de la ruta donde este el procedimiento
Arquitectura Cliente-Servidor.
Vistas
Vistas
Esquema conceptual
Esquema Interno
Nivel
Externo
Nivel
Conceptual
Nivel
Interno
Correspondencia
Externo/Conceptual
Correspondencia
Conceptual/Interno
Arquitectura de tres esquemas.
UNIDAD I. FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS


Como trabaja?
El cliente analiza una consulta de usuario y la descompone
en varias consultas de sitio independientes. Cada consulta
de sitio se enva al correspondiente sitio servidor.

Cada usuario procesa las consultas locales y enva la
relacin resultante al sitio cliente.

El sitio cliente cambia los resultados de las subconsultas
para producir el resultado de la consulta original realizada.
UNIDAD I. FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS

Segmentaciones de aplicaciones entre
Cliente y el Servidor.
Segmentos
Replicado de datos.
Fragmentos de los datos
Transparencia




Disponibilidad.
Paralelismo incrementado.
Sobrecarga incrementada durante
la actualizacin.


Fragmentacin Horizontal.
Fragmentacin Vertical.



Transparencia de la fragmentacin.
Transparencia de la replica.
Transparencia de la ubicacin.
UNIDAD I. FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS

Integracin de datos

Vs

Distribucin de datos.
Desde el punto de vista funcional y de organizacin de datos,
los sistemas de datos distribuidos estn divididos en dos
clases separadas, basados en dos filosofas:

SMBDD Homogneos.
SMBDD Heterogneos.
UNIDAD I. FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS

Homogneos: tienen mltiples conexiones de datos, integra
mltiples recursos de datos, pero en lugar de almacenarlos
todos en un solo lugar los datos son distribuidos en varios
sitios comunicados por una red.



Heterogneas: es aquel que se caracteriza por maneja
diferentes sistemas manejadores de BD en nodos locales
para el uso de mltiples BD existentes. Tambin se le conoce
como sistema de manejo multibases de datos.
UNIDAD I. FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS

Diagrama de Integracin, Distribucin.
Usuario
Global
Usuario
Global
Sistema
de BDD
Usuario
Locales
Usuario
Locales
SW de
manejo de
datos
SW de
manejo de
datos
SW de
manejo de
datos
BD
BD BD
UNIDAD I. FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS

Funciones del Cliente.
Consultar.
Modificar.
Borrar.
Agregar.
Copiar.
Genera la vista del usuario.
Seguridad.

UNIDAD I. FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS
Recibe peticiones.
Procesa.
Administra.
Maneja diferentes nodos.
Interpreta.
Enva informacin.
Seguridad.
Administra la Concurrencia.
Mantiene la Integridad.
Manejo de BD.
Funciones del Servidor.
UNIDAD I. FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS

Tipos de servidores.
Servidor de archivos: se almacenan archivos y aplicaciones.

Servidor de BD: se almacenan las BD, tablas, ndices, etc.

Servidor de transacciones: que cumple procesa todas las
transacciones.

Servidor de Groupware: Utilizado para el seguimiento de
aplicaciones dentro de la red.

Servidores de objetos: estos son videos, imgenes, objetos
multimedia en general.

Servidores WEB. Se usan como una forma inteligente para
comunicacin entre empresas a travs de Internet.
UNIDAD I. FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS

09 de Junio 1999
BD distribuidas
24
Arquitecturas de bases de datos
Centralizadas
BD en una sola mquina y una sola CPU
todos los usuarios acceden a esa mquina
Sistemas paralelos
BD en una sola mquina y varias CPU y varios discos
todos los usuarios acceden a esa mquina
Sistemas cliente-servidor
BD en una sola mquina (back-end)
los usuarios acceden desde sistemas remotos (front-end)
Sistemas distribuidos
BD repartida entre varias mquinas
los usuarios acceden a cualquiera de las mquinas del
sistema
Base de datos distribuida
09 de Junio 1999
BD distribuidas
25
Es una coleccin de mltiples y lgicamente relacionadas bases de
datos sobre una red de ordenadores.
Un DBMS distribuido se define como el software que permite
gestionarlo y hacer la distribucin transparente a los usuarios.
Es una BD almacenada en varios ordenadores que se comunican
mediante una red de comunicaciones.
El usuario debe poder usarla como un sistema nico.
Puede procesar todo tipo de peticiones complejas.
La peticiones se pueden procesar en el sitio que hizo la peticin o en
cualquier otro o parcialmente en varios.
Necesita una gestin de transacciones especial.
Debe proporcionar optimizacin de peticiones automticamente.
Ventajas
09 de Junio 1999
BD distribuidas
26
Autonoma local
Mejora de rendimiento
Mejora de la seguridad y la disponibilidad
Economa
Capacidad de expansin
Capacidad de comparticin
Desventajas
09 de Junio 1999
BD distribuidas
27
Falta de experiencia
Complejidad
Coste
Control de distribucin
Seguridad
Dificultades para cambiar
Aspectos a tener en cuenta
09 de Junio 1999
BD distribuidas
28
Transparencia de datos en red
Proceso de peticiones distribuido
Modelo de transacciones distribuido
Control de concurrencia
Manejo de bloqueos
Sistemas distribuidos con mltiples bases de
datos
Transparencia de red
09 de Junio 1999
BD distribuidas
29
Capacidad del sistema para abstraer a los
usuarios los detalles de donde y como estn
almacenados los datos en el sistema
distribuido.
Aspectos a considerar:
Formas de distribuir los datos:
rplica y
fragmentacin
Denominacin de los datos
Localizacin de fragmentos y rplicas
Distribucin de los datos
09 de Junio 1999
BD distribuidas
30
Rplica
se mantienen tantas copias de los datos como
sitios para facilitar la recuperacin y la tolerancia a
fallos.
Fragmentacin
la relacin se divide en varios fragmentos
almacenando uno en cada sitio.
Rplica y fragmentacin
la relacin se parte en varios fragmentos
manteniendo el sistema una copia en cada sitio.
Rplica de datos
09 de Junio 1999
BD distribuidas
31
Consiste en mantener una copia exacta de
de una relacin o parte de ella en mas de un
sitio.
La rplica completa se produce cuando se
copia la relacin en todos los sitios.
Una BD completamente redundante es
aquella en la que cada sitio contiene una
rplica completa de la BD.
Caractersticas
09 de Junio 1999
BD distribuidas
32
Ventajas de la rplica
Disponibilidad
frente a fallos de la red.
Paralelismo
las peticiones se pueden procesar en varios nodos en
paralelo.
Transferencia de datos reducida
Inconvenientes
Se eleva el coste de la actualizaciones
Se complica el control de la concurrencia
Fragmentacin
09 de Junio 1999
BD distribuidas
33
Consiste en dividir una relacin en varios trozos que
contengan suficiente informacin para poder
reconstruir la relacin cuando sea necesario

Horizontal
se asignan las tuplas a fragmentos

Vertical
el esquema de la relacin se divide en varios
todos los esquemas resultantes contienen una clave
candidato comn (o superclave)
se aade un atributo especial que acta como clave
candidata.
Ambos tipos de fragmentacin se pueden mezclar
Ejemplo
09 de Junio 1999
BD distribuidas
34
type cuenta =
record
nombre: char(22);
maquina: char(8);
login: char(8);
end
pedro jupiter plp 01
luis venus lls 02
maria jupiter mrm 03
ana venus ana 04
pedro sol ppp 05
elena marte cmr 06
carlos jupiter crc 07
sofia venus sofi 08
elena jupiter elsb 09
elena venus els 10
elisa pluton eli 11
elena neptuno elsc 12
Fragmentacin horizontal
09 de Junio 1999
BD distribuidas
35
pedro jupiter plp 01
luis venus lls 02
maria jupiter mrm 03
ana venus ana 04
pedro sol ppp 05
elena marte cmr 06
carlos jupiter crc 07
sofia venus sofi 08
elena jupiter elsb 09
elena venus els 10
elisa pluton eli 11
elena neptuno elsc 12
pedro jupiter plp 01
luis venus lls 02
maria jupiter mrm 03
ana venus ana 04
pedro sol ppp 05
elena marte cmr 06
carlos jupiter crc 07
sofia venus sofi 08
elena jupiter elsb 09
elena venus els 10
elisa pluton eli 11
elena neptuno elsc 12
Sitio A
Sitio B
Fragmentacin vertical
09 de Junio 1999
BD distribuidas
36
pedro jupiter 01 01
luis venus 02 02
maria jupiter 03 03
ana venus 04 04
pedro sol 05 05
elena marte 06 06
carlos jupiter 07 07
sofia venus 08 08
elena jupiter 09 09
elena venus 10 10
elisa pluton 11 11
elena neptuno 12 12
01 plp 01
02 lls 02
03 mrm 03
04 ana 04
05 ppp 05
06 cmr 06
07 crc 07
08 sofi 08
09 elsb 09
10 els 10
11 eli 11
12 elsc 12
Sitio A Sitio B
Ventajas de la fragmentacin
09 de Junio 1999
BD distribuidas
37
Horizontal
permite el procesamiento paralelo de una relacin
permite que una tabla global pueda estar donde se utiliza mas
frecuentemente
Vertical
permite que una tabla pueda ser distribuida en funcin del uso
de sus atributos.
permite descomposiciones adicionales que se pueden
conseguir con normalizacin.
el atributo especial facilita la mezcla de fragmentos verticales
permite el procesamiento paralelo de una relacin
Criterios de denominacin de datos
09 de Junio 1999
BD distribuidas
38
1. Cada dato debe tener un nombre nico en el
sistema

2. Debe ser posible encontrar la localizacin de los
datos de forma eficiente.

3. Debe ser posible cambiar la localizacin de los
datos de forma transparente.

4. Cada sitio debe poder crear nuevos datos
autnomamente.
Esquema centralizado
09 de Junio 1999
BD distribuidas
39
Estructura
un servidor asigna todos los nombres
cada sitio mantiene un registro de todos los datos locales
los sitios piden al servidor la localizacin de los datos
remotos

Ventajas
Cumple los tres primeros criterios de denominacin de datos

Inconvenientes
no satisface el ltimo criterio
el servidor puede saturarse
el servidor es un elemento crtico
Uso de alias
09 de Junio 1999
BD distribuidas
40
Cada sitio aade su identificador a cada nombre que
genera.
sitio17.datoXXX

Maneja un identificador nico y elimina los problemas
del servidor central, pero no consigue transparencia
de red.

La solucin es asignar alias a los datos y almacenar
la relacin en cada sitio
no hace falta conocer la localizacin del dato
no afecta si los datos cambian de sitio
Nombres nicos
09 de Junio 1999
BD distribuidas
41
Cada rplica de cada fragmento de un dato tiene un
nombre nico
Se utilizan sufijos para indicar de que rplica y de que
fragmento es cada dato
sitio17.datoXXX.frag005.replica56
El nombre real de un dato se obtiene del alias
localizando
primero la rplica
luego el fragmento
Para encontrar un dato
09 de Junio 1999
BD distribuidas
42
El subsistema de procesamiento de
peticiones busca el nombre en la tabla de
alias local
Si es una rplica se consulta la tabla de
rplicas
Si la rplica es fragmentada se examina la
tabla de fragmentacin para saber como
reconstruir la relacin
Aunque solo se suelen consultar una o dos
tablas, el algoritmo maneja cualquier
combinacin de rplicas y fragmentos.
Transparencia y actualizacin
09 de Junio 1999
BD distribuidas
43
Debe asegurar que todas las rplicas y todos los
fragmentos de los datos afectados se actualizan.

Fragmentacin horizontal
aplicar un predicado para saber si el dato pertenece
a un fragmento o no
insertar el dato en todas las rplicas

Fragmentacin vertical
dividir el dato en fragmentos
insertar cada fragmento en cada rplica
Problema: pueden lanzarse dos actualizacin de
fragmentos distintos del mismo dato en paralelo
sobre rplicas distintas
Proceso de peticiones distribuido
09 de Junio 1999
BD distribuidas
44
Hay que considerar criterios de coste ms
sofisticados que el sistemas centralizados:
Nmero de accesos a disco
Coste de la transmisin de datos sobre la red
Capacidad de procesamiento paralelo
Seleccin del sitio de procesamiento
Es necesario considerar expresiones sobre
fragmentos
Construir una relacin desde sus fragmentos
Sustituir una relacin por una expresin que la
construye desde sus fragmentos.
Ejemplo
09 de Junio 1999
BD distribuidas
45
Con fragmentacin horizontal
r = r
1
r
2
r
1
=
atributo = valor1
(r)
r
2
=
atributo = valor2
(r)
La peticin
atributo = valor1
(r) consiste en

atributo = valor1
(r
1
r
2
)
La optimizacin consiste en hacer la seleccin antes
que la unin de fragmentos

atributo = valor1
(r
1
)
atributo = valor1
(r
2
)
Como r
2
no tiene valor
1
, la seleccin es vaca y el
resultado es la seleccin de r
1
Proceso de mezcla simple
09 de Junio 1999
BD distribuidas
46
Considerando la expresin r
1
r
2
r
3
Suponer que
no hay rplicas ni fragmentaciones
cada relacin est en un sitio distinto
que el resultado hay que producirlo en el sitio de r
1
Estrategia
1. copiar r
1
de S
1
a S
2
y hacer la mezcla

r
1
r
2
2. copiar el resultado temporal en S
3
y hacer la
mezcla

temporalr
3
3. enviar el resultado a S
1
Planes de evaluacin alternativos
09 de Junio 1999
BD distribuidas
47
Se pueden disear diferentes estrategias
cambiando los roles de los tres sitios
Se deben considerar los siguientes factores:
cantidad de informacin que hay que transportar
coste de la transmisin de bloques de datos entre
sitios
la velocidad relativa de procesamiento de cada sitio
Proceso de mezcla parcial
09 de Junio 1999
BD distribuidas
48
Sea r
1
una relacin con esquema R
1
almacenada en
S
1

Sea r
2
una relacin con esquema R
2
almacenada en
S
2

Se trata de evaluar la expresin r
1
r
2
y almacenar
el resultado en R
1
calcular temp1 =
R1 R2
(r
1
) en S
1
enviar temp1 a S
2
calcular temp2 = r
1
temp1 en S
2
enviar temp2 a S
1
calcular r
1
temp2 en S
1
Definicin formal
09 de Junio 1999
BD distribuidas
49
La mezcla parcial de r
1
y

r
2
= r
1
< r
2

Se define como
R1
(r
1
r
2
)
Selecciona los elementos de r
1
que contribuyen a
la mezcla r
1
r
2
El procedimiento puede extenderse a cualquier
nmero de relaciones realizando varios pasos de
mezcla parcial.
Estrategias para explotar el paralelismo
09 de Junio 1999
BD distribuidas
50
Considerar r
1
r
2
r
3
r
4

donde cada relacin se guarda en un sitio diferente y
el resultado se debe dejar en S
1
Estrategia paralela
Se manda r
1
a S
2
y se calcula r
1
r
2
Se manda r
3
a S
4
y se calcula r
3
r
4
Se envan los resultados a S
1
segn se van
produciendo
Segn van llegando los resultados a S
1
se procesa
la mezcla final (r
1
r
2
)(r
3
r
4
)
Modelo de transacciones distribuido
09 de Junio 1999
BD distribuidas
51
Soportar el proceso de transacciones
locales: en un solo sitio
globales: en varios sitios
Cada sitio debe disponer de un Gestor de Transacciones Local
mantiene el registro de actividades
participa en la coordinacin de la ejecucin de transacciones
globales.
Hace falta un Coordinador de Transacciones en cada sitio:
arranca la ejecucin de transacciones en ese sitio
distribuye operaciones de la transaccin a otros sitios
coordina la terminacin de las transacciones originadas en
ese sitio
Control de transacciones
09 de Junio 1999
BD distribuidas
52
Es el subsistema encargado de controlar la atomicidad de la
ejecucin de transacciones:
parte local
parte distribuida
Para la parte distribuida hace falta un protocolo:
protocolo de acuerdo en dos fases (2PC)
protocolo de acuerdo en tres fases (3PC)
Hace falta un protocolo de seleccin de coordinador en caso de
fallo
Hace falta un algoritmo de control de concurrencia a nivel
global
protocolos de bloqueo
marcas de tiempo
Protocolo 2PC
09 de Junio 1999
BD distribuidas
53
Sirve para certificar que una transaccin que se
ha ejecutado de forma distribuida ha terminado
bien.
El Coordinador de la transaccin ejecuta el
protocolo cuando se ejecuta el ltimo paso de la
transaccin.
El protocolo tiene en cuenta todos los sitios que
han intervenido en la transaccin.
Si S
i
es el sitio que inici la transaccin T, acta
como coordinador C
i
y es el que inicia el
protocolo.
Protocolo de acuerdo 2PC
09 de Junio 1999
BD distribuidas
54
<T prepare>





<T commit>





<T complete>
registro
S
i
(C
i
)

protocolo

prepare T
ready T de S
1

ready T de S
2
.
ready T de S
n


commit T
ack T de S
1

ack T de S
2
.
ack T de S
n



<T prepare>




<T abort>






registro
S
i
(C
i
)
protocolo

prepare T
ready T de S
1

no T de S
j
.


abort T


F
a
s
e

1

F
a
s
e

2

Fallo en un participante
09 de Junio 1999
BD distribuidas
55
La recuperacin depende de la informacin del
registro
si contiene un <T commit>, ejecuta un <T redo>
si contiene un <T abort>, ejecuta un <T undo>
si contiene un <T ready>, debe consultar a C
i
para
decidir que hacer
si <T commit>, ejecuta un <T redo>
si <T abort>, ejecuta un <T undo>
Si no hay entradas de T en el registro, es que fallo
antes de recibir el <T prepare>,
se debe ejecutar un <T undo>
Fallo del coordinador
09 de Junio 1999
BD distribuidas
56
Los dems sitios deben decidir que hacer con T, en
funcin del contenido del registro
si contiene un <T commit>, se da a T por
entregada
si contiene un <T abort>, T debe abortar
si algunos sitios contienen <T ready>, hay que
abortar
si todos los sitios contienen <T ready>, hay que
esperar a que el coordinador vuelva a funcionar
esto puede provocar un bloqueo al obligar a esperar a los
sitios activos.
el Protocolo 3PC puede resolver este problema
Protocolo de acuerdo 3PC
09 de Junio 1999
BD distribuidas
57
<T prepare>




<T precommit>





<T commit>
registro
S
i
(C
i
)

protocolo

prepare T
ready T de S
k

k sitios
.



precommit T
ack T de S
k

k sitios

commit T
<T prepare>




<T abort>






registro
S
i
(C
i
)
protocolo

prepare T
ready T de S
1

no T de S
j
.


abort T


F
a
s
e

1

F
a
s
e

2

F
a
s
e

3

Protocolo de fallo del coordinador
09 de Junio 1999
BD distribuidas
58
1. Los sitios activos eligen un nuevo coordinador C
new
.
2. C
new
pide el estado de T a cada participante.
Commit: si el registro contiene un commit
Abort: si el registro contiene un abort
Ready: si el registro contiene ready y no contiene abort o precommit.
Precommit: si contiene un precommit y no contiene un abort o un
commit
Not ready: si no contiene ni ready ni abort
3. Cada participante manda su estado a C
new
para que este decida.
4. C
new
decide en funcin de todos los participantes
si un sitio enva un commit commit
si un sitio enva abort abort
si un sitio enva precommit y nadie enva commit o abort aplicar el
protocolo desde la segunda fase
en cualquier otro estado abort
Sistemas con mltiples bases de datos
09 de Junio 1999
BD distribuidas
59
Sobre los sistemas de gestin local es preciso aadir
sistemas de gestin global del entorno distribuido.
De igual forma se aade una interfaz al ms alto nivel
para manipular informacin en sistemas
heterogneos.
Son sistemas con limitaciones pues
los modelos de datos pueden ser diferentes
los protocolos locales de gestin de transacciones
pueden ser incompatibles.
El control de concurrencia puede utilizar tcnicas
diferentes.
Ventajas
09 de Junio 1999
BD distribuidas
60
Se mantiene la inversin existente
hardware
software de sistema
aplicaciones
Autonoma y control administrativo local
Permite el uso de DBMS de propsito especial
Es una primera aproximacin hacia un sistema de
gestin de bases de datos unificado.
Unificacin de la visin de datos
09 de Junio 1999
BD distribuidas
61
Acuerdo en un modelo de datos comn
Acuerdo en un esquema conceptual comn
Acuerdo en una representacin de datos
compartidos nica.
Acurerdo en las unidades de medida.
Preparacin para aceptar transacciones globales
Gestin de transacciones
09 de Junio 1999
BD distribuidas
62
Las transacciones locales no se comunican al resto
del sistema.
La autonoma local implica que no se comunica
directamente con el gestor de transacciones global y
estas transacciones no estn bajo control.
control de concurrencia local
hay que protegerse contra bloqueos locales
hacen falta mecanismos para asegurar la
seriabilidad global.
Sistema de gestin de fallos
09 de Junio 1999
BD distribuidas
63
Aparecen nuevas causas de fallo
fallo de un sitio
prdida de mensajes
fallo en los enlaces de la red
particin de la red
La forma de responder a los fallos es ofrecer el mayor
grado de robustez posible
detectar el fallo
reconfigurar el sistema
recuperarse del error
Reconfiguracin del sistema
09 de Junio 1999
BD distribuidas
64
Si se produce un fallo en el sitio S y
Si hay datos replicados en S, eliminar a S de la lista
de actualizaciones.
Si haba transacciones corriendo S cuando se
produce el fallo, pasan a estado abort.
es importante hacerlo pronto, pues puede haber
datos bloqueados para sitios que estn activos.
Si S es un servidor central de algn subsistema, se
debe elegir un nuevo servidor
servidor de nombres, coordinador de concurrencia,
detector de bloqueos globales.
Reconfiguracin del sistema
09 de Junio 1999
BD distribuidas
65
La reconfiguracin debe soportar particiones de la
red, evitando,
la eleccin de dos o mas servidores centrales en
cada particin.
actualizacin de datos replicados por mas de una
particin.
La reconfiguracin se puede representar como una
serie de transacciones
subsistema de control de concurrencia
subsistema de gestin de transacciones
1. Sistemas de bases de datos
Tema 1. Sistemas de bases de datos
66
Contenidos
1.1 Bases de datos y sus usuarios
1.2 Conceptos y arquitectura del sistema de bases de datos
1.3 Estructura general del sistema de bases de datos
Anexos
1. Clasificacin de los SGBD

1. Sistemas de bases de datos
Tema 1. Sistemas de bases de datos
67
Bibliografa
[EN 2002] Elmasri, R.; Navathe, S.B. Fundamentos de Sistemas de Bases de
Datos. 3 Edicin. Addison-Wesley. (Cap. 1 y 2)
[EN 1997] Elmasri, R.; Navathe, S.B.: Sistemas de bases de datos. Conceptos
fundamentales. 2 Edicin. Addison-Wesley Iberoameric. (Cap. 1 y 2)
[MPM 1999] De Miguel, A.; Piattini, M.; Marcos, E. Diseo de bases de datos
relacionales. Ra-Ma. (Cap. 1 y 2)
[MP 1993] De Miguel, A.; Piattini, M.: Concepcin y diseo de bases de datos: del
Modelo E/R al Modelo Relacional. Ra-Ma.
[SKS 1998] Korth, H; Silberschatz, A., Sudarshan, S.:Fundamentos de bases de datos.
3 Edicin. McGraw-Hill. (Cap. 1)
[SKS 2002] Silberschatz, A.; Korth, H.F.; Sudarshan, S. Fundamentos de Bases de
Datos. 4 edicin. Madrid, McGraw-Hill, 2002. (Cap. 1)
[CBS 1998] Connolly, T.; Begg C.; Strachan, A. Database Systems: A Practical
Approach to Design, Implementation and Management. 2
nd
edition.
Addison-Wesley. (Cap. 1 y 2)
[CCM 2003] Celma, M.; Casamayor, JC.; Mota, L. Bases de datos relacionales.
Pearson Educacin, 2003. (Cap. 1, 2 y parte del 6)
1.1 Bases de datos y sus usuarios
Tema 1. Sistemas de bases de datos
68
Base de Datos (BD)
Conjunto de datos relacionados entre s = demasiado general

Dato= algo conocido que quiere registrarse

Por qu esta transparencia no es una BD? Porque se tienen unas
propiedades implcitas:
Conjunto de datos persistentes lgicamente coherente, con significado
implcito
Representa aspectos del mundo real
(minimundo, universo de discurso)
Los cambios en el minimundo se
reflejan en la BD
Se DISEA, se CREA y se CARGA, para
conseguir objetivos determinados
Datos ALMACENADOS para
algo
Dirigida a un grupo de usuarios
Datos INTERESANTES para
alguien
Tema 1. Sistemas de bases de datos
69
1.1 Bases de datos y sus usuarios
Un ejemplo de
una base de
datos personal
LIBRO
AUTOR
isbn titulo apAutor nomEdit ao
8420464988
Momo Ende Alfaguara
1982
8408049003
El retrato de Dorian Gray Wilde Planeta
2003
8477205302
El alquimista Coelho Obelisco
1996
8420432261
La historia interminable Ende Alfaguara
1998
8420616524
El fantasma de Canterville Wilde Alianza
1996
8408048783
Once minutos Coelho Planeta
2003
...
... ... ... ...
nombre apellidos ...
Paulo Coelho ...
Oscar Wilde ...
Michael Ende ...
... ... ...
EDITORIAL
nombre ...
Obelisco ...
Alfaguara ...
Planeta ...
Alianza ...
... ...
PERSONA
id nombre telfono
2 Julia Ibez
555123456
10 Eva Andrs
555654321
... ...
...
3 Cristina Prats
555987654
1 Gins Soriano
555221122
PRESTAMO
idPer idLib fecha
10
8408049003
23/9/03
3
8408048783
1/10/03
10
8420464988
2/3/03
1
8420432261
10/8/02
... ... ...
1.1 Bases de datos y sus usuarios
Tema 1. Sistemas de bases de datos
70

Sistema de Gestin de Base de Datos (SGBD - DBMS)
Conjunto de programas que permite DEFINIR, CONSTRUIR y
MANIPULAR bases de datos para diversas aplicaciones
Definir una BD es especificar...
estructura de datos,
tipos de datos y
restricciones de los datos
Construir una BD es...
almacenar datos en algn medio de almacenamiento controlado por el SGBD
Manipular la BD es...
consultar datos
introducir/modificar/eliminar datos, para reflejar cambios en el minimundo
generar informes a partir de los datos almacenados

Sistema de Base de Datos
SBD = BD + SGBD + Software de Aplicacin/Consultas
Tema 1. Sistemas de bases de datos
71
Software para procesar
Consultas / Programas
Software para tener acceso a los
datos almacenados
SOFTWARE DEL SGBD
Programas de Aplicacin / Consultas
SISTEMA DE BASE DE DATOS
Usuarios / Programadores
Definicin de la BD
(Metadatos)
Base de Datos
almacenada
Entorno simplificado de un Sistema de
Base de Datos
Tema 1. Sistemas de bases de datos
72
Naturaleza autodescriptiva
Procesamiento de ficheros
Los programas de aplicacin acceden a datos especficos, cuya estructura se
describe en el propio cdigo

Sistemas de bases de datos
SGBD = Sistema software de propsito general
BD = DATOS + METADATOS
El Catlogo del Sistema ...
Contiene metadatos: descripcin de la estructura de la BD
= El SGBD sabr acceder a datos de cualquier aplicacin
Usado por el SGBD (a veces por usuarios)
1.1 Bases de datos y sus usuarios
Caractersticas del enfoque de Bases de Datos (1)
Tema 1. Sistemas de bases de datos
73
Separacin entre programas y datos
Procesamiento de ficheros
Definicin de datos forma parte de los programas de aplicacin
Cambios en la estructura de ficheros de la BD
= modificacin de programas que acceden a tales ficheros

Sistemas de bases de datos
Descripcin de estructura y organizacin de ficheros almacenada en
Catlogo, separada de los programas
= Independencia entre programas y datos
( posible gracias a la abstraccin de datos proporcionada por SGBD, que veremos
ms adelante )

1.1 Bases de datos y sus usuarios
Caractersticas del enfoque de Bases de Datos (2)
Tema 1. Sistemas de bases de datos
74
Datos compartidos y procesamiento de transacciones multiusuario
Acceso simultneo a datos sin interferencias ni inconsistencias
Control de concurrencia por el SGBD
Mltiples vistas de los datos
Cada usuario slo interesado en ver la parte de la informacin que necesita =
vista de la BD
Vista = [ Subconjunto de ] BD [+ datos virtuales]
SGBD proporciona mecanismos de definicin de vistas
SBD
BIBLIOTECA
Bibliotecario Lector
BD
1.1 Bases de datos y sus usuarios
Caractersticas del enfoque de Bases de Datos (y 3)
Tema 1. Sistemas de bases de datos
75
O Administrador de la base de datos (ABD)
Responsable de administrar los recursos del SBD (nivel tcnico):
BD + SGBD + Otro Software (aplicaciones/programas de acceso)
Las funciones del ABD incluyen:
Definir/Modificar la estructura de la BD y restricciones de los datos
Crear/Modificar estructuras de almacenamiento y mtodos de acceso
Conceder/Denegar permisos de acceso y controlar dicho acceso a datos
(seguridad de la BD)
Definir planes de copias de seguridad de los datos de la BD
Garantizar el funcionamiento correcto del sistema y proporcionar servicio
tcnico al usuario (respuesta lenta del sistema...)
Adquirir los recursos software y hardware necesarios
1.1 Bases de datos y sus usuarios
Actores en un sistema de base de datos (1)
Tema 1. Sistemas de bases de datos
76
O Diseadores de la base de datos
Antes de implementar la BD, interactan con sus futuros usuarios
Recogen y comprenden sus necesidades y objetivos --- Requisitos
Identifican datos que almacenar en la base de datos
Eligen estructuras para representar y almacenar los datos
Construyen...
Vista que satisface requisitos de cada grupo de usuarios
Diseo final de BD que satisface necesidades de todos los usuarios
(resultado de la integracin de las diferentes vistas)
1.1 Bases de datos y sus usuarios
Actores en un sistema de base de datos (2)
Tema 1. Sistemas de bases de datos
77
O Usuarios finales
Ocasionales o Sofisticados
Acceso espordico y distinto cada vez; usan lenguaje de consulta
Paramtricos o Normales
Accesos constantes, repetitivos
Usan transacciones programadas para ellos
Avanzados o Especializados
Implementan sus propias aplicaciones especializadas para cumplir sus complejos
requisitos
Ingenieros, cientficos, analistas de empresa, ...
Autnomos
Usan BD personales, a travs de aplicacin/paquete comercial especfico
1.1 Bases de datos y sus usuarios
Actores en un sistema de base de datos (3)
Tema 1. Sistemas de bases de datos
78
O Ingenieros de software
(Analistas de sistemas y Programadores de aplicaciones)
Conocen perfectamente capacidades y recursos del SGBD
Analistas
Determinan necesidades de procesamiento de los usuarios finales
(especialmente los paramtricos)
Especifican conjuntos de operaciones que satisfacen esas necesidades
Programadores
Implementan estas especificaciones = Programas de aplicacin
Prueba, depuracin, documentacin y mantenimiento de programas
1.1 Bases de datos y sus usuarios
Actores en un sistema de base de datos (4)
Tema 1. Sistemas de bases de datos
79
Los siguientes son los encargados del diseo, creacin y operacin del software y
entorno del sistema
No estn interesados en el contenido de la base de datos

O Diseadores e Implementadores del SGBD
Disean e Implementan los Mdulos e Interfaces del SGBD

O Operadores y Personal de mantenimiento
del Entorno hardware y software del sistema de BD
1.1 Bases de datos y sus usuarios
Actores en un sistema de base de datos (5)
Tema 1. Sistemas de bases de datos
80
O Desarrolladores de herramientas
Disean e Implementan paquetes software que:
Facilitan diseo y uso de los SBD, y
Permiten aumentar el rendimiento de los SBD
Herramientas para
Diseo de BD, de aplicaciones de BD, de interfaces de usuario...
Creacin de prototipos de aplicaciones de BD
Realizar simulaciones y generar datos de prueba
Supervisin de rendimiento del sistema
...
1.1 Bases de datos y sus usuarios
Actores en un sistema de base de datos ( y 6)
Tema 1. Sistemas de bases de datos
81
Disminucin y control de la redundancia de datos
Procesamiento de ficheros = varias copias de la misma informacin
Problemas debidos a la redundancia de datos
Duplicacin del trabajo
Desperdicio de espacio de almacenamiento
Obligacin de evitar las inconsistencias de datos

Evitar inconsistencias en los datos
Slo si existe redundancia y
se modifica un dato, actualizando algunas copias

Soluciones:
Eliminacin de Redundancia,
Redundancia Controlada y Propagacin de Actualizaciones Automtica
1.1 Bases de datos y sus usuarios
Ventajas del uso de un SGBD (1)
Tema 1. Sistemas de bases de datos
82
Mantener la integridad
Asegurar que la informacin es correcta=refleja fielmente el minimundo
Cundo se viola la integridad (no existe)?
Si existe inconsistencia
Si existe informacin imposible fecha = 40 / MAYO / 1972
Si existe informacin que no se ajusta a la realidad, es decir falsa o errnea
N de telfono de la polica = 063
Cmo se evitan estas situaciones?
Si los datos cumplen las Restricciones de Integridad ( RI )
Restricciones sobre tipos de datos
el nombre de una persona es una cadena de hasta 30 caracteres
Restricciones semnticas
todo libro tiene una editorial
cada libro tiene un ttulo diferente del resto
ningn libro puede prestarse a ms de una persona al mismo tiempo
1.1 Bases de datos y sus usuarios
Ventajas del uso de un SGBD (2)
Tema 1. Sistemas de bases de datos
83
Mantener la integridad (cont.)
Las RI son identificadas durante el diseo de la BD
Control de la Integridad: fundamental en SBD Multiusuario
Verificacin de Restricciones de Integridad en cada actualizacin de datos
Automtica por el SGBD
fecha = 40 / MAYO / 1972
Mediante programas especficos
= El SGBD debe permitir
- Definir (crear) las RI,
- Crear y ejecutar los programas de verificacin

A veces se puede almacenar informacin falsa sin violar restricciones de integridad:
ttulo de libro = El seor de los aniyos
1.1 Bases de datos y sus usuarios
Ventajas del uso de un SGBD (3)
Tema 1. Sistemas de bases de datos
84
Aplicacin de restricciones de seguridad ( RS )
No todos los usuarios deberan poder acceder a toda la BD
Objetivo: control de acceso selectivo
1. Slo usuarios autorizados
2. Slo a ciertas partes de la base de datos
3. Slo para realizar ciertas operaciones con los datos
SGBD dispone de Subsistema de Seguridad y Autorizacin
Cuentas de usuario protegidas con contrasea (ok objetivo 1)
Restricciones de seguridad para cada cuenta (ok objetivos 2 y 3)
SGBD fuerza el cumplimiento de las RS
Otros controles de la seguridad seran:
Slo el ABD usa el software de administracin y monitorizacin del SBD
Un usuario paramtrico slo accede a la BD a travs del programa que usa
...
1.1 Bases de datos y sus usuarios
Ventajas del uso de un SGBD (4)
Tema 1. Sistemas de bases de datos
85
Suministro de mltiples interfaces de usuario
Usuarios con diferentes niveles de conocimientos tcnicos
El SGBD debe ofrecer interfaces para todos ellos:








Interfaces controladas por men y de formularios = GUI
Acceso a bases de datos a travs de la web
1.1 Bases de datos y sus usuarios
Ventajas del uso de un SGBD (5)
Lenguajes de consulta usuarios ocasionales
Interfaces de lenguajes de
programacin
programadores de
aplicaciones
Formularios y comandos
usuarios
paramtricos
Interfaces controladas por
men y de lenguaje natural
usuarios autnomos
Tema 1. Sistemas de bases de datos
86
Representacin de relaciones complejas entre datos
Datos relacionados entre s de diversas maneras
El registro (Planeta, ...) del fichero EDITORIAL se relaciona con 2 registros del
fichero LIBRO: (..., El retrato de Dorian Gray, ...) y (..., Once minutos, ...)
Cada registro de PRESTAMO se relaciona con un registro de PERSONA y con un
registro de LIBRO
Cada registro de AUTOR se relaciona con varios registros de LIBRO


SGBD debe permitir ...
Representar relaciones entre los datos
Obtener y Actualizar datos relacionados
Obtener los ttulos y editorial de los libros escritos por Arthur Conan Doyle
Obtener nombres y telfonos de personas con libros prestados ms de cinco meses
1.1 Bases de datos y sus usuarios
Ventajas del uso de un SGBD (6)
Tema 1. Sistemas de bases de datos
87
Respaldo y Recuperacin
Recuperacin del sistema tras fallos del hardware o software
Subsistema del SGBD encargado de respaldo y recuperacin
SGBD

Programa de
ACTUALIZACIN
de datos
Estado
INICIA
L
BD ok
Estado
FINAL
BD ok
Continuacin y
Finalizacin Correcta
del programa
Restauracin de la
BD
Deshacer toda
actualizacin de datos
hecha por el programa
BD KO !!
XOR
1.1 Bases de datos y sus usuarios
Ventajas del uso de un SGBD (y 7)
Tema 1. Sistemas de bases de datos
88
Datos compartidos actualizados
Datos disponibles para todos los usuarios
El cambio de datos por un usuario es visto inmediatamente por el resto
Subsistemas de control de concurrencia y recuperacin del SGBD

Flexibilidad






SGBD permite cambios en la estructura de BD, sin afectar...
Datos almacenados
Programas de aplicacin existentes
1.1 Bases de datos y sus usuarios
Otras ventajas del enfoque de bases de datos (1)
Cambios en
Requisitos
Nuevas
Necesidades
de datos
modificaciones en
estructura de la BD
Tema 1. Sistemas de bases de datos
89
Rpida creacin de nuevas aplicaciones







Cumplimiento de reglas, normas o polticas de empresa
ABD establece normas para usuarios de la base de datos
Intercambio de informacin y cooperacin entre departamentos, proyectos...
Estndares para
nombres y formatos de elementos de datos
documentacin, formularios, informes ...
Diseo e
implementacin
inicial costosos
APL-1
APL-3
APL-2
1.1 Bases de datos y sus usuarios
Otras ventajas del enfoque de bases de datos (y 2)
Tema 1. Sistemas de bases de datos
90
Hay situaciones en las que emplear un SGBD puede generar costes
innecesarios, evitables con el procesamiento de ficheros
Costes adicionales debidos a...
Gran inversin inicial en equipo, software y formacin
Generalidad ofrecida por el SGBD para definir y procesar datos
Funciones de seguridad, control de concurrencia, recuperacin, integridad
Problemas adicionales si...
Diseadores o ABD no han diseado la base de datos apropiadamente
La implementacin de las aplicaciones no es correcta
Conviene utilizar procesamiento de ficheros si...
BD y aplicaciones son simples, bien definidas y no se espera que cambien
Requisitos de tiempo real que no se cumpliran por el coste extra del SGBD
No se necesita acceso multiusuario a los datos
1.1 Bases de datos y sus usuarios
Cundo NO usar un SGBD
Tema 1. Sistemas de bases de datos
91
Objetivo del enfoque de BD: Visin abstracta de datos
Ocultar detalles de almacenamiento y mantenimiento
Modelos de datos para conseguir abstraccin
Modelo de Datos: conjunto de conceptos
Sirve para describir la estructura de la BD:
Tipos de los datos
Relaciones entre los datos
Restricciones que deben cumplir los datos
Incluye operaciones bsicas para especificar lectura/modificacin

Tipos de modelos de datos
Segn conceptos que ofrecen para describir la estructura de la BD
1.2 Conceptos y arquitectura del sistema de
bases de datos
Modelos de datos, esquemas e instancias
Tema 1. Sistemas de bases de datos
92
Conceptos cercanos a cmo el usuario percibe la realidad (minimundo)
Realidad descrita como entidades que se relacionan entre s
Entidad: cosa | objeto | concepto del minimundo
Atributo: propiedad interesante de alguna entidad
Relacin: asociacin | vnculo | interaccin entre entidades

Modelo Entidad/Relacin, MER (ERM, entity-relationship model)
Modelos Orientados a Objetos (UML, Unified Modeling Language)
Modelo
CONCEPTUA
L de Datos
Esquema
Conceptual
Mundo
Real
1.2 Conceptos y arquitectura del SBD
O Modelos de datos de alto nivel o conceptuales
Tema 1. Sistemas de bases de datos
93
Permiten describir la estructura lgica global: descripcin de la implementacin
Conceptos entendibles por usuarios finales, pero no lejos de organizacin fsica de
datos
Ocultan detalles de implementacin, pero conceptos implementables
directamente en el sistema
Los ms utilizados en los SGBD comerciales actuales (ORACLE)

Modelos basados en registros
Relacional, Red, Jerrquico
Modelos orientados a objetos
Modelos lgicos prximos a los conceptuales
1.2 Conceptos y arquitectura del SBD
O Modelos de datos de representacin o lgicos (1)
Tema 1. Sistemas de bases de datos
94
MODELO RELACIONAL
1.2 Conceptos y arquitectura del SBD
O Modelos de datos de representacin o lgicos (y 2)
CLIENTE
CUENTA
nombre direccin ciudad cuenta
Garca, A Gran Va, 6 Murcia 200
Lpez, B Ronda Norte, 3 Murcia 821
Azorn, C Paseo Nuevo, 9 Valencia 505
Prez, C Plaza Mayor, 2 Valencia 505
...
nmero saldo ...
200 35
505 40
821 50
...
Cada cliente slo puede tener una
cuenta a su nombre.
Una cuenta puede tener ms de un
cliente como titular.
Tema 1. Sistemas de bases de datos
95
Conceptos que describen detalles de almacenamiento de los datos
Dirigidos a usuarios especialistas en informtica

Describen la estructura fsica de la base de datos:
- Formato y ordenamiento de registros en los ficheros de datos
- Tamaos de pgina, de bloque,...
- Caminos (o estructuras) de acceso a los datos (ficheros ndices, etc.)
...

1.2 Conceptos y arquitectura del SBD
O Modelos de datos de bajo nivel o fsicos
Tema 1. Sistemas de bases de datos
96
Esquema = Descripcin
Especificado en el diseo de la BD y rara vez modificado
Metainformacin o metadatos
Diagrama del Esquema de la BD
Representacin del esquema, en un modelo de datos
Compuesto de esquemas de tipos de registro (elementos del esquema)
LIBRO
PRESTAMO
...
Otra posible representacin:
LIBRO ( isbn, titulo, apAutor, nomEdit, ao )
PRESTAMO ( idPer, idLib, fecha )
...
1.2 Conceptos y arquitectura del SBD
Esquemas, instancias y estado de la base de datos
isbn titulo apAutor nomEdit ao
idPer idLib fecha
Un diagrama de esquema
slo visualiza algunos
aspectos del esquema, pero no
muestra muchos otros: tipos de
datos, relaciones entre
elementos del esquema,...
Tema 1. Sistemas de bases de datos
97
Una base de datos es un conjunto de datos reales relacionados que cambian
continuamente
Estado de la base de datos
Conjunto de datos que contiene la BD en un momento concreto
Conjunto de instancias de los elementos del esquema de BD
1 esquema N estados

Estado Consistente (ok!!)
Satisface estructura y restricciones especificadas en esquema
SGBD asegura que todo estado de la BD sea consistente

Nomenclatura: Esquema = Intensin ; Estado = Extensin
1.2 Conceptos y arquitectura del SBD
Esquemas, instancias y estado de la base de datos
Tema 1. Sistemas de bases de datos
98
Ayuda a conseguir
Separacin entre
programas y datos
Mltiples vistas de
usuario
Nivel Externo
(vistas)
...
Nivel Interno
Nivel Conceptual
...
1.2 Conceptos y arquitectura del SBD
Arquitectura de tres esquemas de un SGBD
Arquitectura ANSI/X3/SPARC
Recuperacin eficiente de datos = estructuras de datos complejas para representar la
informacin en la BD
Complejidad oculta a travs de niveles de abstraccin
Tema 1. Sistemas de bases de datos
99
Nivel Interno

Descrito mediante el Esquema Interno, el cual...
Define la estructura fsica de almacenamiento de toda la BD
Tipos de registros almacenados,
Secuencia fsica de los registros,
Estructuras de almacenamiento (hashing,...),
Estructuras de acceso (indexacin,...)
etc.
Escrito utilizando un Modelo de Datos Fsico
Muy cercano al nivel fsico pero no trata con registros fsicos (bloques,
pginas, ) ni con unidades como cilindros o pistas.
1.2 Conceptos y arquitectura del SBD
Arquitectura de tres esquemas ANSI/X3/SPARC (1)
Tema 1. Sistemas de bases de datos
100
Nivel Conceptual o Lgico

Descrito mediante el Esquema Conceptual o Lgico...
Define la estructura lgica de toda la BD
Entidades, Tipos de datos,
Relaciones,
Restricciones (integridad, seguridad,...)
Oculta detalles fsicos
Escrito usando un Modelo de Datos Conceptual o Lgico
Actualmente se considera el uso de dos esquemas en este nivel:
Esquema Conceptual: organizativo, cercano al usuario
Esquema Lgico: cercano al SGBD
1.2 Conceptos y arquitectura del SBD
Arquitectura de tres esquemas ANSI/X3/SPARC (2)
Tema 1. Sistemas de bases de datos
101

Nivel Externo o de Vistas

Descrito mediante Esquemas Externos
Cada Esquema Externo o Vista...
Define la porcin de la BD que interesa a un usuario
Para el usuario, esa porcin es la base de datos
Pueden existir mltiples vistas del mismo esquema conceptual
Varias vistas pueden solaparse entre s
Escrito usando Modelo de Datos Conceptual o Lgico

1.2 Conceptos y arquitectura del SBD
Arquitectura de tres esquemas ANSI/X3/SPARC (3)
Tema 1. Sistemas de bases de datos
102
SGBD comerciales no distinguen del todo los 3 niveles
Algunos incluyen detalles fsicos en el Esquema Conceptual (Lgico)
Usan el mismo modelo de datos para especificar
Esquemas Externos (vistas) y
Esquema Conceptual (lgico)

Los 3 niveles son descripciones de datos
Los datos reales slo estn en el nivel fsico

Correspondencia entre esquemas SGBD (el ABD)
Externo Conceptual
Conceptual Interno

1.2 Conceptos y arquitectura del SBD
Arquitectura de tres esquemas ANSI/X3/SPARC (4)
Tema 1. Sistemas de bases de datos
103
Nivel Externo (Lenguaje de Programacin tipo Pascal)
tipo empleado = registro (no acceso al salario)
n_empleado: cadena(6);
n_depto: cadena(4);
fin;
Nivel Conceptual (Lenguaje de definicin de datos, LDD)
EMPLEADO (
NUMERO_EMPLEADO CARACTER(6) CLAVE PRINCIPAL,
NUMERO_DEPARTAMENTO CARACTER(4) NO NULO,
SALARIO NUMERICO(5) NO NULO )
Nivel Interno
EMP_ALMACENADO LONGITUD=20
PREFIJO TIPO=BYTE(6), DESPLAZAMIENTO=0
EMP# TIPO=BYTE(6), DESPLAZAMIENTO=6, INDICE=IEMP
DEPTO# TIPO=BYTE(4), DESPLAZAMIENTO=12
PAGA TIPO=PALABRA, DESPLAZAMIENTO=16
1.2 Conceptos y arquitectura del SBD
Arquitectura de tres esquemas ANSI/X3/SPARC (y 5)
Tema 1. Sistemas de bases de datos
104
Capacidad de modificar el esquema de un nivel sin tener
que cambiar el esquema del nivel inmediato superior

Independencia lgica de datos

Capacidad de modificar el esquema conceptual...
ampliar / reducir la BD
modificar restricciones
... sin alterar
esquemas externos
programas de aplicacin
difcil de conseguir
1.2 Conceptos y arquitectura del SBD
Independencia de datos (1)
Tema 1. Sistemas de bases de datos
105

Independencia fsica de datos

Capacidad de modificar el esquema interno...
reestructurar alguna estructura de almacenamiento
crear nuevas estructuras de acceso, etc.
= mejorar rendimiento de la obtencin/actualizacin
... sin alterar
esquema conceptual
programas de aplicacin
es ms fcil de lograr
1.2 Conceptos y arquitectura del SBD
Independencia de datos (2)
Tema 1. Sistemas de bases de datos
106
Pero... cmo conseguir la independencia de datos?

El Catlogo de SGBD incluye informacin
sobre correspondencias entre esquemas
= Modificacin del esquema de un nivel implica...
cambios en la correspondencia entre niveles,
y el esquema del nivel superior no vara
gracias a la Arquitectura de Tres Niveles

Mantenimiento de las correspondencias entre niveles...
gasto extra en compilacin / ejecucin de programas
menor eficiencia del SGBD
Pocos SGBD implementan Arquit. de Tres Niveles completa
OK !!
1.2 Conceptos y arquitectura del SBD
Independencia de datos (y 3)
Tema 1. Sistemas de bases de datos
107
LDD: lenguaje de definicin de datos
Usado por ABD y diseadores para especificar...
Esquema Conceptual
Esquema Interno
si SGBD sin separacin estricta de niveles conceptual e interno
Correspondencias entre los anteriores

Compilador de LDD: procesa sentencias escritas en LDD, para
identificar descripciones de elementos del esquema y
almacenarlas en el catlogo del SGBD
1.2 Conceptos y arquitectura del SBD
Lenguajes e interfaces de bases de datos
Lenguajes del SGBD (1)
Tema 1. Sistemas de bases de datos
108
LDD: lenguaje de definicin de datos (cont.)

CREATE TABLE Libro (
isbn CHAR(10) PRIMARY KEY,
titulo VARCHAR(60) NOT NULL UNIQUE,
apAutor VARCHAR(15) NOT NULL,
nomEdit VARCHAR(15) NOT NULL,
ao NUMERIC(4)
... );
1.2 Conceptos y arquitectura del SBD
Lenguajes e interfaces de bases de datos
Lenguajes del SGBD (2)
Tema 1. Sistemas de bases de datos
109

LDA: lenguaje de definicin de almacenamiento
En SGBD que distinguen entre niveles conceptual e interno, se usa...
LDA para especificar Esquema Interno
detalles de implementacin de estructuras de almacenamiento y de acceso
LDD para especificar el Esquema Conceptual
entidades + relaciones + restricciones
LDD o LDA para definir Correspondencias entre los anteriores

1.2 Conceptos y arquitectura del SBD
Lenguajes del SGBD (3)
Tema 1. Sistemas de bases de datos
110

LDV: lenguaje de definicin de vistas
Para conseguir Arquitectura de Tres Esquemas verdadera
Usado para especificar
Esquemas Externos (o Vistas de usuario)
Correspondencias entre Vistas y el Esquema Conceptual
No obstante, la mayora de SGBD utilizan LDD para definir vistas

CREATE VIEW PrestamoLibro AS
SELECT R.fecha, L.titulo, P.nombre
FROM PRESTAMO R, LIBRO L, PERSONA P
WHERE R.idLib = L.isbn AND R.idPer = P.id;
1.2 Conceptos y arquitectura del SBD
Lenguajes del SGBD (4)
Tema 1. Sistemas de bases de datos
111

LMD: lenguaje de manipulacin de datos
Obtencin, Insercin, Eliminacin y Modificacin de datos
Dos tipos de DML: procedimental y declarativo

LMD procedimental, o de bajo nivel
Qu datos obtener/manipular y cmo obtenerlos/manipularlos
Siempre debe estar empotrado en un LP
Es un LMD orientado a registros:
Obtiene un solo registro y lo procesa por separado
Necesita usar elementos del LP (ej. bucles) para...
obtener registro a registro y
procesarlos individualmente
1.2 Conceptos y arquitectura del SBD
Lenguajes del SGBD (5)
Tema 1. Sistemas de bases de datos
112
LMD declarativo, o de alto nivel
Qu datos obtener para manipular y no cmo manipularlos
Usado para realizar operaciones complejas de BD...
- Interactivamente -- Lenguaje de Consulta
- Incorporado en un LP anfitrin (host) -- LMD Empotrado
Es un LMD orientado a conjuntos:
Obtiene/Actualiza muchos registros con una nica sentencia
SELECT titulo, nomEdit, ao FROM Libro WHERE apAutor = Tolkien;
INSERT INTO Autor VALUES (Jorge Lus, Borges);
DELETE FROM Prestamo WHERE idLib = 8420464988;
UPDATE Persona SET telefono = 555111222 WHERE id = 1;
SGBD comerciales actuales ofrecen nico lenguaje integrado, mezcla de LDD, LDA, LDV y
LMD (como SQL)
1.2 Conceptos y arquitectura del SBD
Lenguajes del SGBD (y 6)
Tema 1. Sistemas de bases de datos
113
Programas escritos en un lenguaje (C++, Java, ...) anfitrin
Dos modos de ejecutar instrucciones LMD desde el lenguaje anfitrin:
Usar Interfaz de Programa de Aplicacin (conjunto de procedimientos)
ODBC, Open Data Base Connectivity (definido por Microsoft para C),
JDBC, Java Data Base Connectivity
Extender la sintaxis del lenguaje anfitrin para incorporar llamadas LMD
dentro de los programas
Instrucciones LMD precedidas de un carcter especial
El preprocesador de LMD convertir estas instrucciones en
llamadas a procedimientos normales del lenguaje anfitrin
1.2 Conceptos y arquitectura del SBD
un apunte: acceso a BD desde programas de aplicacin
Tema 1. Sistemas de bases de datos
114

Basadas en mens
Basadas en formularios
Grficas
De lenguaje natural
Para usuarios paramtricos
Para el ABD (rdenes privilegiadas)
Crear/eliminar cuentas de usuario y establecer autorizaciones
Establecer parmetros de ajuste del rendimiento del sistema
Modificacin de esquemas y correspondencias
Acceso al catlogo
Reorganizar estructura de almacenamiento de la BD
Realizar/restaurar copias de seguridad
...
1.2 Conceptos y arquitectura del SBD
Interfaces del SGBD
Tema 1. Sistemas de bases de datos
115
Arquitectura de los paquetes software de SGBD
Los actuales tienen un diseo modular, segn una arquitectura cliente-servidor (dos
capas)
1.3 Estructura general del sistema de bases de
datos
Mdulos componentes de un SGBD (1)
Programas de
aplicacin
Interfaces (GUI)
de acceso a BD
SGBD
BD
SERVIDOR
- Red de larga distancia (WAN)
- Red de rea local (LAN)
- Lneas telefnicas
- Dispositivos de comunicacin
por satlite
USUARIOS
Terminal
Estacin de
trabajo
PC
CLIENTE
Tema 1. Sistemas de bases de datos
116

O Compilador de Consultas
Sentencias LMD
interactivas
Anlisis Sintctico
Optimizacin
Compilador de
Consultas
Procesador de
Consultas
1.3 Estructura general del sistema de bases de
datos
Mdulos componentes de un SGBD (2)
Tema 1. Sistemas de bases de datos
117

O Precompilador y compilador de
LMD
Programa escrito en
LP HOST + LMD embebido
Sentencias LMD Sentencias LP
Compilador
de LMD
Compilador del
LP HOST
Precompilador
de LMD
Cdigo
Objeto (del
LP)
Cdigo
Objeto (del
LMD)
Enlazador
Transaccin
programada
ejecutable
Procesador de
Consultas
1.3 Estructura general del SBD
Mdulos componentes de un SGBD (3)
Tema 1. Sistemas de bases de datos
118
O Compilador de LDD
Procesa definiciones de esquemas escritas en LDD
Almacena descripciones de los esquemas en el catlogo
Otros mdulos del SGBD necesitan conocer estos metadatos
Definicin de Esquema de
BD escrito en LDD
Compilador de
LDD
BD
SO
1.3 Estructura general del SBD
Mdulos componentes de un SGBD (4)
Tema 1. Sistemas de bases de datos
119
O Procesador de Consultas
Solicitudes de
RECUPERACIN y
ACTUALIZACIN
Procesador de
Consultas
Gestor de Datos
Almacenados
BD
SO
1.3 Estructura general del SBD
Mdulos componentes de un SGBD (5)
Tema 1. Sistemas de bases de datos
120
Subsistemas de control de...
O Concurrencia y Recuperacin - Gestor de transacciones
Asegurar consistencia y coherencia de datos frente actualizaciones
simultneas de datos por mltiples usuarios
Detectar fallos o cadas del sistema
y Restaurar la BD a un estado consistente

O Integridad y Seguridad
Son correctas las actualizaciones de los datos?
Detectar violacin de Restricciones de Integridad
y realizar accin de recuperacin de la integridad de datos

Se cumplen las restricciones de seguridad de acceso?
Comprobar las autorizaciones de acceso al SBD y a los datos
1.3 Estructura general del SBD
Mdulos componentes de un SGBD (6)
Tema 1. Sistemas de bases de datos
121
O Gestor de datos almacenados y memoria intermedia
Control de acceso a informacin almacenada (datos y metadatos)
Puede emplear servicios bsicos del SO para la transferencia de datos a bajo
nivel: disco memoria principal
Maneja los buffers de memoria (almacenam. intermedio)
Gestor de Datos
Almacenados
BD
SO
1.3 Estructura general del SBD
Mdulos componentes de un SGBD (7)
Tema 1. Sistemas de bases de datos
122

Estructuras de Datos

Ficheros de datos en disco

Catlogo: metadatos acerca de...
Estructura de BD, Restricciones de Integridad y de Autorizacin, etc.
Acceso Continuo por diferentes mdulos del SGBD
= Necesario buen diseo e implementacin = eficiencia

Estructuras de acceso (agilizan el acceso a los datos)

Datos estadsticos sobre los datos en la BD
Usados para optimizacin de consultas
Suele considerarse contenidos en el catlogo
BD
SO
1.3 Estructura general del SBD
Mdulos componentes de un SGBD (y 8)
Tema 1. Sistemas de bases de datos
123

SGBD = componente software ms importante
pero no es el nico !
Carga de datos
Intercambio de informacin entre BD de diferente tipo ( Oracle Access )
Respaldo
Reorganizacin de ficheros de la BD
Para mejorar rendimiento del sistema
Monitorizacin
Vigilancia del funcionamiento del sistema y su rendimiento
Datos estadsticos que el ABD usa para tomar decisiones de ajuste y mejora del
sistema
Control de Accesos de usuario
Acceso al Diccionario de datos
Otras utilidades
ordenamiento, compresin de ficheros, etc...
1.3 Estructura general del SBD
Utilidades del sistema de bases de datos
Tema 1. Sistemas de bases de datos
124

Segn el Modelo de Datos en el que est basado
Relacional, Red, Jerrquico,
Orientado a Objetos,
Objeto/Relacional, ...
Segn el n de usuarios simultneos
Monousuario
Multiusuario
Segn el n de lugares en que se almacenan datos
Centralizado
Distribuido (SGBDD)
SGBDD homogneo: mismo software de SGBD en todos los sitios
SGBDD heterogneo (ej. Multi-Base de Datos o BD Federadas)
Segn su propsito
de propsito General
de propsito Especfico: construido para un tipo concreto de aplicaciones
Anexo 1. CLASIFICACIN DE LOS SGBD

Вам также может понравиться