Lezione del 12/01/2021
Docente: Domenico Latanza
https://domenicolatanza.altervista.org/didattica.php
1a parte: INFORMATICA DI BASE
1) Sistema binario e codifica dei dati
Sistema binario: un sistema informatico codifica qualsiasi informazione come combinazione di due soli simboli: 0 e 1.
N.B. Quando è necessario salvare un'informazione (file) sul disco questa informazione deve essere
"convertita" in binario.
Ogni simbolo binario corrisponde ad 1 bit di informazione.
Es. Utilizzare 7 bit per codificare una qualsiasi informazione significa avere a disposizione 2^7 combinazioni.
(ASCII 7-bit)
Codifiche più utilizzate per mappare un vastissimo numero di caratteri: UNICODE 16bit, che equivale a 2^16 caratteri/simboli
Formati files
L'estensione di un file rappresenta il tipo di documento che stiamo salvando.
Testo: doc, docx (word), odt (open),txt (notepad) docx attualmente è letto/scritto da qualunque software open(libreoffice,openoffice)/proprietario(ms office)
Foglio di calcolo: xls, xlsx, ods Database: sql
Formati vettoriali: pdf
Grafici: bmp, jpg (compresso), jpeg (compresso), gif, png
N.B. La compressione nei formati grafici è senza perdita di informazione, come invece accade per l’audio nel formato mp3.
FILESYSTEM e SPAZIO OCCUPATO SU DISCO
Ogni sistema operativo suddivide il disco secondo una certa logica.
In base a questa struttura ogni file potrà essere allocato in una porzione del disco e avere anche una massima dimensione ammissibile.
Filesystem più frequenti:
WINDOWS:
- NTFS: può memorizzare files più grandi di 2GB - FAT32: ha un limite di dimensione dei files
Problema di compatibilità: NTFS è adatto solo se i computer interessati allo scambio dati sono tutti con sistema WINDOWS.
APPLE:
- APFS
UNIVERSALE:
- exFAT32: compatibile con sistemi LINUX, WINDOWS, APPLE
Buon compromesso tra compatibilità e dimensione dei files supportata può essere il FAT32.
FORMATI PER LO SCAMBIO DATI
- CSV: memorizzazione dati provenienti da un database, output da excel, importazione database (es. molto utilizzato dai produttori per fornire i propri listini prodotti)
- XML: dati strutturati a livello gerarchico oppure dati per la configurazione di un sistema (software, app, videogiochi), scambio dati strutturati a livello gerarchico (fattura elettronica, ricetta medica elettronica...) - JSON: formato strutturato a livello gerarchico, secondo la logica CHIAVE : VALORE
Dettaglio di un file CSV
Ogni riga rappresenta un RECORD in cui sono presenti tutti i CAMPI/ATTRIBUTI che rappresentano ogni singolo elemento della nostra lista.
Es. impiegati.csv
Guido, Rossi, 32, Somma Lombardo Giulio, Fumagalli, 42, Milano
Osservazioni:
- Ogni campo è separato da un carattere separatore che di norma è la virgola. Un altro carattere utilizzato come separatore è il ;
- Ogni riga deve contenere lo stesso numero di campi
- E' possibile avere una riga iniziale di intestazione dei campi, che informa l'utilizzatore sul contenuto delle varie colonne/attributi del file.
Ad esempio: Nome, Cognome, Età, Città
- Se compare il carattere separatore o le virgolette in uno dei campi sarà necessario racchiudere il valore del campo tra “ “
- Evitare di lasciare spazi vuoti dopo ogni separatore
Dettaglio di un file XML
La rappresentazione si basa su due concetti: TAG e ATTRIBUTO
Il TAG è un NODO di interesse dell'informazione rappresentata. L'ATTRIBUTO fornisce un' ulteriore caratterizzazione del dato rappresentato dal TAG.
INDENTAZIONE: per facilitare la lettura il dato "figlio" viene scritto con un rientro definito dallo standard.
es. impiegati.xml
<impiegati>
<impiegato>
<nome>Guido</nome>
<cognome>Rossi</cognome>
<eta>32</eta>
<citta>Somma Lombardo</citta>
</impiegato>
<impiegato>
<nome>Giulio</nome>
<cognome>Fumagalli</cognome>
<eta>43</eta>
<citta>Milano</citta>
</impiegato>
</impiegati>
es. impiegati.xml con rappresentazione alternativa
<impiegati>
<impiegato nome="Guido" cognome="Rossi" eta="32" citta="Somma Lombardo">
<numero>1</numero>
</impiegato>
....
</impiegati>
In un confronto tra CSV e XML si può notare che:
- Il CSV consente una lettura più veloce dei record. E' più facile capire quanti sono i record (a meno che non siano migliaia). E' difficile però capire quanti attributi ha ogni record in quanto i valori non sono equispaziati (come in excel)
- L'XML consente una lettura più veloce rispetto agli attributi/nodi relativi ad ogni record - XML consente comunque una rappresentazione del dato più dettagliata...
Dettaglio di un file JSON
Ogni dato è rappresentato gerarchicamente secondo una logica CHIAVE : VALORE
es. impiegati.json impiegato:{
nome: "Guido", cognome: "Rossi", eta: 32,
citta: "Milano"
}
Osservazioni:
- Il separatore tra gli attributi è la virgola
- I valori sono TIPIZZATI in modo forte, ovvero se un attributo ammette un valore numerico questo verrà rappresentato senza ""
FORMATO DEI DATI (generale, numerico, testo, data...)
1) Di norma un dato testuale viene riportato nei formati di scambio dati racchiuso tra " "
2) Il separatore dei decimali è il punto nei software di lingua inglese; è la virgola nei software di lingua latina
3) Particolare attenzione va prestata ai formati data:
MM-GG-AAAA AAAA-MM-GG GG/MM/AAAA
ESERCITAZIONE: importazione di un file CSV in Excel per successiva manipolazione