Definición
Se utiliza este tipo de organización de archivo cuando
existe la necesidad tanto de accesar los registros secuencialmente, por algún
valor de llave, como de accesarlos individualmente. Un archivo secuencial
indexado proporciona la combinación de tipos de acceso que manejan un archivo
secuencial y un archivo relativo o de acceso directo.
En este tipo de organización de archivos se dispone de una
tabla en que aparecen ordenados secuencialmente los números de la clave del
archivo y asociados a cada uno de ellos de da la dirección del registro
correspondiente.
Consiste en que los archivos están organizados
secuencialmente; sin embargo, es posible acceder directamente a los registros.
La organización secuencial-indexada de un archivo brinda facilidades para
acceder a los registros de ambas formas, secuencial y directamente. Los
registros se almacenan en la secuencia física usual por la clave primaria.
Además, se almacena en el disco el índice de la localización del registro. Esto
permite el acceso secuencial a los registros para aquellas aplicaciones que
realicen una gran cantidad de actualizaciones y, por otra parte, el acceso
directo de acuerdo con las solicitudes de los usuarios.
AREA DE DATOS: Es el área en la que se escriben los registros cuando el archivo es creado el en directorio del fichero.
VENTAJAS
Permite el acceso secuencial.
Permite el acceso directo a los registros.
Se pueden actualizar los registros en el mismo fichero, sin necesidad de crear un fichero nuevo de copia en el proceso de actualización.
DEVENTAJAS
Ocupa más espacio en el disco que los ficheros secuénciales, debido al uso del área de índices.
Tiene tendencia a que aumente el tiempo medio de acceso a los registros, cuando se producen muchas altas nuevas con claves que hay que intercalar entre las existentes, ya que aumenta el área de overflow.
Solo se puede utilizar soportes direccionales.
Obliga a una inversión económica mayor, por la necesidad de programas y, a veces, hardware más sofisticado.
Permite el acceso secuencial.
Permite el acceso directo a los registros.
Se pueden actualizar los registros en el mismo fichero, sin necesidad de crear un fichero nuevo de copia en el proceso de actualización.
DEVENTAJAS
Ocupa más espacio en el disco que los ficheros secuénciales, debido al uso del área de índices.
Tiene tendencia a que aumente el tiempo medio de acceso a los registros, cuando se producen muchas altas nuevas con claves que hay que intercalar entre las existentes, ya que aumenta el área de overflow.
Solo se puede utilizar soportes direccionales.
Obliga a una inversión económica mayor, por la necesidad de programas y, a veces, hardware más sofisticado.
OPERACIONES
SOBRE ARCHIVOS SECUENCIALES INDEXADOS
Creación:
Creación:
Es la primera operación que sufrirá el archivo de datos.
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. La creación exige organización, estructura, localización o reserva
de espacio en el soporte de almacenamiento, transferencia del archivo del
soporte antiguo al nuevo.
Un archivo puede ser creado por primera vez en un soporte, proceder de otro previamente existente en el mismo o diferente soporte, ser el resultado de un cálculo o ambas cosas a la vez. Consulta: Lectura de todos sus registros. Es la operación que permite al usuario acceder al archivo de datos para conocer el contenido de uno, varios o todos los registros.
Actualización:
Un archivo puede ser creado por primera vez en un soporte, proceder de otro previamente existente en el mismo o diferente soporte, ser el resultado de un cálculo o ambas cosas a la vez. Consulta: Lectura de todos sus registros. Es la operación que permite al usuario acceder al archivo de datos para conocer el contenido de uno, varios o todos los registros.
Actualización:
Inserción supresión o modificación de algunos de sus
registros.
Es la operación que permite tener actualizado (puesto al
día) el archivo, de tal modo que sea posible realizar las siguientes operaciones
con sus registros: Consulta del contenido de un registro. Inserción de un
registro nuevo en el archivo. Supresión de un registro existente. Modificación
de un registro.
Clasificación:
Reubicación de los
registros de tal forma que queden ordenados según determinados criterios. Una
operación muy importante en un archivo es la clasificación u ordenación. Esta
clasificación se realizará de acuerdo con el valor de un campo específico,
pudiendo ser ascendente (creciente) o descendente (decreciente): alfabética o
numérica.
Borrado:
liminando total del archivo, dejando libre el espacio del
soporte que ocupaba.
Es la operación inversa a la creación de un archivo (kill,
en inglés). Cuando se destruye (anula o borra) un archivo, éste ya no se puede
utilizar y, por consiguiente, no se podrá acceder a ninguno de sus registros.
Reorganización de un
archivo:
Las operaciones sobre
archivos modifican la estructura inicial o la óptima de un archivo.
Los índices, enlaces
(punteros), zonas de sinónimos, zonas de desbordamiento, etc., se modifican con
el paso del tiempo, lo que hace a la operación de acceso al registro cada vez
más lenta. La reorganización suele consistir en la copia de un nuevo archivo a
partir del archivo modificado, a fin de obtener una nueva estructura lo más
óptima posible.
Estallido de un
archivo:
Es la operación de
obtener varios archivos a partir de un mismo archivo inicial.
ESTRUCTURA DE LA ORGANIZACION SECUENCIAL INDEXADO
Un archivo secuencial indexado
contiene un archivo índice y un archivo de datos. Es necesario que los
registros contengan un campo clave para identificarlos y que estén almacenados
en un soporte direccionable según el orden que indique dicha clave. El archivo
índice agilizar la búsqueda dentro del fichero. El fichero de datos se
organiza, lógicamente, en bloques o páginas de varios registros.
Cada registro del fichero índice almacena:
• El valor del campo clave del último registro de un bloque. Los bloques están
constituidos por un número fijo de registros consecutivos.
• La dirección del primer registro de dicho bloque. Puede haber un área de
desbordamiento. Ocupa más espacio en disco pero es más rápido. Puede
almacenarse el fichero índice en memoria. Habría que calcularlo al iniciar una
sesión de trabajo.
En este tipo de organización de archivos se dispone de una tabla en que
aparecen ordenados secuencialmente los números de la clave del archivo y
asociados a cada uno de ellos de da la dirección del registro correspondiente.
AREAS DEL ARCHIVO SECUENCIAL INDEXADO
Área de Datos: Contiene los registros secuencial, este ordenado alfabéticamente
o alfanuméricamente y no deja espacios.
Área de índice: Los niveles de índice están contenidos en una tabla, si
existieran varios índices enlazados se denomina nivel de indexación.
Área de Desbordamiento o Excedentes: Esta área es utilizada para realizar
actualizaciones si ello es necesario
FICHEROS CON ORGANIZACIÓN SECUENCIAL INDEXADA.
Un archivo con organización secuencial indexada está formado por:
AREA DE DATOS: Es el área en la que se escriben los registros cuando el archivo es creado el en directorio del fichero.
Los ficheros con organización secuencial indexada se graban en un soporte de
almacenamiento directo, en secuencia ascendente, de acuerdo con los valores de
la clave y en páginas o bloques de longitud fija.
El AREA DE INDICES: es creada por el sistema al mismo tiempo que se van
almacenando los datos. Contiene una tabla que asocia las claves con las
direcciones de los registros en el área de datos. Cada entrada del área de índices está formada por el valor más alto de la clave
de cada grupo de registros y un puntero con la dirección del primer registro
del grupo.
AREA DE EXCEDENTES: donde se graban los registros que no tienen sitio en el área de datos. Los nuevos registros se insertan y quedan enlazados entre sí mediante punteros conservando el orden lógico que marca la clave o índice principal.
Del tratamiento de los índices y punteros se encarga el sistema operativo por lo que no va a crear problemas al usuario cuando maneja este tipo de ficheros. El usuario sabe lo que sucede cuando solicita una consulta de un registro.
AREA DE EXCEDENTES: donde se graban los registros que no tienen sitio en el área de datos. Los nuevos registros se insertan y quedan enlazados entre sí mediante punteros conservando el orden lógico que marca la clave o índice principal.
Del tratamiento de los índices y punteros se encarga el sistema operativo por lo que no va a crear problemas al usuario cuando maneja este tipo de ficheros. El usuario sabe lo que sucede cuando solicita una consulta de un registro.
Se suelen utilizar dos tipos de
índices, uno exhaustivo que contiene una entrada para cada registro del archivo
principal y se organiza como un archivo secuencial para facilitar la búsqueda,
el otro índice es parcial que contiene entrada a los registros donde esté el
campo de interés.
AREA PRIMARIA:
Es la parte del fichero
donde se guardan los registros ordenados por el valor del campo “clave”. Los
registros se organizan por bloques.
AREA DE INDICES:
Los registros de esta
área están formados por dos campos
1-contiene la clave del
último registro de cada bloque
2. contiene la dirección
de memoria (puntero) del inicio de cada bloque del área primaria.
AREA DE OVERFLOW:
Tras completar el área
primaria, los registros añadidos posteriormente serán enviados al área de
overflow, estos registros podrán tener claves intermedias a los registros añadidos
en el área primaria.
ARQUITECTURA
DE LOS SISTEMAS DE ARCHIVOS
El próximo nivel está referido con el nombre de sistema de archivos
básicos (Basic file System), o nivel de E/S física (physical I/O).
Este nivel trata con bloques de datos que son intercambiados con
sistemas de disco o cinta. De este modo. Se preocupa de ubicar dichos bloques
en el dispositivo de almacenamiento secundario y del almacenamiento intermedio
de los mismos en memoria principal.
La E/S lógica habilita a los usuarios y aplicaciones de acceder a
registros. Así mientras el sistema de archivos básico trabaja con bloques de
datos.
El modulo lógico de E/S trabaja con el archivo de registros. La E/S
lógica provee una capacidad de E/S de registro de propósito general y mantiene
los datos básicos acerca de los archivos.
El nivel del sistema de archivo más cercano de usuario es usualmente el método de acceso (Access método). Provee una interface
estándar entre aplicaciones y los archivos del sistema a dispositivos que guarden
datos.
Los diferentes métodos de acceso reflejan las diferentes
estructuras de datos y diferentes maneras de acceder y procesar el dato.
Aplicaciones:
1.- En base al algoritmo se puede crear un sistema para un archivo secuencial de transacciones
2.- Realizar un algoritmo que contenga la lógica para actualizar archivos maestros secuenciales.
3.- Especificación formal de problemas mediante precondición y pos condición, utilizando el cálculo de predicados de primer orden.
4.- Control de la Complejidad en la resolución algorítmica de problemas.
5.- Utilización del Diseño Descendente y Técnicas básicas de Diseño de Algoritmos.
6.- Refinamiento de Datos y de Programas.
Metodología para la derivación y prueba de la Corrección de programas.
7.- Esquemas de Algoritmos Iterativos.
8.- Diseño y construcción de Programas Iterativos
Ejemplo:
Métodos de acceso y sistemas de almacenamiento por Sistema Operativo
En cuanto a la clasificación se realizará de acuerdo con el valor de un campo específico, pudiendo ser ascendente o descendente.
Las operaciones sobre archivos modifican la estructura inicial o la óptima de un archivo.
Windows
Los sistemas de organización de archivos que utiliza Windows utilizan el acceso secuencial indexado (acceso secuencial y acceso indexado adjuntos en un mismo método), el acceso directo en algunos casos en la utilización de los sistemas de organización por tablas.
pequeño codigo de una creacion de un archivo secuencial inexado
package creacion_archivo;
import java.io.*;
/**
*
* @author pc-18
*/
public class buscar {
public static void main(String[] args) throws IOException {
DataInputStream archivo = null;
int clave =0;
String nombre = new String("");
int edad = 0;
BufferedReader teclado = new BufferedReader (new InputStreamReader (System.in));
System.out.println("Dame la clave del registro que buscas:");
int a=Integer.parseInt(teclado.readLine());
archivo = new DataInputStream(new FileInputStream("archivo.dat"));
clave = archivo.readInt();
nombre = archivo.readUTF();
edad = archivo.readInt();
if(a==clave){
try {
archivo = new DataInputStream(new FileInputStream("archivo.dat"));
while (true) {
// String line =( "archivo.equals(a)");
System.out.println("tu clave es:"+clave+"");
System.out.println("tu nombre:"+nombre+"");
System.out.println("tu edad:"+edad+"");
break;
}
} catch (FileNotFoundException fnfe) {
} catch (IOException ioe) {
}
}
}
}
conclusión
Este tipo de organización de archivo se utiliza cuando existe la necesidad tanto de accesar los registros secuencialmente, ya sea por algún valor de llave a como accesarlos individualmente. Un archivo secuencial indexado proporciona la combinación de tipos de acceso que manejan un archivo secuencial y un archivo relativo o de acceso directo.En cuanto a la clasificación se realizará de acuerdo con el valor de un campo específico, pudiendo ser ascendente o descendente.
Las operaciones sobre archivos modifican la estructura inicial o la óptima de un archivo.
fuentes:
ResponderEliminarhttps://es.scribd.com/doc/75725104/ARCHIVOS-INDEXADOS
http://242meq6orgdat.blogspot.mx/2010/01/unidad-3-archivo-secuencial-indexado.html
http://www.monografias.com/trabajos6/sistar/sistar.shtml#arquitectura
http://romerovivivi.blogspot.mx/p/3-archivo-secuencial-indexado.html