COBOL - Organización de archivos
La organización de archivos indica cómo se organizan los registros en un archivo. Existen diferentes tipos de organizaciones de archivos con el fin de aumentar su eficiencia en el acceso a los registros. A continuación se muestran los tipos de esquemas de organización de archivos:
- Organización secuencial de archivos
- Organización de archivos secuenciales indexados
- Organización de archivos relativa
Las sintaxis en este módulo, mencionadas junto con sus respectivos términos, solo se refieren a su uso en el programa. Los programas completos que utilizan estas sintaxis se discutirán en el capítulo 'Verbos de manejo de archivos'.
Organización secuencial de archivos
Un archivo secuencial consta de registros que se almacenan y se accede a ellos en orden secuencial. Los siguientes son los atributos clave de la organización secuencial de archivos:
Los registros se pueden leer en orden secuencial. Para leer el décimo registro, se deben leer todos los 9 registros anteriores.
Los registros se escriben en orden secuencial. No se puede insertar un nuevo registro en el medio. Siempre se inserta un nuevo registro al final del archivo.
Después de colocar un registro en un archivo secuencial, no es posible eliminar, acortar o alargar un registro.
El orden de los registros, una vez insertados, no se puede cambiar nunca.
Es posible la actualización del registro. Se puede sobrescribir un registro si la longitud del nuevo registro es la misma que la del antiguo.
Los archivos de salida secuenciales son una buena opción para imprimir.
Sintaxis
A continuación se muestra la sintaxis de la organización secuencial de archivos:
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT file-name ASSIGN TO dd-name-jcl
ORGANIZATION IS SEQUENTIAL
Organización de archivos secuenciales indexados
Un archivo secuencial indexado consta de registros a los que se puede acceder de forma secuencial. También es posible el acceso directo. Consta de dos partes:
Data File contiene registros en esquema secuencial.
Index File contiene la clave principal y su dirección en el archivo de datos.
Los siguientes son los atributos clave de la organización secuencial de archivos:
Los registros se pueden leer en orden secuencial al igual que en la organización de archivos secuenciales.
Se puede acceder a los registros de forma aleatoria si se conoce la clave principal. El archivo de índice se utiliza para obtener la dirección de un registro y luego el registro se obtiene del archivo de datos.
El índice ordenado se mantiene en este sistema de archivos que relaciona el valor clave con la posición del registro en el archivo.
También se puede crear un índice alternativo para recuperar los registros.
Sintaxis
A continuación se muestra la sintaxis de la organización de archivos secuenciales indexados:
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT file-name ASSIGN TO dd-name-jcl
ORGANIZATION IS INDEXED
RECORD KEY IS primary-key
ALTERNATE RECORD KEY IS rec-key
Organización de archivos relativa
Un archivo relativo consta de registros ordenados por su relative address. Los siguientes son los atributos clave de la organización relativa de archivos:
Los registros se pueden leer en orden secuencial al igual que en la organización de archivos secuenciales e indexados.
Se puede acceder a los registros usando la clave relativa. La clave relativa representa la ubicación del registro en relación con la dirección de inicio del archivo.
Los registros se pueden insertar usando la clave relativa. La dirección relativa se calcula utilizando la clave relativa.
El archivo relativo proporciona el acceso más rápido a los registros.
La principal desventaja de este sistema de archivos es que si faltan algunos registros intermedios, también ocuparán espacio.
Sintaxis
A continuación se muestra la sintaxis de la organización relativa de archivos:
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT file-name ASSIGN TO dd-name-jcl
ORGANIZATION IS RELATIVE
RELATIVE KEY IS rec-key