Archivo secuencial indexado
Serrano Gallardo Brandon Yair
Rocillo Arteche Chirstian Uriel
Rodríguez Morales Víctor Hugo
Gonzales Moctezuma Samantha Suleimi
ARCHIVO SECUENCIAL INDEXADO
Los registros se organizan en una secuencia basada en un campo clave presentando dos características, un índice del archivo para soportar los accesos aleatorios y un archivo de desbordamiento. El índice proporciona una capacidad de búsqueda para llagar rápidamente al registro deseado y el archivo de desbordamiento es similar al archivo de registros usado en un archivo secuencial, pero está integrado de forma que los archivos de desbordamiento se ubiquen siguiendo un puntero desde su registro predecesor.
La estructura más simple tiene como índice un archivo secuencial simple, cada registro del archivo índice tiene dos campos, un campo clave igual al del archivo principal y un puntero al archivo principal. Para encontrar un campo especifico se busca en el índice hasta encontrar el valor mayor de la clave que es igual o precede al valor deseado de la clave, la búsqueda continua en el archivo principal a partir de la posición que indique el puntero.
Cada registro del archivo principal tiene un campo adicional que es un puntero al archivo de desbordamiento. Cuando se inserta un nuevo registro al archivo, también se añade al archivo de desbordamiento.
Las características más relevantes de un archivo indexado, son las siguientes:
a) El diseño del registro tiene que tener un campo, o combinación de campos, que permita identificar cada registro de forma única, es decir, que no pueda haber dos registros que tengan la misma información en él. A este campo se le llama campo clave y es el que va a servir de índice. Un mismo fichero puede tener mas de un campo clave, pero al menos uno de ellos no admitirá valores duplicados y se le llama clave primaria. A las restantes se les llama claves alternativas.
b) Permiten utilizar el modo de acceso secuencial y el modo de acceso directo para leer la información guardada en sus registros.
El modo de acceso directo se hace conociendo el contenido del campo clave del registro que queremos localizar. Con esa información el sistema operativo puede consultar el índice y conocer la posición del registro dentro del fichero.
En el modo de acceso secuencial los registros son leídos ordenados por el contenido del campo clave, independientemente del orden en que se fueron grabando (El orden lógico no es igual al orden físico), debido a que el acceso a los datos se hace a través del índice, que para hacer más fácil la búsqueda de los registros permanece siempre ordenado por el campo clave.
c) Solamente se puede grabar en un soporte direccionable.
Ej.: disco magnético. Si esto no fuera así no podría emplear el acceso directo.
VENTAJAS
1. Permite el acceso secuencial.
2. Permite el acceso directo a los registros.
3. 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
1. Ocupa más espacio en el disco que los ficheros secuénciales, debido al uso del área de índices.
2. 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.
3. Solo se puede utilizar soportes direccionables.
4. Obliga a una inversión económica mayor, por la necesidad de programas y, a veces, hardware más sofisticado.
ESTRUCTURA DE LA ORGANIZACIÓN SECUENCIAL INDEXADO.
Este tipo de organización se utiliza cuando existe la necesidad tanto de acceder a los registros secuencialmente, por algún valor de llave, como de acceder los individualmente. Un archivo secuencial indexado puede tener acceso porque manejan un archivo secuencial y un archivo relativo o de acceso directo, los registros están situados en un soporte direccionable por el orden de los valores indicados por la clave.
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
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.
Un 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, pero no sabe cómo se realiza internamente esa consulta.
REPRESENTACIÓN DE INDICES
El campo clave-secundaria sobre el cual se crea un índice se llama clave inversa o clave indexada. Se dice entonces que el campo es inverso para la recuperación por clave secundaria. Cada entrada del índice valor clave consiste en un valor de clave secundaria y en un conjunto de señala dadores a los registros de datos. Puede contener una dirección relativa, una dirección física o una clave principal de los registros objetos.
DIRECCION RELATIVA
Contiene direcciones relativas. Un señalador simbólico es un identificador de registros, pero no una dirección de registro. Por ejemplo, un valor de clave primaria puede usarse como señalador simbólico porque identifica de manera única a un registro del archivo. Si se escoge al señalador simbólico como identificador de registro.
DIRECCION FISICA
El campo señalador puede contener direcciones físicas, las cuales pueden usarse para acezar registros directamente sin necesidad de traducir la dirección la mayor desventaja del uso de las direcciones reales, es que los valores del señalador dependen entonces del dispositivo. Por ejemplo, hay que recrear un índice si los datos del archivo emigran de un disco a otro.
OPERACIONES SOBRE UN ARCHIVO SECUENCIAL.
Los archivos secuenciales son típicamente utilizados en aplicaciones de proceso de lotes Y son óptimos para dichas aplicaciones si se procesan todos los registros. La organización secuencias de archivos es la única que es fácil de usar tanto en disco como en cinta.
Para las aplicaciones interactivas que incluyen peticione s o actualizaciones de registros individuales, los archivos secuenciales ofrecen un rendimiento pobre.
Normalmente un archivo secuencial se almacena en bloques, en un orden secuencial simple de los registros, la organización física del archivo en una cinta o disco se corresponde exactamente con la ubicación lógica del archivo. En este caso, el procedimiento para ubicar los nuevos registros en un archivo de pila separado, llamado archivo de registro (log file) o archivo de transacciones. Periódicamente, 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 estructura y manejo de archivos secuenciales con el fin de proporcionar una secuencia para los registros, se define una llave para cada uno.
Uno o más atributos se volverán los atributos llave para los registros en los archivos. el conjunto de valores para los atributos llave generalmente identifica el objeto descrito por el registro; es decir, el número de placa de un automóvil el nombre de une persona. Se espera poder identificar los registros en forma única con base en sus llaves. entonces los registros en el archivo se conservan en el orden de acuerdo con los atributos llave. Un atributo llave proporcionara la llave primaria de clasificación de alto orden y si este atributo no identifica en forma única al objeto, entonces puede identificarse atributos llave secundarios o inferiores hasta que el orden se determine por completo.
La lectura serial del archivo en este orden puede realizarse ahora en forma secuencial. Algunas veces se agregan campos artificiales conteniendo números de secuencia o identificación, para obtener atributos llave únicos.
La participación del archivo, analizada con la descripción de archivo de apilo ahora se realiza de forma explícita:
Se selecciona el número de identificación para que sea único para todos los registros y parta al archivo en n registros individuales. Desafortunadamente, puede resultar necesaria una computación separada para determinar el número de identificación perteneciente al dato deseado.
Con estas restricciones estructurales y mayor eficiencia en la atención en el procesamiento orientado en forma tabular, se pierde mucha flexibilidad.
No es fácil colocar las actualizaciones en un archivo secuencial. el hecho de que determine el atributo llave exclusivamente la secuencia de los registros introduce una simetría que hace que los archivos secuenciales resulten inadecuados para recuperar información general.
El procedimiento común para manejar inserción en un archivo secuencial consiste en recolectarlas en un apilo, el archivo de bitácora de transacciones, hasta que el apilo resulte demasiado grande para realizar entonces una actualización por lote. esto se hace reorganizando el archivo.
En este momento el archivo de bitácora de transacciones se clasifica desacuerdo con las mismas llaves utilizadas para el archivo principal y las modificaciones se unen en una nueva copia del archivo secuencial.
Comentarios
Publicar un comentario