|
Appunti informatica |
|
Visite: 1642 | Gradito: | [ Picolo appunti ] |
Leggi anche appunti:Il dispositivo di collegamento tra nodi: ELABNODEIl dispositivo di collegamento tra nodi: ELABNODE Con i dispositivi MMU/BUS Modello a Scambio di Messaggi: Interazioni tra processiModello a Scambio di Messaggi: Interazioni tra processi Nel modello Il futuro - DVDIl futuro - DVD Il DVD rappresenta probabilmente l'unica vera novità nel |
ARCHIVI E FILE
ARCHIVI DI DATI Per poter gestire grandi volumi di dati è necessario che questi siano memorizzati secondo una logica ben precisa in modo che in seguito la ricerca e la consultazione siano più rapide possibile.
La conservazione di queste informazioni avviene attraverso l'uso di archivi memorizzati sulla memoria di massa mediante sequenze di byte.
Un archivio o file (termine inglese per identificare un archivio) è definito come un insieme di record memorizzati su un supporto di memoria permanente (non necessariamente magnetica, si pensi agli archivi cartacei ancora presenti in molti uffici). Per record si intende un insieme di informazioni (attributi) riguardanti un determinato oggetto.
Una persona ad esempio è un oggetto che può essere caratterizzato da: nome; cognome..
Le informazioni componenti il record sono dette campi del record (nome, cognome.)
Per migliorare l'attività di ricerca può essere utile, nella definizione di un file, definire una chiave primaria, cioè uno o più campi che identificano univocamente ciascun record ; i valori assunti dalla chiave primaria devono essere tutti diversi, cioè non possono esistere due record con lo stesso valore della chiave primaria.
CARATTERISTICHE DELL'ARCHIVIO
- PERMANENZA(occorre che i supporti degli archivi siano tali da conservare l'informazione inalterata e disponibile per tutto il periodo di tempo in cui essa è necessaria. Potrà essere solo l'intervento del programmatore a distruggerla o a modificarla)
- RAZIONALITA'(richiede che le informazioni di un archivio siano organizzate in modo da garantire un reperimento rapido e senza possibilità di errore )
- SISTEMATICITA'(impone ke le informazioni appartenenti ad uno stesso archivio non siano strutturalmente diverse tra loro)
Record logico la descrizione di come il programmatore vorrà suddividere il gruppo d'informazioni che caratterizzano l'oggetto osservato. Ha una lunghezza in byte pari alla somma della dimensione dei campi che costituiscono il record stesso.
Record fisico rappresenta l'insieme di byte che possono essere letti o scritti in memoria di massa con una sola operazione di lettura o scrittura
fattore di bloccaggio = Il n° di record logici presenti in un unico record fisico
se è >1 (se ogni record fisico contiene + record logici) si dicono record bloccati
se è =1 o ne contiene al massimo uno si dicono record sbloccati
se è <1 (cioè sono necessari più record fisici per 1 logico) record multiblocco
il tempo di accesso alla memoria di massa è superiore a quello relativo alla memoria centrale
nei vari sistemi i record fisici hanno una capienza sufficiente a garantire un minor n° di accessi alla memoria secondaria
la memoria di massa, ha il compito principale di conservare permanentemente dati e programmi
per elaborare dei dati è
necessario un loro trasferimento in memoria centrale, poiché
quando
ORGANIZZAZIONE DEGLI ARCHIVI
Modo in cui l'archivio è rappresentato sul supporto fisico di memoria, sia il modo in cui è elaborato.
Può essere: fisica(relativa al supporto) o logica(relativa alla modalità di gestione)
ORGANIZZAZIONE FISICA
SUPPORTI AD ACCESSO SEQUENZIALE (nastri, qui l'organizzazione fisica e logica coincidono)
SUPPORTI AD ACCESSO DIRETTO(dischi, vi si può accedere sia sequenzialmente sia in modo diretto. Non è necessaria l'organizzazione fisica)
ORGANIZZAZIONE LOGICA
SEQUENZIALE(quando per ogni record ne esiste uno precedente e uno successivo a eccezione del 1° e dell'ultimo)
NN SEQUENZIALE(la sequenza non esiste, i record sono memorizzati in maniera sparsa all'interno dello spazio a disposizione)
ORGANIZZAZIONE SEQUENZIALE
-semplice
-registra e legge in modo sequenziale
-consente l'uso di record aventi lunghezza diversa
-limiti in fase di ritrovamento perché lenta
-efficace per file di piccole dimensioni
-aggiunge record in coda a quelli registrati
-è opportuno introdurre un controllo per verificare quando si arriva alla fine del file
INDEXED SEQUENTIAL
Nell'organizzazione sequenziale a indici troviamo due archivi:
un archivio primario, composto da record consecutivi che possono essere anche ordinati
un archivio secondario o gerarchia di indici, i cui elementi sono composti da 2 campi:
un campo chiave, che contiene la chiave del record
un campo puntatore, che contiene la posizione dei record all'interno dell'archivio
- accanto alla zona dove sono registrati i record viene gestita una tabella delle chiavi, la ricerca del record avviene attraverso la chiave a cui è associato un puntatore, cioè la posizione che il record occupa all'interno del file.
- gli accessi consentiti sono:
sequenziale(in base all'ordine crescente delle chiavi), diretto/random(ricerca diretta grazie al valore della chiave), dinamico(ricerca diretta+sequenziale).
- il campo chiave non può essere modificato
Questa soluzione è dispendiosa sia in termini di occupazione di memoria che di gestione delle informazioni.
Per sfruttare la totalità dei vantaggi offerti da questo tipo di organizzazione e, in particolare, potenziare le operazioni i ricerca dei record, bisogna distinguere fra strutture sequenziali con indice ordinate e non ordinate e tener conto del metodo di costituzione dell'indice.
RELATIVE
In questa organizzazione la chiave primaria di ogni record identifica univocamente sia il record stesso sia l'indirizzo logico in cui il record è registrato. I Vantaggi sono:
a ogni record corrisponde una chiave numerica indicante la posizione occupata dal record all'interno dell'archivio(indirizzo logico)
l'organizzazione relative può essere utilizzata solo su supporti di memorizzazione ausiliari ad accesso diretto
in questa organizzazione è consentito sia l'accesso sequenziale che quello diretto, quindi l'organizzazione può essere gestita indifferentemente come archivio sequenziale o come archivio non sequenziale
l'organizzazione relative risulta molto vantaggiosa per le operazioni interattive
utilizzando puntatori in questo tipo di organizz. È possibile ottenere un ordine logico diverso da quello fisico
consente la possibilità di accedere ai record con una chiave alfanumerica
Svantaggi:
è difficile riuscire a impostare una relazione univoca tra la chiave primaria e la posizione nella quale memorizzare il record
HASH
La tecnica Hash trasforma la chiave dei record in un n° intero che rappresenta l'indirizzo logico del reord stesso(INDIRIZZO HASH) H(K) = X
La funzione deve avere queste caratteristiche:
facilmente calcolabile
deve produrre stesso indirizzo quando si inserisce la stessa chiave
deve coprire l'intervallo tra gli indirizzi
deve generare il minor n° di collisioni
TRASFORMAZIONE PERFETTA = quando ogni record è raggiunto tramite un solo accesso
1000 prodotti codice da
H(K) = H(codice prodotto-1000) + 1
COLLISIONE = si verifica quando più chiavi generano lo stesso indirizzo (sinonimi)
Il calcolo degli indirizzi
metodo del troncamento H(1548968) + 1 = 969
metodo folding (piegare) H(563710) 365 + 710
metodo della divisione modulo n
Gestione delle collisioni = metodo con cui ci si comporta quando si presenta la collisione, ovvero
trovare un indirizzo logico vuoto
metodi di gestione:
scansione lineare (quando la funzione hash produce un indirizzo già occupato da un altro record, occorre scandire l'archivio in modo da ricercare il 1° posto libero in cui sistemare la chiave che generato la collisione...spetta al programmatore la scelta del passo di scansione)
scansione pseudo-random (non si procede sequenzialmente come in quella lineare ma si calcola un altro indirizzo detto di rehash servendosi della funzione di rehash)
OPERAZIONI SUI FILE:
- apertura: archivio stabilisce un collegamento tra la memoria centrale e il file registrato sulla memoria di massa.
- lettura: copia in memoria centrale dalla memoria di massa il contenuto dei campi di un record registrato nel file.
- scrittura: trasferisce sulla memoria di massa il contenuto del record composto in memoria centrale con i valori assegnati ai campi.
- posizionamento: individua il record sul quale di deve leggere o scrivere etc
- riscrittura: aggiorna nel file su memoria di massa il contenuto di un record modificato durante l'elaborazione.
- cancellazione: elimina informazioni
- chiusura: interrompe il collegamento tra memoria centrale e file, liberando la memoria riservata per le operazioni di I/O e aggiornando le informazioni sul file nella tabella dei descrittori.
Consultazione reperire un informazione all'interno del file e si effettua in base alle chiavi
Inserimento necessità di inserire un nuovo record nell'archivio
Cancellazione di una registrazione in archivio LOGICA I dati non sono cancellati fisicamente ma segno il fatto che li ho cancellati ( agg. Al record un campo booleano che quando chiedo Cancellato? SI oppure do alla chiave primaria un valore che non potrebbe assumere es. **) FISICA cancello effettivamente i dati dal disco (dopo aver fatto + di 1 cancellazione logica, riorganizzo l'archivio cioè lo leggo e lo copio su un nuovo file, lo ricompatto e faccio Rewrite)
Aggiornamento/modifica voglio modificare 1 dato, (se un fornitore cambia indirizzo..)cambio 1 o + campi di una voce già presente
OPERAZIONI SUI FILE. Per poter elaborare tramite un programma i dati presenti nei file è necessario prima spostarli nella memoria centrale. È compito del sistema operativo (file system) trasportare fisicamente i dati dalla memoria di massa (hardisk, floppy disk, cd-rom) alla memoria centrale e viceversa. Queste funzioni vengono richiamate con i comandi READ e WRITE presenti in tutti i linguaggi di programmazione. Con un'operazione di READ viene fatto un accesso alla memoria di massa e viene ricopiato un record dalla memoria di massa alla memoria centrale. Con l'operazione di WRITE avvine il contrario e cioè il record presente nella memoria centrale viene copiato nella memoria di massa.
La prima operazione da analizzare è la creazione di un archivio, cioè l'operazione che riserva lo spazio sulla memoria di massa in grado di contenere i dati interessati.
L'operazione di consultazione riguarda il reperimento dei dati contenuti nell'archivio.
Modifica Ordinamento
Inserimento Fusione
Cancellazione Cancellazione di un file
Appunti su: https:wwwappuntimaniacominformaticacomputerarchivi-e-file74php, |
|