jueves, 2 de mayo de 2013

estructura de archivos directos

unidad 4


ESTRUCTURA DE ARCHIVOS DIRECTOS

Son aquellos en los que los registros se pueden localizar mediante una dirección. El acceso a los registros es directo.

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

Los archivos directos explotan la capacidad de los discos para acceder directamente a cualquier bloque de dirección conocida. Como en los archivos secuenciales y secuenciales indexados, se requiere un campo clave en cada registro. Sin embargo, aquí no hay concepto de ordenamiento secuencial.


Estructura


1.-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

2.-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.

3.-Transformación de llaves (Hashing): Este método consiste en descomponer la llave 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.

4.-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.


A cada archivo relativo debe definírsele una relación que será utilizada para
obtener una dirección física (o lógica) a partir de un valor llave. Esta relación H es
una función de mapeo y se obtiene mediante métodos de conversión clave dirección o técnicas hashing

técnica de Hashing

En informática , Hashing es un método para resumir o identificar un dato a través de la probabilidad , utilizando una función hash o algoritmo hash. Un hash es el resultado de dicha función o algoritmo.



Una función de hash en funcionamiento 

Una función de hash es una función para sumarizar o identificar probabilísticamente un gran conjunto de información ( dominio ), dando como resultado un conjunto imagen finito generalmente menor (un subconjunto de los números naturales por ejemplo). Varían en los conjunto de partida y de llegada y en cómo afectan a la salida similaridades o patrones de la entrada. Una propiedad fundamental del hashing es que si dos resultados de una misma función son diferentes, entonces las dos entradas que generaron dichos resultados también lo son. 

Son usadas en múltiples aplicaciones, como los arrays asociativos , criptografía , procesamiento de datos y firmas digitales entre otros. Una buena función de hash es una que experimenta pocas colisiones en el conjunto esperado de entrada; es decir que se podrá identificar unívocamente las entradas (ver función inyectiva ). 

Muchos sistemas relacionados con la seguridad informática usan funciones o tablas de hashing . 



Doble Hashing

Consiste en aplicar una segunda función hashing sobre la clave que provoca colisión. El espacio de dirección objetivo del segundo hash puede ser el mismo archivo relativo (direccionamiento abierto) o bien un archivo de desborde separado (separación de desborde).


No hay comentarios:

Publicar un comentario