Unidad 39. Archivos secuenciales, formatos (I)





39.1. Objetivos del tema.

Sabemos cuales son los pasos para acceder a un archivo y las acciones a realizar, grabación y lectura.

En este tema vamos a ver como utilizar un archivo secuencial en varios formatos.

39.2. Introducción.

Los archivos secuenciales disponen de una serie de características que no los habilitan para el uso diario en una aplicación, pero sin embargo por sus características permiten que sean usados en temas muy concretos,

Trasvase de datos entre empresas.

Almacenamientos de datos para tablas de una aplicación.

Guardar datos de configuración.

Normalmente estos datos son cargados al principio de un programa.

39.3. Formatos.

1    ASCII delimitado.

El ASCII delimitado es un formato que permite indistintamente el formato de longitud fija y variable, pues cada dato viene separado del otro con comas.

Es el más estándar, eso significa que los datos se almacenan:

Los datos alfanuméricos delimitados entre comillas dobles.

Los campos numéricos sin delimitadores.

Los campos se separan entre si por comas.

Los registros incorporan una marca de fin de registro, los caracteres ascii trece y diez.

Los problemas que pueden surgir a la hora de su utilización vendrán dados por los distintos tipos de datos numéricos que cada aplicación, o sea el lenguaje en el que se ha desarrollado esa aplicación, sea capaz de tratar.

Como el problema más normal es ese, una forma de saltarlo es grabar todos los datos como datos de tipo string, que es un tipo de dato que cualquier lenguaje es capaz de tratar sin ningún problema.

Existe otro posible problema y es que el lenguaje en cuestión no sea capaz de tratar el formato, la alternativa es la de utilizar la instrucción de lectura, que todos los lenguajes disponen, que permita leer un registro completo, es decir de marca de fin de registro hasta la siguiente.

Posteriormente se puede desarrollar una función que aísle los campos buscando las comas ubicadas entre comillas dobles, y de esa forma se consigue separar los datos.

2    Registros de longitud fija.

Podemos evidentemente grabar registros de datos sin separadores de campos y utilizando una estructura de datos fija y conocida, sino no es posible tratarlos.

Se leen y graban con instrucciones que trabajan con registros completos, de marca a marca de fin de registro, o leyendo una sola variable de tipo string.

39.4. Estructuras.

Los archivos secuenciales permiten que podamos trabajar con registros de longitud fija o de longitud variable, que es otra de sus ventajas.

Otra posibilidad es la de poder utilizar estructuras de registros de distintos tipos en el interior del archivo.

39.5. Escritura.

La escritura de cada uno de los formatos que podemos utilizar dependerá en gran medida de las posibilidades del lenguaje que estemos utilizando, ya que no todos los lenguajes incorporan instrucciones adecuadas a los posibles formatos.

La escritura en un formato de longitud fija se podrá realizar con una instrucción que permita grabar una variable de tipo string.

La escritura de un formato en ascii delimitado es posible realizarla igualmente si no hay una instrucción que genere ese formato directamente con la misma instrucción que antes, pero previamente habrá que realizar el montaje de los datos componiendo una cadena de datos con ese formato.

39.6. Lectura.

La lectura de uno u otro tipo de estructura de datos dependerá de la estructura utilizada.

Se vuelve a presentar la misma situación que en la grabación, puede ser que no dispongamos de instrucciones para la lectura del formato recibido, por lo tanto posiblemente habrá que recurrir a la lectura de registros completos, como cadenas de caracteres, para su posterior desmontaje o desglose en los campos y tipos adecuados.

 

Por ejemplo la lectura de un registro de longitud fija puede darse en dos formatos.

Como cadena de caracteres, sin delimitadores.

Como ascii delimitado, con delimitadores.

 

La estructura de longitud variable también puede darse bajo los dos tipos de formatos, siempre y cuando cada registro se acompañe con las marcas de fin de registro.

39.7. Ejemplos de formatos.

El formato que sigue es un formato de registro de longitud fija y con marcas de final de registro.

No incorpora delimitadores de campos.

0001DENOMINACIONCAMPOCAMPOCAMPO

0002DENOMINACIONCAMPOCAMPOCAMPO

El formato que sigue es ascii delimitado con campos de longitud fija, pero podrían haber sido de longitud variable.

Incorpora delimitadores de campo y separadores

","

Y las marcas de final de registro.

 

"0001","DENOMINACION","CAMPO","CAMPO","CAMPO"

"0002","DENOMINACION","CAMPO","CAMPO","CAMPO"

 

El registro que sigue es de longitud fija, sin delimitadores de campo y sin marcas de final de registro.

Se hace algo más complejo su proceso, pues requiere de algún ajuste, y tiene sentido usarse cuando los registros son pequeños, el soporte también, que hoy no es el caso, y queremos ajustar por el motivo que sea.

 

0001DENOMINACIONCAMPOCAMPOCAMPO0002DENOMINACIONCAMPOCAMPOCAMPO

Octubre-2010
Pág. 39.1

Atrás  Inicio  Adelante






Página inicial  Cursos Informática Gratuitos

Síguenos en:   Facebook       Sobre aulaClic            Política de Cookies