Está en la página 1de 15

BASE DE DATOS

TEMA 3. BASES DE DATOS


1. CONCEPTOS DE BASES DE DATOS:
El termino base de datos fue introducido por primera vez en 1963 en california. De manera informal se puede definir como un sistema formado por un conjunto de datos almacenado en memorias de tipo secundario que permiten acceso directo, y un conjunto de programas que manipulan este conjunto de datos. Esta manipulacin de los datos puede realizarse en modo online (interactivo) o en modo Batch (por lotes). En modo Batch, suelen realizarse las operaciones de actualizacin del conjunto de datos. En modo interactivo o conversacional, las operaciones de consulta o interrogacin de la base de datos. Ambos mtodos pueden realizarse a la vez, es decir, que el conjunto de datos puede ser compartido al mismo tiempo por varios programas o usuarios. Otra manera de definir la base de datos es la siguiente: Base de datos es una coleccin de datos pertenecientes a una empresa que satisface las necesidades de las aplicaciones que las utilizan y cuya estructura refleja las relaciones naturales existentes entre ellos. De este modo, los modelos de datos actuales tratan de representar no solo los datos sino tambin las relaciones naturales que se dan entre estos. Por empresa se entiende un organismo cualquiera.

2. OBJETIVOS DE LAS BASES DE DATOS


Algunos de estos objetivos son: 1. Reducir la redundancia de archivos con informacin comn. 2. Reducir la posibilidad de inconsistencia de datos. 3. Control sobre los datos de la empresa, es decir, saber quien tuvo acceso y realizo modificaciones y a que datos en cada momento. 4. Posibilidad de compartir la informacin por varias aplicaciones y usuarios a la vez. 5. Independencia entre datos y aplicaciones o programas que los manejan. En una base de datos el programa se comunica mediante procedimientos estndar con los datos y un cambio de codificacin o de soporte en ellos no debe afectar a los programas de aplicacin, sino solo al procedimiento de acceso. 6. Garantizar la confidencialidad y seguridad de los datos contra accesos incorrectos o no autorizados. 7. Preservar la integridad de los datos contra fallos y averas. 8. Mejor eficiencia en la recogida y validacin y entrada de datos al sistema, ya que al no haber redundancia se hace una sola vez.

BASE DE DATOS Estos objetivos principales los podemos asimilar a las ventajas que tiene el implantar una base de datos. Pero tambin hay algunas desventajas o inconvenientes sobre todo al principio y en los grandes sistemas. Como inconvenientes podemos mencionar los siguientes: 1. Instalacin costosa: ya que su instalacin puede tener un coste elevado tanto en el equipo fsico como en el lgico de sistemas operativos y programas en general necesarios para su uso. 2. Personal especializado: ya que hace falta la formacin de personal para usar la base de datos y ms an en el caso de la administracin de la base de datos. 3. Implantacin larga y difcil: debido a lo mencionado, la implantacin de la base de datos puede ser larga y difcil, sobre todo si se quiere hacer el cambio en grandes sistemas. 4. Poco rentable a corto plazo: En el caso de dimensiones medias, puede tardar meses en empezar a cubrir costes y ser rentable. En el caso de dimensiones grandes o muy grandes puede tardar aos. 5. Falta de normas: Es decir que sobre todo inicialmente estaban poco estandarizadas para su uso, aunque actualmente ya empieza a haber algunos estndares como el uso del SQL ISO para las bases de datos relacionales. Sin embargo en los sistemas pequeos estos inconvenientes son menores o de menor importancia.

3. SISTEMA DE BASE DE DATOS O SISTEMA DE GESTIN DE

BASE DE DATOS
Un concepto importante es el sistema de gestin de base de datos llamado en ingls DBMS o en espaol SGBD (sistema de gestin de base de datos). Los componentes fundamentales de un SGBD son los datos, hardware, software y los usuarios. Los datos son la base informativa de la base de datos. El hardware tiene como principal caracterstica, el tener que permitir el acceso directo. El software es el llamado SGBD, que es el conjunto de rutinas o procedimientos interrelacionados que permiten llevar a cabo la explotacin de las estructuras de datos de la base de datos.

El SGBD es un intermediario entre la base de datos y los usuarios.

Usuarios

SGBD

Mtodos de Acceso

Datos

BASE DE DATOS Los tipos de usuarios de un sistema de gestin de datos (SGBD), son los siguientes: Programadores de aplicaciones, son los encargados de realizar programas de aplicaciones que utilizan bases de datos, interactan con los datos de todas las maneras posibles. El usuario final, accede a la base de datos desde un terminal por medio de un lenguaje de consulta. Administrador de la base de datos, profesional o grupo de profesionales que controla y maneja la base de datos, algunas de sus funciones son: o Describir el modelo de la base de datos. o Definir la estructura de almacenamiento. o Conceder autorizacin para el acceso a los datos al resto de los usuarios, etc. Los analistas, que controlan el desarrollo de la base de datos aprobada por la direccin y suelen disear la base de datos a nivel lgico general y ser los directores de programacin. Equipo de mantenimiento, encargados de dar soporte a los usuarios en el trabajo diario y mantener el buen funcionamiento en el sistema.

4. ESTRUCTURA MULTICAPA
El proceso que realiza un SGBD para intermediar entre el usuario y los datos est formado por varias etapas o capas. Este funcionamiento de la base de datos por capas tiene por fin ocultar y proteger la parte interna de la base de datos. Por tanto el SGBD, para llegar a los datos, tiene que pasar por una serie de capas que van desde la ms externa en relacin a los usuarios hasta la ms interna en relacin al almacenamiento fsico de los datos. Capa de facilidades de usuario: Son las herramientas que proporciona el SGBD a los usuarios para permitir un acceso ms sencillo a los datos. Son el nico elemento que maneja el usuario y son las aplicaciones con las que el usuario maneja la base de datos. Capa de acceso a datos: Permite comunicar a las aplicaciones de usuario con el diccionario de datos. Es un software que traduce las peticiones del usuario para el diccionario de datos. Capa de diccionario de datos: Este es el elemento que tiene todos los metadatos que sirven para describir los datos y sus relaciones en general. As queda preparada la peticin del usuario para su paso a nivel fsico. Capa ncleo: Esta realiza la traduccin de las peticiones a nivel fsico o interno. Sistema Operativo: Es la ltima capa y es externa al SGBD, y es la que realmente accede a los datos mismos a nivel fsico. De modo que el SGBD no accede directamente al disco sino que pide al Sistema Operativo que lo haga. ESTRUCTURA MULTICAPA Facilidades de usuario (Usuarios) Acceso a datos Diccionario de datos Ncleo Sistema Operativo Datos

SGBD

Mtodos

BASE DE DATOS

5. Conceptos bsicos:
Algunos conceptos generales bsicos que se suelen usar en relacin a las bases de datos son: Empresa: Por empresa se entiende, una organizacin cualquiera como puede ser un banco, un ministerio, centro de enseanza, fbrica de automviles, etc. Entidad: Las empresas necesitan informacin acerca de muy diversos aspectos, como contabilidad, nminas, alumnos, vuelos, etc. Entonces una entidad es un concepto general sobre el cual la empresa necesita guardar informacin como puede ser una persona, una pieza, un lugar, etc. Por ejemplo, en un centro de enseanza, las entidades son los alumnos, los profesores, las asignaturas, las aulas, etc. Atributo: En general los atributos se consideran como las unidades de informacin ms pequeas que puede tratar un programa con respecto a una entidad. Es respecto a las bases de datos algo anlogo a lo que en sistemas de gestin de base de datos se les llama campos, as por ejemplo, los atributos de la entidad alumno pueden ser su nmero de matrcula, nombre, apellidos, direccin. Dominio: Los valores que pueden tomar un atributo suelen ser del mismo tipo, como enteros, reales, caracteres, etc. y estar dentro de ciertos lmites. En general se considera dominio el rango de valores dentro del cual toma valores uno o ms atributos. Atributo Clave: De entre todos los atributos de una entidad se llaman atributos clave a los que tienen la propiedad de que su valor permite determinar o conocer el valor de los dems. Por ejemplo, para la entidad alumno, el nmero de matrcula es un atributo clave, ya que sabiendo el nmero de matrcula se puede saber los valores del nombre, direccin, etc. Pero el nombre no es atributo clave ya que puede haber alumnos con el mismo nombre. Como definicin formal es como si: E, entidad de A atributo, Ei, Ej representantes-E Ai,Aj-valores de A Entonces se dice o

6. Arquitectura de una base de datos


En los sistemas de bases de datos hay un problema de estandarizacin. Aunque no hay normas, los grupos de estudio que han obtenido mayor aceptacin de la ISO (Organizacin Estndar Internacional) son los siguientes: DTBGE (Data Base Task Group) perteneciente al CODASYL, que es una organizacin informal de usuarios y fabricantes que propone una estructura u arquitectura basada en dos niveles de representacin, uno externo y otro interno. Study Group on Data Base Management System, del comit ANSI/X3/SPARC, que propone una arquitectura a travs de tres niveles de representacin de datos, externo, conceptual e interno.

BASE DE DATOS Centrndonos en la arquitectura ANSI, que es la ms usada, tenemos que se compone de los tres niveles siguientes: Nivel 1, Externo: Es el nivel ms prximo al usuario. Aqu se define el modelo del conjunto de datos tal y como lo va a ver el usuario. Si la base de datos es utilizada por varios usuarios que necesitan verla de modo distinto se disear un modelo para cada uno de ellos en el nivel externo. Cada uno de los modelos puede corresponder a un subconjunto de la base de datos total. Por cada programa se especifica un esquema externo. Nivel 2, Conceptual: Establece el modelo terico de la base de datos, que es nico, sobre el que estarn asentados los modelos externos. El mismo da la visin global o total del la base de datos con respecto a la comunidad de usuarios que la usan. Se define el nivel conceptual por medio de un esquema conceptual. Para ello se tienen en cuenta los registros lgicos de los archivos con sus campos y relaciones. Nivel 3, Interno: En l se define la estructura de almacenamiento fsico de los datos, las estrategias de acceso a los ficheros, los volmenes que se van a ocupar, etc. El nivel interno es descrito por medio de un esquema interno. Ya que el modelo interno corresponde a la implementacin fsica del modelo conceptual ser tambin nico.

Ejemplo de los tres niveles: Si hay tres archivos de empleados, artculos y ventas y se quieren obtener las ventas por departamento y la relacin de empleados por departamento, hacen falta dos esquemas o modelos externos.

BASE DE DATOS

7. LENGUAJES DE BASES DE DATOS


Las bases de datos, para cumplir sus objetivos necesitan a los lenguajes de descripcin y de manejo de los datos. Los SGBD (sistemas de gestin de bases de datos) tambin dan interfaces con leguajes de programacin como COBOL, FORTRAN, etc. Con el lenguaje de descripcin de datos (DDL), se describen los esquemas conceptuales y externos. Esquema conceptual se describe por medio del esquema DDL. Esquema externo se describe por el subesquema DDL.

Las definiciones de un esquema o subesquema se compilan en el compilador DDL para obtener diccionarios o directorios de los esquemas o subesquemas. Cuando los usuarios desean acceder a la base de datos el sistema de control de la base de datos que es parte del SGBD examina los directorios objeto, esquemas y subesquemas, para precisar las definiciones de los datos requeridos. Tambin debe haber un lenguaje de manejo de datos (DML) (lenguaje de manipulacin de datos), permite a los usuarios manejar la base de datos. La manipulacin puede consistir en insertar nueva informacin o acceder, modificar o borrar la informacin existente. Existen lenguajes de procedimiento en el que el usuario especifica la forma de obtener los datos buscados y lenguajes de no procedimiento en el que el usuario especifica los datos que desea obtener pero no la forma de obtenerlos. En un lenguaje puede haber aspectos de ambos tipos, la parte del DML, permite recuperar la informacin llamado lenguaje de consulta. El SGBD adems, de las funciones de definicin y manipulacin de datos tiene tambin funciones de control. Esta funcin a veces de usa integrada en las otras dos y a veces se considera mejor usar el llamado lenguaje de control de datos o (DCL), Esto permite controlar la seguridad de los datos de modo que se permiten a ciertos usuarios ver y acceder a ciertos datos y recursos y a otros no.

8. CARACTERISTICAS DEL SISTEMA DE GESTION DE BASE DE DATOS


Para la consecucin de sus objetivos, los SGBD, deben incorporar ciertas caractersticas, funciones y facilidades como las siguientes: Tener un catlogo: tambin llamado como diccionario de datos, contiene informacin que describe los datos, es decir, que son metadatos y las relaciones entre ellos. Por tanto describe las bases de datos en general en sus diversos aspectos. Garantizar la coherencia: Para que los datos sean coherentes tiene que haber un mecanismo que garantice que todas las actualizaciones relativas a una transaccin se realicen o no se realicen ninguna. Una transaccin es un conjunto de acciones que debern realizarse juntas y cambian el contenido de la base de datos. Si falla al realizarse la transaccin, los datos quedan de modo incoherente o inconsistente, ya que algunos de los cambios se abran hecho y otro no. Por tanto, los cambios realizados deben deshacerse para volver a poner la base de datos en su situacin anterior con datos consistentes. Por ejemplo, una transaccin bancara, el importe que sale de una cuenta debe ingresarse en otra para que se haga correctamente.

BASE DE DATOS Permitir actualizaciones concurrentes: Es decir, permitir que varios usuarios accedan a la vez a los datos de la base de datos. En el caso de solo lectura, no hay dificultad pero en el caso de que tambin quieran grabar datos se podran interferir entre s, por lo que el sistema de gestin de base de datos debe gestionarlo para que no se interfieran. Integridad: Por integridad de la base de datos se entiende su resistencia a las posibles averas fsicas o errores lgicos que puedan producir inconsistencia o prdida de datos y su capacidad para recuperar esos datos. Para ello hacen falta dos cosas: o Un mtodo de deteccin de errores en el conjunto de datos: Consiste en la aplicacin de procedimientos estndar de verificacin, consistentes en establecer una condicin invariante que han de cumplir los datos en todo momento. Por ejemplo, si se sabe que el precio de un artculo siempre est entre ciertos lmites y que el precio por hora de un empleado de la clase o categora A es siempre mayor que el de un empleado de categora B, se pueden hacer procedimientos de verificacin automtica de dichas condiciones cada cierto tiempo. o Un mtodo de recuperacin de la informacin perdida: Se basa en la obtencin sistemtica de copias de la base de datos cada cierto tiempo. Para hacer la recuperacin hacen falta los siguientes pasos: Detectar el error producido en la base de datos y en qu momento se ha producido, y a que parte de la base de datos ha afectado. Reconstruir toda la actividad ocurrida sobre la base de datos desde que se hizo la ltima copia hasta que se detecto el error. Restaurar la base de datos a su estado libre de error ms reciente y ejecutar de nuevo toda la actividad detectada en el paso anterior.

Para la reconstruccin, la mayora de SGBD (Sistemas de Gestin de Base de Datos) tienen una rutina de utilidad llamada Logging que registra todas las actividades que tienen lugar en la base de datos guardndolas en un archivo LOG.

Cumplir Restricciones: Este aspecto est relacionado con el de integridad, ya que se trata de establecer ciertas normas o reglas que deben de cumplir los datos. As por ejemplo, en una base de datos de liga de baloncesto puede tener la restriccin que cada equipo no puede tener asignados ms de veinte jugadores y comprobar que se cumple cuando hay nuevas asignaciones. Otras, varias: Adems de las mencionadas tambin es adecuado que el SGBD tenga un adecuado enlace o integracin con algn gestor de comunicaciones para el envo y recepcin de mensajes, y tambin herramientas de administracin que permitan cosas como controlar el acceso al servidor y a los datos y optimizar el funcionamiento.

BASE DE DATOS

9. CARACTERISTICAS DEL SISTEMA DE GESTION DE BASE DE DATOS


De los infinitos datos posibles existentes para cada sistema de base de datos, solo nos interesa una parte de ellos. A esa parte que nos interesa se le llama universo del discurso. Entonces un modelo de datos es una coleccin de herramientas que se usarn para describir los datos del universo del discurso, sus relaciones y sus restricciones. Por tanto un modelo de datos es un instrumento que nos permite representar en abstracto el conjunto de datos que nos interesa y sus aspectos internos. Al aplicar un modelo de datos a un universo del discurso o datos que nos interesan se obtiene una representacin del mismo llamada esquema que es su estructura de datos.

Universo del discurso: La seleccin de los datos que nos interesan para manejar en la base de datos. Tenemos que las propiedades de un universo de discurso son de dos tipos: Estticas: Son relativamente invariantes en el tiempo que responden a lo que se suele entender como estructuras. Dinmicas: Que varan con el tiempo y son los datos que se almacenan en las estructuras.

Entonces en el sentido formal el modelo de datos puede definirse como el par MD= <S, O>, donde: La S es el conjunto de reglas que permiten representar la componente esttica, es decir, describir la estructura del universo de datos. La O es el conjunto de operaciones autorizadas sobre la estructura que representan la componente dinmica.

En cuanto a la parte esttica tiene los objetos permitidos en el modelo y los objetos no permitidos o restricciones. Las restricciones son proposiciones que pueden tomar el valor cierto o falso para conjuntos de elementos del modelo de datos. Se pueden clasificar en: Restricciones inherentes: Son las impuestas por el propio modelo, el cual no permite algunas estructuras, objetos o asociaciones. Restricciones de usuario: Son las impuestas por el usuario, dentro de estas tenemos a su vez dos tipos: o Las que el SGBD reconoce y da instrumentos para su manejo o Las que el SGBD no reconoce ni gestiona y que deben ser manejadas solo por el usuario.

BASE DE DATOS En cuanto a la parte dinmica tenemos que los valores de los datos de una base de datos van cambiando con el tiempo y el valor que tienen en un momento determinado se le llama ocurrencia de la base de datos en el momento i y se representa como BDi. La componente dinmica tiene un conjunto de operaciones que se aplican sobre los datos de una estructura. Al aplicar una operacin a una ocurrencia de una base de datos da lugar a otra (ocurrencia), Ej: O(BDi)=BDj Las operaciones bsicamente, son de seleccin para localizar ocurrencias y de accin que se realizan sobre las ocurrencias. (Ocurrencia: Estado de la base de datos en un momento determinado)

10. TIPOS DE MODELOS DE DATOS


En principio y en general hay que distinguir entre modelos conceptuales y otros llamados convencionales o lgicos. Una comparativa de las caractersticas generales de ambos es como sigue: Los modelos conceptuales tienen un mayor nivel de abstraccin y los modelos convencionales o lgico un mayor nivel de indireccin en el sentido de conexin entre los esquemas externos e internos. Los conceptuales no estn en general instrumentados en SGBD y los convencionales o lgicos s. Por tanto los lgicos dependen del SGBD y los conceptuales son independientes de SGBD. Los conceptuales tiene mucha capacidad semntica o de significado y los lgicos poca o menor Los conceptuales estn ms enfocados al diseo y los lgicos o convencionales ms enfocados a la instrumentacin y ms prximos al ordenador. Los conceptuales sirven como interfaz entre informticos y usuarios y los lgicos ms como interfaz entre informticos y el sistema.

Adems se pueden agregar otro tipo de modelos avanzados de modo que tenemos tres tipos de modelos de datos: Modelos conceptuales: Son los ms generales o de mayor nivel de abstraccin y en ellos se representan los datos y relaciones entre ellos de la base de datos de modo ms prximo al entendimiento de las personas. Con ello se hace la descripcin general de la base de datos. Hay varios modelos de este tipo como son: o Modelo Entidad/Relacin MER. o El modelo RMT. o El modelo UML. El ms usado es el modelo Entidad/Relacin llamado MER. Modelos Lgicos Convencionales: Estos tambin llamados lgicos tradicionales, adems de describir la estructura general una mayor aproximacin a su implementacin en el ordenador.

BASE DE DATOS Entre estos, los tres tipos ms ampliamente aceptados son: o El jerrquico: En los de tipo jerrquico, se almacena la informacin de modo jerrquico o en rbol. Estas son ms tiles sobre todo en el caso de tener que manejar grandes volmenes de informacin de datos compartidos.

En red: En los de tipo red, se almacena la informacin en forma de grafos, que son redes en donde cada informacin y nodo puede relacionarse con cuales quiera otros en todos los sentidos y direcciones. Es ms difcil manejar y administrar su informacin.

El relacional: En los de tipo relacional, se usan tablas para representar los datos y relaciones entre ellos. Actualmente son las ms sencillas de utilizar y las ms usadas.

Modelos Lgicos Avanzados: Son relativamente recientes, entre ellos podemos mencionar: El modelo orientado a objetos: Este modelo incorpora los conceptos principales de la programacin orientada a objetos. Trata de almacenar en la base de datos los objetos considerados en cuanto a datos y los procedimientos que los usan. Su modelo conceptual se suele disear en UML y el lgico en el ODMG. El modelo de datos declarativas: Se basa en bases de conocimiento e inteligencia artificial.

Objeto-Relacionales: Este trata de ser una mezcla entre el modelo relacional y el orientado a objetos. Incorpora mejoras, a las primeras, de tipo relacional y se basan

BASE DE DATOS en el estndar SQL. Se aade a las relacionales la posibilidad de almacenar procedimientos de usuarios, disparadores, tipos definidos por el usuario, etc. Estos tipos de relaciones y objetos relacionales son las ms usadas en la actualidad. Tambin se puede mencionar al modelo de datos NoSQL. Estos se usan para bases de datos documentales, que tienen una gran cantidad de datos distribuidos en Clusters o conjuntos de servidores. Se usan en los grandes servicios de internet, como las redes sociales. Usan otros lenguajes distintos al SQL, por ello se le llama NoSQL (Not Only SQL). Se usan para consultas masivas de datos.

11. BASES DE DATOS CENTRALIZADAS Y DISTRIBUIDAS


En un sistema de bases de datos centralizado todos los componentes (software, datos y soportes fsicos) residen en un nico lugar fsico. Los clientes (aplicaciones, funciones, programas cliente, usuarios) acceden al sistema a travs de distintas interfaces que se conectan al servidor. Sin embargo, existe otra arquitectura cada vez ms extendida en la que se opta por un esquema distribuido en el que los componentes se distribuyen en distintos computadores comunicados a travs de una red de cmputo. Dichos sistemas se conocen con el nombre de Sistemas Gestores de Bases de Datos Distribuidas o DDMGS. Una base de datos distribuida es una coleccin de datos que pertenece lgicamente al mismo sistema pero que se encuentra fsicamente almacenada en distintas mquinas conectadas por una red. El surgimiento de las mismas se debe a varias razones entre las que destacan las siguientes: Mejora de rendimiento

Cuando grandes bases de datos se distribuyen en varios sitios las consultas y transacciones que afectan a un solo sitio son ms rpidas al ser ms pequea la base de datos local. Los sitios no se ven congestionados por muchas transacciones, ya que stas se dispersan entre varios sistemas. De este modo, cuando una transaccin requiera acceso a ms de un sitio, estos pueden hacerse en paralelo, de forma que se reduce el tiempo de respuesta. Fiabilidad

Definida como la probabilidad de que un sistema est activo en un tiempo dado. Al distribuirse los datos es ms fcil asegurar la fiabilidad del sistema, ya que si falla algn sitio es poco probable que afecte a la mayora de transacciones. Disponibilidad

Es la probabilidad de que un sistema est activo de manera continuada durante un tiempo. Se ve mejorada por las mismas razones expuestas anteriormente. Esta caracterstica se ve mejorada especialmente por la replicacin de datos en varios sistemas. Tipos de aplicaciones

BASE DE DATOS Muchas aplicaciones tienen un marcado carcter distribuido al estar sus componentes dispersos en distintos sitios. Por ejemplo, una cadena de supermercados puede tener distintas sedes en distintas ciudades de forma que los clientes puedan acceder solamente a sitios y datos de su ciudad. Por el contrario, distribuir implica una mayor complejidad en el diseo, implementacin y gestin de los datos, para lo cual un buen SGBDD debe incorporar, adems de los componentes habituales en un SGBD centralizado: Tener acceso a sitios remotos e intercambiar informacin con los mismos para la ejecucin de consultas y transacciones. Disponer de un catlogo con informacin sobre cmo estn distribuidos y replicados los datos del sistema distribuido. Poder optimizar consultas y transacciones sobre datos que estn en ms de un sitio. Mantener la integridad en los permisos sobre datos replicados. Mantener la consistencia de las copias de un elemento replicado. Garantizar la recuperacin del sistema en una cada. Todo ello eleva enormemente la complejidad de tal SGBDD. Debemos aadir adems la dificultad en el diseo ptimo de bases de datos distribuidas, especialmente en cuanto a las dos decisiones importantes: qu datos distribuir y qu datos replicar.

12. ARQUITECTURA DE UN DDBMS


En general, en un sistema distribuido disponemos de varias formas o modelos para organizar el software. Se habla de la arquitectura cliente-servidor consistente en dividir el software (la funcionalidad) entre equipos que hacen de clientes y otros que hacen de servidores. De esta manera podemos tener desde una mquina ligera sin disco, que se conecta a un servidor, de forma que todo ocurre en el servidor mientras que el cliente hace de interfaz, hasta un esquema en el que varios servidores trabajan de forma independiente con un esquema comn de datos. A partir de aqu surgen numerosas posibilidades de organizacin que se caracterizan por tres parmetros: Autonoma Tiene que ver con quin tiene el control sobre qu datos del SGBDD, es decir, determina el nivel de independencia de los SGBD. Distinguimos entre: Integracin fuerte: un equipo hace de coordinador enviando las solicitudes de informacin a los equipos donde resida la informacin. Sistema semiautnomo: los SGBD son independientes pero participan en el conjunto pudiendo compartir parte de sus datos. Sistema aislado: el SGBD no tienen constancia de que existan otros gestores.

Distribucin Hace referencia a cmo se distribuyen los datos a lo largo del sistema:

BASE DE DATOS Distribucin cero: no hay distribucin de datos. Cliente-servidor: los datos residen en los servidores mientras que los clientes proveen una interfaz de acceso a los mismos adems de otras posibles funcionalidades como cach de consultas. Servidores colaborativos: no se distingue entre servidores y clientes, cada mquina tiene toda la funcionalidad del SGBDD.

Heterogeneidad Se refiere a la heterogeneidad de los componentes del sistema en distintos niveles como: Hardware. Comunicaciones. Sistema operativo.

Cualquier combinacin de estos parmetros determina un modelo arquitectnico distinto para nuestro SGBDD. En la siguiente figura se observan las diferentes posibilidades segn el peso de uno u otro aspecto:

BASE DE DATOS Por otra parte, un SGBDD debe proporcionar lo que se conoce como transparencia en la distribucin, lo que implica que cuando un usuario accede a la base todo lo que ocurre es transparente y queda al margen de cualquier detalle de cmo se ejecuta la transaccin, es decir, al usuario se le presenta un esquema que no incluye informacin sobre la distribucin de los datos. Es el software cliente quien consulta al catlogo del SGBDD para conocer la ubicacin de los datos y poder as descomponer la consulta y distribuirla entre los distintos servidores. En particular, la transparencia debe serlo en cuanto dnde estn los datos (transparencia de red), que datos estn replicados (transparencia de replicacin) y qu datos estn fragmentados (transparencia de fragmentacin).

13. TCNICAS DISTRIBUCIN

DE

FRAGMENTACIN,

REPLICACIN

Disear bases de datos distribuidas implica decidir sobre cmo fragmentarlas, cmo replicarlas y cmo distribuirlas, adems del diseo previo de la base de datos en s. La informacin sobre cmo se hace este proceso se almacena en el catlogo global del sistema al que tiene acceso el cliente cuando quiere acceder a la informacin. Veremos ahora distintas tcnicas para hacer lo anterior. Fragmentacin Consideraremos a nuestra base de datos formada por unidades lgicas que son las relaciones o tablas. Supongamos que en nuestro ejemplo de banca electrnica queremos separar a nuestros clientes por regiones de Espaa para facilitar el acceso. Entonces necesitaramos dividir la tabla de clientes en tres partes almacenando cada una en un computador, es lo que denominamos fragmentacin horizontal que divide las tuplas segn una o varias condiciones sobre distintos atributos, en este caso sobre el campo regin en la tabla clientes. En otra situacin podramos querer dividir la informacin de un cliente en sus campos ms accedidos y ligeros (nombre, apellidos, direccin) y almacenarla en un servidor ms potente, mientras que otros campos ms pesados (currculum, foto, historial, etc.) podran almacenarse en otro servidor con menos capacidad de proceso pero ms almacenamiento. Es lo que denominamos fragmentacin vertical y debe hacerse con cuidado, ya que tenemos que incluir un atributo comn, usualmente una clave, en ambos fragmentos para poder recuperar la informacin completa cuando sea necesario. Por supuesto, existe tambin la posibilidad de una fragmentacin mixta que incluya los dos casos comentados. Debemos ser conscientes de que fragmentar es un proceso complejo que solo debe hacerse cuando se considere necesario por motivos de eficiencia, ya que al hacerlo hacemos tambin ms complejo (ms costoso en trminos de CPU y consumo de recursos en general) el acceso a los datos por parte de los clientes. La informacin sobre la fragmentacin se guarda en lo que se denomina un esquema de fragmentacin, que es una definicin de todos los atributos de la base de datos y cmo estn fragmentados. Un esquema de reparto permite definir dnde repartiremos los

BASE DE DATOS fragmentos. Si se da el caso de repartirlos en ms de un sitio diremos que est replicado. Fragmentar permite acercar los datos al consumidor, reducir el trfico de red y mejorar la disponibilidad de los datos. Replicacin Es fundamentalmente til para mejorar la disponibilidad de los datos. El caso ms extremo es la replicacin en todos los sitios de la misma copia de la base de datos, que tambin es el caso que ofrece mayor disponibilidad, aunque puede reducir considerablemente la eficiencia en operaciones de actualizacin dado que cada operacin debe realizarse en cada base de datos y esto puede traer problemas de integridad y consistencia de los mismos. En el extremo opuesto tenemos la no replicacin, en la que cada fragmento est en un sitio en cuyo caso son disjuntos salvo las claves en fragmentos verticales; es lo que se denomina reparto no redundante. Entre ambos extremos se da una amplia gama de posibilidades que queda descrita en lo que se denomina esquema de replicacin. Todo ello se describe en el catlogo de replicacin donde se indica qu objetos son replicados, dnde est la rplica y cmo se propagan las actualizaciones. El catlogo es un conjunto de tablas guardadas en cada sitio en el que hay rplicas. Las configuraciones posibles son variadas y dependen mucho de los requisitos de las aplicaciones. La eleccin de un sitio para un fragmento depende de los objetivos de rendimiento y disponibilidad para el sistema y de los tipos y frecuencia de transacciones. Tambin depende de si la base es ms orientada a consultas o, por el contrario, hay un alto grado de operaciones de escritura.