viernes, 6 de marzo de 2015

VIII SISTEMAS DE GESTIÓN DE BASES DE DATOS



Por los problemas que planteaban los antiguos sistemas de información

mecanizados por ordenador basados en archivo convencional, se intentó

desarrollar un nuevo enfoque a la gestión de los datos que garantizara

lo máximo posible la independencia de las aplicaciones frente a los

datos, la integridad y la seguridad de los mismos.

Apareció el concepto de base de datos y el software que lo manejaba:

los sistemas de gestión de bases de datos. Se verá en este tema cual es

la estructura de un SGBD y la funcionalidad que ofrece, y qué los hace

una opción mucho más apetecible a la hora de manejar grandes

volúmenes de datos. En general, se ofrecerá una visión introductoria de

qué es un SGBD, cómo funciona y para qué sirve.

La parte final aborda, superficialmente, los problemas de independencia,

integridad y seguridad de los datos.

Dada la creciente importancia del concepto, se introduce la arquitectura

cliente-servidor como una visión distinta del acceso a los SGBD.

BD1 2006-2007

142

VIII1. técnicas de base de datos

En un principio, los problemas de los sistemas basados en fichero

convencional se solventaban fácilmente, o ni siquiera existían, dada la

poca envergadura de los sistemas de información que se mecanizaban.

Pero, a medida que los avances en un campo tan inestable como éste

fueron aumentando las prestaciones y capacidades de las herramientas

de proceso de datos, los programas se hacían más extensos y

complejos, manejaban una mucho mayor cantidad de datos, y

necesitaban que cada vez más usuarios compartieran los mismos

datos.

Lo que antes era un mínimo contratiempo se convirtió en un

interminable quebradero de cabeza: mala o nula planificación y la

pobreza de los modelos de datos utilizados provocaron que cada vez

fuera más difícil el mantenimiento, a unos mínimos niveles de

rendimiento y fiabilidad, de las aplicaciones existentes.

Las técnicas de Bases de Datos surgen al intentar superar la

situación descrita. El objetivo prioritario es unificar toda la información

del sistema para evitar redundancias, sin perder las distintas

perspectivas que de la misma tienen los usuarios. Los datos se

organizan y se mantienen en un conjunto estructurado que no está

diseñado para una aplicación concreta, sino que tiende a satisfacer las

necesidades de información de toda la organización. Es decir, se

separa lo que es el sistema de información en sí, de lo que son las

aplicaciones que pretenden explotar los datos almacenados en él. No

obstante, la consecución de este objetivo crea nuevos problemas y

agrava otros ya existentes: independencia, concurrencia, privacidad,

etc.

En un sistema de bases de datos podemos identificar someramente los

siguientes componentes:

Datos

Hardware

Software: programas de gestión de bases de datos y de

aplicación, utilidades, etc.

Usuarios: programadores de aplicación, usuarios finales,

administrador de la Base de Datos (DBA).

Entre las herramientas de software desarrolladas para crear y gestionar

una base de datos, sin duda, la más importante es el Sistema de

Gestión de Bases de Datos (SGBD). Este “programa” es el encargado

de poner a disposición de los distintos usuarios las técnicas de bases

de datos.

Descripción centralizada de los datos: si todos se encuentran en

un mismo lugar al que acceden las aplicaciones, ya no es

necesaria la replicación.

Posibilidad de definir vistas parciales de dichos datos para los

diferentes usuarios: estas vistas parciales estarán compuestas

por los datos y relaciones de interés para una aplicación o

introducción al modelo EER

143

conjunto de aplicaciones en concreto. Pensemos que un

empleado de Contabilidad no tiene porqué conocer el estado

civil de otro empleado pero este dato si le puede interesar a otro

de Personal.

Por otra parte, los objetivos de un SGBD son:

Independencia de datos: los programas de aplicación deben

verse afectados lo menos posible por cambios efectuados en

datos que no usan.

Integridad de los datos: la información almacenada en la BD

debe cumplir ciertos requisitos de calidad; para ello hace falta,

en el momento de introducirse los valores de los datos, que

éstos se almacenen debidamente, y que posteriormente no se

deterioren (en sí mismos, en sus interrelaciones y en su

accesibilidad).

Seguridad de los datos: a la información almacenada en la BD

sólo pueden acceder las personas autorizadas y de la forma

autorizada.

Podemos dar una primera definición de Base de Datos:

“Colección de datos estructurados según un modelo que

refleje las relaciones y restricciones existentes en el

mundo real. Los datos han de ser compartidos por

diferentes usuarios y aplicaciones, y deben mantenerse

independientes de éstas; su definición y descripción han

de ser únicas, estando almacenadas junto con los

mismos. Los tratamientos habrán de conservar la

integridad y seguridad de los datos.”

Podemos decir, de una manera muy general, que la base de datos es el

conjunto de información, y el sistema de gestión de bases de datos el

encargado de mantener las virtudes que se proponen en la definición.

VIII2. arquitectura de un sistema

de gestión de bases de datos

Un SGBD no es, ni más ni menos, que un programa de ordenador que

maneja Bases de Datos. Como tal, tiene unas características comunes

que se encuentran, implementadas de una forma o de otra, en todos los

productos comerciales disponibles en el mercado. Nuestra pretensión

es dar una visión general de esas características sin centrarnos en

producto alguno.

El hecho fundamental que justifica la utilización de un SGBD es que, si

antes los programas llamaban directamente al sistema operativo para

manejar sus ficheros, ahora es el SGDB es el encargado de facilitar los

servicios de acceso de las aplicaciones a los datos.

BD1 2006-2007

144

Los programas piden al SGBD ciertos datos de la BD y éste, con la

información y herramientas de que dispone, las convierte en

operaciones de acceso a los distintos ficheros de la BD, operaciones

que son ejecutadas por los métodos de acceso; entendemos por tales

el conjunto de rutinas del Sistema Operativo que gestionan al nivel más

próximo al hardware el acceso a los ficheros.

Como se observa, el SGBD introduce un nuevo nivel de independencia

entre los usuarios y el hardware que no existe en un sistema clásico en

el que los programas se comunican directamente con los métodos de

acceso.

Uno de los objetivos de las BD es la independencia de datos. Para

alcanzar dicho objetivo se han hecho distintas propuestas para definir

la estructura ideal de un SGBD. El grupo ANSI/SPARC34 (1977)

propuso una arquitectura a tres niveles, donde se distinguen tres

esquemas de BD:

Esquema Conceptual (EC)

Esquema Interno (EI)

Esquemas Externos (EE)

El EC es la descripción del sistema de información (objetos e

interrelaciones) con independencia del SGBD que se vaya a utilizar; el

EI es la descripción del EC en términos de representación física (la

forma de almacenarlo en el ordenador), y los EE son las vistas

parciales (subconjuntos del conjunto global de información) que tienen

los distintos usuarios.

Sin embargo, se encontraron con que no disponían de un Modelo

Conceptual general y accesible desde cualquier SGBD que nos permita

definir el esquema conceptual. Generalmente, los modelos de datos

soportados por los SGBD comerciales suelen ser demasiado pobres

34American National Standard Institute / System Planing And Requeriment Committee.

APLICACIONES SGBD SO

BD

ESQUEMA

CONCEPTUAL

ESQUEMA

INTERNO

descripciones

parciales

descripción de datos

del S.I.

representación física

usuarios

objetos/conceptos

interrelaciones

restricciones semánticas

registros

modos de acceso

tamaño de las páginas

independencia lógica

independencia física

ESQUEMAS

EXTERNOS

introducción al modelo EER

145

semánticamente35, por lo que se prefiere realizar la descripción del

sistema de información en algún modelo más expresivo para luego

“traducirlo” a un SGBD concreto.

La intención es disponer de una primera descripción lo más completa

posible e independiente de las herramientas que se vayan a utilizar

para gestionarlo, incluso con la posibilidad de que no se vaya a

mecanizar mediante un ordenador.

Por esta razón muchos autores prefieren distinguir dos esquemas en

lugar del EC propuesto por ANSI/SPARC, lo que la convierte en una

arquitectura a cuatro niveles:

Esquema Conceptual: visión desde un punto de vista

organizativo, independiente del SGBD que se utilice, e incluso

de la utilización o no de sistemas de bases de datos. En este

esquema se describe la información de la organización (objetos

y relaciones) desde un punto de vista no informático.

Esquema Lógico: visión expresada en términos de un SGBD

concreto, o mejor dicho, de un modelo de datos soportado por

un SGBD. En este esquema lógico se representan las entidades

y relaciones de acuerdo a las características de dicho modelo,

sin entrar todavía en detalles de representación física.

Esquema Interno (o Esquema Físico): descripción de la

representación en la memoria externa del ordenador de los

datos del esquema lógico, sus interrelaciones y los instrumentos

para acceder a ellos.

Esquemas Externos: cada uno de ellos describe los datos y

relaciones entre ellos de interés para una aplicación dada. Estos

esquemas pueden verse como subconjuntos del Modelo Lógico

de la BD36.

35Por ejemplo, en la asignatura Bases de Datos 2 se utiliza el modelo Entidad-Relación

Extendido para el esquema conceptual y el modelo relacional para el esquema lógico.

36 Por evitar una posible asociación de ideas con algo ya visto, las vistas tienen cierto

parecido conceptual con los esquemas externos, en el sentido de que muestran una

porción de la totalidad del sistema de información, pero un usuario de un determinado

esquema externo, dentro de su visión limitada, puede utilizar o no vistas sobre sus datos

particulares. De hecho, un esquema externo, en su equivalente relacional, es un

conjunto de varias vistas.

BD1 2006-2007

146

Un buen SGBD debe permitir:

Que se puedan describir los distintos esquemas de la BD, y en

cada uno los aspectos que interesen de los datos y sus

interrelaciones.

Lo que finalmente hemos llamado Esquema Conceptual se

define exteriormente al SGBD en términos de un cierto modelo

de datos, realizándose manualmente la transformación entre el

Esquema Conceptual y el Lógico.

Existen distintos modelos para el diseño del EC como el

Entidad-Relación, RM/T, Modelo Semántico General, etc...

Que se puedan establecer las correspondencias entre los

esquemas, es decir, indicar que tal dato o relación en un

esquema se puede traducir a su correspondiente en otro.

En la siguiente tabla tenemos un ejemplo ilustrativo de dos

esquemas externos, uno escrito en PL/I y el otro en COBOL,

que el SGBD ha de saber transformar, primero al

correspondiente esquema lógico y, después, al interno.

esquemas EXTERNOS

(PL/I)

DCL 1 EMPP,

2 #EMP CHAR(6),

2 SAL FIXED BIN(31);

(COBOL)

01 EMPC.

02 EMPNO PIC X(6).

02 DEPTNO PIC X(4).

esquema LÓGICO

EMPLEADO

NÚMERO_EMPLEADO CARACTER(6)

NÚMERO_DEPARTAMENTO CARACTER(4)

SALARIO NUMÉRICO(5)

esquema INTERNO

STORED_EMP LENGTH=20

PREFIX TYPE=BYTE(6), OFFSET=0

EMP# TYPE=BYTE(6), OFFSET=6, INDEX=EMPX

DEPT# TYPE=BYTE(4), OFFSET=12

PAY TYPE=FULLWORD, OFFSET=16

Aislar los esquemas de manera que no se vean afectados por

cambios efectuados en otros. A este requisito se le conoce

EE

EI

S.I. EL

ind. lógica

ind. física

SGBD

APLICACIÓN

EC

introducción al modelo EER

147

como independencia de datos, y podemos establecer dos tipos

distintos según afecten a unos esquemas u otros:

Independencia Lógica (entre esquema lógico y esquemas

externos): los esquemas externos y los programas de aplicación

que se basan en ellos no deben verse afectados por

modificaciones del EL referente a datos o relaciones que no

usan.

Si es suprimido un dato del EL no deberán verse afectados los

EE que no lo incluyan en su definición; ni los programas de

aplicación que no lo usen, independientemente de que dicho

dato aparezca en su esquema externo asociado. En cambio

deberán modificarse aquellos EE en los que aparezca el dato

suprimido, y compilados de nuevo los programas que lo utilicen

directamente.


Independencia Física (entre esquema lógico y esquema

interno): el EL no debe verse afectado por cambios en el EI

referente a modos de acceso, tamaño de páginas, etc...

El SGBD dispone de la definición de cada uno de estos esquemas para

satisfacer las peticiones de los programas. Se muestra en este

momento una posible interacción entre el SGBD, el Sistema Operativo

y los programas de aplicación a la hora de atender una petición de

acceso a los datos.

EJEMPLO

El programa de aplicación A hace una llamada al SGBD.

El SGBD obtiene el EE utilizado por A y examina la

descripción de los datos solicitados.

El SGBD obtiene el EL y realiza la correspondiente

transformación entre EE y EL.

El SGBD examina la descripción física (EI) de la BD.

El SGBD emite una orden al SO indicando los que debe

leer.

El SO interacciona con el almacén físico en el que se

encuentran los datos.

Los datos se transfieren desde la memoria externa a las

memorias intermedias del sistema.

Comparando el EL y el EE del programa A el SGBD deduce

los datos pedidos por el programa de aplicación. El SGBD

ejecuta todas las transformaciones necesarias.

El SGBD transfiere los datos desde las memorias

intermedias al área de trabajo del programa de aplicación.

El SGBD suministra al programa información de estado

sobre el resultado de su petición, incluyendo cualquier

posible indicación de error.

BD1 2006-2007

148

El programa de aplicación puede ahora operar con los datos

pedidos que ya se encuentran en su área de trabajo.

Además de estas operaciones, el SGBD se ocupa de los controles de

privacidad e integridad que hayan sido previstos tanto en el esquema

lógico como en el esquema externo. Asimismo recoge información para

la posible reconstrucción de la base de datos en caso de fallo.

Conviene hacer una aclaración en este punto. La mayoría de los SGBD

comerciales trabajan como si únicamente tuvieran un esquema: el

lógico. La percepción del usuario es que sólo tiene que definir la

estructura de la base de datos en función del modelo de datos que

soporta el programa, siendo totalmente transparente para él la

organización que utiliza a nivel físico de los datos. Únicamente en

sistemas muy grandes, el administrador de la base de datos ha de

tomar decisiones sobre cómo se deben guardar los datos en los

sistemas de almacenamiento de la máquina, generalmente para

aumentar el rendimiento del sistema.

VIII3. el administrador de la bd

Dentro de la Organización, el encargado de controlar los aspectos

técnicos del sistema de información mecanizado es el administrador de

la base de datos (DBA). En resumen, es el encargado de definir la base

de datos dentro del SGBD y de optimizar su rendimiento, al mismo

tiempo que da soporte a las necesidades específicas de cada usuario.

Las funciones de un administrador de la BD son:

Definir el esquema lógico (suponiendo la arquitectura a cuatro

niveles) Partiendo el esquema conceptual que describe el

sistema de información, el DBA transformará dicho esquema en

el esquema lógico que manejará el SGBD a utilizar. Al realizar

esta transformación, tomará las decisiones oportunas bajo

criterios de optimización de la eficiencia del sistema final. Debe,

así mismo, especificar las correspondencias a establecer entre

los esquemas conceptual y lógico.

Definir el esquema interno. El DBA debe decidir cuál será la

forma en que se almacenarán físicamente los datos, y

establecer, al igual que antes, las debidas correspondencias

entre esquemas.

Definir los esquemas externos. Atendiendo a las necesidades

de los usuarios, el DBA debe asegurar que toda la información

necesaria está disponible y accesible por aquellos que la

precisan, y debe crear (o asesorar en su creación) los

esquemas externos de cada aplicación que definirán las partes

del sistema de información a las que accederán. Además, el

DBA será el encargado de suministrar asesoramiento técnico

para el diseño de aplicaciones, formación de usuarios y

programadores, etc.

Definir las reglas de integridad y seguridad. Se encargará de

definir aquellas reglas de integridad que actúan sobre los datos

y las operaciones en términos que entienda el SGBD. Los

permisos otorgados a los usuarios sobre los datos, y la política

de transferencia de permisos entre ellos es, también,

responsabilidad del DBA.

Especificar los mecanismos de recuperación y copias de

seguridad. El sistema de base de datos e un elemento crítico en

el funcionamiento de la Organización, y el DBA debe especificar

los procedimientos adecuados para la realización de copias de

seguridad periódicas y recuperación de datos ante eventuales

daños en parte o en todo el sistema de información

almacenado.

Verificar el rendimiento del sistema y atender a los cambios en

los requerimientos.

Como parte muy importante de sus funciones, el DBA debe

vigilar que el sistema de información no se degrade, por la

continua manipulación y actualización de sus datos, hasta el

punto de afectar a los tiempos de respuesta o la sobreocupación

de memoria secundaria. Se responsabilizará de las

reorganizaciones necesarias, a cualquier nivel, que permitan

mantener o mejorar el rendimiento de todo el sistema, incluido la

renovación del hardware y el software si fuera necesario.

VIII4. componentes y funciones de

un SGBD

Ya se han mencionado, de una forma u otra, cuales son las funciones

de un SGBD:

Descripción de los distintos esquemas de la base de datos.

Manipulación de la base de datos: recuperación y actualización

de la información.

BD1 2006-2007

150

Gestión: lenguajes huésped, lenguajes conversacionales,

utilidades para el administrador de la BD, etc.

Dicho de otra manera, el SGBD debe dar soporte a los siguientes

conceptos:

Definición de datos

Manipulación de datos

Seguridad e Integridad de los datos

Recuperación de datos y concurrencia

Diccionario de datos

Rendimiento

A fin de cumplir con dichas funciones el SGBD debe proporcionar las

herramientas adecuadas:

Lenguajes de definición de esquemas (DDL)

Con ellos podremos definir los distintos esquemas con los que va a

trabajar el SGBD (excepto, seguramente, el EC).

Lenguajes de manipulación de datos (DML)

Con ellos podremos insertar, eliminar, modificar y consultar la

información almacenada en la base de datos.

Decimos que estos lenguajes son autosuficientes si disponen de un

traductor propio, y de tipo huésped si no disponen de estructuras de

control como if-then-else, bucles, etc. En estos últimos, las

instrucciones de acceso a la BD del SGBD deben ser intercaladas entre

las de un programa escrito en algún lenguaje de programación. Estas

instrucciones son traducidas por un precompilador que genera un

programa en el lenguaje anfitrión puro (por ejemplo: COBOL, C, etc.);

posteriormente, en el montaje, se añadirán las rutinas de librería que

permitirán al programa, finalmente, manejar la BD.

Controles de seguridad e integridad de los datos.

El SGBD debe supervisar todas las peticiones de acceso y rechazar

aquellas que violen las reglas de integridad y seguridad definidas para

el sistema de información representado en la BD.

Se deben establecer los métodos de control de acceso concurrente a la

BD (varios usuarios que intentan acceder al mismo dato en el mismo

período de tiempo) y la forma de recuperar la BD ante catástrofes

(cortes de luz, fallos de hardware, …), transacciones no completadas,

etc.

Diccionario de datos

Información adicional sobre la definición de datos (datos sobre los

datos), también conocida como metadatos, que puede incluir los

propios esquemas de BD, referencias cruzadas sobre qué datos utiliza

qué programa, reports de cada usuario, terminales conectadas, etc., y

que se utiliza fundamentalmente como documentación del análisis y

diseño. Esta información no la utilizaría el usuario final y es mantenida

bajo la responsabilidad del administrador de la BD.

Utilidades.

Módulos de reestructuración de la BD, a nivel físico. Son

programas que obtienen copias secuenciales de la BD y la

reorganizan cambiando detalles de caminos de acceso, tamaño

de las páginas, etc.

introducción al modelo EER

151

Módulos de impresión (generadores de informes).

Generadores de Prototipos, con los que poder simular el

funcionamiento de la BD conocido su diseño, generalmente con

la intención de consultar a los usuarios finales sobre la calidad

del diseño; con prototipos sucesivos se puede ir afinando los

requerimientos del sistema hasta obtener una versión definitiva

que se pueda optimizar en eficiencia. Actualmente, los sistemas

de gestión se acompañan de lenguajes de cuarta generación

(4GL) y generadores automáticos de aplicaciones.

Módulos para la obtención de estadísticas.

Haciendo uso de todo ello correctamente podremos alcanzar los

objetivos perseguidos por las técnicas de bases de datos:

independencia, integridad y seguridad de datos. Profundizaremos un

poco más en estos conceptos a continuación.

VIII5. independencia, integridad y

seguridad

Independencia de datos.

Entendemos por independencia de datos el hecho de que los

programas y esquemas no se vean afectados por cambios en datos

que no usan.

En este punto es conveniente aclarar dos conceptos que influyen

decisivamente en el grado de independencia: granularidad de los

esquemas externos y ligadura.

Granularidad de los esquemas externos

Es el grado de detalle de definición de los esquemas externos en

función del esquema lógico. Los más usuales son:

de registro completo.

de campo de registro.

Se dice que la granularidad es más fina en el segundo caso que en el

primero, y cuanto más fina sea mayor grado de independencia de datos

conseguiremos.

Es evidente que si la granularidad es fina, un determinado esquema

externo puede precisar de la definición de un único campo y, por tanto,

modificaciones en el resto de campos del mismo registro no le

afectarán; si la granularidad es a nivel de registro completo, aún sin

BD1 2006-2007

152

utilizar todos los campos, debería incluir la definición del registro y sería

modificado en cualquier alteración del mismo en el esquema lógico.

Ligadura

Se entiende por ligadura el momento en que se transforman los

esquemas externos usados por las aplicaciones en términos de

esquema interno.

Una definición de dato de un EE, en el momento de la ligadura, se

transforma en una longitud y una posición dentro de un registro,

términos en los que se expresa el EI. No obstante, puesto que se hace

necesaria una primera transformación entre EE y esquema lógico, y de

éste al EI, se diferencia entre ligadura lógica y ligadura física.

El momento en que se produce la ligadura desaparece la

independencia de datos puesto que el esquema externo ya ha sido

traducido al más bajo nivel. Por eso, si el momento de la ligadura se

produce cuando se compilan los programas, cualquier alteración en el

esquema interno provocará la recompilación, aunque tal modificación

se haya producido en un dato que no usen.

Podemos decir, por entendernos, que al realizar la ligadura en el

momento de la compilación, los esquemas externos “desaparecen”,

puesto que en cada ejecución del programa se parte ya de los datos

físicos de almacenamiento.

Si, por el contrario, es en cada acceso a la base de datos cuando se

realiza la ligadura, cada vez se realizará una nueva traducción del

esquema externo en esquema interno. Eso implica que, si el cambio en

el EL o EI no le afecta directamente, no habrá necesidad de modificar

su correspondiente EE.

No obstante, cuanto más tardía sea la ligadura (por ejemplo, en cada

acceso) la eficiencia será menor puesto que continuamente estaremos

haciendo uso de las correspondencias entre esquemas.

Se consideran cuatro momentos en los que puede tener lugar la

ligadura, siendo el último el más tardío y el que garantiza una mayor

independencia de datos:

en la compilación

en el montaje (link)

al iniciarse la ejecución del programa

en cada acceso a la BD.

La independencia de datos, resumiendo, es mayor cuanto más fina sea

la granularidad de los esquemas externos y cuanto más tardío el

momento de la ligadura. La tendencia de los SGBD actuales es

apoyarse en la granularidad a nivel de campo y la ligadura al comienzo

de la ejecución del programa.

introducción al modelo EER

153

integridad de datos

La integridad de datos atiende a la calidad de la información

almacenada en los siguientes aspectos:

los valores de los datos han de ser correctos.

las ocurrencias de los datos (los valores en un instante

determinado) han de estar debidamente interrelacionados.

no se deben producir interferencias en las lecturas y escrituras

concurrentes, del tipo de actualizaciones incorrectas, bloqueos

activos o mortales, etc.

Se distinguen dos aproximaciones a este problema: optimista y

pesimista. La primera da por supuesto que tales problemas se

presentan muy de cuando en cuando, así que la solución más eficiente

es solucionarlos cuando han ocurrido. Dichos problemas pueden venir

de deterioros de la BD por catástrofes, interrupciones en procesos de

actualización, actualizaciones indebidas por fallo humano, etc. De

hecho, la táctica es llevar un registro, más o menos actualizado, de los

estados sucesivos de la base de datos o de las últimas transacciones

efectuadas para devolver a la base de datos a un estado anterior que

se sabía correcto, y volver a comenzar desde ese punto.

La segunda identifica las situaciones que pueden provocar un conflicto

y retrasa su ejecución hasta que tal posibilidad desaparece.

Así, pues, tenemos:

técnicas preventivas: verificación de las restricciones

semánticas, controlar la consistencia de las copias redundantes,

y control de los accesos concurrentes, generalmente por el

método de reservas (evitar que un programa acceda al dato

mientras lo está modificando y/o consultando otro).

técnicas curativas: fichero dietario con el que deshacer o

rehacer todas las actualizaciones realizadas por transacciones

durante un tiempo determinado, copias de seguridad o volcados

de la BD completa en un momento en que todas las

transacciones efectuadas han sido confirmadas, toma de puntos

de control, ...

Seguridad de los datos

Se refiere a la posibilidad, por parte de los usuarios, de realizar

determinado tipo de operaciones sobre los datos de la BD, y sólo a

aquellos usuarios que estén autorizados. Se utilizan técnicas tales

como la identificación del usuario (login y password), determinación de

permisos de lectura, escritura, etc., gestión de autorizaciones

transferibles de un segundo usuario a un tercero, etc.

BD1 2006-2007

154

VIII6. arquitectura cliente-servidor

Aparte de la arquitectura a cuatro niveles (o a tres) mencionada

anteriormente, se puede dar otra visión de un SGBD frente a las

aplicaciones que deben atacarle para acceder a una determinada base

de datos. La arquitectura cliente-servidor ofrece una visión simplificada

de un SGBD, de tal forma que considera únicamente dos partes:

El servidor (o frontend), que es en realidad el propio SGBD y

mantiene todas las características antes apuntadas (esquemas

para cada nivel de arquitectura, lenguajes de manipulación y

definición de datos, etc.), es el encargado de satisfacer todas

las peticiones de acceso y recuperación de datos de sus bases

de datos.

Los clientes (o backend) son las aplicaciones que realizan

dichas peticiones. Estas aplicaciones pueden ser las

desarrolladas para un usuario en particular o las propias

herramientas suministradas por la empresa vendedora del

SGBD o por terceras compañías que fabrican software para ese

SGBD: lenguajes de consulta, generadores de prototipos,

generadores de informes, interfaces de usuario, etc.

La utilidad de esta visión de alto nivel de un SGBD está en el

procesamiento distribuido de la BD. Dentro del procesamiento

distribuido de BD, la arquitectura cliente-servidor permite que el

servidor atienda varias peticiones simultáneamente, y el cliente podrá

acceder a varios servidores al mismo tiempo; estos servidores no

tienen porque mantener el mismo SGBD, ni tan siquiera el mismo

modelo de datos subyacente. Tan sólo es necesario establecer los

correspondientes protocolos para que clientes y servidores se puedan

entender.

El cliente, además, es capaz de procesar en su máquina la información

que le ha proporcionado el servidor, de tal manera que ese trabajo ya

no lo tiene que realizar la máquina remota, favoreciendo los tiempos de

respuesta a través de la red. De hecho, uno de los objetivos de esta

arquitectura es descargar al servidor de trabajo.

servidor 2

Pensemos en aplicaciones desarrolladas para la red internet: es el

cliente el que se encarga del procesamiento de la información para su

visualización dentro del explorador, el interfaz del usuario frente a la

red. El servidor lo único que hace es proporcionar respuesta a las

peticiones del cliente, suministrar los datos tan sólo, y éste último se

responsabiliza de las tareas gráficas de presentación de los datos en la

pantalla de su ordenador. El único requisito es que existan unos

protocolos definidos para la comunicación entre el cliente y el servidor.

Así se asegura que los datos que van de uno a otro sean entendidos

por quien los recibe. De esta forma, el cliente puede trabajar con un

sistema operativo distinto del servidor, no tener software alguno de

gestión de bases de datos, y todo ello sin que el usuario necesite más

conocimiento que el manejo de su programa de acceso a la red.

En definitiva, se puede ver como un nivel más de independencia de las

aplicaciones frente al hardware y la representación física de los datos.

No hay comentarios:

Publicar un comentario