Teoria
Trujillo
Organización de Archivos
Ing. Informática
Acceso y Organización de Archivos
1. Conceptos generales.
•
Cuando hablamos de archivos lo que estamos tratando de hacer posible es mantener los
datos de una manera persistente.
•
De manera que cuando un dato se encuentra en memoria es posible almacenarlo en disco
y después con otro programaleerlo y reconstruirlo en memoria.
•
Los archivos pueden estar estructurados de distintas formas:
o
Registros
o
Modelos Abstractos
2. Archivos de Registros.
•
La unidad básica de datos es el campo (field), el cual contiene simplemente el valor del
dato.
•
Los Campos (Fields) están organizados en grupos, cuando hablamos de listas con
campos similares nos referimos aun arreglo (array) y cuando hablamos de listas con
campos diferentes estamos refiriéndonos a registros (record)
En términos de programación cuando hablamos de un record en memoria nos
estamos refiriendo a un objeto, el cual tiene sus miembros o atributos; sin embargo cuando se
almacena en disco dicho objeto entonces hablamos simplemente de un registro.
•
Problema:
Deseamos almacenar lasiguiente información que tenemos en memoria en disco:
Juliana Cubas
Nayla Arteaga
28 Julio 333
San Carlos 123
Trujillo
Chiclayo
Guardaremos en un archivo de manera consecutiva, pero ahora tenemos un gran
problema. La información no se puede separar para distinguir los distintos campos que
componen cada registro.
Juliana Cubas 28 Julio 333 Trujillo Nayla Arteaga San Carlos 123Chiclayo
Solución:
Existen distintas maneras de agregar estructuras de datos a archivos y mantener
la identidad de los campos:
o
Forzar a los campos a tener una longitud fija.
o
Comenzar cada campo con un indicador de la longitud del campo.
o
Colocar un delimitador al final de cada campo para separarlo del siguiente.
Ing. Juan Orlando Salazar Campos
UniversidadNacional de Trujillo.
Trujillo
Usar una pareja "keyword=value" para identificar cada campo y su contenido.
o
•
Organización de Archivos
Ing. Informática
Forzar a los campos a tener una longitud fija.
Los campos (nombre, dirección, ciudad) de nuestro ejemplo anterior tenían
longitudes variables. Pero nosotros podemos pensar en establecer una medida fija para
cada uno de los campos en elcaso del ejemplo de cada campo tiene una longitud y el
tamaño total de un registro siempre será de 54 bytes (11+11+16+16).
struct Persona{
char Nombre [11];
char Apellido [11];
char Direccion [16];
char Ciudad [16];
}
De manera que el archivo quedaría de la siguiente manera (recordar cubrir los
espacios vacíos):
Juliana
Cubas
28 de Julio 333
Trujillo
Nayla
ArteagaSan Carlos 123
Arteaga
Para recuperar la información se puede hacer matemáticamente leyendo el
número de bytes/chars correspondientes a cada campo.
Desventajas
•
El archivo tiende a hacerse demasiado grande.
•
Qué sucede si algún campo en un registro necesita más espacio que lo acordado?,
necesitamos arreglar la longitud de ese campo en todos los registros, desperdiciandoespacio y tiempo.
Ventaja
•
Cuando de antemano sabemos que nuestros campos siempre tendrán la misma
longitud es una buena opción.
•
Comenzar cada campo con un indicador de la longitud del campo
Se coloca antes de cada campo su longitud, generalmente si los campos no son
muy largos esta medida ocupará un solo byte.
07Juliana05Cubas1528 de Julio 33308Trujillo
05Nayla07Arteaga14SanCarlos 12308Chiclayo
Ing. Juan Orlando Salazar Campos
Universidad Nacional de Trujillo.
Trujillo
•
Organización de Archivos
Ing. Informática
Colocar un delimitador al final de cada campo para separarlo del siguiente
Escribir un caracter especial entre cada campo de manera que se pueda preservar
la identidad. La decisión de cual caracter "especial" utilizar es muy importante ya...
Regístrate para leer el documento completo.