La estructura de un SGBD está articulada alrededor del diccionario de datos. En él estará
almacenada la definición de los distintos esquemas de la base de datos y de las correspondencias
entre ellos.
Al referirse al diccionario de datos se utilizan con frecuencia otros términos como directorio de datos
o catálogo. Existe una cierta confusión en la terminología utilizada, por lo que con ánimo de aclararla
vamos a describir distintos tipos de almacenes de datos.
Un diccionario de datos contiene información sobre los datos almacenados en la base de datos
desde el punto de vista del usuario.
A veces, se habla de diccionario/directorio de datos, en referencia a paquetes de soporte lógico 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 están integrados en un diccionario/directorio que
sirve tanto a las necesidades de los usuarios como del SGBD, se habla de diccionario activo.
Una enciclopedia o repositorio es un diccionario que almacena la información manejada por una
herramienta CASE (Computer Aided Software Engineering). En el repositorio se almacena
información textual y gráfica relativa a las distintas fases del ciclo de vida de un sistema.
Este diccionario/directorio de datos que implementan los sistemas relacionales se conoce como
catálogo.
Se dice que el catálogo es una metabase, es decir, una base de datos con datos sobre los datos
(sobre su estructura) de la base de datos. A los datos del catálogo, también se les denomina
metadatos.
ARQUITECTURAS DE APLICACIÓN.
El objetivo último de un sistema de bases de datos es facilitar el desarrollo y ejecución 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, también denominado backend, y un conjunto de
clientes o frontends.
La arquitectura cliente/servidor nos lleva a lo que se conoce como proceso distribuido, esto es, al
procesamiento de los datos distribuido sobre varias máquinas conectadas entre sí a través de una
red de comunicaciones.
Estos programas de comunicaciones harán de interfaz entre el software propio del sistema de bases
de datos y el de gestión de la red. También estaríamos ante un caso de proceso distribuido cuando
una máquina con más de un procesador separa la ejecución de las aplicaciones y del S.G.B.D. en
distintos procesadores. No obstante, esto no es lo más frecuente.
• El cliente puede acceder simultáneamente 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 lógica, es como si sólo existiera un único servidor. Este caso se conoce como sistema de
base de datos distribuida.
La arquitectura ampliamente utilizada en la actualidad es la conocida como multinivel o multicapa
(Multitier Architecture), que se utiliza en aplicaciones WEB, tanto en intranets como en Internet.
La mayor parte del proceso de la aplicación se realiza de una forma centralizada en el servidor de
aplicación, quedando para las máquinas clientes la parte de la aplicación que actúa de interfaz con el
usuario.