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