archivos indexados
DESCRIPTION
guia para el metodo de indexado en archivosTRANSCRIPT
5/12/2018 ARCHIVOS INDEXADOS - slidepdf.com
http://slidepdf.com/reader/full/archivos-indexados 1/9
5/12/2018 ARCHIVOS INDEXADOS - slidepdf.com
http://slidepdf.com/reader/full/archivos-indexados 2/9
METODO INDEXADO DE ARCHIVOS
ORIGENES DE LA CREACION DEL METODO
Existen el método de organización de archivos llamado Archivos Secuencial es la forma
más simple de almacenar y recuperar registros de un archivo. En un archivo secuencial, sealmacenan los registros uno tras otro. El primer registro almacenado se coloca al principio
del archivo. El segundo se almacena inmediatamente después (no existe posición sin uso),
el tercero después del segundo… este orden nunca cambia en la organización secuencial.
Para eso los registros están organizados en forma de una lista y recuperarlos y procesarlos
uno por uno de principio a fin.
Fig. 1. Gráfico de los registros organizados en forma secuencial
Pero surge una serie de inconveniente como: muchas consultas hacen referencia sólo a
una pequeña parte de los datos. Por ejemplo: “Encontrar todos los empleados del
departamento de marketing” hace referencia solo a una pequeña fracción de los datos en
la tabla empleado. Es muy ineficiente que el sistema deba recorrer todos los registros e ircomprobando el código del departamento de cada empleado antes de dar la respuesta. Lo
ideal sería que el sistema pudiera localizar directamente estos registros. Otro
inconveniente es el que ocurre a la hora de buscar información:
Si el archivo no está ordenado el único método de búsqueda posible es secuencial,
lo cual no resulta ni eficiente ni impracticable en muchos casos.
Si el archivo está ordenado puede aplicarse una búsqueda binaria, pero en
cualquier caso puede resultar costosa, y si el fichero recibe muchas altas y bajas no
resulta factible mantenerlo ordenado
Y de igual manera para ordenar archivos no resulta eficiente, además de no ser factible enmuchos casos se necesitarían del orden de O (nlogn) accesos a disco. Pasar los datos de
disco a memoria para ser ordenados es impracticable si el archivo es excesivamente
grande.
Para aumentar la eficiencia de acceso se diseñan estructuras adicionales asociadas a los
archivos que mantienen la información es así como surge el método indexado
5/12/2018 ARCHIVOS INDEXADOS - slidepdf.com
http://slidepdf.com/reader/full/archivos-indexados 3/9
INTRODUCCION
INDIZAR, INDICE seria la correcta traducción la palabra INDEXAR. Las últimas páginas de
un libro suelen contener un índice, es decir, una tabla que contiene una lista de temas
(llaves) y números de página en donde pueden encontrarse esos temas (campos de
referencia).
Fig. 2. Ejemplo de índices
Un índice para un archivo del sistema funciona como el índice de este libro. Si se va a
buscar un tema (especificado por una palabra o una frase) en este libro, se puede buscar
en el índice al final del libro, encontrar las páginas en las que aparece y después leer esas
páginas para encontrar la información que estamos buscando.
Las palabras de índice están ordenadas, lo que hace fácil la búsqueda del término que se
esté buscando. Además, el índice es mucho más pequeño que el libro, con lo que sereduce aún más el esfuerzo necesario para encontrar las palabras en cuestión.
Por lo tanto para trabajar eficientemente con archivos se hace necesario el manejo deíndices y de esa manera acceder directamente e eficientemente a los datos de un archivo.
5/12/2018 ARCHIVOS INDEXADOS - slidepdf.com
http://slidepdf.com/reader/full/archivos-indexados 4/9
CONTENIDO
ARCHIVOS INDEXADOS
Es la aplicación de incluir índices en el almacenamiento de los archivos; de esta forma nos
será más fácil buscar algún registro sin necesidad de ver todo el archivo.
Un índice en un archivo consiste en un listado de los valores del campo clave que ocurren
en el archivo, junto con la posición de registro correspondiente en el almacenamiento
masivo.
Los índices apoyan las aplicaciones que accedan selectivamente registros individuales, en
lugar de buscar a través de toda la colección de registros en secuencia. Un campo ( o un
grupo de campos) es utilizado como campo de índice. Por ejemplo, en una aplicación
bancaria, podría existir un archivo de registros que describiesen a las sucursales. Por lo
que sería adecuado indexar el archivo en base al nombre de la sucursal, para proporcionar
información de una sucursal en particular a través de consulta interactiva.
Entonces en el desarrollo del método indexado el acceso a un archivo se lleva a cabogracias a la creación y mantenimiento de dos archivos. Archivo de índice y archivo dedatos.
Fig. 3. Archivo de índices (i.ind) y Archivos de datos (i.txt)
El archivo de índice es conveniente sea de organización secuencial, o por lo menos con susregistros colocados de forma secuencial. Estos registros deben contener los campos clavey dirección el cual debe estar ordenado.
El archivo de datos debe tener organización directa y sus registros contendrán los datos o
información de las entidades.
5/12/2018 ARCHIVOS INDEXADOS - slidepdf.com
http://slidepdf.com/reader/full/archivos-indexados 5/9
FUNCIONAMIENTO DEL METODO INDEXADO
El método de indexado funciona de la siguiente manera
1. Buscar la clave o llave en el archivo de índices, a través de una búsqueda binaria
reduciendo así la complejidad que la que tenía el método secuencial, y encontrarel puntero la posición de esta llave en el archivo de datos
2. Aplicar un acceso directo al archivo de datos y leer el registro de este archivo y
reportar los datos.
Ejemplo: dado el archivo de la Fig3. Reportar el puntaje de Bertha.
a) Buscamos en el archivos de índices a Bertha
Fig. 4. Búsqueda de Bertha en el archivo de índices
Nos dice que Bertha se encuentra en registro número 2 del archivo de datos
b) Accedemos directamente al registro Bertha en el archivo de datos
Fig. 5 Acceso directo al registro de Bertha en el archivo de datos
Y automáticamente como leímos el registro de Bertha, obtendremos su puntaje y
lo reportaremos
5/12/2018 ARCHIVOS INDEXADOS - slidepdf.com
http://slidepdf.com/reader/full/archivos-indexados 6/9
* Índice: el dominio del índice debe ser un conjunto disjuntos, es decir valores únicos
(índice primario).
OPERACIONES DE MANTENIMIENTO DE UN ARCHIVO INDEXADO
El manejo de índices en este método permite realizar una serie de aplicaciones yoperaciones sobre el por ejemplo:
Consultar
Búsqueda
Inserción
Modificar
Eliminación
Agregar
Pero el mantenimiento de un archivo con entradas secuenciales acoplado a un índice
requiere el desarrollo de procedimientos para el manejo de varias tareas diferente. Junto
con el algoritmo mostrado en la Fig.4 y Fig.5, se usan otros procedimientos, mencionados
anteriormente, para encontrar datos por medio del índice que incluyen básicamente lo
siguiente:
1) Crear los archivos vacíos originales de índices y datos
Fig. 6. Creación de dos archivos vacíos
2) Cargar el archivo de índices en la memoria antes de usarlo, es decir crear un buffer
de memoria y copiar en el buffer de esta manera manejaremos nuestro buffer y
tendremos más efectividad por la velocidad que tiene la memoria RAM
Fig.7. Creación de Buffer en RAM (con contenido del archivo i.ind)
5/12/2018 ARCHIVOS INDEXADOS - slidepdf.com
http://slidepdf.com/reader/full/archivos-indexados 7/9
3) Realizar las modificaciones, eliminaciones, agregaciones del método indexado
Fig. 8. Inserción de registros al archivo de datos y ordenación del buffer a cada
inserción
4) Reescribir el archivo de índices copiado de la memoria o del buffer creado
Fig. 9. Copiar buffer al archivo de índices
5/12/2018 ARCHIVOS INDEXADOS - slidepdf.com
http://slidepdf.com/reader/full/archivos-indexados 8/9
ALGORTIMO CREACION DE UN INDICE o REINDEXAR
Para crear un nuevo índice seguiremos los siguientes pasos:
1. Recorrer el archivo de datos secuencialmente e ir extrayendo de cada resgitro el
campo clave2. Crear la dupla (clave, dirección) siendo dirección la dirección física del archivo
donde se encuentra en registro con dicha clave
3. Insertar dicha dupla en el índice en memoria
4. En este momento es conveniente guardar el índice en archivo para mantener la
integridad del sitema.se hace un recorrido secuencial del índice y se guarda la
dupla (clave, dirección) en el fichero de índices.
ALGORITMO PARA CARGAR INDICE EN MEMORIA
Recorrer el archivo de índices secuencialmente con las duplas (clave, dirección) einsertarlos directamente en el índice de memoria o también buffer.
ALGORITMO PARA GUARDA EL INDICE AL ARCHIVO
1. Salvar el índice de memoria al archivo de índices antes de terminar la aplicación
2. El archivo de datos siempre permanece actualizado pero el fichero de índices
puede estar corrupto si no se ha salvado correctamente debido a una interrupción
inesperada de la aplicación. Para resolver este problema puede marcarse el
archivo índice con alguna etiqueta cuando este se modifica en memoria. Si el
sistema falla y se encuentra dicha marca en el archivo índice, se sabe que hay queregenerar todo el índice a partir del archivo de datos o mejor dicho reindexar.
ALGORITMO PARA AÑADIR NUEVO REGISTRO AL ARCHIVO
1. Se extrae la clave del registro a insertar
2. Se busca una posición válida para insertar el registro en archivo de datos y se
inserta en registro dicha posición
3. Se inserta la dupla (clave, dirección) en el índice de memoria o en el buffer
ALGORITMO PARA ELIMINAR UN REGISTRO DELL ARCHIVO
1. Se busca la clave del dato a borrar en el índice, para conocer su localización en el
archivo de datos
2. Según sus características y disposición de los datos en archivo se utilizara un
método de borrado u otro.
3. Se elimina en memoria la dupla (clave, dirección) del índice.
5/12/2018 ARCHIVOS INDEXADOS - slidepdf.com
http://slidepdf.com/reader/full/archivos-indexados 9/9
En sistemas de información no se puede reemplazar registros eliminados porque
de estar eliminados pierde información.
ALGORITMO PARA ACTUALIZAR UN REGISTRO DEL ARCHIVO
La actualización de registros entra dos categorías
La actualización cambia el valor del campo de llave o el índice y puede traer
consigo el reacomodo del archivo de índices, así como del de datos.
Se implementa a base de realizar una operación de borrado o eliminación, seguida
de una operación de inserción del registro modificado
La actualización no afecta el campo de llave o índice y no requiere el reacomodo
del archivo de índices pero si el de datos.
Según el tipo de registros el nuevo registro se ubicara o no en la misma posición.
Dependiendo de esto se realizara una simple modificación o una operación de
borrado/insertado.
VENTAJAS
• Búsquedas más rápidas gracias a la utilización de un índice
• Se pueden actualizar los registros en el mismo fichero, no hay que crear un fichero
nuevo para el proceso de actualización.
• La organización indexada es conveniente para archivos con mediana volatilidad,
actividad variable y tamaño relativamente estable.
DESVENTAJAS
• Ocupa más espacio en el disco que los archivos secuenciales, debido al uso del
área de índices.
• Aumenta el tiempo de acceso a los registros
• Solo se puede grabar en soportes direccionales.
• Inversión económica mayor debido a su mantenimiento.
• Los registros deben ser de longitud fija.
• El archivo debe estar separado por un dispositivo de acceso aleatorio; no se puede
utilizar en cintas magnéticas.