COBOL - Organizzazione dei file

L'organizzazione dei file indica come sono organizzati i record in un file. Esistono diversi tipi di organizzazioni per i file in modo da aumentare la loro efficienza di accesso ai record. Di seguito sono riportati i tipi di schemi di organizzazione dei file:

  • Organizzazione file sequenziale
  • Organizzazione di file sequenziali indicizzati
  • Organizzazione relativa dei file

Le sintassi in questo modulo, menzionate insieme ai rispettivi termini, si riferiscono solo al loro utilizzo nel programma. I programmi completi che utilizzano queste sintassi saranno discussi nel capitolo "Verbi per la gestione dei file".

Organizzazione dei file sequenziali

Un file sequenziale è costituito da record archiviati e a cui si accede in ordine sequenziale. Di seguito sono riportati gli attributi chiave dell'organizzazione sequenziale dei file:

  • I record possono essere letti in ordine sequenziale. Per leggere il 10 ° record, è necessario leggere tutti i 9 record precedenti.

  • I record vengono scritti in ordine sequenziale. Non è possibile inserire un nuovo record in mezzo. Alla fine del file viene sempre inserito un nuovo record.

  • Dopo aver inserito un record in un file sequenziale, non è possibile eliminare, accorciare o allungare un record.

  • L'ordine dei record, una volta inseriti, non può mai essere modificato.

  • È possibile l'aggiornamento del record. Un record può essere sovrascritto, se la nuova lunghezza del record è uguale a quella del vecchio record.

  • I file di output sequenziali sono una buona opzione per la stampa.

Sintassi

Di seguito è riportata la sintassi dell'organizzazione dei file sequenziali:

INPUT-OUTPUT SECTION.
FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name-jcl
   ORGANIZATION IS SEQUENTIAL

Organizzazione dei file sequenziali indicizzati

Un file sequenziale indicizzato è costituito da record a cui è possibile accedere in sequenza. È possibile anche l'accesso diretto. Consiste di due parti:

  • Data File contiene record in uno schema sequenziale.

  • Index File contiene la chiave primaria e il suo indirizzo nel file di dati.

Di seguito sono riportati gli attributi chiave dell'organizzazione sequenziale dei file:

  • I record possono essere letti in ordine sequenziale proprio come nell'organizzazione di file sequenziali.

  • È possibile accedere ai record in modo casuale se la chiave primaria è nota. Il file di indice viene utilizzato per ottenere l'indirizzo di un record, quindi il record viene recuperato dal file di dati.

  • L'indice ordinato viene mantenuto in questo file system che collega il valore della chiave alla posizione del record nel file.

  • È inoltre possibile creare un indice alternativo per recuperare i record.

Sintassi

Di seguito è riportata la sintassi dell'organizzazione di file sequenziali indicizzati:

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

Organizzazione relativa dei file

Un file relativo è costituito da record ordinati dal loro relative address. Di seguito sono riportati gli attributi chiave della relativa organizzazione dei file:

  • I record possono essere letti in ordine sequenziale proprio come nell'organizzazione di file sequenziali e indicizzati.

  • È possibile accedere ai record utilizzando la relativa chiave. La chiave relativa rappresenta la posizione del record rispetto all'indirizzo di inizio del file.

  • I record possono essere inseriti utilizzando la relativa chiave. L'indirizzo relativo viene calcolato utilizzando la chiave relativa.

  • Il file relativo fornisce l'accesso più veloce ai record.

  • Il principale svantaggio di questo file system è che se mancano alcuni record intermedi, occuperanno anche spazio.

Sintassi

Di seguito è riportata la sintassi della relativa organizzazione dei file:

INPUT-OUTPUT SECTION.
FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name-jcl
   ORGANIZATION IS RELATIVE
   RELATIVE KEY IS rec-key