COBOL - Organização de Arquivos
Organização de arquivos indica como os registros são organizados em um arquivo. Existem diferentes tipos de organização de arquivos de forma a aumentar a eficiência do acesso aos registros. A seguir estão os tipos de esquemas de organização de arquivos -
- Organização de arquivo sequencial
- Organização de arquivos sequenciais indexados
- Organização relativa de arquivos
As sintaxes neste módulo, mencionadas junto com seus respectivos termos, referem-se apenas ao seu uso no programa. Os programas completos usando essas sintaxes seriam discutidos no capítulo 'Manipulação de verbos de arquivo'.
Organização de arquivo sequencial
Um arquivo sequencial consiste em registros que são armazenados e acessados em ordem sequencial. A seguir estão os principais atributos da organização sequencial de arquivos -
Os registros podem ser lidos em ordem sequencial. Para ler o 10 º registro, todos os 9 registros anteriores devem ser lidos.
Os registros são gravados em ordem sequencial. Um novo registro não pode ser inserido no meio. Um novo registro é sempre inserido no final do arquivo.
Depois de colocar um registro em um arquivo sequencial, não é possível excluir, encurtar ou alongar um registro.
A ordem dos registros, uma vez inseridos, nunca pode ser alterada.
A atualização do registro é possível. Um registro pode ser substituído, se a duração do novo registro for igual à duração do registro antigo.
Arquivos de saída sequencial são uma boa opção para impressão.
Sintaxe
A seguir está a sintaxe da organização de arquivos sequenciais -
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT file-name ASSIGN TO dd-name-jcl
ORGANIZATION IS SEQUENTIAL
Organização de arquivo sequencial indexado
Um arquivo sequencial indexado consiste em registros que podem ser acessados sequencialmente. O acesso direto também é possível. Consiste em duas partes -
Data File contém registros em esquema sequencial.
Index File contém a chave primária e seu endereço no arquivo de dados.
A seguir estão os principais atributos da organização sequencial de arquivos -
Os registros podem ser lidos em ordem sequencial, assim como na organização de arquivos sequenciais.
Os registros podem ser acessados aleatoriamente se a chave primária for conhecida. O arquivo de índice é usado para obter o endereço de um registro e, em seguida, o registro é obtido do arquivo de dados.
O índice classificado é mantido neste sistema de arquivos, que relaciona o valor da chave à posição do registro no arquivo.
O índice alternativo também pode ser criado para buscar os registros.
Sintaxe
A seguir está a sintaxe da organização de arquivos sequenciais 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
Organização relativa de arquivos
Um arquivo relativo consiste em registros ordenados por seus relative address. A seguir estão os principais atributos da organização relativa de arquivos -
Os registros podem ser lidos em ordem sequencial, assim como na organização de arquivos sequenciais e indexados.
Os registros podem ser acessados usando a chave relativa. A chave relativa representa a localização do registro em relação ao endereço de início do arquivo.
Os registros podem ser inseridos usando a chave relativa. O endereço relativo é calculado usando a chave relativa.
O arquivo relativo fornece o acesso mais rápido aos registros.
A principal desvantagem desse sistema de arquivos é que se alguns registros intermediários estiverem faltando, eles também ocuparão espaço.
Sintaxe
A seguir está a sintaxe da organização relativa do arquivo -
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT file-name ASSIGN TO dd-name-jcl
ORGANIZATION IS RELATIVE
RELATIVE KEY IS rec-key