Menu

COBOL - Organização de arquivos


A organização do arquivo indica como os registros são organizados em um arquivo. Dependendo dos dispositivos de entrada-saída, sua organização de arquivos pode ser sequencial, sequencial de linha, indexada ou relativa. Decida os tipos de arquivos e dispositivos a serem usados ​​ao projetar seu programa.

Você tem as seguintes opções de organização de arquivos:
  1. Organização sequencial de arquivos

    • A ordem cronológica em que os registros são inseridos quando um arquivo é criado estabelece a organização dos registros.

    • Cada registro, exceto o primeiro, possui um registro predecessor exclusivo e cada registro, exceto o último, possui um registro sucessor exclusivo. Uma vez estabelecidas, essas relações não mudam.

    • O modo de acesso (transmissão de registros) permitido para arquivos sequenciais é apenas sequencial.

  2. Organização de arquivos sequencial de linha

    • Arquivos sequenciais de linha são arquivos sequenciais que residem no sistema de arquivos hierárquico (HFS) e que contêm apenas caracteres como dados.

    • Cada registro termina com um caractere de nova linha.

    • O único modo de acesso (transmissão de registro) permitido para arquivos sequenciais de linha é sequencial.

  3. Organização de arquivos indexados

    • Cada registro no arquivo contém um campo especial cujo conteúdo forma a chave de registro. A posição da chave é a mesma em cada registro.

    • O componente de índice do arquivo estabelece a organização lógica do arquivo, uma ordenação por chave de registro.

    • A organização física real dos registros no arquivo não é significativa para seu programa COBOL.

    • Um arquivo indexado também pode usar índices alternativos além da chave de registro. Essas chaves permitem acessar o arquivo usando uma ordenação lógica diferente dos registros.

    • Os modos de acesso (transmissão de registros) permitidos para arquivos indexados são sequenciais, aleatórios ou dinâmicos.

    • Quando você lê ou grava arquivos indexados sequencialmente, a sequência é a dos valores de chave.

  4. Organização de arquivos relativa

    • Os registros no arquivo são identificados por sua localização em relação ao início do arquivo.

    • O primeiro registro no arquivo tem um número de registro relativo de 1, o décimo registro tem um número de registro relativo de 10 e assim por diante.

    • Os modos de acesso (transmissão de registro) permitidos para arquivos relativos são sequenciais, aleatórios ou dinâmicos. Quando os arquivos relativos são lidos ou gravados sequencialmente, a sequência é a do número do registro relativo.

Escolhendo a organização do arquivo e o modo de acesso:


Existem várias diretrizes que você pode usar para determinar qual organização de arquivo e modo de acesso usar em um aplicativo.

Considere as seguintes diretrizes ao escolher a organização de arquivos:
  • Se um aplicativo acessa registros (de comprimento fixo ou variável) apenas sequencialmente e não insere registros entre registros existentes, um arquivo sequencial QSAM ou VSAM é o tipo mais simples.

  • Se você estiver desenvolvendo um aplicativo para UNIX que acessa sequencialmente registros que contêm apenas caracteres imprimíveis e determinados caracteres de controle, os arquivos sequenciais de linha funcionam melhor.

  • Se um aplicativo requer acesso sequencial e aleatório (se os registros são de tamanho fixo ou variável), um arquivo indexado VSAM é o tipo mais flexível.

  • Se um aplicativo inserir e excluir registros aleatoriamente, um arquivo relativo funcionará bem.

Considere as seguintes diretrizes ao escolher o modo de acesso:
  • Se uma grande porcentagem de um arquivo for referenciada ou atualizada em um aplicativo, o acesso sequencial será mais rápido que o acesso aleatório ou dinâmico.

  • Se uma pequena porcentagem de registros for processada durante cada execução de um aplicativo, use o acesso aleatório ou dinâmico.

Resumo das organizações de arquivos, modos de acesso e formatos de registro de arquivos COBOL

File organizationSequential accessRandom access Dynamic accessFixed lengthVariable length
QSAM (physical sequential)X XX
Line sequential X XX
VSAM sequential (ESDS) X XX
VSAM indexed (KSDS) XXXXX
VSAM relative (RRDS) XXXXX