Archivi e memorizzazione dati: inserimento record in file ad accesso diretto

Slide da Hub Scuola su Archivi. Il Pdf esplora il concetto di archivi e la memorizzazione dei dati, concentrandosi sull'inserimento di record nei file ad accesso diretto. Vengono spiegate le tecniche di overflow e spazio distribuito, essenziali per mantenere l'ordinamento dei dati, con diagrammi esplicativi per illustrare le aree di overflow e la gestione dei file, utile per Informatica nella Scuola superiore.

Mostra di più

59 pagine

Archivi
MEMORIZZARE
DATI

Visualizza gratis il Pdf completo

Registrati per accedere all’intero documento e trasformarlo con l’AI.

Anteprima

Archivi e Memorizzazione Dati

La conservazione di grandi volumi di dati e informazioni avviene attraverso l'uso di archivi, i file, registrati sulla memoria di massa per consentire la conservazione per un periodo di tempo indeterminato

Tipi di File

File:

  • di testo;
  • binari (o non strutturati);
  • strutturati: insiemi di record memorizzati in codifica binaria

File Strutturati

Archivio o file: insieme di record memorizzati su un supporto di memoria permanente. Record: insieme di informazioni (attributi) riguardanti un determinato oggetto. Campi del record: informazioni componenti il record (nome, cognome, ecc.).

Campi del record: informazioni componenti il record (nome, cognome, ecc.). Il campo di un record può a sua volta essere suddiviso in sottocampi; per esempio, il campo data di nascita può essere rappresentato attraverso il giorno, mese e l'anno

Un file contiene sempre dati della stessa natura (omogenei), di cui si registrano le caratteristiche (attributi) omogenee, scelte in vista dell'obiettivo da raggiungere.

Struttura del Record

Definire la struttura del record: i campi, eventuali sottocampi, il loro tipo e la loro dimensione in byte.

DIPENDENTE Codice Cognome Nome DATA-ASS AA |MM GG Livello - - - 5 byte 20 byte 20 byte 4 byte 2 byte 2 byte 1 byte

Chiave Primaria

Per migliorare l'attività di ricerca è opportuno definire una chiave primaria: uno o più campi che identificano univocamente ciascun record. I valori dalla chiave primaria devono essere tutti diversi: non possono esistere due record con lo stesso valore della chiave.

Elaborazione Dati nei File

Per poter elaborare tramite un programma i dati presenti nei file è necessario prima spostarli nella memoria centrale. File system (sistema operativo): trasporta fisicamente i dati dalla memoria di massa alla memoria centrale e viceversa.

Funzioni richiamate con i comandi READ e WRITE previsti in tutti i linguaggi di programmazione.

REC 1 REC 2 REC 3 READ Memoria centrale RECORD REC 1 REC 2 WRITE Memoria centrale RECORD

Record Logico e Fisico

Record logico (come il programmatore vede suddiviso l'insieme dei caratteri del file): insieme delle informazioni relative a un'entità logica, ha una lunghezza di byte pari alla somma della dimensione dei vari campi e tale lunghezza è stabilita dall'utente.

Quello che invece viene trasferito è il record fisico che indica la quantità di byte, di lunghezza prefissata (dipende dalla struttura hw della macchina), che è trasferita dalla memoria centrale alla memoria di massa e viceversa.

RECORD LOGICO RECORD LOGICO RECORD LOGICO .. ROSSI 5 7 BIANCHI 4 2 VERDI 2 4 .... RECORD FISICO RECORD FISICO

Fattore di Blocco

Fattore di blocco: numero di record logici contenuti in un record fisico. I record di un file si dicono:

  • sbloccati: se ogni record fisico contiene un solo record logico (fattore di blocco=1)
  • bloccati: se ogni record fisico contiene più di un record logico (fattore di blocco>1)
  • multiblocco: se occorrono più record fisici per memorizzare un record logico (fattore di blocco<1)

Operazioni READ e WRITE

READ comporta il trasferimento RECORD FISICO R 2 R 1 - R 4 READ R 5 R 1 R 2 R 3 alla memoria centrale solo MEMORIA CENTRALE R 1 AREA LAVORO R 3 dalla memoria di massa R 6 R 7 BUFFER quando il record logico richiesto non è presente nel buffer. Se invece il record è presente nel buffer, l'istruzione READ comporta solo un trasferimento nella memoria centrale: dal buffer all'area di lavoro assegnata al programma

Organizzazione dei File

WRITE comporta il trasferimento dei dati dalla memoria centrale alla memoria di massa solo quando il buffer è pieno. In caso contrario si tratta nuovamente di trasferimento nella memoria centrale: dall'area di lavoro assegnata al programma al buffer

Operazioni sui Dati

Sono numerose le operazioni che possiamo effettuare sui dati contenuti in un file:

Creazione: operazione che riserva lo spazio sulla memoria di massa in grado di contenere i dati interessati. Al momento della creazione di un archivio dobbiamo definire un nome e il tracciato del record, cioè la modalità con cui i dati sono strutturati e collegati tra di loro e le modalità di accesso (scrittura, lettura)

Consultazione L'operazione di consultazione riguarda il reperimento dei dati contenuti nell'archi- vio. Per esempio, possiamo estrarre tutti i dati che hanno una stessa caratteristica, oppure il settimo record del file o ancora quello successivo a quello appena letto.

Modifica Si tratta di andare a modificare il valore di uno o più campi di uno stesso record o di record diversi contenuti all'interno dell'archivio.

Inserimento Effettuiamo questa operazione quando vogliamo aggiungere alcuni record all'in- terno di un archivio già esistente. Vedremo in seguito le varie tecniche in uso per permettere tale operazione.

Cancellazione Richiediamo l'operazione di cancellazione quando vogliamo eliminare uno o più record i cui dati non sono più necessari; per esempio, i dati relativi a un dipenden- te che si è licenziato. Si distinguono due tipi di cancellazione, quella logica e quella fisica. Nella cancellazione logica il record da eliminare viene marcato e non sarà più preso in considerazione, anche se fisicamente esiste ancora (cioè occupa ancora spazio di memoria). Nella cancellazione fisica, invece, il record viene fisicamente cancellato dalla memoria rendendo disponibile lo spazio precedentemente occupato.

Ordinamento Si tratta di un'operazione che interessa tutti i record del file e viene effettuata quando abbiamo bisogno di avere i dati ordinati in maniera crescente o decrescente secondo i valori assunti da un determinato campo (generalmente il campo chiave). È un'ope- razione molto laboriosa, che nella maggior parte dei linguaggi di programmazione viene svolta automaticamente attraverso la riscrittura dei record del file stesso in un altro file di appoggio. Tale operazione è nota anche con il termine inglese sort.

Fusione La fusione avviene tra due file ordinati sul campo chiave i cui record vengono co- piati in maniera ordinata sul file risultante. Tale operazione viene indicata anche con il termine inglese merge.

Metodi di Organizzazione

Il metodo di organizzazione di un file stabilisce la logica e le modalità con cui le informazioni sono memorizzate sui supporti fisici. I tipi di organizzazione possibili sono:

  • sequenziale
  • ad accesso diretto

Organizzazione Sequenziale

Organizzazione sequenziale: tipo di archivio con dati disposti in sequenza, insieme di record contigui. File ordinato: record registrati in ordine crescente (o decrescente) rispetto al valore di un campo chiave; File non ordinato: record memorizzati consecutivamente, senza nessun ordine logico.

In un file sequenziale l'accesso a una data informazione (record) può avvenire solo scorrendo tutti i record che precedono quello ricercato e l'inserimento di un nuovo record può avvenire solo al fondo del file

Ricerca e Cancellazione nei File Sequenziali

Ricerca nei file sequenziali: se il campo su cui deve essere effettuata un'operazione di ricerca non identifica univocamente un record nel file, occorre scandire tutto il file sequenzialmente. Se invece la chiave di ricerca identifica univocamente un record nel file, si può interrompere la ricerca quando è stato trovato il record o quando la chiave considerata è maggiore di quella da ricercare

Cancellare un record nei file sequenziali: viene effettuata la cancellazione logica e non fisica del record. Questo avviene inserendo nel tracciato del record un campo (flag_cancellazione) che indica se il record è stato cancellato (1) oppure no (0).

Cancellare un record nei file sequenziali: Quando si scorre il file per esaminare i record, quelli marcati con il flag verranno saltati in fase di lettura.

100 ... 0 105 ... 0 128 ... 0 110 ... 0 123 ... 0 144 ... 1 133 .. 1 120 . 0 139 . 0 131 ... 0 146 ... 0 1 2 3 4

Inserimento nei File Sequenziali

Inserire un record nei file sequenziali: avviene normalmente inserendo il nuovo record alla fine del file (metodo dell'ampliamento). E possibile anche recuperare spazio inserendo il nuovo record nel primo record che risulta logicamente cancellato e sostituendo questo record con quello da inserire (metodo della sovrapposizione). Questo può avvenire in modo semplice se il file non è ordinato.

Modalità di Accesso Diretto

Modalità di accesso diretto:

  • accesso su indice (indexed);
  • accesso calcolato (hash);
  • accesso relativo (relative).

File ad Accesso Diretto

Il File degli Indici

Per ovviare ai problemi legati ai file ad accesso sequenziale, possiamo provvedere alla indicizzazione dei record e accedere così direttamente a un record del file tramite il valore del campo chiave. Otteniamo così un file ad accesso su indice

Una chiave è un campo che individua univocamente un record. Un record può assumere un solo valore per il campo chiave e, all'interno del file, non possono esserci due record che presentano lo stesso valore

Accesso su Indice

Le chiavi sono memorizzate in un file degli indici, con il quale è possibile ottenere informazioni utili per accedere al record desiderato, che si trova nel file dei dati.

Non hai trovato quello che cercavi?

Esplora altri argomenti nella Algor library o crea direttamente i tuoi materiali con l’AI.