Archivos directos
La organización directa es aquella que permite un posicionamiento sobre registros específicos al localizar una llave. Lo anterior permite agilizar la localización de un dato en un archivo determinado al no requerirse el procesamiento de los registros contiguos previos.
Existen básicamente tres alternativas para implementar un acceso directo:
Archivo clasificado para búsqueda binaria: Se requiere que el archivo principal se mantenga ordenado respecto a la llave en todo momento. La ventaja de este método reside en la alta velocidad de acceso; su desventaja consiste en el tiempo que debe invertirse para mantener clasificado al archivo en todo momento. Este método se utiliza cuando el tiempo de búsqueda tiene una prioridad extremadamente alta en relación al tiempo de actualización.
Ajuste de llave a esqueleto: Este método se utiliza cuando la llave contiene digitos y opcionalmente caracteres alfabéticos. El algoritmo de asignación consiste en tomar de la llave aquellos caracteres (preferentemente digitos) que presenten mayor variación y utilizarlos como dirección en un esqueleto previamente creado. El esqueleto contendrá la cantidad de registros inicialmente estimados y en forma contigua al área de desborde para los sinónimos resultantes.
El método anterior nos da la oportunidad de seleccionar aprovechamiento del espacio o velocidad de acceso (en forma excluyente). Para mayor velocidad, tamaño de esqueleto grande, con el consecuente desperdicio de espacio.
La velocidad de acceso queda determinada por la longitud de las cadenas de búsqueda, que a su vez se obtiene de las posibles combinaciones existentes para los caracteres descartados en la llave original (considerando solo los caracteres variados).
Una implementacion de este método que puede darse para las eliminaciones consiste en la baja lógica con procesos posteriores de reacomodo si se desea obtener una velocidad adecuada en la operacion del sistema.
Si no es relevante la rapidez al realizar una baja, se procederá a sustituir el registro eliminado por aquel que se encuentre al final de la cadena de búsqueda o incluso al recorrer los registros de esta cadena; lo anterior según se requiera mantener o no el orden de llegada de los registros.
Transformación de llaves (Hashing): Este método consiste en descomponer la lave en múltiples fragmentos y mediante la aplicación de diverso algoritmos, dar origen a un numero en un intervalo determinado y utilizarlo como dirección de registro en el esqueleto.
Existe otro modelo de acceso directo que es considerado como un caso especial:
Relación directa – Llave dirección: Este método es aplicable para sistemas donde los elementos a registrar reciben un folio consecutivo como llave. La llave del registro se hace corresponder con la dirección física de este, por lo que la velocidad de acceso es extremadamente alta.
Esta implementaron no permite eliminación física; cuando un registro es inhabilitado, se le aplica una marca lógica que podrá ser removida en caso de requerirse la reactivación posterior de tal registro.
El inconveniente mas delicado es la ocupación innecesaria de espacio para aquellos registros eliminados lógicamente que no habrán de ser reactivados.