Unit à D1 Archivi: i concetti fondamentali. Obiettivi Conoscere le diverse organizzazioni logiche degli archivi Conoscere le operazioni di base che si.

Slides:



Advertisements
Presentazioni simili
Modulo 5 DataBase ACCESS.
Advertisements

Introduzione al DTD Mario Arrigoni Neri.
Introduzione ad XML Mario Arrigoni Neri.
Modulo 1 – Ambiente di lavoro Windows 7
Analisi e progettazione
DBMS (DataBase Management System)
Estendere i linguaggi: i tipi di dato astratti
Unità D2 Archivi e file.
Strutture dati lineari
STRUTTURA DEL PERSONAL COMPUTER
Lezione 18 MIDI e XML Programmazione MIDI (Prof. Luca A. Ludovico)
PHP.
Ogni PC, per iniziare a lavorare, ha bisogno di un sistema operativo. Infatti questo è il primo programma che viene eseguito e che permette all'utente.
Hard disk.
Basi di Dati prof. A. Longheu
Archivi   L’uso degli archivi deriva dalla necessità di conservare dati e informazioni in modo permanente affinché possano essere riutilizzate anche.
Interfaccia del file system
Programmazione Procedurale in Linguaggio C++
Archivio Cé necessità di immagazzinare in modo permanente grandi quantità di dati. Esempio: anagrafe dei cittadini di un comune.
I file l I File sono l unità base di informazione nellinterazione tra utente e sistema operativo l Un file e costituito da un insieme di byte attinenti.
L’uso dei database in azienda
File.
Introduzione agli stream e alle classi
Array Struttura numerate di dati. Memorizzare molti dati In informatica cè spesso bisogno di memorizzare ed elaborare un insieme costituito da molti dati.
Struttura dei sistemi operativi (panoramica)
Linguaggi di markup1 LINGUAGGI DI MARKUP. Linguaggi di markup2 Documenti su Internet Internet permette (tra laltro) di accedere a documenti remoti In.
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
I File.
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
GESTIONE DEI FILE Per poter mantenere disponibili i dati tra le diverse esecuzioni di un programma (persi-stenza dei dati) è necessario poterli archi-viare.
Informatica per medici
DBMS ( Database Management System)
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
File I record.
Implementare un modello di dati
Ll Questionario Introduzione al software SAS (Parte 2) Metodi Quantitativi per Economia, Finanza e Management Esercitazione n°2.
File ad accesso casuale o random
Basi di Dati Microsoft Office: Access OpenOffice: Base Informatica 1 (SAM) - a.a. 2010/11.
STRUTTURA GENERALE DI UN ELABORATORE
DAGLI ARCHIVI AI DATABASE
ACCESS Introduzione Una delle necessità più importanti in informatica è la gestione di grandi quantità di dati. I dati possono essere memorizzati.
Il Sistema Operativo: il File System
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
Laboratorio informatico I
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
ITCG “V. De Franchis” - PON FSE Modulo G/1 l’informatica”
Modulo 5 DataBase ACCESS. Informazioni e Dati INFORMAZIONI vengono scambiate con linguaggio scritto o parlato DATI rappresentazione di informazioni in.
GLI ARCHIVI SEQUENZIALI
Modulo 5 - Database. Contenuti della lezione 5.1.1Concetti Fondamentali 5.1.2Organizzazione di un Database 5.1.3Relazioni 5.2.1Lavorare con i database.
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
Vettori (a una dimensione)
Informatica Docente : Jeremy Sproston Orario: Gruppo 1: (gli studenti i cui cognomi iniziano con la lettera A fino alla lettera L (inclusi)) Lunedì ore.
IV D Mercurio DB Lezione 2
Indice argomenti Installazione e configurazione
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE File Marco D. Santambrogio – Ver. aggiornata al 21 Maggio 2014.
I FILE I File sono l’ unità base di informazione nell’interazione tra utente e sistema operativo I File sono l’ unità base di informazione nell’interazione.
Archivi Esempi Movimenti contabili di un’azienda
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Microsoft Access Chiavi, struttura delle tabelle.
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Io ho voluto dimostrarlo attraverso una delle mie passioni:
Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da “0” a “9” fornendo in questo modo una rappresentazione dei numeri Per esempio:
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
“ Pseudocodice ” Un programma per computer lavorerà su in insieme di “ variabili ” contenenti i dati del problema, soluzioni intermedie, soluzioni finali.
Le basi di dati.
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
1 “ Le Basi di Dati ”. 2 Parte 5: Tabelle –Creazione di una tabella –Indici e chiavi primarie –Relazioni e integrità referenziale Basi di Dati Struttura.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
Lezione 14 Tecniche di I/O Avanzate Obiettivi di apprendimento: A.Come lavorare con stream binari B.Lavorare con I datalog files C.Vantaggi e svantaggi.
Files in C++ Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera)
Transcript della presentazione:

Unit à D1 Archivi: i concetti fondamentali

Obiettivi Conoscere le diverse organizzazioni logiche degli archivi Conoscere le operazioni di base che si possono effettuare sugli archivi Sapere come progettare un archivio a seconda delle proprie esigenze Sapere quale tipo di archivio utilizzare a seconda delle proprie esigenze

Necessità di dati persistenti Nelle prime applicazioni informatiche non vi era nulla che dovesse essere registrato o mantenuto in memoria per una successiva elaborazione; il risultato era semplicemente acquisito da chi ne aveva necessità e lalgoritmo veniva conservato su un qualche supporto digitale solo se necessario. Oggi, soprattutto nei software gestionali, ma non solo, risulta necessario il mantenimento dellinformazione (bolle, fatture, appuntamenti, dati di magazzino).

Persistenza – archivi e file La persistenza dei dati è la proprietà che li rende durevoli nel tempo, consentendo a essi di essere riutilizzati. Un archivio è unentità allinterno della quale sono memorizzati dati, che garantisce la persistenza degli stessi. Il termine archivio in inglese può essere considerato equivalente a file, anche se in realtà un archivio è un elemento molto più complesso: può essere sia un file, sia un insieme di file.

I dati negli archivi: record In un archivio, i dati sono mantenuti mediante strutture predefinite, che consentono di connettere logicamente gruppi di dati tra loro attinenti. Un record è un insieme di informazioni attinenti a una stessa entità Un dato è una qualsiasi stringa, numero o altro tipo di valore, mantenuto in un archivio. Linformazione è un dato che, inserito in uno specifico contesto, acquisisce un preciso significato.

Un esempio di record Si immagini di voler memorizzare lanagrafica degli studenti di una scuola, e quindi di voler salvare per ogni studente le seguenti informazioni: –nome; –cognome; –classe; –ripetente. In questo caso, un record è una struttura che comprende tutte le informazioni attinenti a uno studente (nome, cognome, classe …)

Il concetto di chiave La chiave è un campo o insieme di campi che individua in modo univoco un singolo record. Nellesempio si potrebbe scegliere come chiave linsieme dei campi: nome + cognome + classe.

Chiavi artificiali In alternativa, si potrebbe semplicemente aggiungere un codice identificatore, in genere abbreviato con la sigla id, che identifichi univocamente ogni studente della scuola.

Organizzazioni logiche degli archivi File di testo File CSV File XML Archivi binari

File di testo Un archivio organizzato come file di testo contiene un insieme di i caratteri e può essere scritto mediante qualsiasi editor di testo. È di un tipo di archivio molto semplice, è ancora oggi estesamente utilizzato. Può essere utilizzato per esempio come file di configurazione per unapplicazione.

I caratteri:ASCII - UNICODE Il codice ASCII è il più diffuso e utilizza 8 bit per rappresentare un carattere Java utilizza il codice UNICODE in cui i caratteri vengono rappresentati con 16 bit.

Un esempio di file di testo Windows utilizza il file di testo per salvare alcuni dati di configurazione nel file win.ini: … [fonts] [extensions] [mci extensions] [files] [MCI Extensions.BAK] aif=MPEGVideo aifc=MPEGVideo aiff=MPEGVideo asf=MPEGVideo asx=MPEGVideo au=MPEGVideo...

File CSV Un file CSV (Comma Separeted Values), è un file di testo in cui ogni riga rappresenta un record, composta da campi divisi da un carattere separatore, solitamente una virgola. Ogni riga contenga un record, quindi ogni record è separato dalla sequenza di caratteri CR + LF (Carriage Return + Line Feed), rispettivamente per ritornare allinizio della riga e per aggiungere una riga al file. Ogni riga contiene i campi da memorizzare separati tra loro da una virgola. Nel caso in cui la virgola sia un carattere utilizzato nei campi, si può sostituire il carattere separatore utilizzando, per esempio, il punto e virgola.

Un esempio di file CSV Andrea,Rossi,4B,No Gianluca,Verdi,3B,Si Andrea,Rossi,5A,No Sonia,Rossi,4C,No Romina,Verdi,4B,No I file di tipo CSV sono attualmente utilizzati per lo scambio di dati tra sistemi differenti, come per esempio vecchie applicazioni DOS e moderne applicazioni con interfacce grafiche, che operano su piattaforme completamente incompatibili.

File XML Un file XML (eXtensible Markup Language) è un file di testo composto da tag e con una struttura ad albero con un solo nodo radice. I tag servono per esplicitare il significato del contenuto, e che sono precedute dal simbolo di minore ( ). Per esempio, è un tag. Per ogni tag di apertura ne esiste uno di chiusura, formalizzato nel modo seguente:. I file XML sono utilizzati per memorizzare dati, per scambiare dati e messaggi tra applicazioni, o come file di configurazione.

Un esempio di file XML Andrea Rossi 4B No Gianluca Verdi 3B Si … Romina Verdi 4B No

Archivi binari Un archivio binario è composto da una sequenza di byte continua Per identificare i record, è necessario sapere a priori la loro esatta posizione. Se i record sono di lunghezza fissa, per saltare al record N, con N >= 0, è sufficiente applicare la formula seguente: posizioneRecordN = N * (lunghezzaRecordInbyte)

Tipi di accesso ai dati Archivi ad accesso sequenziale Archivi ad accesso diretto Archivi indicizzati

Archivi ad accesso sequenziale Gli archivi ad accesso sequenziale consentono di accedere a un record solo partendo dallinizio e scorrendo tutti quelli che lo precedono. E opportuno solo per archivi di piccole dimensioni, o per archivi utilizzati da applicazioni particolari che hanno bisogno di leggere i dati solo in modo sequenziale. Nel caso in cui la lunghezza dei record sia fissa, scorrere larchivio risulta abbastanza semplice utilizzando la formula vista in precedenza. Nel caso di record a dimensione variabile è necessario utilizzare vari accorgimenti, per esempio scrivere prima del record un numero che indica la quantità di byte occupati, in modo da sapere quanti se ne devono ancora leggere per caricare un record intero.

Archivi ad accesso diretto Un archivio ad accesso diretto consente di accedere direttamente a qualsiasi record senza dovere scorrere lintero file. Gli archivi ad accesso diretto (detto anche casuale o random) risolvono i problemi di utilizzo e di prestazioni degli archivi ad accesso sequenziale. Se i record dellarchivio sono a lunghezza fissa è possibile saltare direttamente al primo byte di un record posizioneRecordN = N * (lunghezzaRecordInbyte) Se i record sono a lunghezza variabile è necessaria lindicizzazione

Archivi indicizzati Un file indice di un archivio memorizza in modo ordinato rispetto alle chiavi, la chiave stessa del record e la posizione di questo nel file dei dati. Se la dimensione dei record è fissa, il file indice potrà contenere solo il numero del record nel file di dati; se invece la dimensione è variabile, è necessario indicare la posizione espressa in byte. Un archivio indicizzato consente di ordinare i record rispetto a una chiave. Questa soluzione rende necessaria solo la modifica del file indice ogniqualvolta si effettua un inserimento di un nuovo record, una cancellazione o un riordinamento dei dati.

Approfondimento: XML Il formato XML ha avuto nel corso degli ultimi anni un grande impulso, dovuto alla necessità sempre più diffusa di trovare uno standard utilizzabile su piattaforme e sistemi operativi differenti. Questo formato, infatti, può essere letto e compreso dalluomo ma è anche facilmente interpretabile mediante i parser, ovvero componenti specifici già presenti nella maggior parte dei linguaggi di programmazione, che consentono di leggere e aggiornare direttamente i nodi di un file XML. Il.NET Framework mette a disposizione delle librerie dedicate alla gestione dei contenuti XML Anche in Java esistono diversi package che consentono di gestire file XML, (es. javax.xml della Sun e Xerces di Apache Group)

Esempio di file indicizzato Il primo campo del file indice rappresenta la chiave numerica adottata e corrisponde al primo campo del file di dati; il secondo campo del file indice indica invece la posizione del record (partendo da 0) allinterno del file di dati.

Più indici È possibile creare più di un file indice per ogni file di dati, ciascuno di questi ordina i record in base a chiavi diverse In questo modo, si potrà utilizzare lindice più opportuno a seconda dellordinamento desiderato.

Operazioni sugli archivi Il modo in cui si effettuano le operazioni sugli archivi può variare in base al linguaggio di programmazione utilizzato, ma prevede sempre le seguenti operazioni fondamentali: –apertura dellarchivio; –lettura di un record; –scrittura di un record; –modifica di un record; –cancellazione di un record; –chiusura dellarchivio.

Apertura di un archivio Lapertura di un archivio è unoperazione che deve essere necessariamente effettuata prima di poter eseguire qualsiasi tipo di operazione su di esso. Un archivio non è necessariamente composto da un singolo file, ma può essere costituito da un insieme di questi. Qualsiasi operazione si esegua, deve essere sempre compresa tra una di apertura e una di chiusura dellarchivio.

Chiusura di un archivio La chiusura in alcuni casi è fondamentale per confermare le modifiche effettuate; senza di essa larchivio rimarrebbe immutato rispetto al suo stato precedente lapertura. Talvolta però i sistemi che eseguono i programmi agevolano il programmatore chiudendo larchivio nel caso in cui termini il programma, senza che sia stata effettuata una chiusura esplicita.

Lettura, scrittura e modifica La lettura di un record è unoperazione che si può definire invariante, in quanto non modifica lo stato dellarchivio, ma si limita a leggere dati contenuti al suo interno. Al contrario, le operazioni di scrittura, modifica e cancellazione alterano lo stato dellarchivio modificando i dati in esso contenuti.

Cancellazione Cancellazione fisica –Il record cancellato viene definitivamente eliminato dallarchivio. –Può comportare la riorganizzazione di tutto larchivio, a seconda del tipo di organizzazione logica implementata ed eventuali indicizzazioni presenti. –Nel caso di archivi di notevoli dimensioni risulta onerosa in termini di tempo di CPU. Cancellazione logica –Il record viene marcato logicamente ma non eliminato dallarchivio. –In un secondo momento, quando vi è un carico limitato di lavoro (spesso di notte), o su indicazione esplicita di un addetto alla base di dati, questi record sono cancellati fisicamente e larchivio viene riorganizzato, per esempio compattando le parti vuote lasciate dalle cancellazioni.

Fattori che influenzano la scelta di organizzazione di un archivio I fattori da tenere in considerazione per la scelta della tipologia di organizzazione di un archivio sono i seguenti: –quantità di dati; –tipi di dato; –relazioni tra i dati.