Está en la página 1de 9

INDICES ASOCIATIVOS

Miguel Orquera

Funciones asociativas (hash)


O Una funcin asociativa es aquella que se

aplica a una clave de bsqueda, obteniendo como resultado una direccin en disco donde almacenar y encontrar el registro correspondiente.
h(k)=d - h es la funcin asociativa - K es la clave de bsqueda de algn registro - d es la direccin de disco en donde est el registro

Organizacin de archivos con funciones asociativas


O En este caso la funcin asociativa

organiza los registros en disco. Para cada clave de bsqueda la funcin nos da su ubicacin. O Ejemplos de funciones asociativas simples:
O Utilizando como clave de bsqueda al

atributo nombreSucursal de la tabla Cuenta, h=posicinLetraInicial; quiere decir que a los registros con nombreSucursal inicia con A se las lone en el bloque 1, las que inician con B en el bloque 2, etc.

Organizacin de archivos con funciones asociativas


O Clculo del nmero de bloques

necesarios: nb=(nr/fr) * 1.2 Donde: nb=nmero de bloques nr=nmero de registros de la tabla fr=nmero de registros por bloque Se aumenta un 20 % mas del necesario por seguridad, para evitar desbordes.

EJEMPLO
DATO S:
nro de registros por bloque=3 nro de registros de la tabla=14 TABLA CUENTA nombreSucursal norte sur sur oeste este norte centro centro sur norte oeste sur centro norte

nroCuenta 100 102 105 109 111 114 116 119 121 124 127 138 130 141

saldo 200 300 500 200 100 600 600 300 100 500 300 200 100 400

letra Nro A 1 B 2 C 3 D 4 E 5 F 6 G 7 H 8 I 9 J 10 K 11 L 12 M 13 N 14 O 15 P 16 Q 17 R 18 S 19 T 20 U 21 V 22 W 23 X 24 Y 25 Z 26

Funcin asociativa para el ejemplo


h= (suma de valores de letras de nombreSucursal)%nb

Desborde de bloques
Bloque base
100 norte 114 norte 124 norte 200 600 500

Bloque de desborde
141

norte

400

Los bloques de desborde aparecen cuando el bloque base est lleno y siguen asignndose mas registros a esa direccin.

ndices asociativos
O Un ndice asociativo se crea sobre una

tabla secuencial indexada. En los bloques de ndices se van asignando los valores de clave de bsqueda utilizando la funcin asociativa, con el puntero apuntando al bloque donde est el registro correspondiente.

Ejemplo de ndice asociativo

También podría gustarte