Parte ii - IIS Marconi Latina - Area didattica
Parte ii - IIS Marconi Latina - Area didattica
Parte ii - IIS Marconi Latina - Area didattica
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
874 volume V Programmazione<br />
L’organizzazione del file definisce le potenzialità di accesso, ma in generale sono disponibili<br />
diverse varianti nel modo particolare di accedere ai record.<br />
Il paragrafo ‘FILE CONTROL’ si articola in dichiarazioni ‘SELECT’, una per ogni file, secondo<br />
lo schema sintattico sintetico seguente:<br />
Il modo in cui l’istruzione ‘SELECT’ si articola, dipende dall’organizzazione del file e dal metodo<br />
di accesso specifico che si vuole attuare sullo stesso. Nella logica originale del linguaggio,<br />
in questa fase non viene ancora indicato il nome del file reale, secondo il sistema operativo,<br />
perché generalmente per questa informazione si agisce nella divisione ‘DATA DIVISION’; tuttavia,<br />
spesso il compilatore permette, o richiede, di specificare il nome del file reale proprio<br />
nell’istruzione ‘SELECT’.<br />
82.4.3.2 File fisici e file «logici»<br />
«<br />
L’organizzazione di un file è una caratteristica immutabile, che stabilisce, oltre che le potenzialità<br />
di accesso, anche la sua forma fisica «reale», ovvero quella che viene gestita attraverso<br />
l’astrazione del sistema operativo.<br />
L’organizzazione sequenziale è quella più semplice, dove normalmente i record logici del<br />
linguaggio corrispondono esattamente al contenuto del file fisico che li contiene.<br />
L’organizzazione relativa richiede la capacità di abbinare delle informazioni ai record logici,<br />
per esempio per poter annotare che un record è stato cancellato. Per fare questo, il compilatore<br />
può inserire tutte le informazioni necessarie in un file solo, oppure può avvalersi di due file<br />
reali: uno per i dati, l’altro per le informazioni sui record.<br />
L’organizzazione a indice richiede tutte le funzionalità di quella relativa, con l’aggiunta di<br />
poter gestire l’accesso in base a una o più chiavi. Nei compilatori COBOL attuali, è molto<br />
probabile che tutte le informazioni necessarie vengano gestite in un file fisico soltanto, ma<br />
originariamente era frequente l’uso di un file per i dati e di altri file per le chiavi (uno per ogni<br />
chiave).<br />
In base a questa premessa, si deve intendere che un file che viene creato con una certa organizzazione,<br />
può essere usato solo con quella; inoltre, si può contare sul fatto che un file creato con<br />
un programma realizzato attraverso un certo compilatore COBOL, non può essere utilizzato<br />
con un programma generato con un altro.<br />
Di fronte a questo problema di compatibilità dei dati, i file organizzati in modo sequenziale<br />
sono sempre l’unica garanzia per un trasferimento dei dati. D’altra parte, negli anni in cui il<br />
linguaggio COBOL aveva il suo massimo splendore, i nastri magnetici rappresentavano l’unità<br />
di memorizzazione «standard» tra le varie architetture proprietarie.