Hay tres características importantes inherentes a
los sistemas de
bases de
datos: la separación entre los programas de
aplicación y los datos, el manejo
de múltiples vistas por parte de los usuarios y el uso de
un catálogo para almacenar el esquema de la base de datos.
En 1975, el comité ANSI-SPARC (American National Standard
Institute – Standards Planning and Requirements Committee)
propuso una arquitectura de
tres niveles para los sistemas de bases de datos, que resulta muy
útil a la hora de conseguir estas tres
características.
La definición de un sistema de
información es la descripción detallada de la arquitectura
del sistema. Las
arquitecturas de bases de datos han evolucionado mucho desde sus
comienzos, aunque la considerada estándar hoy en
día es la descrita por el comité ANSI/X3/SPARC
(Standard Planning and Requirements Committee of the American
National Standards Institute on Computers and Information
Processing), que data de finales de los años setenta.
Este comité propuso una arquitectura general para DBMSs
basada en tres niveles o esquemas: el nivel físico, o
de máquina, el nivel externo, o de usuario, y el nivel
conceptual. Así mismo describió las interacciones
entre estos tres niveles y todos los elementos que conforman cada
uno de ellos.
Arquitectura ANSI
La arquitectura de sistemas de bases de datos de tres
esquemas fue aprobado por la ANSI-SPARC (American National
Standard Institute – Standards Planning and Requirements
Committee) en 1975 como ayuda para conseguir la separación
entre los programas de aplicación y los datos, el manejo
de múltiples vistas por parte de los usuarios y el uso de
un catálogo para almacenar el esquema de la base de
datos.
- Nivel interno: Tiene un esquema interno que
describe la estructura
física
de almacenamiento de base de datos. Emplea un
modelo
físico de datos y los únicos datos que existen
están realmente en este nivel. - Nivel conceptual: tiene esquema conceptual.
Describe la estructura de toda la base de datos para una
comunidad de
usuarios. Oculta los detalles físicos de almacenamiento
y trabaja con elementos lógicos como entidades,
atributos y relaciones. - Nivel externo o de vistas: tiene varios
esquemas externos o vistas de usuario. Cada esquema describe la
visión que tiene de la base de datos a un grupo de
usuarios, ocultando el resto.
El objetivo de la
arquitectura de tres niveles es el de separar los programas de
aplicación de la base de datos
física.
La mayoría de los SGBD no distinguen del todo los
tres niveles. Algunos incluyen detalles del nivel físico
en el esquema conceptual. En casi todos los SGBD que se manejan
vistas de usuario, los esquemas externos se especifican con el
mismo modelo de datos que describe la información a nivel conceptual, aunque en
algunos se pueden utilizar diferentes modelos de
datos en los niveles conceptual y externo.
Hay que destacar que los tres esquemas no son más
que descripciones de los mismos datos pero con distintos niveles
de abstracción. Los únicos datos que existen
realmente están a nivel físico, almacenados en un
dispositivo como puede ser un disco. En un SGBD basado en la
arquitectura de tres niveles, cada grupo de usuarios hace
referencia exclusivamente a su propio esquema externo. Por lo
tanto, el SGBD debe transformar cualquier petición
expresada en términos de un esquema externo a una
petición expresada en términos del esquema
conceptual, y luego, a una petición en el esquema interno,
que se procesará sobre la base de datos almacenada. Si la
petición es de una obtención (consulta) de datos,
será preciso modificar el formato de la información
extraída de la base de datos almacenada, para que coincida
con la vista externa del usuario. El proceso de
transformar peticiones y resultados de un nivel a otro se
denomina correspondencia o transformación.
Estas correspondencias pueden requerir bastante tiempo, por lo
que algunos SGBD no cuentan con vistas externas.
La arquitectura de tres niveles es útil para
explicar el concepto de
independencia de datos que podemos definir como la
capacidad para modificar el esquema en un nivel del sistema sin
tener que modificar el esquema del nivel inmediato
superior.
Se pueden definir dos tipos de independencia
de datos:
- La independencia lógica es la capacidad
de modificar el esquema conceptual sin tener que alterar los
esquemas externos ni los programas de aplicación. Se
puede modificar el esquema conceptual para ampliar la base de
datos o para reducirla. Si, por ejemplo, se reduce la base de
datos eliminando una entidad, los esquemas externos que no se
refieran a ella no deberán verse afectados. - La independencia física es la capacidad
de modificar el esquema interno sin tener que alterar el
esquema conceptual (o los externos). Por ejemplo, puede ser
necesario reorganizar ciertos ficheros físicos con el
fin de mejorar el rendimiento de las operaciones de
consulta o de actualización de datos. Dado que la
independencia física se refiere sólo a la
separación entre las aplicaciones y las estructuras
físicas de almacenamiento, es más fácil de
conseguir que la independencia lógica.
En los SGBD que tienen la arquitectura de varios niveles
es necesario ampliar el catálogo o diccionario,
de modo que incluya información sobre cómo
establecer la correspondencia entre las peticiones de los
usuarios y los datos, entre los diversos niveles. El SGBD utiliza
una serie de procedimientos
adicionales para realizar estas correspondencias haciendo
referencia a la información de correspondencia que se
encuentra en el catálogo. La independencia de datos se
consigue porque al modificarse el esquema en algún nivel,
el esquema del nivel inmediato superior permanece sin cambios,
sólo se modifica la correspondencia entre los dos niveles.
No es preciso modificar los programas de aplicación que
hacen referencia al esquema del nivel superior.
Por lo tanto, la arquitectura de tres niveles puede
facilitar la obtención de la verdadera independencia de
datos, tanto física como lógica. Sin embargo, los
dos niveles de correspondencia implican un gasto extra durante la
ejecución de una consulta o de un programa, lo cual
reduce la eficiencia del
SGBD. Es por esto que muy pocos SGBD han implementado esta
arquitectura completa.
Arquitectura funcional
ANSI/X3/SPARC
Página siguiente |