archivos indexados

9
  

Upload: samuel-marquez-zavaleta

Post on 12-Jul-2015

4.376 views

Category:

Documents


0 download

DESCRIPTION

guia para el metodo de indexado en archivos

TRANSCRIPT

Page 1: ARCHIVOS INDEXADOS

5/12/2018 ARCHIVOS INDEXADOS - slidepdf.com

http://slidepdf.com/reader/full/archivos-indexados 1/9

 

Page 2: ARCHIVOS INDEXADOS

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

Page 3: ARCHIVOS INDEXADOS

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.

Page 4: ARCHIVOS INDEXADOS

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.

Page 5: ARCHIVOS INDEXADOS

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

Page 6: ARCHIVOS INDEXADOS

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)

Page 7: ARCHIVOS INDEXADOS

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

Page 8: ARCHIVOS INDEXADOS

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.

Page 9: ARCHIVOS INDEXADOS

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.