Introducción a las bases de datos (Parte 5: Estructura de un gestor de bases de datos)

  Los gestores de bases de datos presentan un problema de base relacionado con su pluralidad, y es que desde la aparición de los primeros se intentó llegar a un acuerdo para que hubiera una estructura común para todos ellos, a fin de que el aprendizaje y manejo de este software fuera más provechoso y eficiente.
  No obstante, dicho acuerdo nunca se ha conseguido del todo, por lo que no existen estándares aceptados del todo. Aunque sí hay unas cuentas propuestas de estándares que sí funcionan como tales.
  Los intentos por conseguir una estandarización han estado promovidos por organismos de todo tipo. Algunos son estatales, otros privados y otros promovidos por los propios usuarios. Los tres que han tenido gran relevancia en el campo de las bases de datos son ANSI/SPARC/X3, CODASYL y ODMG (éste sólo para las bases de datos orientadas a objetos). Los organismos grandes (que recogen grandes responsabilidades) dividen sus tareas en comités, y éstos en grupos de trabajo que se encargan de temas concretos.

ORGANISMOS DE ESTANDARIZACIÓN

  Los organismos de estandarización más relevantes respecto a la gestión de las bases de datos son:

ISO/JTC 1/SC 21/WG 3
  ISO (siglas del inglés International Organization for Standardization) es un organismo internacional de definición de estándares de gran prestigio. La parte de ISO, dedicada a la creación de estándares recibe el nombre de IEC (siglas del inglés International Electrotechnical Commission) es un organismo de definición de normas en ambientes electrónicos.
  Por su parte, JTC 1 (siglas del inglés Joint Technical Committee) es un comité, parte de IEC, dedicado a la tecnología de la información (informática). En el campo de las bases de datos, el subcomité SC 21 (en el que participan otros organismos nacionales, como el español AENOR) posee un grupo de trabajo llamado WG 3 que se dedica a las bases de datos. Este grupo de trabajo es el que define la estandarización del lenguaje SQL entre otras cuestiones.
  Entre los trabajos que realiza el grupo WG3 está la normalización de SQL, además de otras normas de estandarización.

DBTG/CODASYL
  CODASYL (siglas del inglés COnference on DAta SYstem Languages) es el nombre de una conferencia iniciada en el año 1.959 y que dio lugar a un organismo con la idea de conseguir un lenguaje estándar para la mayoría de máquinas informáticas. Participaron organismos privados y públicos del gobierno de Estados Unidos con la finalidad de definir estándares. Su primera tarea fue desarrollar el lenguaje COBOL y otros elementos del análisis, diseño y la programación de ordenadores.
  La tarea real de estandarizar esos lenguajes se la cedieron al organismo ANSI, pero las ideas e inicios de muchas tecnologías se idearon en el este consorcio.
  En 1.967 se crea un grupo de tareas para bases de datos ("Data Base Task Group", en inglés) y este grupo definió el modelo en red de bases de datos y su integración con COBOL. A este modelo en red se le denomina modelo CODASYL o modelo DBTG y fue finalmente aceptado por la ANSI.

ANSI/X3/SPARC
  ANSI (siglas del inglés American National Standards Institute) es un organismo científico de Estados Unidos que ha definido diversos estándares en el campo de las bases de datos. X3 es la parte de ANSI encargada de los estándares en el mundo de la electrónica. Finalmente, SPARC (siglas del inglés System Planning and Repairments Committee), comité de planificación de sistemas y reparaciones, es una subsección de X3 encargada de los estándares en sistemas informáticos especializados en el campo de las bases de datos. Su logro fundamental ha sido definir un modelo de referencia para las bases de datos.
  Actualmente, ANSI para Estados Unidos e ISO para todo el mundo son nombres equivalentes en cuanto a estandarización de bases de datos, puesto que se habla ya de un único modelo de sistema de bases de datos.
Relación entre organismos de estandarización

ARQUITECTURA DE UN SISTEMA DE GESTIÓN DE BASES DE DATOS

    Dado que ANSI/SPARC es el organismo de estandarización más aceptado hoy en día, a continuación se explicará la arquitectura de este para el gestor de bases de datos.
  La arquitectura se divide en tres niveles generales: externo, lógico global e interno.

Nivel externo
  El nivel externo es el más cercano a los usuarios, es decir, es el relacionado con la forma en que los datos son vistos por cada usuario individualmente.
  Es el nivel del usuario individual, donde un usuario puede ser un programador de aplicación o un usuario final con cualquier grado de sofisticación. Cada usuario tiene un lenguaje a su disposición:

  •   Para el programador, ese lenguaje puede ser un lenguaje de programación convencional, como Pascal, o un lenguaje de programación específico de un sistema, como el FoxPro.
  •   Para el usuario final, el lenguaje puede ser un lenguaje de consulta (interrogaciones, query) o un lenguaje de propósito especial, quizás basado en sistemas de menús y ventanas y construido para satisfacer los requerimientos de un usuario, encontrándose soportado por algún programa de aplicación en línea.
  Es importante señalar que todo lenguaje debe incluir un sublenguaje de datos, o sea, un subconjunto del lenguaje que trata específicamente con los objetos de la base de datos y sus operaciones. El sublenguaje de datos (DSL) está embebido dentro del correspondiente lenguaje huésped. Este lenguaje huésped es el encargado de asegurar otras facilidades ajenas a la base de datos, tales como variables locales, operaciones de cálculo, lógica if-then-else, etc. Un sistema dado, puede soportar múltiples lenguajes huésped y múltiples sublenguajes de datos.
  En principio, cualquier sublenguaje de datos es realmente una combinación de, al menos, dos lenguajes subordinados: un lenguaje de definición de datos (DDL), el cual garantiza la definición o descripción de los objetos de la base de datos, y un lenguaje de manipulación de datos (DML), el que garantiza la manipulación o procesamiento de esos objetos.
  Un usuario individual estará generalmente interesado sólo en cierta porción de la base de datos completa. Aún más, la vista de esa porción será generalmente abstracta cuando se compara con la forma en que los datos están físicamente almacenados. El término definido por el comité ANSI/SPARC para una vista de un usuario es vista externa, la cual es el contenido de la base de datos tal y como es vista por un usuario en particular. O sea, para ese usuario, la vista externa es la base de datos.
  En general, una vista externa consiste en múltiples ocurrencias de múltiples tipos de artículos externos. Un artículo externo no es necesariamente igual a un artículo almacenado.
  El sublenguaje de datos del usuario se define en términos de artículos externos; por ejemplo, una operación del DML que permite recuperar artículos, generará una ocurrencia de artículos externos y no una ocurrencia de artículos almacenados.
  Cada vista externa se define mediante un esquema externo, consistente, básicamente, en definiciones de cada uno de los diferentes tipos de artículos externos en esa vista. El esquema externo se escribe usando la porción del DDL del sublenguaje de datos del usuario; además, tiene que existir una definición de la correspondencia entre el esquema externo y el esquema lógico global.


Nivel lógico-global
 El nivel lógico global es un nivel intermedio entre los otros dos.
 La vista lógica es una representación del contenido informativo total de la base de datos. Es una forma abstracta, en comparación con la forma en que los datos están almacenados físicamente. Esta vista puede ser muy diferente de la forma en la que los datos son vistos por un usuario en particular. La vista lógica pretende ser una vista de los datos tal como son, en lugar de cómo los usuarios están forzados a verlos por las restricciones, digamos, de un lenguaje particular o de un determinado hardware que utilicen.
  La vista lógica consiste en múltiples ocurrencias de múltiples tipos de artículos lógicos. Por ejemplo, puede ser una colección de ocurrencias de artículos de departamentos, más una colección de ocurrencia de artículos de empleados, etc. Un artículo lógico no es necesariamente igual a un artículo externo ni a un artículo almacenado.
  La vista lógica se define mediante el esquema lógico que incluye las definiciones de cada uno de los diferentes tipos de artículos lógicos. El esquema lógico se describe usando otro lenguaje de definición de datos: el DDL lógico. Si se desea lograr la independencia de los datos, entonces las definiciones del DDL lógico no deben comprender ninguna consideración sobre la estructura de almacenamiento ni la estrategia de acceso. Ellas tienen que ser definiciones sólo referentes al contenido informativo.
  Si el esquema lógico logra verdaderamente la independencia de los datos, entonces los esquemas externos que se definen sobre el esquema lógico lograrán también, necesariamente, la independencia de los datos.
  La vista lógica es entonces una vista del contenido total de la base de datos y el esquema lógico es una definición de esa vista. Sin embargo, el esquema lógico no es simplemente un conjunto de definiciones como las que se encuentran, por ejemplo, en un programa Pascal. Las definiciones en el esquema lógico deben incluir una gran cantidad de aspectos adicionales, tales como los chequeos de protección y los chequeos de integridad.
  En la mayoría de los sistemas actuales, el esquema lógico es realmente sólo un poco más que la simple unión de todos los esquemas externos individuales, posiblemente con la adición de algunos chequeos simples de protección e integridad. Sin embargo, está claro que los sistemas del futuro soportarán un nivel lógico mucho más sofisticado, que permita también describir la forma en que se usan los datos, como fluyen de un punto a otro, para qué se usan en cada punto, a qué controles son sometidos, etc.


 Nivel interno
 El nivel interno es el más cercano al almacenamiento físico, o sea, es el relacionado con la forma en que los datos están realmente almacenados.
  La vista interna es una representación de bajo nivel de la base de datos completa, que consiste en múltiples ocurrencias de múltiples tipos de artículos internos.
  "Artículo interno" es el término definido por ANSI/SPARC para la construcción que hasta ahora se ha llamado artículo almacenado. La vista interna está entonces aún a un paso del nivel físico, ya que ella no opera en términos de artículos físicos (también llamados páginas o bloques) ni con consideraciones específicas de los equipos, tales como tamaños de sectores o pistas. Básicamente, la vista interna asume un espacio de dirección lineal infinita. Los detalles de cómo se hace corresponder ese espacio con el almacenamiento físico son muy específicos de un sistema, por lo que se omitieron deliberadamente de esta explicación sobre la arquitectura.
  La vista interna se describe mediante el esquema interno, el cual no sólo define los diferentes tipos de artículos almacenados, sino que también especifica los índices que existen, la representación de los campos almacenados, la secuencia física en que están los artículos almacenados, etc. El esquema interno se describe usando otro lenguaje de definición de datos: el DDL interno.


  En el esquema presentado de la arquitectura de un SBD, se observan los niveles de correspondencias, una entre los niveles externo y lógico global, y otra entre los niveles lógico global e interno.
  La correspondencia lógica/interna especifica la forma en que los artículos y campos lógicos se representan en el nivel interno. Si se cambia la estructura de la vista interna, o sea, si se hace un cambio en el esquema interno, entonces la correspondencia lógica/interna tiene también que cambiar en consecuencia, de modo que el esquema lógico permanezca invariable. En otras palabras, los efectos de estos cambios deben ser aislados por debajo del nivel lógico para que se mantenga la independencia de los datos.
  Existe también una correspondencia externo/lógica entre cada vista externa particular y la vista lógica. Las diferencias que pueden existir entre estos dos niveles son similares a las que pueden existir entre las vistas lógica y la interna. Por ejemplo, los campos pueden tener diferente tipos de datos, se pueden cambiar los nombres de artículos y campos, múltiples campos lógicos pueden ser combinados en un único campo externo, etc. Puede existir al mismo tiempo cualquier cantidad de vistas externas; cualquier cantidad de usuarios puede compartir una vista externa dada; las diferentes vistas externas se pueden solapar. Algunos sistemas permiten la definición de una vista externa a partir de otra (mediante una correspondencia externa/externa); esta característica es útil cuando varias vistas externas están estrechamente relacionadas entre sí.

  Por último, en el esquema aparece el administrador de la base de datos, quien es la persona o grupo de personas responsable del control total de todo el sistema. Entre las tareas del administrador de la base de datos está:
  • Decidir el contenido informativo de la base de datos.
  • Decidir la estructura de almacenamiento y la estrategia de acceso.
  • Garantizar el enlace con los usuarios.
  • Definir los chequeos de autorización y procedimientos de validación.
  • Definir la estrategia de reorganización de la base de datos para aumentar la eficiencia del sistema.
  El SGBD interactúa con cada uno de los niveles y las correspondencias entre ellos.

  Espero que la presente entrada haya sido útil al lector. En caso afirmativo, aguardo que este la comente y/o la comparta, por favor.

No hay comentarios:

Publicar un comentario

Deje aquí su comentario, si no puede comentar, pruebe a hacerlo desde otro navegador de red u otro equipo.