indices asociativos
TRANSCRIPT
INDICES ASOCIATIVOSMiguel 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 asociativasO 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 asociativasO 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.
EJEMPLODATO 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 ejemploh= (suma de valores de letras de nombreSucursal)%nb
Desborde de bloquesBloque base100 norte 114 norte 124 norte 200 600 500
Bloque de desborde141
norte
400
Los bloques de desborde aparecen cuando el bloque base est lleno y siguen asignndose mas registros a esa direccin.
ndices asociativosO 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