Está en la página 1de 12

Almacenamiento 

y Recuperación de la 
Información

Técnicas de Indexación
2do Semestre 2005
Wenceslao Palma M. <wpalma@inf.utfsm.cl>
www.inf.utfsm.cl/~wpalma/ari
Un índice es un archivo usado para agilizar la recuperación de los
registros.

Es redundante puesto que la información que almacena se encuentra en


el archivo al cual indexa.

La ventaja, sin duda, viene por la vía de recuperar los registros de


manera más rápida.

Tipos de índices

Existen diversos criterios para identificar los distintos tipos de índices,


algunos de éstos son:

Campo de indexación: según el campo usado para construir el índice, éste


se llamará primario, de grupos o secundario.

a) índice primario (principal) : se construye sobre el campo clave de


ordenamiento de un archivo ordenado de registros.

b) índice agrupado (clusterizado): se construye sobre un campo de


ordenamiento que abarca varios registros con el mismo valor, dentro
de un archivo ordenado de registros.
c) índice secundario: se construye sobre un campo que no se utiliza
para ordenar el archivo.

Número de referencias: si el índice tiene una entrada por cada registro del
archivo se denomina denso, en caso contrario, dicho índice se llama no
denso o disperso.

Tipo de referencias: si la entrada en el índice contiene un puntero físico al


área de datos, es decir, un puntero que indica la dirección física de un
registro en el disco, el índice se llama físico.

Estructura de las referencias: las referencias al área de datos se pueden


estructurar como;
a) entrada de largo fijo, con un puntero al área de datos (bloque o
registro).

b) registros de largo variable en el índice, con un campo repetitivo


que permita almacenar un puntero a cada bloque de disco que
contiene un registro. Este esquema se llama archivo o lista
invertida.

c) mantener entradas en el índice de largo fijo y tener una única


entrada por cada valor del campo de indexación, pero creando un
nivel extra de indirección para manipular los múltiples punteros.
d) entradas en el índice de largo fijo y tener un bitmap asociado a
cada una de ellas, el cual tenga un bit por cada bloque del archivo
de datos; el bitmap guarda un valor 1 en los bits de los bloques que
contiene un registro con el valor de la entrada, y un valor 0 en caso
contrario.
Indices ordenados

Indice primario: construido sobre un campo que a su vez se utiliza


para ordenar el archivo de datos. Características:
● Archivo ordenado con registros de largo fijo.

● Cada entrada del índice tiene 2 campos:

(1) Uno del mismo tipo del campo clave.


(2) Un puntero a bloque de disco.
● El número de entradas en el índice es igual al número de

bloques de disco.
● índice no denso.

● ocupa menos bloques que el área de datos, ya que por cada

bloque de datos tiene sólo una entrada en el índice y además


cada entrada es más pequeña que un registro.
Apellido Rut ... ...

Bloque 1
abarca
acuña
.....
adams

abarca
amestica

Bloque 2
amestica

wright

.......

Bloque n
wright
Operaciones

Búsqueda: binaria si se realiza sobre el campo de indexación. En otro


caso, lineal.

Inserción: considera corrimientos en el archivo de datos y cambios en


las entradas del índice.

Eliminación: marcas de borrado.


Suponer un disco con bloques físicos de 1KB y punteros a bloque de 6 bytes.
Sobre aquél se desea almacenar un archivo de 80000 registros, cada uno de los
cuales tiene un tamaño de 120 bytes.
Cuantos accesos a disco se necesitan para alcanzar un regsitro si se contruye un
índice promario sobre la clave (9 bytes)de los registros.?

Solución:
archivo de datos

factor de bloqueo: 1024/120 = 8 [reg/bloque]

bloques en el archivo: 80000/8 = 10000 [bloques]

índice primario

entrada en el indice: 9+6 = 15 [bytes]

factor de bloqueo: 1024/15= 68 [entradas/bloque]

cantidad de bloques: 10000/68= 148 [bloques]

accesos

b. binaria en el índice + lineal en el bloque= log2(148)+1=9


Indice de grupos (clusterizado):

Características:

● archivo de datos ordenado, el campo de ordenamiento


presenta repeticiones.
● cada entrada en el índice tiene dos campos:
●un campo del mismo tipo del campo de

ordenamiento.
●puntero a bloque de disco.

● una entrada en el índice para cada valor distinto del


campo de ordenamiento.
nro depto
1
1
.....
2
1 2
2
2
3
3
.... 3
....
...........
Indice Secundario:

Características:
●Cada entrada en el índice posee dos campos:

●uno del mismo tipo de algún campo no ordenado del

archivo de datos.
●un puntero a bloque de disco.

●Si el campo de indexación es clave, entonces se dice

que el índice es denso.


10
2
1 7
2
4
3
4
5 6
6 1
8
7 5
8
9
10
11
.... 9
3
11
Se denomina archivo totalmente invertido a aquel que tiene un índice
secundario sobre cada uno de sus campos. Debido a que todos los índices son
secundario las inserciones se realizan al final ( el archivo es del tipo secuencial
desordenado).
Indices Multinivel

permiten reducir la parte del índice que se requiere acceder en un valor


equivalente al factor de bloqueo del índice.
La principal desventaja es su naturaleza estática, es preferible usar un índice
multinivel dinámico (árbol B/B+)

10
2
1 7
2
4
3
4
1 5 6
7 6 1
8
7 5
8
9
10
11
.... 9
3
11

También podría gustarte