Indexamiento

10
indexamiento Indización EQUIPO #8 Ing. En Computacion 4to semestre CUALTOS

Transcript of Indexamiento

Page 1: Indexamiento

EQUIPO #8 Ing. En Computacion 4to semestre CUALTOS

indexamiento

Indización

Page 2: Indexamiento

EQUIPO #8 Ing. En Computacion 4to semestre CUALTOS

¿QUE ES UN INDICE ?

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

 

Todos los índices están basados en el mismo concepto básico de naves y campos de referencia. Los tipos de índices que se examinan en este capítulo se llaman índices simples, porque se representan mediante arreglos simples de estructuras que contienen las llaves y los campos de referencia. En capítulos posteriores se examinan esquemas de indización que usan estructuras de datos más complejas, especialmente árboles.

 

Page 3: Indexamiento

EQUIPO #8 Ing. En Computacion 4to semestre CUALTOS

Índices simples de un archivo con entradas secuenciales

Existen varios métodos que podrían emplearse para crear un archivo de registros de longitud variable que almacene estos registros;Las direcciones de registros sugieren que cada registro sea precedido por un campo de tamaño que permita acceso mediante saltos secuenciales y un fácil mantenimiento del archivo.  

Page 4: Indexamiento

EQUIPO #8 Ing. En Computacion 4to semestre CUALTOS

Page 5: Indexamiento

EQUIPO #8 Ing. En Computacion 4to semestre CUALTOS

Los tipos de índices que existen son:   DENSO: El índice tiene una entrada por cada registro en el archivo principal. DISPERSO: El índice contiene una entrada por cada conjunto de registros en el archivo principal.         La organización secuencial indexada utiliza un índice disperso para su manipulación, el archivo principal contiene bloques de registros agrupados por alguna característica especifica o por un intervalo dentro del universo de llaves posibles.

Page 6: Indexamiento

EQUIPO #8 Ing. En Computacion 4to semestre CUALTOS

Operaciones básicas de los archivos indexados

1. Crear los archivos vacíos originales de índices y datos2. Cargar el archivo de índices en la memoria antes de usarlo3. Reescribir el archivo de índices de la memoria después de usarlo.4. Agregar registros al archivo de datos y al índice5. Eliminar registros del archivo de datos6. Actualizar registros del archivo de datos.

Page 7: Indexamiento

EQUIPO #8 Ing. En Computacion 4to semestre CUALTOS

CREACION DE LOS ARCHIVOSTanto el archivo de índice como el archivo de datos se crean como archivos vacíos, con registros de encabezado y nada más. Esto puede llevarse a cabo con bastante facilidad creando los archivos y escribiendo los encabezados en ambos archivos.

 CARGA DEL INDICE EN LA MEMORIA Se supone que el archivo de índice es lo suficientemente pequeño para caber en la memoria primaria, de tal suerte que se define un arreglo INDICE[] para almacenar los registros de índice. Cada elemento del arreglo tiene la estructura de un registro de índice. Por consiguiente, la carga del archivo de índices en la memoria es sólo cuestión de leer y guardar el registro de encabezado del índice, y después leer los registros del archivo de índice en el arreglo INDICE(], Como esto será una lectura secuencial, y puesto que los registros son pequeños, el procedimiento debe escribirse de tal forma que se lea un número grande de registros de índice a la vez, y no los programas no siempre se ejecutan hasta que terminan. El diseñador de programas necesita protegerse de las fallas de energía. de que el operador apague la máquina en el momento equivocado y de otros desastres similares. Uno de los peligros serios asociados con la lectura uno por uno. ¿Se entiende por qué? de un índice en la memoria y la escritura posterior, cuando el programa termina, es que si el programa se interrumpe, la copia del índice en el disco estará desactualizada e incorrecta.  

Page 8: Indexamiento

EQUIPO #8 Ing. En Computacion 4to semestre CUALTOS

ELIMINACION DE REGISTROS

Hay varios métodos para la eliminación de registros en archivos con registros de longitud variable, para reutilizar el espacio ocupado por ellos. Estos métodos son completamente viables para nuestro archivo de datos, ya que, a diferencia de un archivo de datos clasificado, los registros de este archivo no necesitan moverse para mantener el orden. Esta es una de las grandes ventajas de una organización de archivo indizada: se accede rápido a los registros individuales por llave sin la molestia de tener otros fijos. De hecho, la indización por sí misma fija todos los registros. Por supuesto, cuando se elimina un registro del archivo de datos, también debe eliminarse el registro correspondiente del archivo de índices.

Como el índice está contenido en un arreglo durante la ejecución del programa, la eliminaci6n del registro de índice y el desplazamiento de los demás registros para agrupar el espacio puede ser una operación no muy costosa. Una vez más, existen oportunidades de hacer este reacomodo aún más rápido, empleando alguna dirección adicional por medio del uso de un vector de apuntadores a estructuras. Una actualización de registros. La actualización de registros entra en dos categorías:

Page 9: Indexamiento

EQUIPO #8 Ing. En Computacion 4to semestre CUALTOS

Adición de registros:

* La actualización cambia el valor del campo de llave:Esta clase de actualización puede traer consigo un reacomodo del archivo de índices, así como del de datos. Conceptualmente, la forma más fácil de concebir esta c1ase de cambio es como una eliminación seguida de una adición. Puede implantarse este método de eliminar y agregar, y dar al usuario del programa la impresión de que simplemente está cambiando un registro.

 

* La actualización no afecta el campo de la llave: Este segundo tipo de actualización no requiere reacomodo del archivo de índices, pero bien puede implicar el reacomodo del archivo de datos. Si el tamaño del registro no cambia, o si disminuye por la actualización, el registro puede escribirse directamente en el espacio que tenía, pero si aumenta por la actualización, se tendrá que encontrar una nueva entrada para el registro. En el último caso, la dirección de inicio del registro reescrito debe reemplazar la dirección antigua en el campo dist_bytes, del registro de índice correspondiente

Page 10: Indexamiento

EQUIPO #8 Ing. En Computacion 4to semestre CUALTOS

OPERACIÓN DE LOS REGISTROS INDEXADOS

DEFINICIÓN

Crear los archivos vacíos originales de índices y datos

Cargar el archivo de índices en la memoria antes de usarlo

Reescribir el archivo de índices de la memoria después de usarlo.

Agregar registros al archivo de datos y al índice

Agregar registros al archivo de datos y al índice

Eliminar registros del archivo de datos

Actualizar registros del archivo de datos.