Está en la página 1de 21

PD

PD

F-

XC

h a n g e Vi e

bu

to

lic

.d o

c u -tr a c k

.c

.d o

1.1. Qu es una base de datos?


En los aos sesenta comienza el desarrollo de los sistemas de bases de datos como una alternativa a los sistemas basados en ficheros, utilizados hasta entonces. Con los sistemas de bases de datos se intentan superar una serie de problemas de los sistemas informticos tradicionales , problemas derivados de la forma de almacenar la informacion.
-.

c u -tr a c k

.c

Existen mltiples definiciones del trmino base de datos. Una de ellas es la debida a ID. E. Howe, que si bien no es completa, nos servir como punto de partida para comen tar las caractersticas definitorias de una base de datos. Segn Howe, una base de datos es una coleccin no redund ante de datos compartibles entre diferentes sistemas de aplicacin. En los sistemas informticos tradicionales, los datos se almacenan en ficheros diseados especficamente para cada aplicacin. Aunque varias aplicaciones manejen datos comunes, los ficheros en que se encuentran no suelen ser compartidos entre ellas, por lo que el mismo dato puede aparecer repetido en dos o ms ficheros. Cuando una aplicacin actualiza uno de estos datos redundantes, lo hace slo en su fichero, con lo que durante cierto tiempo pueden obtenerse distintos valores para el mismo dato, dependiendo del fichero que se consulte.

Aplicaciones

Base dts

Fig. 1-1. Las aplicaciones y la base de datos.

En una base de datos, stos se almacenan con el objetivo de que sirvan a distintas aplicaciones y, al ser compartidos por stas, no es preciso que exista redundancia. Si fuera necesaria, por razones de eficiencia, la repeticin de datos, esta redundancia ser controlada por el sistem a. As, en caso de que una aplicacin actualice un dato redundante, el sistema se encargar de propagar dicha actuali zacin a todas sus ocurrencias. De esta forma, se consigue que los resultados obtenidos parlas distintas aplicaciones sean coherentes, ya que no cabe la posibilidad de que utilicen distintos valores del mismo dato.
s

Problemas adicionales de la redundancia de nformacin en los sistemas de ficheros son la ocupacin extra de memoria secundaria y el aumento del tiempo de proceso al tener que repetirse los mismos procedimientos de validacin, actualizacin y almacenamiento de los datos en los distintos ficheros. Se dice que los sistemas tradicionales de ficheros son sistem as orientados al proceso, ya que, en ellos, los datos estn subordinados a los procesos. Como hemos dicho, cada aplicacin dispone de sus propios ficherosdonde estn los datos almacenados. La descripcin de estos datos y sus interrelaciones aparecen en los programas que hacen uso de ellos. Las bases de datos son sistemas orientados a los datos; stos se almacenan independientemente de las aplicaciones. En una base de datos tambin se guarda la descrip cin de los datos y las interrelaciones que <puedan existir entre ellos. Los datos se almacenan interre lacionados y estructurados de acuerdo con un determinado modelo de datos que permita recoger el mxim o significado asociado a ellos. En un sistema de bases de datos, los programas no acceden directa mente a los datos, como en el caso de los ficheros, sino que es el software del sistema el encargado de propor cionar a las aplicaciones los datos que stas demanden. Este software, conocido genricamente como sistem a gestor de la base de datos (SGBD), tendr,tambin, a su cargo, otras funciones encaminadas a mantener la integridad, segurid ad y confidencialidad de los datos. 8

Unidad de trabajo 1: INTRODUCCIN A LAS BASES DE DATOS.

lic

to

bu

INTRODUCCION A LAS BASES DE DATOS.


er

F-

XC

h a n g e Vi e

er

O W

N
w
m

O W

w
w

w
w

PD

PD

F-

XC

h a n g e Vi e

ir.)

F-

XC

h a n g e Vi e

er

er

O W

bu

to

lic

.d o

c u -tr a c k

.c

Unidad de trabajo 1: INTRODUCCIN A LAS BASES DE DATOS. w


C

lic

to

bu

N
o
o c u -tr a c Los sistemas basados en ficheros presentan una falta de flexibilidad ante los cambios, derivada de la dpendencia de os datos respecto al so rtefsigo y a los programas. Cualquier cambio en la estructura de los datos o en su almacenamiento, lleva a un rediseo delas aplicaciones que hacen uso de ellos. En una base de datos, los cambios en los datos, en su forma de almace n ilento o en los caminos de acceso a ellos, no tiene porqu implicar una reprogramacin de las aplicaciones.

O W
.d
k.

En la Figura 1.2 se resumen las principales ventajas de un sistema de bases de datos sobre un sistema de ficheros.

JErJ f,L\JiS DE LJ-\E .EJASES DE DrL\TD


Independencia de os datos y los procesos que los utilizan. Coherencia de los resultados obtenidos. Mejor disponibilidad de los datos. Mayor valor informativo. Mejor y ms normalizada documentacin de la informacin.

Fig. 1-2.

Ventajas de las bases de

datos.

1.2. El sistema gestor de la base de datos.


Para que un sistema de bases de datos tenga las caracte rsticas anteriores son necesarios: Un software de gestin que facilite las operaciones y las interfaces con los usuarios. Este software es el sistema gestor de la base de datos (SGBD). Un modelo de datos de acuerdo al cual se estructuran y manipulan los datos. El SGBD implementa un determinado modelo de datos. El sistema gestor de la base de datos puede ser definid o como un conjunto de programas que permiten que los usuarios describan, recuperen y manipulen eficazm ente los datos almacenados en la base de datos, protegiendo dichos datos contra todas aquellas acciones, intencionadas o no, que los puedan corromper. Se distinguen distintos tipos de usuarios de la base de datos: el administrador, los programadores y los usuarios finales. Cada uno de esos tipos tiene unas necesidades especficas con respecto a la base de datos, necesidades que son satisfechas por las distintas facilid ades que suministra el SGBD. En una base de datos se pueden distinguir diferentes niveles de estructuracin o abstraccin de los datos. En principio, se puede observar una estructura lgica, que corresponde a la visin que, de los datos, tiene el usuario (vista de usuario), y una estructura fsica o forma en que estn almacenados dichos datos. El nivel lgico se acostumbra a estructurar en dos niveles distint os, surgiendo as la estructura a tres niveles que es la ms extendida, en la actualidad, en los modelos de datos. Estos tres niveles de abstraccin presentan ciertas variaciones de unos a otros modelos formales de datos, tanto en su definicin como en su denominacin. El grupo ANSI/X3/SPARC define tres niveles de abstraccin en la descripcin de una base de datos, niveles que denomina externo, conceptual e interno. Cada uno de los niveles corresponde a una forma distinta de observar la base de datos. El nivel externo o esquema externo es la visin que tiene de la base de datos un usuario en particular, y en l estarn slo reflejados aquellos datos e interrelacione s que necesite ese usuario. Tambin, se incluirn las restricciones de uso de esos datos y, en algunos modelo s de datos, los caminos de acceso a esos datos. Existirn distintos esquemas externos de la misma base de datos, ya que distintos usuarios y aplicaciones tienen distintas percepciones de ella. Un mismo esquema externo puede ser compartido por varios usuarios.

El nivel conceptual o esquema conceptual corresponde a la visin global de todos los datos de la base. En este nivel se incluir la descripcin de todos los datos e interrelaciones, as como las restricciones d integridad de los datos y las restricciones de acceso a ellos. El esquema conceptual representa la visin integrada de todos los usuarios.
DESARROLLO DE APLICACIONES EN ENTORNOS DE CUARTA GENERACIN Y CON HERRAMIENTAS CASE

o
c

w
w

PD

PD

F-

XC

h a n g e Vi e

F-

XC

h a n g e Vi e

er

er

O W

bu

to

lic

.d o

c u -tr a c k

.c

Unidad de trabajo 1: INTRODUCCIN A LAS BASES DE DATOS.

lic

to

bu

N
w

O W
.d o
c u -tr a c k

.c

El nivel interno o esquema interno corresponde a la estructura de almacenamiento que sostiene los datos. Es muy dependiente de la inplementacin concreta del SGBD. En el esquema interno se especifican aspectos relativos al almacenamiento de los datos en memoria secundaria y acceso a los mismos. El SGBD es el encargado de posibilitar la definicin y manipulacin de la base de datos a estos tres niveles y de gestionar las interfaces entre niveles y con el usuario. En la Figura 1.3 se representan los tres niveles de abstraccin ANSI.

Usuario 1

Usuario 2
rea de trabajo

Usuario 3
rea de trabajo

Usuario 4
rea de trabajo

Usuario 5

NIVEL EXTERNO

rea de trabajo

rea de trabajo

Esquema externo A

Correspondencia externa A / conceptual

NIVEL CONCEPTUAL
Correspondencia conceptual / interna

1
NIVEL INTERNO Base de datos almacenada

Fig. 1-3. Estructura de un SGBD a tres niveles.

1.3

Funciones

d los SGBD.

Las funciones bsicas de un SGBD quedan reflejadas en la definicin dada anteriormente. En los siguientes puntos detallaremos dichas funciones.

13.1. Descripcin de los datos.


Un SGBD debe permitir la descripcin de los distintos esquemas de la base de datos. El administrador de la base de datos es el encargado de especificar los elementos de datos que la forman, su estructura, interrelaciones, restricciones, etc. Cuando se habla de administrador de la base de datos hay que entenderlo ms como una funcin que como una persona concreta. Esta funcin de administracin puede ser realizada por una sola persona o por un grupo de ellas. El administrador es el responsable de definir tanto el esquema conceptual, el esquema interno, as como los distintos esquemas externos. A veces, el administrador puede dejar que los programadores realicen la descripcin de los esquemas externos implicados en las aplicaciones que impiementan. En la empresa puede existir la funcin de administrador de datos, que sera la encargada de definir la informacin que debe contener la base de datos desde un punto de vista semntico. Esta funcin suele ser

lo

w
w

w
w

PD

PD

F-

XC

h a n g e Vi e

F-

XC

h a n g e Vi e

er

er

O W

bu

to

lic

.d o

c u -tr a c k

.c

Unidad de trabajo 1: INTRODUCCIN A LAS BASES DE DATOS. w


C

lic

to

bu

N
o

O W
.d o
c u -tr a c k

.c

desempeada por personal no informtico, dado que va asociad a a funciones de gerencia y coordinacin. Frente al administrador de datos, el administrador de la base de datos ocupa un puesto ms tcnico, encargndose del diseo lgico y fsico de la base y de su optirni zacin.

El SGBD permitir que el administrador especifique los distintos esquemas en un lenguaje de definicin de datos (LDD, o DOL en ingls). Cada tipo de SGBD dispondr de uno o ms lenguajes LDD especficos. Enurs casos existe un nico lenguaje, con sentencias que permiten describ irlos elementos de los distintos esquemas y, en otros, hay un lenguaje distinto para cada nivel de abstraccin.

1.3.2. Manipulacin de los datos.


El SGBD debe permitir que los usuarios de la base recuperen, inserte n, modifiquen o eliminen datos de ella. Las operaciones a realizar sobre la informacin contenida en la base se especifican mediante un lenguaje de manipulacin de datos (LMD, o DML en ingls). Este lenguaje de manipulacin puede estar formado por un conjunto de sentencias (lenguaje husped) que son admiti das dentro de un programa escrito en otro lenguaje (lenguaje anfitrin) de propsito general. En los SGBD actuale suele s existir tambin un LMD autocontenido, que dispone del conjunto de instrucciones necesarias para llevar a cabo cualquier tarea de recuperacin o actualizacin de informacin. Para escribir los programas de manipulacin de la base de datos, los programadores dispondrn de uno o varios lenguajes anfitriones de tercera generacin, en los que se insertan llamadas al LMD. Adems, ser posible utilizar lenguajes de cuarta generacin y distintas herram ientas de ayuda a la programacin. Tambin, tendrn a su disposicin el LMD autocontenido, pero lo habitu al es que utilicen las herramientas anteriores debido a su mayor eficiencia. Los usuarios finales interactuarn con la base de datos a travs de aplicaciones diseadas para atender sus necesidades concretas de informacin o por medio de utilida des pensadas especficamente para usuarios no informticos. Cuando se trata de satisfacer necesidades de inform acin que no fueron formalizadas en una aplicacin, el SGBD suele disponer de un lenguaje autocontenid o que se utiliza de forma conversacional y que incluye algunas facilidades de descripcin.
-

El SGBD llevar a cabo las operaciones de manipulacin de datos, cumpliendo siempre las restricciones de seguridad especificadas por el administrador.

1.3.3. Transformacin de los datos.


El SGBD es responsable de realizar la correspondencia o transfo rmacin (mapping, en ingls) entre los formatos de los datos correspondientes a los distintos esquem as de la base de datos. En un SGBD que siga la propuesta ANSI/X3!SPARC, existirn dos niveles de transformacin:

la transformacin conceptualinterna que permite hacer pasar los datos desde su representacin conceptual a su representacin interna y viceversa.

la transformacin externa-conceptual que permite hacer pasar los datos desde su representacin en el nivel conceptual a la correspondiente a los distintos esquem as externos y viceversa. Para poder efectuar automticamente la transformacin de datos de un nivel a otro, el SGBD debe conocer las correspondencias existentes entre niveles, que estarn almacenadas, junto con los esquemas, en el diccionario de la base de datos. En la Figura 1.4 vemos un ejemplo de transformacin de datos correspondiente a una base implementada sobre el SGBD relacional ORACLE7. El esquema interno estar constituido por los datos almacenados en unas estructuras lgicas de almacenamiento denominadas tablesp aces. Estos tablespaces estn soportados en ficheros. La vista conceptual de los datos corresponder a las tablas SOCIOS, ACTIVIDADES y ACTIVIDADES SOCIOS. Ante cualquier referencia a un objeto conceptual, el SGBD deber realizar las correspondientes transformaciones entre esta representacin conceptual y la representacin interna. La vista externa est representada por el objeto, denominado vista en la terminologa relacional, PRACTICANTES TENIS. Las referencias realizadas por los usuarios a los datos de PRAC TICANTES TENIS sern transformadas por el SGBD a las correspondientes representaciones conceptual interna e .
DESARROLLO DE APLICACIONES EN ENTORNOS DE CUARTA GENERACI N Y CON HERRAMIENTAS CASE

11

w
w

PD

PD

F-

XC

h a n g e Vi e

F-

XC

h a n g e Vi e

er

er

O W

bu

to

.d o

c u -tr

. ack

.d o

c u -tr a c k

.c

ESQUEMA EXTERNO
PRACTICANTES_TENIS
NUM SOCIO
4555 1234

ONI
7897896 11000222

NOMBRE
Luis Diaz Juan Prez

socios
NUM_SOCIO
1234 9876

Transformacin Conceptual Externa


-

ESQUEMA CONCEPTUAL
ACTIVIDADES
CALLE
Pez Avda. del Mar Rosal
....

ACTIVIDADES_SOCIOS
....

DNI
11000222. 8978799 7897898

NOMBRE
Juan Prez Ins Alvarez Luis Diaz

---

[GO_ACT
A123 0022 0023

AC11VIDAO
Tenis Judo Karate

NUM SOCIO
1234 9876 4565

COOIGOACT
A123 0022 A123

---

---

z
-

Transformacin Conceptual Interna

ESQUEMA INTERNO
Tablespace 8
3

E__
ACTIVIDADES_SOCIOS

Fig. 1-4.

Transformacin de datos.

1.3.4. Proteccin de los datos.


El SGBD debe facilitar mecanismos que permitan proteger los datos contra fallos que los alteren corrompan, y haciendo que la base de datos quede en un estado inconsistente e inutilizada para cumplir el fin para el que fue creada. Estos mecanismos del SGBD deben proteger tambin los datos contra accesos no autorizados, manteniendo su privacidad. Es responsabilidad del administrador el uso adecuado de estos mecanismos, para la proteccin eficaz de la informacin almacenada en el sistema. Los fallos que pueden afectar a la base de datos pueden ser fallos fsicos (de memoria principal, de memoria secundaria, etc.), fallos lgicos (de programa, del sistema operativo, del SGBD, etc.) y fallos humanos, intencionados o no. Al tratar la proteccin de los datos de una base, hay que referirse a los conceptos de seguridad, integridad y confidencialidad. U Seguridad Cuando se habla de seguridad (o de recuperacin) de la base de datos, se trata de su proteccin contra fallos lgicos o fsicos que destruyan los datos total o parcialmente. El origen de estos fallos puede ser de lo ms variado (un incendio, fallo de un disco, un sabotaje, etc.) y los instrumentos de proteccin van mucho ms all de los proporcionados por el SGBD (sistemas contraincendios, sistemas tolerantes a fallos, sistemas de control de acceso fsico a los equipos, etc.).

12

Unidad de trabajo 1: INTRODUCCIN A LAS BASES DE DATOS.

lic

lic

to

bu

O W

w
w

w
w

PD

PD

F-

XC

h a n g e Vi e

F-

XC

h a n g e Vi e

er

er

O W

bu

to

.d o

c u -tr

. ack

Unidad de trabajo 1: INTRODUCCIN A LAS BASES DE DATOS. w


C lic

lic

to

bu

N
o

O W
.d o
c u -tr a c k

Ante cualquier tipo de fallo, el objetivo de la seguridad es mantener la consistencia de la base de datos. En la Figura 1.5 se muestra un ejemplo de una operacin de traspaso de fondos entre dos cuentas bancarias; para llevarla a cabo es necesario realizar dos operaciones sobre la base de datos. Es evidente que si se produjese un fallo a consecuencia del cual slo se realizase la primera de las dos operaciones, la base de datos quedara en un estado inconsistente: habra un milln perdido que no est ni en una cuenta ni en otra. Este tipo de problemas se solucionan haciendo que el SGBD no considere operaciones individuales, sino conjuntos de ellas que reciben el nDmbre de transacciones. Una tra.nsaccin es una secuencia de operaciones que han de ejecutarse de forma atmica, es decir, o se realizan todas las operaciones que componen la transaccin o ninguna. De esta forma, en el ejemplo anterior, la transaccin sera la operacin de traspaso, que estara compuesta de las dos operaciones de modificacin de saldo. Si durante la segunda operacin de modificacin se produjera un fallo que impidiera su terminacin, el SGBD automticamente deshara la primera y as la base de datos quedara en un estado consistente.

.c

SALDO_CLIENTES

CODIGO
123456 654321

CUENTE
Luis Pardo Ins Prez

SALDO
2.000.000 1.000.000

Estado inicial de la base de batos

OPERACIN: Traspaso de 1.000.000 de pesetas de la cuenta 123456 a la cuenta 654321. OPERACIONES SOBRE LA BASE DE DATOS:

1) Restar 1.000.000 deI saldo de la cuenta 123456. 2) Sumar 1.000.000 al saldo de la cuenta 654321.

SALD

CLIENTES

batos Cuando se produce un fallo que provoca la despus de la operacin 1. prdida de memoria voltil (por ejemplo, fallo en el suministro elctrico) pueden quedar transacciones sin finalizar y otras, que habiendo concluido satisfactoriamente, se encontraban en reas de Fig. 1-5. Transaccin bancaria. memoria intermedia y an no se haban grabado en disco. La recuperacin de estos fallos, conocida como recuperacin en caliente, implica deshacer las operaciones correspondientes a transacciones inconclusas y repetir las transacciones finalizadas y no grabadas. Esta recuperacin la realizar automticamente el SGBD y, para ello, el mtodo ms habitual es apoyarse en uno o ms ficheros diarios.

Estado de la base de

Un fichero diario o log es un fichero en el que el SGBD va grabando toda la informacin necesaria para deshacer o rehacer una transaccin. El SGBD ejecuta perid icamente la operacin conocida como punto de verificacin o punto de recuperacin (checkpoint), consis tente en grabar en memoria secundarja el contenido de las reas de memoria intermedia y registrar, tanto en el fichero diario como en un fichero de rearranque, dicho punto de verificacin. Cuando el SGBD debe realiza r una recuperacin de la base de datos despus de una cada del sistema, o sea, cuando lleva a cabo una recuperacin en caliente, obtiene la direccin del registro de recuperacin ms reciente del fichero de rearranque y recorre el fichero log desde ese punto hasta el final, para obtener la informacin de qu transacciones debe deshacer o rehacer.
Tiempo
Transaccin 1

1
Transaccin 2

Transaccin 3 Transaccin 4 Transaccin 5

Punto de verificacin

Fallo del sistemaj

Fig. 1-6.

Situacin de varias transacciones en el instante de producirse un fallo del sistema.

DESARROLLO DE APLICACIONES EN ENTORNOS DE CUARTA GENERACI N Y CON HERRAMIENTAS CASE

t 13

w
w

PD

PD

F-

XC

h a n g e Vi e

F-

XC

h a n g e Vi e

er

er

O W

bu

to

lic

lic

Unidad de trabajo 1: INTRODUCCIN A LAS BASES DE DATOS.


w
.c

to

bu

N
w

O W
.d o
c u -tr a c k

.d o

c u -tr a c k

En la Figura 1.6 se observan varias situaciones de transacciones ante un supuesto de fallo que causa la prdida de memoria voltil. La transaccin 1 no es afectada por el fallo, ya que finaliz con anterioridad al ltimo punto de verificacin y, por tanto, cuando se produce la prdida de memoria, estaba grabada en disco. Las transacciones 3 y 4 finalizan antes del fallo, pero no hay seguridad de que estuviesen grabadas, pues finalizaron despus del checkp oint. Por ello, deben ser rehechas, Finalmente, las transacciones 2 y 5 no haban concluido cuando se produjo el fallo y deben ser deshechas. Para recuperarse de un fallo de memoria secundaria que afecte a la base de datos (recuperacin en fro) debe utilizarse una copia de seguridad(backup) de la base de datos. La restauracin del ltimo backup realizado, deja la base de datos recuperada a la fecha en que se hizo dicha copia de seguridad. Para poner la base de datos al da habr que utilizar todos los ficheros diarios que se han generado desde esa fecha hasta la actualidad, en orden cronolgico.

.c

I Integridad
El objetivo de la integridad es lograr que los datos contenidos en la base sean correctos. Para ello, el SGBD debe detectar y corregir las operaciones incorrectas que introduzcan inconsistencias en la base de datos. Hay dos tipos de operaciones que pueden afectar a la integridad de los datos: las operaciones que atentan contra las restricciones de integridad y las interferencias por accesos concurrentes. Las restricciones de integridad son definidas en el momento del diseo de la base de datos y son una forma ms de captar y almacenar el significado asociado a los datos. Por ejemplo, en la base de datos de la Figura 1 el administrador pudo haber establecido la restriccin de que las lneas de ACTIVIDADES SOCIOS deben corresponder a actividades que estn registradas en ACTIVIDADES.
,

El SGBD debe velar para que se cumplan las restricciones de integridad y, siguiendo el ejemplo, la operacin de insertar una lnea en ACTIVIDADES SOCIOS con un CODIGO ACT que no est en ACTIVIDADES, ser detectada como un intento de violar dicha restriccin y, en consecuencia, ser rechazada. En general, una restriccin de integridad ir acompaada de la especificacin de la accin a realizar en caso de intento de violacin de la misma (rechazo de la operacin, en el ejemplo) y de la indicacin del momento en que debe realizarse dicha accin.
.

SALDO_CLIENTES
CODIGO
123456 [321

SALDO_CLIENTES
CODIGO
123456 654321

CUENTE
Luis Pardo Ins Prez

SALDO
2.000.000 1.000.000

CUENTE,,
Luis Pardo Ins Prez

SALDO 1.000.000 2.000.000

Estado inicial de la base de batos

Estado final de la base de batos

lN del terminal A: Ingreso de 500.000 ptas. en la cuenta 123456.


Tiempo Lectura del saldo de la cuenta 1 23456 su rea de trabaio

NdelterminalB:
Traspaso de 1.000.000 ptas. de la cuenta 1234.56 a la cuenta 654321.

y copia en
Lectura del saldo de la cuenta 123456 y copia en su rea de trabajo Reala de 1 000.000 al saldo en el rea de trabajo Copia del saldo del rea de trabajo a la tabla. Fin de la transaccin Resto de operaciones Sobre la cuenta 654321 Fin de la transaccin

Suma de 500 000 al saldo en el rea de trabajo Copia del saldo del rea de trabajo a la tabla. Fin de la transaccin

._

Fig. 1-7.

El problema de la operacin perdida. /V7.? t

14

U ch

TCS

w
w

PD

PD

F-

XC

h a n g e Vi e

F-

XC

h a n g e Vi e

er

er

O W

bu

to

.d o

c u -tr

. ack

. .d o c u -tr a c k En sistemas multiusuario, el SGBD debe disp oner de algn mecanismo de control de concurren cia para evitar las inconsistencias que se pueden producir en la base de datos por acceso conc urrente. Un caso tpico producido por accesos concurrentes es el conocido como problema de la operacin perdida, que se ejemplifica en la Figura 1.7. Dos transaccio nes correspondientes a distintos procesos acceden simultneamente a la misma fila de la tabla CUENTAS, una para incrementar su saldo en 500.00 0 ptas y, la otra, para decrementarlo en un milln. Los disti ntos pasos de los dos procesos se desarrollan para lelamente en el tiempo, como se indica en la figura. Al final, la base de datos queda en un estado inco nsistente puesto que la cuenta 123456 muestra un saldo de 1.000.0 00 de pesetas y no el que debera tener de 1.500.0 00 ptas. El problema reside en que la actualizacin del saldo que realiza el proceso del terminal 2 hace que se pierda la operacin de actualizacin previamente realizada por el terminal 1.

Unidad de trabajo 1: INTRODUCCIN A LAS BASES DE DATOS. w


C

lic

lic

to

bu

N
o

O W

Existen distintas tcnicas para evitar los prob lemas derivados de los accesos concurrentes. Una de estas tcnicas consiste en establecer un bloqueo sobre los datos que se estn modificando, de forma que, hasta que no finalice dicha modificacin, ningn otro proceso podr acceder a esos datos. Los bloqueos sern gestionados automticamente por el SGBD , aunque es posible que se permita tamb in a los usuarios establecer bloqueos explcitos. En el ejemplo anterior, se establecera un bloque o aliniciarse la transaccin del terminal 1 y se levantara al terminar sta, de forma que la transacci n del terminal 2 actuara sobre un saldo de 2.500.0 00 pesetas y no de 2.000.000 ptas., como ocurra sin bloque o. U Confidencialidad Este concepto est muy relacionado con el de integridad. Si al hablar de integridad nos estam os refiriendo a la correccin de las operaciones realizadas por los usuarios sobre los datos, la confidenciali dad alude a la proteccin de los datos contra el acceso de usuarios no autorizados. El SGBD debe proteger los datos de los inten tos de acceso de los usuarios que no cuenten con la autorizacin adecuada, pero en el sistema infor mtico existirn tambin otros mecanismos ajenos al propio SGBD con esta misma funcin, como controles del sistema operativo, controles de tipo fsico de acceso a las instalaciones, etc. La implementacin del esquema de confiden cialidad es responsabilidad del administrado de r la base de datos, pero en su diseo intervendrn otras instancias de la empresa u organismo. La decis in sobre qu informacin es pblica y a qu niveles, pued e depender de aspectos legales, sociales y ticos, cuestiones de poltica de la empresa u organismo, etc. Por lo que respecta exclusivamente al SGBD , los sistemas modernos soportan una, o amb as, de las dos aproximaciones a la gestin de la confiden cialidad conocidas como control de acceso discr ecional y control de acceso obligatorio. En ambos casos, la unid ad de datos a proteger puede ser de lo ms varia da, yendo desde una base de datos entera hasta un tem de datos especfico. La diferencia entre las dos apro ximaciones estriba en lo siguiente: .i.

En el caso del control discrecional, un usua rio dado tiene diferentes derechos de acceso (tambin conocidos por privilegios o autorizacione sobre s) diferentes objetos; normalmente, usuarios difer entes tendrn diferentes privilegios en el mismo objeto. Los esquemas discrecionales son, por tanto, muy flexibles. En el caso del control obligatorio, cada objeto es etiquetado con un cierto nivel de clasificac in y a cada usuario se le da un nivel de acreditacin. Un objeto 5iO puede ser accedido por aquellos usua rios con un nivel de acreditacin apropiado. Los esqu emas obligatorios son comparativamente rgidos .

Por supuesto, todas las decisiones sobre a qu usuarios se les debe permitir realizar qu oper aciones sobre qu objetos, son decisiones polticas, no tcnicas. Como tales, quedan claramen te fuera de la jurisdiccin del SGBD en s; lo nico que pued e hacer el SGBD es obligar al cumplimiento de estas decisiones una vez tomadas. Para que el SGBD pueda llevar a cabo esas funciones adecuadamente ha de cumplirse que: 1. El resultado de esas decisiones polticas se d a conocer al sistema por medio de sente ncias, en un lenguaje de definicin apropiado, y sean reco rdadas por el sistema, registrndolas en forma de reglas o restricciones de autorizacin.
DESARROLLO DE APLICACIONES EN ENTO RNOS DE CUARTA GENERACIN Y CON HERR AMIENTAS CASE

15

o
c

w
w

PD

PD

F-

XC

h a n g e Vi e

F-

XC

h a n g e Vi e

er

er

O W

bu

to

.d o

c u -tr

. ack

2. Exista una forma de verificar una solicitud de acceso dada contra las restricciones de autorizacin aplicables (por solicitud de acceso entendemos aqu la combinacin de operacin solicitada, ms objeto soljcitado, ms usuario solicitante.) Para poder decidir qu restricciones son aplicables a una solicitud dada, el sistema debe ser capaz de reconocer el origen de dicha solicitud, es decir, debe ser capaz de reconocer al usuario especfico del cual proviene una solicitud. Por esa razn, cuando los usuarios obtienen acceso al sistema, casi siempre se les pide proporcionar no sio su identificador de usuario, sino tambin una contrasea. Adems de estas tcnicas, en algunos SGBD se utiliza la criptografa como medio de proteccin de la confidencialidad. Esta tcnica permite transformar el contenido de la base, haciendo que sea necesario conocer la correspondiente clave de descifrado para hacer uso de la informacin almacenada. Complementando la proteccin de la confidencialidad, los SGBD suelen proporcionar facilidades de auditora que permiten registrar las operaciones realizadas por los usuarios, pudiendo, as, detectar accesos no permitidos y mejorar el sistema de proteccin de la confidencialidad.

.d o

c u -tr a c k

.c

1.3.5. Utilidades de administracin.


Los SGBD suelen disponer de utilidades o programas de servicio, diseados para facilitar al administrador de la base de datos las tareas de mantenimiento y seguridad de dicha base. Estos programas realizan funciones de modificacin del tamao de los ficheros, obtencin de estadsticas de utilizacin, carga de ficheros, obtencin de distintos tipos de copias de seguridad de la base de datos, recuperacin tras una cada del sistema, etc. Algunas de estas utilidades, aunque suministradas por el mismo proveedor del SGBD, puede que trabajen en el nivel externo del sistema, por lo que son, en realidad, programas de aplicacin especial. Qtras trabajan directamente en el nivel interno, formando parte realmente del SGBD.

1.4. El diccionario de la base de datos.


La estructura de un SGBD est articulada alrededor del diccionario de datos. Para que el SGBD pueda llevar a cabo las funciones descntas en el punto anterior, es preciso disponer de los mecanismos que permitan el almacena miento de la definicin de los distintos esquemas de la base de datos y de las correspondencias entre ellos. La informacin almacenada en el diccionario de datos es imprescindible para realizar las funciones de manipulacin y transformacin. Igualmente, en el diccionario de datos se registrarn las informaciones necesarias para implementar la funcin de proteccin de datos Un diccionario completo incluir, tambin, informacin del uso que las distintas aplicaciones y usuarios estn haciendo de la base de datos, informacin del estilo de qu usuarios estn conectados a la base de datos, qu aplicaciones hacen uso de qu datos, etc. Existe una cierta confusin en la terminologa utilizada en las distintas publicaciones sobre el tema para referirse a este concepto. Pese a que sea bastante corriente utilizar el trmino diccionario de datos para referirse a l, quiz sera ms adecuado emplear el trmino directorio de datos o catlogo. Para aclarar este tema, describiremos, a continuacin, distintos tipos de almacenes de datos. Un diccionario de datos contiene informacin sobre los datos almacenados en la base de datos, desde el punto de vista del usuario. En el diccionario estar almacenado lo que los usuarios necesitan para comprender el significado de los datos y poder manejarlos adecuadamente, como descripciones, significado, estructuras, consideraciones de seguridad, uso por las aplicaciones, etc. Un diiectorio de datos contiene, en un formato legible para la mquina, las especificaciones necesarias para pasar de la representacin externa de los datos a su representacin interna. El directorio es un instrumento del SGBD y est orientado a facilitarle la informacin que necesita para su funcionamiento. A veces, se habla de diccionario/directorio de datos, en referencia a paquetes de soporte lgico que incluyen ambas funciones. Cuando el diccionario de datos est implementado sin ninguna interfaz directa con el directorio, se habla de diccionario pasivo. Por contra, cuando el diccionario y el directorio estn integrados en un diccionario! directorio que sirve tanto a las necesidades de los usuarios como del SGBD, se habla de diccionario activo.

116

Unidad de trabajo 1: NTRODUCCIN A LAS BASES DE DATOS.

lic

lic

to

bu

O W

w
w

w
w

PD

PD

F-

XC

h a n g e Vi e

F-

XC

h a n g e Vi e

er

er

O W

bu

to

.d o

c u -tr

. ack

.c .d o ck Una enciclopedia o repositorio es un diccionario que almace c na la informacin manejada por una herramienta u - t r a CASE (Comp uter Alded Software Engineering). En ej repositorio se almacena informacin textual y grfica relativa a las distintas fases del ciclo de vida de un sistem a. Las enciclopedias no suelen ser activas, o sea, no estn integradas con el directorio de datos, pero suelen proporcionar mecanismos que facilitan la tarea de generar las descripciones de los datos propias del directo rio, a partir de las descripciones lgicas de los datos obtenidas en la fase de diseo.

Los SGBD relacionales almacenan informacin sobre los datos contenidos en la base de datos, para ser utilizada tanto por el propio sistema como por el usuario . Este diccionario/directorio de datos que implementan los sistemas relacionales se conoce como catlogo. No obstan te, la descripcin lgica de los datos almacenada en un catlogo es pobre, incorpora poco significado. Un aspecto importante del catlogo es que su sistema de gestin no es, como en otros tipos de almacenes, un sistema de gestin propio e independiente del SGBD , sino que es el propio SGBD. O dicho de otra forma, al catlog o se accede con las mismas herramientas que al resto de la base de datos. Se dice que el catlogo es una metaba se, es decir, una base de datos con datos sobre los datos (sobre su estructura) de la base de datos. A los datos del catlogo, tambin se les denomina metadatos.

1.5. La arquitectura Cliente/Servidor.


El objetivo ltimo de un sistema de bases de datos es facilitar el desarrollo y la ejecucin de aplicaciones. Por tanto, desde un punto de vista amplio, un sistema de bases de datos posee una estructura compuesta de dos partes; un servidor, tambin denominado backen d, y un conjunto de clientes o frontends. El servidor permite llevaracabo todas las firnciones propia s del SGBDindicadasanj Realmente, el servidor es el SGBD mismo. aoanteriores.

Los clientes son las distintas aplicaciones ejecutadas entorn o al S.i.anto las ajcaciones de usuario como las distintas utilidades proporcionadas por el provee dor del SGBD o por otros proveedores. Todas ellas se comunican con el servidor a travs de los correspondien tes esquemas externos.

ApHcaciones

S.G.B.D.

Usuarios

L
Fig. 1-8.

Clientes

ServIdor

Arquitectura cliente/servidor.

Estas dos partes en que se divide el sistema pueden ejecuta rse en la misma mquina o en mquinas distintas, interconectadas a travs de algn sistema de comunicacin . Esta segunda posibilidad, el servidor ejecutndose en una mquina y el cliente en otra, es, en la actualidad, tan corriente que el trmino cliente/servidor se suele aplicar en exclusiva a este caso, hablndose de mquin a cliente y mquina servidor o servidor de base de datos.

Usuarios

Mquina cliente

Mquina servidor

Fig. 1-9.

Sistema de B.D. con varias mquinas.

DESARROLLO DE APLICACIONES EN ENTORNOS DE CUARTA GENERACIN Y CON HERRAMIENTAS CASE

171

Unidad de trabajo 1: INTRODUCCIN A LAS BASES DE DATOS.


C lic

lic

to

bu

O W

w
w

PD

PD

F-

XC

h a n g e Vi e

F-

XC

h a n g e Vi e

er

er

O W

bu

to

.d o

c u -tr

. ack

.d o

La arquitectura cliente/servidor nos lleva a lo que se conoce como proceso distribuido, esto es, al procesamiento de los datos, distribuido sobre varias mqui nas conectadas entre s a travs de una red de comunicaciones. El proceso distribuido exige la presencia de algn software que se encargue de gestionar las comunicaciones entre las distintas mquinas que participan en el proceso. Estos programas de comunicaciones harn de interfaz entre el software propio del sistema de bases de datos y el de gestin de la red. Tambin nos encontraramos ante un caso de proceso distrib ujdo cuando una mquina, con ms de un procesador, separa la ejecucin de las aplicaciones y del S.G.B. D. en distintos procesadores. No obstante, esto no es lo ms frecuente Existen distintas posibilidades de proceso distribuido segn se repartan las partes cliente y servidor sobre las distintas mquinas. En la Figura 1.10 podemos ver un ejemplo en el que se conjugan las distintas posibilidades. Unidos por una red de comunicaciones, que en realida d podran ser varias redes interconectadas, tenemos varios clientes y servidores. A cada servidor pueden tener acceso simultneo varias mquinas clientes y, tambin, es posible que una mquina cliente pueda accede r a ms de un servidor. Igualmente, hemos representado un caso de mquina que acta como cliente de un SGBD local, es decir, que ejecuta tanto la parte cliente como la parte servidor de un sistema de base de datos local a ella. Sera posible que esta misma mquina actuase como cliente de otros servidores o que gestionase el acceso a sus datos por parte de otros clientes.

c u -tr a c k

.c

Fig. 1-10.

Sistema de B.D. con varias mquinas servidores y clientes.

El caso de una mquina cliente con acceso a ms de un servido r puede presentarse en dos variantes; El cliente slo puede conectarse a un servidor a un tiempo . No es posible, en una sola consulta, obtener datos de ms de un servidor. El cliente puede acceder simultneamente a varios servidores, En una sola consulta, se pueden combinar datos disponibles en distintos servidores. Desde el punto de vista del cliente, desde una perspectiva lgica, es como si slo existiera un nico servido r. Este caso se conoce como sistema de base de datos distribuida En un sistema de base de datos distribuida, una aplicacin debe ser capaz de acceder a los datos sin tener que saber que stos pueden estar distribuidos en varias bases de datos, soportadas por diferentes sistemas gestores, que se ejecutan en diferentes mquinas, con diverso s sistemas operativos y conectadas por diferentes redes. Se dice que esta distribucin de los datos es transpa rente para las aplicaciones.

18

Unidad de trabajo 1: INTRODUCCIN A LAS BASES DE DATOS.

lic

lic

to

bu

N
w
m

O W

w
w

w
w

PD

lic

.d o

c u -tr a c k

.c

o c u -tr a c k Finalmente, en la Figura 1.11, teneios hjemp1o de una arquitectura cliente/servidor a tres niveles, que se utiliza en aplicaciones de World Wide Web tanto en intranets como en Internet. En esta arquitectura, la parte servidor se sigue ejecutando en el servidor de base de datos, pero la parte cliente se reparte en dos niveles: una mquina servidor de aplicaciones y las mquinas clientes. La mayor parte del proceso de la aplicacin se realiza de una forma centralizada en el servidor de aplicacin, quedando para las mqui nas clientes la parte de la aplicacin que acta de interfa z con el usuario.

.d

.c

Mquinas clientes

Servidor de aplicaciones

Servidor de aplicaciones

Servidor de base de datos

Fig. 1-11. Arquitectura cliente/servidor a tres niveles.

YETAJSiE.EJECUTAREL CUEtfFEY EL SERV1DR ENMAIN&

S DLS11NTA

2. La mquina servidor puede ser optimizada para realizar las funciones propias del SGBD, con lo que aumenta su rendimiento. 3. La mquina cliente puede optimizarse para satisfacer las necesidades propias del usuario, como una buena interfaz o una respuesta ms rpida. 4. Distintas mquinas clientes pueden acceder simult neamente al mismo servidor, con lo que la misma base de datos puede compartirse entre diversas aplicaciones. 5. Coincide con la forma en la que actualmente trabajan las empresas, con la informacin y las aplicaciones distribuidas por distintos ordenadores conectados a redes de comunicaciones.

1. Se realiza el proceso en paralelo, con lo que mejora el rendimiento y el tiempo de respuesta del sistema.

1.6. Tipos de usuarios y facilidades del S.G.B.D.


En un sistema de bases de datos, existen usuarios diferen tes, con necesidades diversas que deben ser satisfechas por aquel. Aunque ya se trat de alguno de los tipos de usuarios, vamos a analizar, ahora, las necesidades de cada tipo, relacionndolas con los medios de los que dispone el sistema para resolverlas.
DESARROLLO DE APLICACIONES EN ENTORNOS DE CUARTA GENERACIN Y CON HERRAMIENTAS CASE

19

Unidad de trabajo 1: INTRODUCCIN A LAS BASE S DE DATOS. w


w
w

lic

PD

F-

XC

h a n g e Vi e

..

F-

XC

h a n g e Vi e

er

er

bu

to

to

bu

;.

O W

O W

w
w

PD

PD

F-

XC

h a n g e Vi e

F-

XC

h a n g e Vi e

er

er

O W

bu

to

.d o

c u -tr

. ack

IJ Usuarios finales.

.d o

c u -tr a c k

.c

Son aquellos usuarios, con poco o ningn conocimiento informtico, que interactan con el sistema desde terminales o estaciones de trabajo en lnea. El acceso a la base de datos se puede realizar a travs de: Aplicaciones diseadas especficamente para atender las necesidades del usuario. Por ejemplo, el empleado de la secretara de un centro de enseanza utiliza una aplicacin que le permite emitir distintos tipos de certificaciones acadmicas a partir de los datos de los alumnos almacenados en la base de datos. Un lenguaje de manipulacin autocontenido, que permite al usuario realizar operaciones de recuperacin y actualizacin de informacin de la base de datos. Por ejemplo, si el sistema de base de datos del centro de enseanza citado est montado sobre Oracle7.3, el secretario del centro podr saber el nmero de alumnos matriculados en una determinada asignatura escribiendo una consulta en lenguaje SQL desde el entorno SQL*Plus. El uso de lenguajes de manipulacin exige, evidentemente, el conocimiento de dicho lenguaje y del esquema externo al que se accede, pero facilita el acceso inmediato a la base de datos sin necesidad de desarrollar una aplicacin especfica. Utilidades que permiten realizar consultas y modificaciones a la base de datos, sin necesidad de conocer un lenguaje de manipulacin. Estas utilidades, basadas en mens y formularios, permiten que lOS usuarios satisfagan necesidades de informacin no previstas de antemano y para las que no existen aplicaciones desarrolladas. Si el centro de enseanza de nuestro ejemplo dispusiera de la utilidad Oracle Browser, su secretario podra realizar la consulta anterior sin necesidad de conocer SQL. Los lenguajes de manipulacin son facilidades suministradas por el propio SGBD. Las utilidades pueden formar parte del SGBD o ser aplicaciones externas a l. FJ Programadores de aplicaciones. Los programadores que desarrollan aplicaciones en entornes de base de datos suelen tener a su alcance distintas posibilidades para realizar su trabajo: Escribir sus programas en un lenguaje de tercera generacin, en el que se intercalan sentencias en un lenguaje de manipulacin de datos. Las sentencias del lenguaje LMD, denominado lenguaje husped, se encargarn de las labores de acceso a la base de datos y las sentencias del lenguaje de tercera generacin, o lenguaje anfitrin, se ocupan del resto de las tareas encomendadas al programa. En el sistema de bases de datos existirn las facilidades que permitan la edicin, compilacin y ejecucin de estbs programas. En el caso que venimos utilizando como ejemplo, podran existir aplicaciones que, por determinadas razones, hayan sido desarrolladas, digamos en C o en Visual Basic, con sentencias SQL de manipulacin de la base de datos huspedes. Utilizar generadores de formatos de pantalla, generadores de informes y lenguajes de cuarta generacin para desarrollar las aplicaciones. Los generadores de formatos de pantalla e informes permiten generar el cdigo de la aplicacin de una forma rpida, a partir del diseo realizado por el programador, utilizando las facilidades grficas que la herramienta pone a su disposicin. Tambin puede escribir cdigo, utilizando un lenguaje de cuarta generacin (L4G). Los lenguajes L4G incluyen entre sus sentencias aqullas que manejan el acceso a los datos de la base. En nuestro centro de enseanza, se habrn desarrollado la mayora de los mdulos de sus aplicaciones, utilizando el generador de formas y mens (Oracle Forms), el generador de informes (Oracle Reports) y el generador de grficas (Oracle graphics) contenidos en la herramienta Oracle Developer/2000. Tambin se habr escrito cdigo, utilizando el lenguaje Oracle PL/SQL. Emplear el lenguaje LMD autocontenido, sin apoyo de un lenguaje anfitrin, para escribir sus programas. Esta es una posibilidad real, pero poco usada por los programadores, dado que se suele obtener una mayor eficiencia utilizando el lenguaje LMD como husped de otro lenguaje o utilizando un lenguaje L4G. El administrador de la base de datos. En todo sistema de bases de datos existe la funcin del administrador de la base de datos o DBA (Database Administrator), que, como se dijo, puede ser desempeada por una o por varias personas.

20

Unidad de trabajo 1: INTRODUCCIN A LAS BASES DE DATOS.

lic

lic

to

bu

O W

w
w

w
w

PD

PD

F-

XC

h a n g e Vi e

F-

XC

h a n g e Vi e

er

er

O W

bu

to

Unidad de trabajo 1: INTRODUCCIN A LAS BASES DE DATOS.


C lic

lic

to

bu

N
c

O W
w
.d o
c u -tr a c k

.d o

c u -tr

. ack

Son responsabilidades del DBA el diseo, la creacin y el manten imiento de la base de datos.

.c

En el diseo de la base de datos interviene el DBA, pero tambi n pueden intervenir otras personas de la organizacin. El sistema puede poner a su disposicin herram ientas de ayuda al diseo, como las herramientas CASE (ComputerAided Software Engineering), muy utilizadas actualmente. Para la creacin de la base de datos, el SGBD pondr a dispos icin del DBA varios lenguajes de definicin de datos, mediante los que especificarn ios distintos esquem as (externos, conceptual e interno) de la base de datos para su compilacin y almacenamiento en el directo rio de datos. Es normal que exista un lenguaje para cada nivel de abstraccin, pero tambin es posible que se utilice el mismo para ms de un nivel. Mediante estos lenguajes, tambin, se especificarn las restricciones de integridad y de confidencialidad. Dentro del mantenimiento de la base de datos, est incluida la modificacin de su estructura, a cualquier nivel, cuando sea necesario, Cuando haya que aadir nuevos objetos o modificar los existentes, se utilizarn las sentencias adecuadas de los lenguajes LDD. En el apartado 1.3.5 citbamos las facilidades que suelen propor cionar los SGBD para ayudar al DBA en la explotacin del sistema. El administrador de la base de datos del centro de enseanza que venimos presentando como ejemplo dispondr de todas las sentencias SQL implementadas en la versin 7.3 del SGBD Oracle, para la definicin y modificacin de todo tipo de objetos, tanto lgicos como fsicos . Utilizando las sentencias de esta versin de SQL, el DBA podr definir o modificar objetos del nivel lgico de la base de datos, como tablas y vistas, establecer restricciones de integridad o controlar el acceso a los objeto s de la base. Tambin, utilizando las extensiones al SQL propias de Oracle, podr definir y modificar objetos del nivel fsico, como tablespaces o roliba ck segments. Muchas de las tareas de administracin pueden lievarse a cabo sin necesidad de escribir lneas SQL, con la utilidad Server Manager. Para facilitar la caiga en la base, de datos contenidos en ficheros, tendr a su disposicin la utilidad SQL *Loader Las operaciones de exportacin e importacin de informacin entre bases de datos Oracle se pueden llevar a cabo con las utilidades Export e Import.

1.7. Modelos de datos.


En una base de datos se representa una parte del mundo real, con el objetivo de que dicha representacin pueda ser utilizada por distintas aplicaciones actuales futuras y . Esta representacin de la parcela del mundo real objeto de inters se har de acuerdo con unas reglas, que varan de unas bases de datos a otras y que constituyen el modelo de datos. El universo del discurso es la parte o aspecto del mundo real que el diseador toma en consideracin y que, tras el adecuado diseo, se plasmar en una base de datos. Por ejemplo, en una empresa pueden tomarse en consideracin distintos universos del discurso, como el de gestin comercial, el de gestin de personal o el de gestin de suministros. Todos tienen el mismo mundo real de referencia, la empresa, pero cada uno contempla distintos aspecto del mismo. El estudio y la descripcin del universo del discurso se llevan a cabo con el apoyo de un conjunto de conceptos, reglas y convenciones que reciben el nombre de modelo de datos. Existen distintos modelos de datos, no todos implementado s en sistemas de bases de datos. Todos ellos son una herramienta que facilita la interpretacin y representacin del universo del discurso. La representacin del universo del discurso obtenida por la aplicacin de un modelo de datos ser una estructura de datos denominada esquema. Al aplicar una cierta sintaxis al modelo, se obtiene un lengua je de datos. Distintas sintaxis aplicadas al mismo modelo, dan lugar a distintos lenguajes. Por ejempl o, el lgebra relacional y el clculo relacional son dos lenguajes del mismo modelo de datos, el relacional, totalm ente equivalentes, que slo difieren en su sintaxis. El esquema estar descrito mediante un lenguaje de datos propio del modelo aplicado al universo del discurso. En el universo del discurso es preciso distinguir entre las estruct uras ylos datos o valores que se almacenan en esas estructuras. Las primeras son propiedades estticas o que varan poco con el tiempo. Las segundas son
DESARROLLO DE APLICACIONES EN ENTORNOS DE CUARTA GENERACIN Y CON HERRAMIENTAS CASE

21

w
w

PD

PD

F-

XC

h a n g e Vi e

F-

XC

h a n g e Vi e

er

er

O W

bu

to

.d o

c u -tr

. ack

.d o

c u -tr a c k

.c

Modelo CODASYL
Elementos de datos Agregado de datos Registro Conjunto rea Clave de base datos

Modelo E/R
Entidad Interrelacin Atributo Dominio

Modelo Relacional
Relacin Tupla Atributo Dominio

Fig. 1-12. Objetos de distintos modelos.


propiedades que varan con el tiempo o dinmicas. Todo modelo de datos tendr una parte esttica, que permitir representar las estructuras, y una parte dinmica, que permitir representar las propiedades dinmicas del universo del discurso. Asociado a la parte esttica del modelo, habr un lenguaje de definicin de datos (LDD) y asociado a la parte dinmica, existir un lenguaje de manipulacin de datos (LMD). La esttica del modelo constar de una serie de objetos con los que representar las estructuras del mundo real. Estos objetos varan de unos modelos a otros, varan sus nombres y vara su representaci n. Asociados a los objetos, pueden existir restricciones que hagan que no sea posible representar, en ese modelo, ciertos objetos o asociaciones entre ellos. Se suele distinguir entre restricciones inherentes, que son las que vienen impuestas por la definicin del modelo, y restricciones de usuario, que son las introducidas por el diseador en el esquema, como representacin fiel del universo del discurso. La representacin de las propiedades estticas del universo del discurso, obtenida aplicando la parte esttica de un modelo de datos. constituye el esquema de dicho universo. El conjunto de los valores que toman los distintos objetos del esquema en un instante dado, se denomina ocurrencia del esquema o base de datos. La ocurrencia del esquema vara en el tiempo, ya que, cmo consecuencia de operaciones de actualizacin sobre la base de datos, los objetos del esquema van tomando distintos valores a lo largo del tiempo. La parte dinmica de un modelo de datos estar constituida por un conjunto de operaciones, definidas sobre los objetos de su parte esttica, que permiten la transformacin entre ocurrencias del esquema. Habr operaciones que permiten localizar una ocurrencia o conjunto de ocurrencias de un objeto del esquema y otras que permitirn realizar una determinada accin (recuperacin, modificacin, insercin o borrado) sobre la ocurrencia u ocurrencias previamente localizadas. Las primeras se conocen genricamen te como operaciones de seleccin y las segundas como operaciones de accin.

18. Tipos de modelos de datos.


Se pueden distinguir, de acuerdo con los niveles de abstraccin de la arquitectura ANSI, tres tipos de modelos:

Modelos externos, que sirven para construir esquemas externos o de usuario. Modelos conceptuales, que permitirn la construccin de esquemas lgicos de todo el universo del discurso. Modelos internos, que se utilizarn para definir el esquema interno o fsico de la base de datos.
Los dos primeros, tipos de modelos se pueden considerar como modelos lgicos, ya que se ocupan de representar aspectos. lgicos del universo del discurso, omitiendo cualquier aspecto fsico. Algunos autores dividen los modelos lgicos en conceptuales y convencionales. No est clara la separacin entre estos dos tipos de modelos. Los modelos convencionales son los implementados actualmente en un SGBD, como el modelo jerrquico, el modelo en red o el modelo relacional. Los modelos conceptuales poseen un mayor nivel de abstraccin que los convencionales y, como consecuencia, una mayor flexibilidad y una mayor capacidad semntica. Ejemplos de modelos conceptuales seran el modelo de entidad/inter relacin de Chen o el modelo Relacional/Tasmania (RM/T).
22

Unidad de trabajo 1: INTRODUCCIN A LAS BASES DE DATOS.

lic

lic

to

bu

O W

w
w

w
w

PD

PD

F-

XC

h a n g e Vi e

F-

XC

h a n g e Vi e

er

er

O W

bu

to

Unidad de trabajo 1: INTRODUCCIN A LAS BASE S DE DATOS.


C lic

lic

to

bu

N
c

O W
w

.d o

c u -tr

. ack

. .d o c ack Los modelos convencionales sirven de conexin entre los esquemas externos y el interno, actuando como u - t r interfaz entre el informtico y el sistema.

Dado el mayor nivel de abstraccin de los model os conceptuales, stos sirven como interfaz entre el informtico y el usuario final en las primeras fases del proceso de diseo de bases de datos. No obstante, dado que algunos modelos conceptuales. como el model o E/E, estn implementados en herramientas CASE y empiezan a formar parte de algunos SGBD, tambin pueden actuar como conexin entre los esquemas externo s y el interno.

1.9. Modelos de bases de datos.


Vamos a ver las caractersticas generales de varios modelos de datos que son el fundamento de distintos sistemas de bases de datos comerciales; en concre to, el modelo de datos jerrquico, el modelo en red y el modelo relacional. Los dos primeros son la base de los sistemas comerc iales que dominaron el mercado en los aos setenta y ochenta y que, an hoy, siguen funcionando con un rendim iento adecuado en muchas empresas. En el modelo relacional se apoyan los productos utilizados en la actualidad. En los siguientes apartados expondremos los elementos fundamentales, tanto de la parte esttica como de la parte dinmica de cada modelo.

1.9.1 El modelode datos en red


El modelo de datos en red representa las entidades del universo del discurso como nodos de un grafo y las interrelaciones entre ellas como los arcos que unen los nodos. No existe ninguna restriccin, ni en el tipo ni en la cantidad de los arcos, y, por tanto, es posible representar estructuras de datos tan complejas como sea preciso. El modelo de entidad/interrelacin tiene todas las caractersticas del modblo en red, aunque se trata de un modelo conceptual con un nivel de abstraccin superio r al de las implementaciones de este modelo. En el modelo en red se pueden representar directamente interrelaciones de cualquier cardinalidad y de cualquier grado: reflexivas, binarias, ternarias, etc. Adems, entre dos nodos puede haber ms de una interrelacin. La flexibilidad del modelo trae como consecuencia que su implementacin sea difcil y poco eficiente, por lo que es preciso aplicarle ciertas restricciones a la hora de llevarlo a la prctica. Los modelos CODASYL y jerrquico pueden considerarse como derivados del modelo en red, al establecer unas restricciones concretas. Li El modelo CODASYL. El grupo DBTG (Data Base Task Group) del comit CODASYL (COnference Qn DAta SYstem Languages) presenta entre los aos 1969 y 1981 distintos inform es en los que se especifica un modelo de datos en red que seguirn, con mayor o menor fidelidad, distintos produc tos. En el modelo CODASYL, los nodos son tipos de registr o (record, en su nomenclatura) que estn formados por campos (data item). Dentro de un registro pueden existiragregados de datos (data aggregate), que pueden ser grupos repetitivos o vectores. Los arcos o interre laciones entre entidades reciben el nombre de conjuntos (SET). El conjunto o SET de este modelo slo permite represe ntar interrelaciones 1:N o 1:1. Uno de los nodos del conjunto, el que participa con la cardinalidad uno, se denornina propietario (owner) y los dems son miemb ros (mernbers). En un conjunto siempre existe un propietario y cero o ms miembros. Los registros miembros de un conjunto pueden ser todos del mismo tipo o de tipos distintos. Un registro puede participar en ms de un conjunto, y lo puede hacer con distinta categora en cada uno, es decir, puede ser miembro en un conjunto y propietario en otro. En la Figura 1.13, vemos un ejemplo de conjunto. el conjunto FACT CLI, que representa la interrelacin 1:N entre los clientes de una cierta empresa y sus factura s. El conjunto se representa en la parte superior de la figura mediante un diagrama de Bachmann, en el que el tipo de registro propietario y el tipo de registro miembro estn unidos por una flecha orientada hacia el segund o.
DESARROLLO DE APLICACIONES EN ENTORNOS DE CUARTA GENERACIN Y CON HERRAMIENTAS CASE

23

o
c

w
w

PD

PD

F-

XC

h a n g e Vi e

F-

XC

h a n g e Vi e

er

er

O W

bu

to

.d o

c u -tr

. ack

En la parte inferior de la Figura 1.13, tenemos una instancia u ocurrencia de dicho conjunto. El registro propietario tiene un apuntador hacia el primer registro miembro, ste hacia el segundo miembro y as sucesivamente, hasta que el ltimo miembro apunta hacia el propietario. El uso de punteros es una de las formas de implementar fsicamente el conjunto, aunque no la nica.
CLIENTE

.d o

c u -tr a c k

.c

CODIGO

NOMBRE
...

Owner

FACT CLI
NUMERO FECHA
...

Member

FACTURA

Fig. 1-13. Esquema y ocurrencja de un conjunto.


Como consecuencia de las restricciones inherentes, el modelo CODASYL no permit e representar directamente interrelaciones reflexivas, ni interrelaciones N:1, ni tampoco de tipo N:M. Estas restricciones se salvan por el uso de ciertos mecanismos, como los registros de enlace olinks, en los que no vamos a entrar. La limitacin en la representacin de las interrelaciones reflexivas fue eliminada en las especif icaciones CODASYL de 1978. El modelo presenta, adems de los elementos lgicos ya citados, elementos de naturaleza fsica que el usuario debe definir y manejar. Estos elementos fsicos del modelo son: rea (rea]m). Es una subdivisin del espacio de almacenamiento de la base de datos, en la que se guardan ocurrencias de registros y a la que se asigna un nombre. Clave de base de datos (database-key). Es un identificador interno de cada ocurrencia de registro, que proporciona su direccin en la base de datos. Esta clave, que facilita el acceso rpido a la base de datos, poda ser utilizada con total libertad por el programador en las primer as especificaciones CODASYL. El libre uso de este elemento compromete gravemente la indepe ndencia lgica/fsica del modelo, por lo que, en las ltimas versiones, se limitan sus posibilidades de uso por el programador. Las especificaciones CODASYL plantean, inicialmente, una arquitectura de sistema gestor de base de datos a dos niveles (esquema y subesquemas), pasando, posteriormente, a tres niveles , para mejorar la independencia fsico/lgica. Para poder definir todos los elementos que forman parte de la base de datos (reas, registros, conjuntos, etctera) se introduce el lenguaje de definicin de datos del esquema (Schem a DDL); se trata de un lenguaje autocontenido que permite escribir un esquema fuente de la base de datos que, tras su compilacin, queda almacenado en la biblioteca del sistema. De igual forma, CODASYL especifica un lenguaje de definicin de datos del subesq uema (Subschema DDL), o sea, un lenguaje husped, inicialmente de COBOL y, luego, de otros lengua jes, que permite la descripcin de subconjuntos del esquema para distintas aplicaciones que slo necesitan trabaja sobre r una parte de la base de datos. En el informe de 1978 se introduce un nuevo nivel en la arquitectura del SGBD, el esquema de almacenamiento, con lo que se sacan del esquema muchos de los aspectos fsicos de la base de datos. Para la definicin de este nuevo nivel, aparece un nuevo lenguaje, el lengua je de definicin del esquema de almacenamiento (DSDL), que se va a ocupar de la definicin de todos lOS aspecto s fsicos del almacenamiento de los datos.

24

Unidad de trabajo 1: INTRODUCCIN A LAS BASES DE DATOS.

lic

lic

to

bu

O W

w
w

w
w

PD

PD

F-

XC

h a n g e Vi e

F-

XC

h a n g e Vi e

er

er

O W

bu

to

lic

.d o

c u -tr a c k

.c

Unidad de trabajo 1 INTRODUCCIN A LAS BASES DE DATOS. w


C

lic

to

bu

N
o
o c u -tr a c El lenguaje de manipulacin de datos (DML) definido por CODASYL implementa la parte dinmica del modelo. Este lenguaje, que es de tipo navegacional, puede ir embebido en distintos lenguajes de tercera generacin (COBOL, C, FORTRAN, PL/1), y permite que el usuario pueda navegar por la base de datos, seleccionando el registro sobre el que se har una determinada operacin de borrad o, modificacin, recuperacin, etc.

O W
.d
k.

La interaccin entre el programa de aplicacin y la base de datos se realiza a travs de un rea de trabajo de usuario o UWA (User Working Area). Por cada programa de aplicac in en ejecucin (unidad de ejecucin), el sistema mantiene un rea de trabajo de usuario que acta como rea de almacenamiento de registros intermedios (buffer) y que contiene las siguientes variables:
Plantillas de registro: un registro para cada tipo de registr o al que acceda el programa. Punteros de actualidad: varios punteros a los distintos registr os de la base de datos ms recientemente accedidos por el programa de aplicacin. Distinguimos tres tipos: Actual de tipo de registro: un puntero por cada tipo distinto de registr o que maneje la aplicacin. Cada puntero sealar al registro del tipo correspondiente que se accedi ms recientemente.
-

Actual de tipo de conjunto: un puntero por cada tipo de conjun to que utilice el programa de aplicacin. Cada puntero seala al registro (owner o member) del tipo de conjunto correspondiente al que se accedi ms recientemente.

Actual de unidad de ejecucin: un puntero que seala al registro (del tipo que sea) ms recientemente accedido por el programa.

Indicadores de estado: un conjunto de variables que utiliza el sistem a, para comunicar al programa el resultado de la ltima operacin realizada sobre la base de datos.

PLANTILLAS DE REGISTRO
CLIENTE 112233 112233

FACTURA

009878

221296!

...

PUNTEROS DE ACTUALIDAD
CLIENTE

245678

NES
...

009876 FACTURA

1212961
...

FACT CLI

UNIDAD DE EJECUCIN

REA DE TRABAJO DE USUARIO


Fig. 1-14.

BASE DE DATOS

Ejemplo de rea de trabajo de usuario.

En la Figura 1.14 vemos un ejemplo de rea de trabajo de usuario correspondiente a una unidad de ejecucin que accede al subesquema de la Figura 1.13. En este caso, habra dos plantillas de registro, dos punteros de actualidad de tipo de registro, un puntero de actualidad de tipo de conjunto y un puntero de actualidad de unidad de ejecucin. Cuando un operador del lenguaje DML selecciona o manipula un registro en la base de datos, ste se convierte en el registro al que sealan los correspondientes punteros de actualidad de tipo de registro y de conjunto a que pertenece, as como el de actualidad de unidad de ejecuc in. Es posible inhibir esta actualizacin de
DESARROLLO DE APLICACIONES EN ENTORNOS DE CUARTA GENERACIN Y CON HERRAMIENTAS CASE

25

o
c

w
w

PD

PD

F-

XC

h a n g e Vi e

F-

XC

h a n g e Vi e

er

er

O W

bu

to

.d o

c u -tr

. ack

.d o

c u -tr a c k

.c

punteros despus de una operacin, mediante una clusula de la correspondiente sentencia que ordena la operacin. La sentencia fundamental del DML es la sentencia FIND, que permite seleccionar un registro de la base de datos segn un determinado criterio. La sentencia FIND, a travs de sus distintos formatos, permite seleccionar un registro de varias formas: A partir del valor de un identificador, que puede ser un campo de un determinado tipo de registro o, incluso, su clave de base de datos. A partir de la posicin del registro en un conjunto (el primero, el ltimo). A partir del registro sealado por un puntero de actualidad. Por su categora en un conjunto (el propietario, etc.). Por la combinacin de algunas de las formas anteriores. Una vez seleccionado un registro por alguno de los mtodos anteriores, se procede a realizar sobre l la operacin adecuada de recuperacin, insercin, borrado, modificacin, conexin, desconexin, reconexin, etc. Todas estas operaciones, llevadas a cabo por las correspondientes sentencias del lenguaje CML, tienen siempre como referencia los valores de los correspondientes apuntadores de actualidad, posicionados por la sentencia FIND o por otras sentencias de manipulacin. Dos impiementaciones Populares del modelo CODASYL las constituyen los sistemas de bases de datos Total e IDMS.

1.9.2 El modelo de datos jerrquico.


En este modelo de datos se apoyaron algunos de los primeros sistemas gestores de bases de datos comerciales. El modelo carece de estandarizacin, como el caso del CODASYL para el modelo en red, pero el sistema comercial jerrquico ms importante, el IMS (Information Management System) de IBM, constituye su estndar de tacto. El esquema en el modelo jerrquico es una estructura en rbol, formada por nodos que representan entidades, y arcos, que representan las interrelaciones entre las entidades. Cada nodo ser un registro con sus correspondientes campos, como en el modelo CODASYL. Este modelo puede ser visto como un caso particular del modelo en red, al que se somete a una serie de restricciones inherentes para conseguir las caractersticas de rbol ordenado. El modelo jerrquico presenta muchos problemas a la hora de ser utilizado para modelar el universo del discurso. Estos problemas vienen derivados, fundamentalmente, de la falta de capacidad de la estructura jerrquica para representar ciertas estructuras muy corrientes en la realidad, como las interrelaciones N:M, las interrelaciones reflexivas, las redes, etctera. Esta falta de flexibilidad del modelo obliga a la introduccin de redundancias, cuando se quieren introducir en el esquema situaciones como las citadas.

CURSO

ASIGNATURA

DENOMINACION

REGIMEN

2DAI

DIU1

ALUMNO

CODIGO

NOMBRE

EXPEDIENTE

NOMBRE

1123

018 ANALISIS BASES DE DATOS

1234 4565

JUAN PEREZ INES SAEZ

4321
PROFESOR

LUIS SUAREZ

5656765 NOMBRE 7654321

MARIA RIVAS

(DNI

JUAN DIAZ

Fig. 1-15.

Ejemplo de esquema jerrquico.

26

Unidad de trabajo 1: INTRODUCCIN A LAS BASES DE DATOS.

lic

lic

to

bu

O W

w
w

w
w

PD

PD

F-

XC

h a n g e Vi e

F-

XC

h a n g e Vi e

er

er

O W

bu

to

.d o

c u -tr

. ack

. .d o c u tr a c k En la Figura 1.15 podemos ver un esquema jerrquico en el que aparec en los nodos CURSO, ASIGNATURA, ALUMNO y PROFESOR, representando a las correspondientes entidades de un cierto universo del discurso y sus interrelaciones. Estas interrelaciones deben ser de cardinalidad 1:1 o 1 :N, con la raz de cualquier subrbol en el lado de cardinalidad 1. Tambin, se representa en la misma figura una ocurrencia del mismo esquema, la correspondiente al curso 2DAI. Una base de datos (las ocurrencias del esquema) est formada por una coleccin de rboles disjuntos: en el ejemplo existira un rbol por cada curso. En este esquema, cada asignatura es impartida por un profesor distinto y cada curso tiene distintas asignaturas: representar la situacin de que un profesor imparta clase de ms de una asignatura, slo ser posible con la introdu ccin de redundancia.

En los sistemas de bases de datos jerrquicas la parte dinmica del modelo estar implementada por medio de un lenguaje de manipulacin de datos, husped de un lenguaje de tercera generacin. De estos lenguajes de manipulacin, el ms conocido es el DL/I del sistema IMS. La manipulacin de datos en el modelo jerrquico, igual que en todo modelo, necesita la seleccin previa de los datos sobre los que se realizar, a continuacin, la accin de recupe racin o actualizacin.

Fig. 1-16.

Orden de recorrido de un rbol en preorden.

La operacin de seleccin en el modelo jerrquico es de tipo navegacional. semejante a la del modelo CODASYL. El funcionamiento de algunos formatos de la operacin de seleccin va unida al concepto de recorrido del rbol en un cierto orden, normalmente preorden. Recorrer un rbol o subrbol en preorden significa comenzar por la raz, luego el subrbol izquierdo y, finalmente, el derecho: cada subrbol se recorrer tambin en preorden. Los distintos formatos de la operacin de seleccin presentan las siguien tes posibilidades de bsqueda: Seleccionar el primer registro (en preorden) de un determinado tipo, que cumpla una determinada condicin. Seleccionar el siguiente registro (en preorden) a uno seleccionado previam ente, que cumple una determinada condicin. Seleccionar el siguiente registro (en preorden) que satisface una determinada condicin, dentro del subrbol del que es padre otro registro seleccionado previamente.

Una vez seleccionado un registro, se podr realizar sobre l una recuperacin, insercin, reemplazo o borrado. La recuperacin en DL/I, que va asociada a la seleccin, consiste, como en cualqu ier otro lenguaje de datos, en llevar el registro marcado como activo a la correspondiente plantilla de entrada/salida. Estas dos operaciones se realizan en DL/I mediante la sentencia GET. Cuando se inserta un nuevo registro en una estructura jerrquica, excepto para la raz, queda conectado a un registro padre seleccionado mediante una sentencia de seleccin. Cuando se borra un registro de un rbol, se borran tambin todos sus hijos.

1.9.3 El modelo de datos relacional.


El modelo relacional constituye el fundamento terico de los sistemas de bases de datos comerciales ms utilizados en la actualidad. En el prximo captulo se expondrn amplia mente todas sus caractersticas: ahora, nos limitaremos a esbozar sus rasgos fundamentales.
DESARROLLO DE APLICACIONES EN ENTORNOS DE CUARTA GENERACIN Y CON HERRAMIENTAS CASE

27

o
c

Unidad de trabajo 1: INTRODUCCIN A LAS BASES DE DATOS.


C

lic

lic

to

bu

O W

w
w

PD

PD

F-

XC

h a n g e Vi e

F-

XC

h a n g e Vi e

er

er

O W

bu

to

lic

.d o

c u -tr a c k

.c

.d o

El modelo de datos relacional es presentado por E.F Codd en 1970, naciendo con l el concepto de modelo de datos abstracto. Los otros modelos vistos en esta seccin fueron obtenidos por abstraccin a partir de los sistemas comerciales existentes. Los sistemas relacionales comerciales surgen como implementaciones del modelo terico. Este modelo es concebido con la idea de superar los proble mas que presentaban modelos anteriores, especialmente la falta de independencia entre la estructura lgica de los datos y su representacin interna en la base de datos. Est basado en la teora matemtica de las relacio nes. Es un modelo lgico, no contempla, en absoluto, los aspectos fsicos de la base de datos, que quedan totalmente en manos de los implementadores de sistemas gestores de bases de datos. El elemento fundamental del esquema relacional es la relaci n, conjunto matemtico de n-tuplas definido sobre n conjuntos denominados dominios Una relacin puede ser representada como una tabla bidimensional. Las entidades del universo del discurso se representan como tablas, siendo las filas de la tabla las ocurrencias de la correspondiente entidad. Las interrelaciones entre entidades pueden representarse a travs de columnas, en alguna de las tablas que participan en la interrelacin, o por medio de otras tablas. El hecho de que todo se represente en forma de tablas facilita enorm emente la comprensin y el uso del esquema por parte del usuario. Este modelo presenta algunas restricciones inherentes: no se permit en filas repetidas, no se le puede dar ningn valor semntico ni al orden de las filas ni al de las colum nas y no se permiten grupos repetitivos. En cada tabla se define una clave primaria o conjunto de una o ms columnas cuyos valores identifican cada fila de la tabla. No se permite que exista fila alguna sin valor en cualqu iera de las columnas que constituyen la clave primaria. La parte dinmica del modelo est constituida por el lgebra relacio nal y el clculo relacional. lgebra y clculo son totalmente equivalentes y constituyen dos opciones para establecer una base formal de la parte manipulativa del modelo. Ambos lenguajes operan sobre conjun tos de n-tuplas (filas), es decir, no son lenguajes de navegacin sino de especificacin. El lgebra relacional est formado por un conjunto de operadores de alto nivel que toman relaciones como operandos y dan como resultado otra relacin. Mediante estos operad ores se expresan las operaciones a realizar sobre la base de datos para obtener un cierto resultado. El clculo relacional se basa en una rama de la lgica matem tica llamada clculo de predicados. Nos permite expresar el resultado que queremos obtener de la base de datos, mediante un clculo de predicados adaptado a las relaciones. Por medio del clculo, no es preciso indicar las operaciones que se deben realizar, sino slo el resultado que se quiere obtener.

c u -tr a c k

.c

r
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.

..

Actividades

Explicar las diferencias entre un sistema de bases de datos y un sistema tradicional de ficheros. Analizar las ventajas que presentan los sistemas de bases de datos. Explicar los pasos que debe seguir el sistema gestor de la base de datos para resolver una peticin de informacin de una aplicacin. Indicar qu funciones realiza el sistema gestor de la base de datos. Cules son las responsabilidades del administrador de la base de datos? Explicar las diferencias entre diccionario de datos, directorio de datos y catlogo. Qu es la metabase? Explicar las diferencias entre los conceptos de integridad y confid encialidad. Analizar, desde el punto de vista de la arquitectura cliente servido r, el sistema de bases de datos disponible en el aula. Explicar cundo se lleva a cabo una recuperacin en caliente de la base de datos y cmo se realiza paso a paso. Explicar cundo se lleva a cabo una recuperacin en fro de la base de datos y cmo se realiza paso a paso. Analizar y comparar las siguientes caractersticas de los modelos de bases de datos descritos en la unidad: a) Objetos y restricciones. b) Caractersticas de los lenguajes. Indicar las ventajas e inconvenientes de cada modelo.

28

Unidad de trabajo 1: INTRODUCCIN A LAS BASES DE DATOS.

lic

to

bu

N
w
m

O W

w
w

w
w

También podría gustarte