La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Accesso ai dati su file Localizzazione dei dati File system locali e distribuiti Protocolli.

Presentazioni simili


Presentazione sul tema: "Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Accesso ai dati su file Localizzazione dei dati File system locali e distribuiti Protocolli."— Transcript della presentazione:

1 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Accesso ai dati su file Localizzazione dei dati File system locali e distribuiti Protocolli di rete: ftp, http, ssh/scp, rcp Rappresentazione dei dati File di testo CSV, FLV, ARFF Accesso ai dati in Java File XML File binari Archivi, Database File compressi

2 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Rappresentazione in XML XML = eXtensible Markup Language XML permette la definizione di linguaggi di markup per la rappresentazione di informazione strutturata Markup: tutto ciò che ha un significato speciale che deve essere ben caratterizzato, reso esplicito

3 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Esempio duso linguaggio markup Problema: scambio di dati tra due applicazioni Formati proprietari difficilmente scambiabili CSV con differenti separatori /ordine delle colonne FLV, ARFF, Binari, ecc. Soluzione: definizione di un formato di interscambio … … che marchi i dati con il loro significato … … in modo che siano facilmente interpretabili

4 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali XML con un esempio Iron Maiden Killers 1980 The Ides of March 1:55 Iron Maiden Powerslave Another Life 3:12 …

5 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Prologo: dichiarazione XML … Obbligatoria allinizio del file Gli attributi sono: version: (obbligatorio) la versione di XML usata. encoding: (opzionale) nome della codifica dei caratteri usata nel documento. (default: UTF-8 o 16) standalone: (opzionale) se vale yes indica che il file non fa riferimento ad altri file esterni. (default: no)

6 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Tag di apertura Elementi Un elemento è un frammento di dati, limitato ed indentificato (tramite un nome) da un tag. Iron Maiden The Ides of March Elemento artist Elemento title Elemento song Tag di chiusura

7 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Elementi: Il tag di apertura ha la forma: nome è il nome dellelemento. attributi è una lista opzionale di attributi per lelemento Il tag di chiusura ha la forma: nome è lo stesso identificatore usato nellapertura Elementi privi di contenuto: Esiste un unico elemento radice (root)

8 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Attributi Gli attributi permettono di specificare proprietà degli elementi nella forma nome=valore Sono usati per definire proprietà che non possono o non si vogliono inserire nel contenuto dellelemento Vengono specificati allinterno dei tag di apertura degli elementi Lordine non è significativo

9 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Testo Comprende tutti i caratteri UNICODE Caratteri riservati: >, < e & È possibile inserire caratteri speciali o riservati tramite entità carattere > < & amp; à Sezioni CDATA Permettono di definire esplicitamente aree in cui si trova solo testo semplice.

10 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali XML, cosa altro … … (non) vedremo in seguito: Namespaces tag relativi a spazi di nomi Document Type Definition definizione delle strutture sintattiche ammissibili in un documento XML Riferimenti e hyperlink, definizione di schemi, Linguaggi e API di interrogazione XPath, XQuery, DOM, SAX Uso nel WWW: trasformazione di documenti XSLT fogli di stile CSS

11 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Dati tabellari nomecognomeetaprof stringstringintstring MarioBianchi23Studente LuigiRossi30Operaio AnnaVerdi?Insegnante RosaNeri20Studente

12 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali File XML: dati tabellari Come rappres. una tabella di valori come un documento XML? Formato ROW un tag con un attributo per ogni colonna con valore non NULL

13 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali File XML: dati tabellari Come rappres. una tabella di valori come un documento XML? Formato ELEMENTS un tag con un sottoelemento per ogni colonna con valore non NULL Mario Bianchi 23 Studente Luigi Rossi 30 Operaio

14 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali File XML: dati tabellari Come rappres. i meta-dati in un documento XML? un tag con un elemento per ogni colonna

15 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali XML: classi JAVA Un documento XML può essere acceduto come un normale InputStream parsing a carico del programma mediante una classe che effettua il parsing sintattico ritorna un albero navigabile del documento DOM – Document Object Model Riferimenti: javax.xml.parsers.DocumentBuilder org.w3c.dom.Document mediante una classe che effettua il parsing sintattico effettuando delle call-back su determinati eventi SAX – Simple API for Xml Riferimenti: javax.xml.parsers.SAXParser org.xml.sax.XMLReader

16 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Accesso ai dati su file Localizzazione dei dati File system locali e distribuiti Protocolli di rete: ftp, http, ssh/scp, rcp Rappresentazione dei dati File di testo CSV, FLV, ARFF Accesso ai dati in Java File XML File compressi File binari Archivi, Database

17 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali File compressi Programmi di compressione: gzip, zip, rar, bzip2, 7z, … Fondamenti teorici: Corso: Compressione di testi Operazioni: selezione della colonna Nome di una tabella compressa indirette via decompressione dirette sul compresso XDCE permette ricerche sul compresso di doc. XML

18 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Esercitazione: FORMATO 1. Scrivere un programma (Java) che dato un file ARFF produce il corrispondente XML (ROW o ELEMENTS).

19 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Accesso ai dati su file Localizzazione dei dati File system locali e distribuiti Protocolli di rete: ftp, http, ssh/scp, rcp Rappresentazione dei dati File di testo CSV, FLV, ARFF Accesso ai dati in Java File XML File compressi File binari Archivi, Database

20 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Rapp. di strutture dati in memoria Mario Bianchi 23 Studente … … // struttura in C struct riga { char nome[20]; char cognome[20]; int eta; char prof[30]; } var; // memoria occupata int spazio = sizeof( var ); var

21 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Mario Bianchi 23 Studente Mario Bianchi 23 Studente Persistenza su file di strutture dati … … fd = open(file.data, O_RDWR); lseek( fd, 2*sizeof( var ) ); read( fd, &var, sizeof(var) ); var.eta++; lseek( fd, 2*sizeof( var ) ); write( fd, &var, sizeof(var) ); close(fd); varvar file.data

22 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali File binari File contenenti strutture dati in codica binaria Codifica binaria di un carattere codice ASCII/UNICODE del carattere a viene codificato in ASCII con il byte Codifica binaria di interi, es assumendo sizeof(int) = 4 bytes Big endian Little endian

23 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali File binari Codifica binaria di floating point numbers Standard IEEE Codifica strutture dati struct si considera la composizione delle codifiche degli elementi array si considera la sequenza delle codifiche degli elementi alberi, indici, basi di dati … In generale, per strutture dati generiche si serializza la struttura dati in una sequenza di tipi base

24 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali File binari: classi Java Accesso random java.io.RandomAccessFile metodi: seek, readInt / writeInt, readDouble / writeDouble Codifiche caratteri (ASCII, ISO , UTF-8, UTF-16, …) java.nio.charset.Charset interi (big/little endian) java.nio.ByteOrder buffers (int, float, dobule) java.nio.Buffer

25 Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Esercitazione: FORMATO Consideriamo una tabella con due colonne, codiceCliente (di tipo int) e importo (di tipo double), e sia sizeof(int) = 4, sizeof(double) = 8 1. Supponiamo di generare file di questo tipo in modo casuale nei formati CSV, FLV, XML e binario. Qualè il formato che occupa maggior spazio disco? E quello che ne occupa di meno? 2. Come cambia la risposta in (1) per un tabella con una sola colonna di tipo stringa (es., nomeCliente)?


Scaricare ppt "Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Accesso ai dati su file Localizzazione dei dati File system locali e distribuiti Protocolli."

Presentazioni simili


Annunci Google