Saltar la navegación

2.8.- Otros (secuenciales indexados, hash.).

Varios documentos y carpetas de diferentes colores, vistos de perfil, archivados.
Stockbyte (CC BY-NC-SA)


Existen otros tipos de organización de ficheros: ficheros secuenciales indexados y ficheros de acceso calculado.

A continuación se detallan las características de cada uno de ellos.

Ficheros Secuenciales Indexados.

También llamados parcialmente indexados, al igual que en los ficheros indexados existe una zona de índices y otra zona de registros de datos, pero esta última se encuentra dividida en segmentos (bloques de registros) ordenados.

En la tabla de índices, cada fila hace referencia a cada uno de los segmentos. La clave corresponde al último registro y el índice apunta al registro inicial. Una vez que se accede al primer registro del segmento, dentro de él se localiza (de forma secuencial) el registro buscado.

Esta organización es muy utilizada, tanto para procesos en los que intervienen pocos registros como para aquellos en los que se maneja el fichero completo.

Las principales características son:

  • Permite el acceso secuencial. Esto es muy interesante cuando la tasa de actividad es alta. En el acceso secuencial, además, los registros se leen ordenados por el campo clave.
  • Permite el acceso directo a los registros. Realmente emula el acceso directo, empleando para ello las tablas de índices. Primero busca la clave en el área de índices y luego va a leer al área de datos en la dirección que le indica la tabla.
  • Se pueden actualizar los registros en el mismo fichero, sin necesidad de crear un fichero nuevo de copia en el proceso de actualización.
  • Ocupa mas espacio en el disco que los ficheros secuenciales, debido al uso del área de índices.
  • Solo se puede utilizar soportes direccionables.
  • Obliga a una inversión económica mayor, por la necesidad de programas y, a veces, hardware mas sofisticado.
Ficheros de Acceso Calculado o Hash

Cuando utilizamos ficheros indexados es necesario siempre tener que consultar una tabla para obtener la dirección de almacenamiento a partir de la clave. La técnica del acceso calculado o hash, permite accesos más rápidos, ya que en lugar de consultar una tabla, se utiliza una transformación o función matemática (función de hashing) conocida, que a partir de la clave genera la dirección de cada registro del archivo. Si la clave es alfanumérica, deberá previamente ser transformada en un número.

El mayor problema que presenta este tipo de ficheros es que a partir de diferentes claves se obtenga la misma dirección al aplicar la función matemática o transformación. A este problema se le denomina colisión, y las claves que generan la misma dirección se conocen por sinónimos. Para resolver este problema se aplican diferentes métodos, como tener un bloque de excedentes o zona de sinónimos, o crear un archivo de sinónimos, etc.

Para llevar a cabo la transformación existen multitud de métodos, siendo algunos:

  • Módulo: La dirección será igual al resto de la división entera entre la clave y el número de registros.
  • Extracción: La dirección será igual a una parte de las cifras que se extraen de la clave.

Una buena transformación o función de hash, será aquella que produzca el menor número de colisiones. En este caso hay que buscar una función, a ser posible biunívoca, que relacione los posibles valores de la clave con el conjunto de números correlativos de dirección. Esta función consistirá en realizar una serie de cálculos matemáticos con el valor de la clave hasta obtener un número entre 1 y n, siendo n el número de direcciones que tiene el fichero.

Una correspondencia biunívoca, o correspondencia uno a uno, es simplemente una correspondencia unívoca cuya correspondencia inversa también es unívoca. En otras palabras, cada elemento del primer conjunto se corresponde con solo un elemento del segundo conjunto, y cada elemento del segundo conjunto se corresponde con solo un elemento del primer conjunto.

Una correspondencia biunívoca, o correspondencia uno a uno, es simplemente una correspondencia unívoca cuya correspondencia inversa también es unívoca. En otras palabras, cada elemento del primer conjunto se corresponde con solo un elemento del segundo conjunto, y cada elemento del segundo conjunto se corresponde con solo un elemento del primer conjunto.

Autoevaluación

Pregunta

En un fichero con acceso calculado:

Respuestas

Se utiliza la dirección como clave.

Hay una tabla en la que está cada clave con la dirección del registro correspondiente.

La dirección se obtiene a partir de la clave mediante un algoritmo.

Retroalimentación