Ficheros.docx

2
Ficheros (I) (6262 palabras totales en este texto) (44535 Lecturas) Cuando adquirimos un compilador de Cobol, sin darnos cuenta a la vez estamos obteniendo un completo administrador de ficheros, algo que con otros lenguajes tienes que implementar con bases de datos u otras herramientas externas. No voy a entrar en la polémica de que es mejor, si ficheros Cobol o Bases de datos, pero la experiencia me permite decir que la fiabilidad, seguridad y potencia de los ficheros es perfecta para nuestras aplicaciones de gestión. La gran potencia sin duda, viene dada por los archivos indexados y será sobre ellos sobre los que gire prácticamente todo el tema, además con longitud fija. Los secuenciales se utilizan para la impresión y para determinados procesos de exportación de datos, pero cada uno es libre de utilizar el tipo de fichero que desee. En la sección de Instrucciones relativas a ficheros tengo una pequeña explicación sobre lo que es un fichero y una clave y la voy a repetir aquí, porque nos viene muy bien para comprender perfectamente como se comportan. ¿Que es un fichero? Podríamos definir un fichero como un conjunto de registros, pero estaríamos mas o menos igual. Si comparásemos un fichero de cobol con nuestra vieja agenda de teléfonos, para cada amigo tendríamos los mismos datos, es decir, nombre, teléfono, dirección, etc ... cada uno de esos datos es lo que llamamos campo y el conjunto de todos esos campos para cada amigo sería un registro. Ahora podemos comprender mejor que un fichero o archivo es un conjunto de registros, como una agenda es un conjunto de datos de amigos. ¿Que es una clave? Una clave, es un campo de nuestra agenda que nos sirve para identificar a cada amigo, en la agenda normal la clave podría ser la lengüeta con la letra del abecedario correspondiente a los apellidos del amigo. Informáticamente es mas completa y con ella podremos identificar a cada uno de ellos, por ejemplo con su nombre o su teléfono o un código que le asignemos nosotros personalmente. Algunos tipos de ficheros indexados, dividen el fichero en dos archivos físicos, uno para las claves y otro para los datos, otros en cambio lo guardan todo en uno mismo, pero eso no significa que no lo haga igual, sino que al usuario solo le muestra un fichero físico, que puede resultar mas cómodo. Cuando se graba un nuevo registro, éste se ordena automáticamente en orden ascendente por la clave principal. Luego podremos modificar tantas veces como deseemos los datos, pero la clave nunca se podrá alterar. Si queremos cambiar la clave, tendremos que borrar el registro y grabar otro con la clave deseada. De esa manera Cobol se asegura el perfecto funcionamiento de su sistema de índices.

Transcript of Ficheros.docx

Page 1: Ficheros.docx

Ficheros (I)

(6262 palabras totales en este texto)(44535 Lecturas)   

Cuando adquirimos un compilador de Cobol, sin darnos cuenta a la vez estamos obteniendo un completo administrador de ficheros, algo que con otros lenguajes tienes que implementar con bases de datos u otras herramientas externas.

No voy a entrar en la polémica de que es mejor, si ficheros Cobol o Bases de datos, pero la experiencia me permite decir que la fiabilidad, seguridad y potencia de los ficheros es perfecta para nuestras aplicaciones de gestión.

La gran potencia sin duda, viene dada por los archivos indexados y será sobre ellos sobre los que gire prácticamente todo el tema, además con longitud fija. Los secuenciales se utilizan para la impresión y para determinados procesos de exportación de datos, pero cada uno es libre de utilizar el tipo de fichero que desee.

En la sección de Instrucciones relativas a ficheros tengo una pequeña explicación sobre lo que es un fichero y una clave y la voy a repetir aquí, porque nos viene muy bien para comprender perfectamente como se comportan.

¿Que es un fichero? Podríamos definir un fichero como un conjunto de registros, pero estaríamos mas o menos igual. Si comparásemos un fichero de cobol con nuestra vieja agenda de teléfonos, para cada amigo tendríamos los mismos datos, es decir, nombre, teléfono, dirección, etc ... cada uno de esos datos es lo que llamamos campo y el conjunto de todos esos campos para cada amigo sería un registro. Ahora podemos comprender mejor que un fichero o archivo es un conjunto de registros, como una agenda es un conjunto de datos de amigos.

¿Que es una clave? Una clave, es un campo de nuestra agenda que nos sirve para identificar a cada amigo, en la agenda normal la clave podría ser la lengüeta con la letra del abecedario correspondiente a los apellidos del amigo. Informáticamente es mas completa y con ella podremos identificar a cada uno de ellos, por ejemplo con su nombre o su teléfono o un código que le asignemos nosotros personalmente.

Algunos tipos de ficheros indexados, dividen el fichero en dos archivos físicos, uno para las claves y otro para los datos, otros en cambio lo guardan todo en uno mismo, pero eso no significa que no lo haga igual, sino que al usuario solo le muestra un fichero físico, que puede resultar mas cómodo.

Cuando se graba un nuevo registro, éste se ordena automáticamente en orden ascendente por la clave principal. Luego podremos modificar tantas veces como deseemos los datos, pero la clave nunca se podrá alterar. Si queremos cambiar la clave, tendremos que borrar el registro y grabar otro con la clave deseada. De esa manera Cobol se asegura el perfecto funcionamiento de su sistema de índices.

La parte de índices es como una tabla con las posiciones de memoria de los datos que le corresponden. Si el fichero está abierto en modo I-O y se produce una salida brusca del programa o un corte de luz, puede ocurrir que esa información sobre los datos que corresponden a cada índice se alteren y de ahí el famoso y terrible error 98. Por eso yo siempre aconsejo tener nuestro fichero abierto solo como Input y abrirlo como I-O solo en el preciso momento de grabar o borrar su contenido.

Lo realmente importante para Cobol cuando crea un fichero, es el tamaño del registro y el de la clave en bytes. El resto le da igual, incluso la estructura se puede definir de maneras totalmente diferentes.Para Cobol, si generamos un fichero con un registro de 128 posiciones, eso es lo que guarda, si

Page 2: Ficheros.docx

nosotros le indicamos que el nombre ocupa 40 y comienza en la posición 18 perfecto, pero si la próxima vez le indicamos otra estructura el también la aceptará.