Ministerio de Educación y Cultura

Centro Regional de Educación Saturio Ríos

Archivo Secuencial Indexado

Algorítmica III

Integrantes:
Guillermo Martínez Gustavo Lublín Roque Vera Oscar Arias

San Lorenzo | Paraguay Año 2008

explicamos en qué consisten estos archivos aparte de las operaciones consulta. bajas y modificaciones que se pueden realizar con dichos archivos. los registros se organizan en secuencia basada en un campo clave pero se agregan dos características: un índice del archivo para soportar los accesos aleatorios y un archivo de desbordamiento. .Introducción En el siguiente trabajo explicamos las la definición de archivo secuencial cuyas características básicas son las mismas que las de los archivos secuenciales normales. altas. con varios ejemplos de aplicación en pseudocódigo.

Si se cuenta con un archivo de índices con 1000 registros. El archivo de índices es un archivo secuencial simple. La búsqueda continúa en el archivo principal a partir de la posición indicada por el puntero. Cuando se encuentra un puntero hacia el archivo de desbordamiento la búsqueda continúa en el mismo hasta encontrar un puntero nulo.Archivo Secuencial Indexado Conceptos. El índice proporciona una capacidad de búsqueda para llegar rápidamente a las proximidades de un registro deseado. con lo cual se logrará 1 reducir aún más la cantidad de accesos. que es un puntero al archivo de desbordamiento. Pueden utilizarse múltiples niveles de indexación. Cada registro del archivo principal tiene un campo adicional. Cada registro de este archivo consta de dos campos: un campo clave y un puntero al archivo principal.000. en promedio. Para buscar un registro específico se busca por el campo clave en el archivo de índices hasta encontrar el mayor valor de clave que sea igual o menor al valor buscado. con las claves distribuidas de manera uniforme. 500 accesos al archivo de índices y otros 500 accesos al archivo principal. La estructura secuencial indexada más simple utiliza un único nivel de indexación. Cuando se realiza una búsqueda se procesan los registros del archivo principal en secuencia.000 accesos a registros.000 accesos a 1. La búsqueda de un registro particular implicará. momento en que se reanuda el acceso donde se abandonó en el archivo principal.000 de registros. Estos archivos mantienen las características básicas de los archivos secuenciales: los registros se organizan en secuencia basada en un campo clave pero se agregan dos características: un índice del archivo para soportar los accesos aleatorios y un archivo de desbordamiento (ovarlo). 500. Para agregar registros al archivo se utiliza el archivo de desbordamiento. Definición. Cada cierto tiempo el archivo de desbordamiento se combina con el principal. en promedio. Supongamos un archivo secuencial con 1. 2 n Archivo Principal Archivo de Desbordamiento . El archivo de desbordamiento se ubica en la dirección de un puntero desde su registro precedente. Es decir que pasamos de 500. no visible para la aplicación.000. Para encontrar el registro se necesitarán.

Las operaciones que se realizan son: Creación: Escritura de todos sus registros. los archivos secuenciales ofrecen un rendimiento pobre.Operaciones Indexados De Archivos Secuenciales Los archivos secuenciales son utilizados en aplicaciones de proceso de lotes y son óptimos para dichas aplicaciones si se procesan todos los registros. Un archivo puede ser creado por primera vez en un soporte. rápido y eficaz tratamiento del archivo. transferencia del archivo del soporte antiguo al nuevo. Implica la elección de un entorno descriptivo que permita un ágil. Supresión de un registro existente. Normalmente un archivo secuencial se almacena en bloques. de tal modo que sea posible realizar las siguientes operaciones con sus registros: Consulta del contenido de un registro. La organización física del archivo en una cinta o disco se corresponde exactamente con la ubicación lógica del archivo. Periódicamente. Clasificación: Reubicación de los registros de tal forma que queden ordenados según determinados criterios. Inserción de un registro nuevo en el archivo. Es la operación que permite al usuario acceder al archivo de datos para conocer el contenido de uno. proceder de otro previamente existente en el mismo o diferente soporte. estructura. Es la primera operación que sufrirá el archivo de datos. En este caso. el procedimiento para ubicar los nuevos registros en un archivo de pila separado. llamado archivo de registro o archivo de transacciones. Para utilizar un archivo. en un orden secuencial simple de los registros. se realiza una actualización por lotes que mezcla el archivo de registro con el archivo maestro para producir un nuevo archivo en secuencia correcta de claves. Es la operación que permite tener actualizado (puesto al día) el archivo. Modificación de un registro. varios o todos los registros. localización o reserva de espacio en el soporte de almacenamiento. Una operación muy importante en un archivo es la clasificación u ordenación. La organización secuencial de archivos es la única que es fácil de usar tanto en disco como en cinta. éste tiene que existir. Actualización: Inserción supresión o modificación de algunos de sus registros. La creación exige organización. las informaciones de este archivo tienen que haber sido almacenadas sobre un soporte y ser utilizables. Para las aplicaciones interactivas que incluyen peticiones o actualizaciones de registros individuales. Esta clasificación se realizará de acuerdo con el valor de un campo . Consulta: Lectura de todos sus registros. es decir. ser el resultado de un cálculo o ambas cosas a la vez.

específico. . pudiendo ser ascendente (creciente) o descendente (decreciente): alfabética o numérica.

. etc. en inglés).Borrado: Eliminado total del archivo. lo que hace a la operación de acceso al registro cada vez más lenta. dejando libre el espacio del soporte archivo archivo. a fin de obtener una nueva estructura lo más óptima posible. Es la operación inversa a la creación de un (kill. zonas de desbordamiento. . Cuando se destruye (anula o borra) un éste ya no se puede utilizar y. se modifican con el paso del tiempo. enlaces (punteros). no se podrá a ninguno de sus registros. Estallido de un archivo: Es la operación de obtener varios archivos a partir de un mismo archivo inicial. acceder que ocupaba. por consiguiente. zonas de sinónimos. Reorganización de un archivo: Las operaciones sobre archivos modifican la estructura inicial o la óptima de un archivo. Los índices. La reorganización suele consistir en la copia de un nuevo archivo a partir del archivo modificado.

En ella se refleja el valor de la clave identificadora más alta de cada grupo de registros del archivo y la dirección de almacenamiento del grupo. En una organización de computadora. Un archivo en organización secuencial indexada consta de las siguientes partes: Área de datos o primaria: contiene los registros en forma secuencial y está organizada en secuencia de claves sin dejar huecos intercalados. En esencia. el nivel superior para las letras iniciales y el nivel menor para las cabeceras de página. - - El área de índices es equivalente. Un archivo está organizado en forma secuencial indexada si: El tipo de sus registros contiene un campo clave identificador. Los registros están situados en un soporte direccionable por el orden de la posición y el valor de la clave. cada archivo secuencial indexado consta de un archivo índice y un archivo de datos. Ventajas de indexados Rápido acceso. Área de índices: es una tabla que contiene los niveles de índices. las letras y las cabeceras de páginas se guardaran en un archivo de índice independiente de las entradas del diccionario (archivo de datos). Estos archivos mantienen las características básicas de los archivos secuenciales que son: los registros se organizan en secuencia basada en un campo clave pero se agregan dos características. el índice contiene la calve del último registro y la dirección de acceso al primer registro del bloque. en su función. si fuese necesario. la existencia de varios índices enlazados se denomina nivel de indexación. para las actualizaciones. El diccionario es un ejemplo típico de archivo secuencial indexado con dos niveles de índices. Área de desbordamiento: utilizada. los archivos secuenciales . Por consiguiente.Características de los Archivos Secuenciales Indexados. un índice del archivo para soportar los accesos aleatorios y un archivo de desbordamiento. al índice de un libro.

Los soportes que se utilizan para esta organización son los que permiten el acceso directo. Desventajas Desaprovechamiento del espacio por quedar huecos intermedio cada vez que se actualiza el archivo.- 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. Los soportes de acceso secuencial no pueden utilizarse. . los discos magnéticos. ya que no dispone de direcciones para sus posiciones de almacenamiento. Se necesita espacio adicional para el área de índices.

28 imprime "Apellidos: ".I.20 imprime "C. nombre en 12. ciudad else en 12. Variables num= introducir el CI a buscar res= para buscar más datos Pseudocódigo res="S" abrir DATOS asociado a CI mientras res="S" num=0 cls en 8.55 imprime "Dirección: ". direccion en 16.12 imprime "Nombre: ". que está asociado a DATOS y función “found ()” que devuelve un valor True o False de acuerdo a si encontró o no el dato en la columna del archivo.Ejemplos de utilización en pseudocódigos Consulta Tenemos un fichero DATOS. . Crear un programa que nos permita consultar un registro siempre que queramos. se buscará el valor de esa variable en la columna asociada al archivo. CIUDAD. DIRECCIÓN.20 imprime "Pulse RETURN para continuar" detener-listado fin si res=espacios(1) hacer mas fin mientras cerrar DATOS cerrar índices fin del programa Observación: para buscar un dato en un archivo secuencial indexado basta con “buscar nom_variable”. NOMBRE. APELLIDOS. apellidos en 14. en este caso CI.DAT que está indexado por el campo DNI y tiene la siguiente estructura: CI.20 imprime "No está" en 16. a buscar: " en 8.38 introduce num buscar num si found () en 10.69 imprime "Ciudad: ".

.

10 imprime "Pulse ENTER para continuar" detener-listado else en 7.5 introduce "Ciudad: ". apellidos en 11. CIUDAD hacer mientras res="S" CLS en 5. res=para seguir introduciendo más registros. Pseudocódigo res="S" abrir DATOS asociado a CI. nombre en 9. ciudad ci=num posicionarse al final del fichero de datos escribir registro fin si res= "" hacer MAS fin mientras cerrar fichero de DATOS cerrar fichero de indices fin . controlando las altas duplicadas. num buscar num si found() en 10. APELLIDOS y CIUDAD.5 introduce "Dirección: ".DAT.5 introduce "Apellidos: ". que está indexado por los campos CI.: ".10 imprime "Alta duplicada" en 15.Altas Hacer un programa que nos permita dar altas en el fichero DATOS.5 introduce "Nombre: ".I. direccion en 13.10 introduce "C. Variables num=para introducir el ci del nuevo registro. APELLIDOS.

5 introduce "Nombre: ". que está indexado por los campos CI. APELLIDOS.10 imprime "Pulse ENTER para continuar" detener-listado fin si res="" hacer MAS fin mientras cerrar fichero de DATOS cerrar fichero de indices fin .Bajas Hacer un programa que nos permita dar bajas en el fichero DATOS.: " en 5.DAT.15 introduce num buscar num si found() en 7.5 introduce "Apellidos:". direccion en 13.5 introduce "Ciudad: ".10 imprime "Baja inexistente" en 16. ciudad res="" mientras res <> "S" and res <> "N" res="" en 20. CIUDAD mientras res="S" cls en 5. res fin mientras si res="S" or res="s" borrar registro fin si else en 12. apellidos en 11.APELLIDOS y CIUDAD. controlando las bajas inexistentes.44 introduce "Deseas borrarlo (S/N): ". nombre en 9.5 introduce "Dirección: ".10 imprime "C. Variables num=para introducir el ci a dar de baja res=para seguir introduciendo más registros Pseudocódogo res="S" abrir DATOS asociado a CI.I.

por pantalla. DIRECCION.28 imprime apellidos en fi. APELLIDOS.69 imprime ciudad fi=fi+1 si fi=20 en 22.12 imprime nombre en fi. controlado el salto de página cuando llegue a la línea 20 (veinte).DAT.55 imprime direccion en fi.Listado Tenemos el fichero DATOS. que está indexado por el campo APELLIDOS. Variables fi=controlador de las filas Pseudocódigo Abrir DATOS asociado a APELLIDOS fi=22 hacer mientras no sea EOF() si fi=22 hacer CABECERA fin del if en fi. todos los registros del fichero. CIUDAD Hacer un programa que nos permita listar. cuyos campos son: CI. NOMBRE.20 imprime "Pulse ENTER para continuar" detener-listado fi=22 fin si leer siguiente registro fin mientras cerrar DATOs cerrar indices fin .2 imprime ci en fi.

Esperamos que este trabajo que fue realizado con mucho esfuerzo y esmero por parte de los integrantes del grupo sea del agrado y provecho de todo aquel que guste de leerlo. . Ya que con estos conocimientos podremos seguir avanzando en el largo camino de la programación.Conclusión Este trabajo nos ha sido de mucha utilidad ya que durante su realización comprendimos la enorme ventaja de los archivos secuenciales indexados y como utilizarlos.

com www.geocities. Angel Rodríguez Almeida. Mariella Gutiérrez Valenzuela.mx Algoritmos y Estructuras de Datos. Editorial McGraw-Hill. www. M.Bibliografía Metodología de la Programación a través de Pseudocódigo.edu.itnuevolaredo. .

Sign up to vote on this title
UsefulNot useful