Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PD
F-
XC
h a n g e Vi e
bu
to
lic
.d o
c u -tr a c k
.c
.d o
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
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
lic
to
bu
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
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.
Fig. 1-2.
datos.
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
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
NIVEL CONCEPTUAL
Correspondencia conceptual / interna
1
NIVEL INTERNO Base de datos almacenada
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.
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
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.
El SGBD llevar a cabo las operaciones de manipulacin de datos, cumpliendo siempre las restricciones de seguridad especificadas por el administrador.
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
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
-
ESQUEMA INTERNO
Tablespace 8
3
E__
ACTIVIDADES_SOCIOS
Fig. 1-4.
Transformacin de datos.
12
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
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
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
Punto de verificacin
Fig. 1-6.
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
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
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.
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.
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
116
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.
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.
171
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.
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
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
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.
19
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
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
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.
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
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
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
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.
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
24
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
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
BASE DE DATOS
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.
CURSO
ASIGNATURA
DENOMINACION
REGIMEN
2DAI
DIU1
ALUMNO
CODIGO
NOMBRE
EXPEDIENTE
NOMBRE
1123
1234 4565
4321
PROFESOR
LUIS SUAREZ
MARIA RIVAS
(DNI
JUAN DIAZ
Fig. 1-15.
26
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.
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.
27
o
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
lic
to
bu
N
w
m
O W
w
w
w
w