Introducción a las bases de datos (Parte 7: Funcionamiento de la base de datos)

  El proceso que realiza un sistema de gestión de bases de datos está formado por varias capas que actúan como interfaces entre el usuario y los datos.
  Desde este punto de vista, para llegar a los datos hay que pasar una serie de capas que desde la parte más externa poco a poco van entrando más en la realidad física de la base de datos.
  Por otra parte, se puede decir que, físicamente, las bases de datos se almacenan siguiendo diferentes organizaciones de archivos. Cada una de éstas tiene distintas características de desempeño, sin que ninguna se pueda decir que sea óptima para todas las aplicaciones, sino que se decide emplear una u otra dependiendo de la aplicación.
  Por lo tanto, el funcionamiento de un gestor de bases de datos y, por extensión, de una base de datos, depende, principalmente, del modo en el que permite al usuario interactuar con él y de su modo de almacenar los datos físicamente.

LA ESTRUCTURA MULTICAPA

  El grupo de interfaces que constituyen las capas antes mencionadas son:

Facilidades de usuario
  Son las herramientas que proporciona el gestor de bases de datos a los usuarios para permitir un acceso más sencillo a los datos. Actúan de interfaz entre el usuario y la base de datos, y son el único elemento que maneja el usuario. Permite abstraer la realidad de la base de datos a las usuarias y usuarios, mostrando la información de una forma más humana.

Capa de acceso a datos
  Es aquella que permite comunicar a las aplicaciones de usuario con el diccionario de datos. Es un software (un controlador, en realidad) que se encarga traducir las peticiones del usuario para que lleguen de forma correcta a la base de datos y ésta pueda responder de forma adecuada.

Diccionario de datos
  Se trata del elemento que posee todos los metadatos. Gracias a esta capa las solicitudes de los clientes (que son conceptuales antes de llegar aquí) se traducen en instrucciones que hacen referencia al esquema interno de la base de datos.

Núcleo
  Este elemento es el encargado de traducir todas las instrucciones requeridas y prepararlas para su correcta interpretación por parte del sistema. Realiza la traducción física de las peticiones.

Sistema operativo
  Es una capa externa al programa de sistema de gestión de bases de datos pero es la única capa que realmente accede a los datos en sí. En realidad los gestores de bases de datos no acceden directamente al disco, sino que piden al sistema operativo que lo haga.

  Gracias a estas capas, se produce la comunicación entre un proceso de usuario que desea acceder a los datos y el gestor de bases de datos. Dicho proceso se puede resumir del siguiente modo:
  1.   El proceso lanzado por el usuario llama al gestor de bases de datos indicando la porción de la base de datos que se desea tratar.
  2.   Dicho gestor traduce la llamada a términos del esquema lógico de la base de datos. Accede al esquema lógico comprobando derechos de acceso y la traducción física (normalmente los metadatos se guardan una zona de memoria global y no en el disco).
  3.   El sistema de gestión de bases de datos obtiene el esquema físico.
  4.   El gestor de bases de datos traduce la llamada a los métodos de acceso del sistema operativo que permiten acceder realmente a los datos requeridos.
  5.   El sistema operativo accede a los datos tras traducir las órdenes dadas por el gestor de bases de datos.
  6.   Los datos pasan del disco a una memoria intermedia o buffer. En ese buffer se almacenarán los datos según se vayan recibiendo.
  7.   Los datos pasan del buffer al área de trabajo del usuario (ATU) del proceso del usuario. Los pasos 6 y 7 se repiten hasta que se envíe toda la información al proceso de usuario.
  8.   En el caso de que haya errores en cualquier momento del proceso, el gestor de bases de datos devuelve indicadores en los que manifiesta si ha habido errores o advertencias a tener en cuenta. Esto se indica al área de comunicaciones del proceso de usuario. Si las indicaciones son satisfactorias, los datos de la ATU serán utilizables por el proceso de usuario.

ORGANIZACIÓN FÍSICA DE LOS DATOS

  En el área de datos, la utilización de los archivos se debe a dos causas fundamentales:
  • Manejo de mucha información.
  • Almacenamiento de información permanente.
  Debido a que el trabajo en memoria interna es muy rápido, pero es un recurso relativamente escaso y caro, y la memoria periférica es más barata, aunque más lenta. Además, influye en esto, el hecho de que el contenido de la memoria central se pierde al cesar el fluido eléctrico, lo que hace aconsejable almacenar en soportes externos los grandes volúmenes de información.
  Las operaciones fundamentales que se realizan sobre los archivos pueden situarse en dos grandes grupos:
  1.   Acceso: Se trata de la forma por la cual es posible tener conocimiento de la información contenida en los respectivos registros, o sea, el modo como se pueden leer los registros del archivo, las ocurrencias de estos registros almacenadas en él. Existen dos formas de acceder a un archivo de datos: Secuencial (en la lectura del archivo, es obligatorio que, a continuación del tratamiento del registro de orden n, se traten los de orden n+1, n+2, ... hasta un límite determinado; puede realizarse desde el inicio del archivo o a partir de un registro n); aleatorio [se lee, y consecuentemente se trata, cualquier registro en cualquier orden (a través de la clave o una transformación de ésta); no puede realizarse en periféricos de acceso secuencial].
  2.   Actualización: La mayoría de los archivos deben ser actualizados con el decursar del tiempo para que se ajusten a la realidad. La actualización de un archivo se realiza mediante tres operaciones fundamentales: Alta (se crea un nuevo registro en el archivo); baja (se elimina un registro; puede ser lógica o física); modificación (se cambia alguna información en el registro). Para realizar las actualizaciones es importante validar los datos que se van a actualizar.
  Por otra parte, a pesar  de la controversia al respecto, puede decirse que existen dos modos mayoritariamente aceptados de organizar los archivos del espacio de datos:
  •   Secuencial: Es la forma más sencilla para almacenar los registros de un archivo, uno después de otro, a continuación del otro. Todos los registros se almacenan por su posición: uno es el primero, el siguiente es el segundo y así sucesivamente. Es el modo más viejo de organizar un archivo y fue empleado para las cintas magnéticas desde los inicios de la computación.
  •   Indizada: Los registros almacenados se accesan a través de un índice. La forma básica de un índice incluye una clave de registro y la dirección de almacenamiento para éste. Para encontrar un registro específico, se rastrea primero el índice y, al encontrar la dirección, se accesa directamente el registro. Así, un índice es un archivo auxiliar que se utiliza para accesar los registros de otro archivo (archivo principal o de datos) por el valor de un dato o conjunto de datos, que es la clave (o llave) de indización. Además, a los registros del índice se les llama entradas; cada entrada corresponde a un valor o intervalo de valores de la clave y es el padre cuyos hijos son los registros del archivo principal en los cuales la clave toma el valor, o un valor del intervalo de valores, correspondiente a la entrada en cuestión. Se debe tener en cuenta que para un mismo archivo principal puede haber varios índices, correspondientes a diferentes claves de indización. Si la llave de indización para un archivo índice es una clave primaria, se trata de un índice primario, pero si se trata de algún atributo que no identifica unívocamente cada ocurrencia, se dice que el índice es secundario; en este caso, para un valor de la clave existen, en general, varios registros que tienen ese valor en el atributo correspondiente. En muchos sistemas informativos los índices secundarios son numerosos. Se dice que un índice es denso si tiene una entrada para cada valor de la clave que aparece, por lo menos, en algún registro del archivo principal, lo que no significa que tenga una entrada para cada uno de estos registros. El índice primario es generalmente un índice denso, es decir, contiene todos los valores de la clave primaria.
      Un índice no denso necesita que la clave sea campo de ordenamiento del archivo de datos, pues así es posible acceder a los registros, cuyo valor de la clave no aparece en ninguna entrada, para lo cual se accede al registro apuntado por la entrada con un valor de la clave más próximo por defecto (por ejemplo) al del registro buscado y, luego, se va recorriendo secuencialmente el archivo principal en orden creciente de los valores de la clave, desde aquel registro, hasta encontrar el registro buscado, si existe, o hasta encontrar uno con valor más alto de la clave, en cuyo caso no existe. Este es el caso de la organización secuencial indizada.
  Aguardo que la presente entrada haya sido del gusto del lector; de ser así, espero que la comparta y/o la comente, 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.