Академический Документы
Профессиональный Документы
Культура Документы
La indexación es una técnica que se ha utilizado desde hace mucho tiempo para optimizar
los accesos a los registros de ficheros. En sí no es un tipo de fichero, y el concepto de
fichero indexado se refiere a un fichero secuencial que contiene la indexación de otro
fichero. Para hacernos una idea más aproximada de ésto, imaginemos un fichero
secuencial de, por ejemplo, una agenda de clientes. La información puede ser basta y el
tener ordenada la información o buscar un determinado cliente puede ser harto lento y
costoso. Para ello, creamos un "fichero indexado", que contendrá únicamente la
información clave por la que buscar u ordenar, en nuestro caso por apellidos y nombre.
Así pues, cada fila de este fichero contendrá la concatenación de los apellidos más los
nombres, y un segundo campo que contiene el número de fila al que referencia en el
fichero secuencial original (a modo de índice, tal y como su nombre sugiere). Este fichero,
antes de escribirse debe ser procesado en memoria (en un array dinámico, por ejemplo)
en donde, mediante un algorritmo de ordenación (burbuja, dispersación, shell, quicksort)
se ordenan las filas que conformarán el orden del fichero original. Cuando se vaya a tratar
el fichero original, se carga el fichero indexado en memoria (mediando un vector o una
hash). Se operará la búsqueda en este información que hay en memoria (al tener sólo la
información clave, ocupa mucho menos memoria, es más rápido (al estar en memoria) y
ya está ordenado). Una vez localizado el dato, se recoge el campo del número de registro.
Se abre el fichero original como aleatorio y se accede directamente a dicho registro.
Existe un índice con cada una de las posiciones direccionables, que almacena la dirección
de la posición y el valor de la clave; en esencia, el índice contiene la clave del ultimo
registro y la dirección de acceso al primer registro del bloque.
Un archivo en organización secuencial indexada consta de las siguientes partes:
Rápido acceso
El sistema de gestión de archivos se encarga de relacionar la posición de cada
registro con su contenido mediante la tabla de índices.
Desaprovechamiento del espacio, por quedar huecos intermedios cada vez que se
eliminan.
Se necesita espacio adicional para el área de índices.
Los soportes que se utilizan para esta organización son los que permiten el acceso directo
como los discos magnéticos. Los soportes de acceso secuencial no pueden utilizarse, ya
que no disponen de direcciones para sus posiciones de almacenamiento.
El campo clave-secundaria sobre el cual se crea un índice se llama clave inversa o clave
indexada.
Se dice que una clave inversa esta parcialmente indexada si solo algunos de sus valores
claves están incluidos en el índice valor-clave. Los valores clave que están indexados son
aquellos usados en la condiciones de búsqueda.
Un índice parcialmente indexado se llama índice disperso. Para un índice con una gran
cantidad de elementos, la búsqueda secuencial sobre el índice no es muy eficiente. Por
esto, un índice se organiza generalmente como una estructura de varios niveles como es
el caso de la estructura multinivel de índice principal para los archivos secuenciales
indexados.
Cada vez que se inserta, borra o actualiza un registro, las entradas afectadas de un índice
deben ser modificadas para que así, el índice pueda proporcionar las trayectorias de
datos correctas.
Para poder estructurar esta organización (secuencial indexada) podemos utilizar uno de
los métodos más comunes que es el de construir el índice como un árbol de valores llave.
Otro método común es de construir el índice basándose en la disposición física de los
datos almacenados.
Para poder instrumentar esta organización existen algunas técnicas como lo son:
Estructuras de árbol B +:
Es una de las técnicas más populares para instrumentar esta organización. El árbol B+
consta de dos partes: la parte índice que consta de los nodos interiores y el conjunto
secuencia que consta de las hojas del árbol.
La parte índice se usa para direccionar la posición de algún registro en particular, mientras
que el acceder secuencialmente a las hojas (conjunto secuencia) podemos tener acceso a
todo el archivo en general.
Ahora bien los valores de la llave dentro del índice solo existen con el propósito de dirigir
el acceso al conjunto secuencia.
Tras la decisión del tipo de organización que ha de tener el archivo y los métodos de
acceso que se van a aplicar para su manipulación, es preciso considerar todas las posibles
operaciones que conciernen a los registros de un archivo.
Creación
Apertura
Consulta
Actualización (altas, bajas, modificación, consulta)
Clasificación
Reorganización
Destrucción, (borrado)
Reunión, fusión
Rotura, estallido
Creación de un archivo.- Es la primera operación que sufrirá el archivo de datos. Implica la
elección de un entorno descriptivo que permita un ágil, rápido y eficaz tratamiento del
archivo. Para utilizar un archivo, éste tiene que existir, es decir, las informaciones de este
archivo tienen que haber sido almacenadas sobre un soporte y ser utilizables.