You are on page 1of 10

Organizaciones Directas

Costos de Recuperacin Unidades de Organizacin Funciones de Dispersin Organizaciones Estticas Primitivas y Organizacin de Colisiones y Desbordes Organizaciones Dinmicas - Versiones de Dispersin Extensible

Archivo con R registros en bloques con capacidad para B registros con densidad de carga C
o Organizacin Secuencial (p.e. C=0,85 para registros de longitud variable) Registros desordenados: techo((R/(C*B))/2) Registros ordenados con bsqueda por aproximacin lineal: desde 3 (lectura de bloques extremos y el de aproximacin) Registros ordenados con bsqueda binaria: techo(log2(R/(C*B))) o Organizacin B (en el peor de los casos C=0,5): 1+piso(logC*B+1(C*R+1)) o Organizacin B+ (en el peor de los casos C=0,5): 1+piso(logC*I+1(C*(R/(C*B))+1))+1 con I capac. nodos internos o Directa: 1 (dispersin esttica) o 2 (extensible)

Costos de Recuperacin

Para archivos con registros de longitud fija pueden tener capacidad para uno o muchos registros
o Un registro: ranura (slot) o Muchos registros: bloque o cubo (bucket)

Unidades de Organizacin

Para archivos con registros de longitud variable deben tener capacidad para muchos registros: cubos Las ranuras deben tener un campo de control que indique si estn vacas, ocupadas o con contenido eliminado Los cubos deben tener un campo de control que indique la cantidad de registros que contiene, si son para registros de longitud fija, o el espacio libre que le queda, si son para registros de longitud variable

Transforman al identificador de un registro a una direccin de registro (slo registros de longitud fija) o a una direccin de cubo (registros de longitud fija o variable) Tienen como parmetro la cantidad total de registros o de bloques del archivo Pueden transformar varios identificadores a una misma direccin: sinnimos Para identificadores alfanumricos deben transformar los caracteres a un nmero, y luego calcular el resto de dividir al nmero entre la cantidad total de unidades del archivo Para identificadores numricos pueden aplicar una transformacin para aleatorizar resultados (plegado y suma de dgitos, corrimiento y suma de dgitos, dgitos centrales del cuadrado, ) y luego calcular el resto de la divisin entre la cantidad total de unidades del archivo
4

Funciones de Dispersin

Primitivas de Organizaciones Estticas

Creacin: se calcula la cantidad de unidades de organizacin (ranuras o cubos) necesarias para un 20 o 30% ms de la mxima cantidad de registros que podra tener el archivo y se inicializan; se puede cargar inicialmente el archivo con una primitiva que no valide unicidad de registros. Actualizacin de Registros: insercin con validacin de unicidad, modificacin y supresin campo de control para no recorrer todo el archivo al validar unicidad (ranuras vacas vs ranuras borradas e indicadores de desborde de cubos); excepciones: insercin en ranura ocupada (colisin), o en cubo completo (desborde). De Recuperacin de Registros: consulta o recuperacin unitaria de registros, y reporte o recuperacin comprensiva de todos los registros (desordenados) por recorrido secuencial. Mantenimiento: reestructuraciones por desorganizacin, y respaldo con reorganizacin a archivos secuenciales.
5

Organizacin de Colisiones y Desbordes en Organizaciones Estticas


En rea de almacenamiento nica
o Saturacin lineal: bsqueda secuencial circular a partir de la ranura o cubo siguiente; las ranuras pueden encadenarse, pero las cadenas deben comenzar en direccin original o Dispersin doble: segunda funcin determina longitud de saltos para buscar ranuras o cubos donde almacenar registro

En rea exclusiva de colisiones o desbordes


o Unidades de saturacin lineal al final del archivo (se agregan al archivo segn se necesite) o Unidades de saturacin lineal intercaladas en el archivo (se inicializan al crear el archivo) o Encadenamiento de unidades para sinnimos de una unidad original, en otro archivo (unidades de menor capacidad)

Dispersin Extensible
La funcin de dispersin se usa para acceder a una tabla (archivo) de direcciones de cubos Cada vez que se desborda un cubo del archivo, se agrega uno nuevo y se balancea la carga del desbordado con el nuevo con la funcin de dispersin De tanto en tanto, cuando se agrega un cubo al archivo la tabla de direcciones se duplica Los cubos requieren campos de control para indicar la cantidad de registros (de longitud fija) o la cantidad de bytes libres (registros de longitud variable), y para indicar el tamao de la tabla de direcciones al agregarse o balancearse por ltima vez el cubo
7

Primitivas de Dispersin Etensible

Creacin: se calcula la cantidad de cubos necesarias para un 20 o 30% ms de la mxima cantidad de registros con los que se va a cargar inicialmente el archivo y se inicializa al tabla de direcciones para esa cantidad de cubos; se carga inicialmente el archivo con una primitiva que no valide unicidad de registros. Actualizacin de Registros: insercin con validacin de unicidad, modificacin y supresin se localiza el

cubo donde insertar o encontrar el registro, accediendo a la tabla de direcciones con la funcin de dispersin.

De Recuperacin de Registros: consulta o recuperacin unitaria de registros, y reporte o recuperacin comprensiva de todos los registros (desordenados) por recorrido secuencial del archivo de cubos. Mantenimiento: respaldo con reorganizacin a archivo secuencial.
8

Versiones de Dispersin Extensible


De Bits Sufijos o Modular: la funcin de dispersin es el resto de la divisin entre el tamao de la tabla cada cubo aparece direccionado ta/tc veces en la tabla cada tc registros, con ta tamao actual de la tabla y tc tamao de la tabla al agregarse o balancearse por ltima vez el cubo De Bits Prefijos: la funcin de dispersin es el nmero conformado por los log2(tamao de la tabla) bits ms significativos del identificador cada cubo aparece direccionado ta/tc veces en la tabla en direcciones consecutivas
9

De Bits Sufijos o Modular


Cubos con Capacidad para 6 Registros td tamao de dispersin del cubo Tabla: 2 0 4 3 2 0 1 5 Bloques Libres: Claves de registros en Cubos: 0: td 4, 63893 35641 51245 1: td 8, 34030 36150 40710 2: td 4, 59256 14588 55256 52980 3: td 8, 34163 31467 25067 35235 58043 4: td 8, 28378 23306 29002 16842 46698 51114 5: td 8, 35679 56255 55687 60567

De Bits Prefijos
Cubos con Capacidad para 2 Registros td tamao de dispersin del cubo Tabla: 0 0 0 0 1 2 3 3 Bloques Libres: Claves (en binario) de registros en Cubos: 0: td 2, 0000 0010 1: td 8, 1000 1001 2: td 8, 1010 3: td 4, 1100 1110

10

You might also like