martes, 16 de abril de 2013

Indices

Indices
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 oregistro).

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

No hay comentarios:

Publicar un comentario