05-Memorizzazione dei dati - Trapani Marco's Blog · 05-Memorizzazione dei dati MARCO TRAPANI -...
Transcript of 05-Memorizzazione dei dati - Trapani Marco's Blog · 05-Memorizzazione dei dati MARCO TRAPANI -...
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 1
INFORMATICA05-Memorizz.dati
Marco [email protected]
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 2
Dati:perchèInformatica:
�Trattamento automatico delle informazioni
Significato (messaggio)
Informazione
Dato
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 3
Senza dati ? Informatica senza dati: ha senso ?
�Sw controllo sistemi (es.semaforo)� Ma anche questo ha dei dati : il tempo
di durata del rosso…
� In generale l’informatica è proprio il “trattamento dei dati”
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 4
Organizzazione 37 36,5 36,9 37,5 38 37,9 38,5
�Messi cosi sono solo “numeri”…
�Se sappiamo:� Senso
� Unità di misura
� ….
� Il dato diventa “informazione”
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 5
Organizzazione 37 36,5 36,9 37,5 38 37,9 38,5
�Aggiungiamo: �Unità di misura Gradi Celsius(°)�Rilevazione alle 8 del mattino in giorni
consecutivi della temperatura di un paziente
�Otteniamo: una “informazione”
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 6
Organizzazione 37 36,5 36,9 37,5 38 37,9 38,5
�Analizzando l’informazione, comparandola con dati “campione”, otteniamo un “significato”� la persona è malata …�probabilmente si sta aggravando
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 7
Tipologie dati Tipologie elementari:
�Alfanumerici� Generici o solo alfabetici
�Numerici� Interi� A virgola mobile� Date
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 8
Tipologie dati Dati “puri” o “codici”
VRVRVRVRVERONAVERONAVERONAVERONA
TOTOTOTOTORINOTORINOTORINOTORINO
RMRMRMRMROMAROMAROMAROMA
NANANANANAPOLINAPOLINAPOLINAPOLI
MIMIMIMIMILANOMILANOMILANOMILANO
FIFIFIFIFIRENZEFIRENZEFIRENZEFIRENZE
ARARARARAREZZOAREZZOAREZZOAREZZO
AGAGAGAGAGRIGENTOAGRIGENTOAGRIGENTOAGRIGENTO
Riflessione:
Anche “Firenze”, da un punto di vista linguistico, è un codice: l’insieme delle lettere “F + I + R + E + N + Z + E” è una rappresentazione linguistica della realtàdi una città collocata in una certa posizione nel territori, a sua volta, denominato ITALIA (nota bene: esistono diversi posti, sulla terra, denominati “firenze” (esdiverse cittadine degli stati uniti, fondate da italiani emigranti) ma per la nostra realtà (ITALIA) la denominazione FIRENZE è sufficiente; l’uso di un codice (cd SIGLA AUTOMOBILISTICA) risponde solo ad un criterio: abbreviazione (quindi “risparmio di spazio”) e omogeneizzazione delle lunghezze (tutte sigle di due lettere).
Nell’uso comune diciamo che “FIRENZE” è una “deoniminazione”, mentre “FI” èun codice.
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 9
Rappresentazione �Noi usiamo un sistema con 26
simboli detti “alfabetici”� ABCDEFGHIJKLMNOPQRSTUVWXYZ
� Più dieci simboli detti “numerici”� 0123456789
� Più una serie di simboli detti “speciali”� . , ; : ? ! + - ” £ $ % & / ( ) = ^ °ç § @
� Non dimentichiamo le accentate…� à è è ì ò ù …..
In realtà i simboli usati nella scrittura sono molti di più; non dimentichiamo le lettere “minuscole”, nonché la simbologia matematica ( 3s. > < = + - ) , oppure i caratteri particolari usati in alcuni alfabeti (pur sempre simili al nostro) come le vocali barrate degli alfabeti scandinavi, (Ø) o la dieresi (ÖÄÜ) e decine di altri.
Tutto questo per limitarsi alle lingue con scrittura in alfabeto “latino”; non dimentichiamo tutti gli altri alfabeti (arabo, cirillico) o modalità di espressione ideografica (cinese, giapponese) o sillabica (geroglifici…)
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 10
Rappresentazione �Ma il computer può memorizzare
solo due simboli base: � 0 – 1
� Un gruppo di otto “bit” (BYTE)� Valori da 00000000 a 11111111
� 256 combinazioni (da 0 a 255)
Per rappresentare una lettera dell’alfabeto abbiamo bisogno di più “cifre”binarie
Convenzionalmente negli anni 50 la IBM decise che un gruppo di otto “bit”(denominato BYTE) consentiva una “codifica” sufficiente allo scopo
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 11
Rappresentazione �L’assegnazione dei codici “binari”
deve seguire uno standard�ASCII (ANS)
� American Standard Code forInformation Interchange
�EBCDIC (IBM)� Extended Binary Code Data
Interchange Code
Negli anni 50 ogni produttore (NB meno di una decina) aveva stabilito un suo criterio di codifica; l’American National Standard (l’equivalente del nostro UNI) decise un criterio “standard” a cui tutti avrebbero dovuto uniformarsi: tutti i produttori (ESCLUSO IBM) si adeguarono al codice ASCII;la IBM, dall’alto di un “quasi-monopolio”, continuò a utilizzare il suo (EBCDIC);ancora oggi questa dicotomia è presente: in pratica: i grandi sistemi IBM (Mainframe e Midrange) Server Z e Server I utilizzano la codifica EBCDIC, mentre TUTTI GLI ALTRI (pccompresi) usano la codifica ASCII
Da un punto di vista funzionale i due standard sarebbero equivalenti, ma ovviamente diversi.
Nota storica: la tabella ASCII standard nacque inizialmente a soli sette bit, con i codici da 0 a 1111111; solo successivamente, con la standardizzazione a otto bit, furono aggiunti altri codici e simboli creando la “ASCII Extended”, che è quella cui ci si riferisce correntemente oggi.
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 12
Rappresentazione �Criterio a 256 combinazioni� Insufficiente per tutti gli alfabeti e le
esigenze “speciali”� Soluzione tampone: CODE PAGE (in pratica i
caratteri della seconda parte possono variare da computer a computer)
� FUTURO (presente): codifica a 2 BYTE, � Da 0000000000000000 a 1111111111111111� 65536 possibili caratteri
La codifica “Double Byte” non è ancora universalmente adottata; esistono diversi standard denominati UNICODE, ma con diversi criteri (UTF-8, UCS-2).
La codifica UNICODE è adottata come standard dalla JVM (ambiente elaborazione JAVA Virtual Machine)
NOTA BENE: per un sistema comune passare da una codifica ASCII ad una codifica UNICODE ovviamente significa dimezzare la capacità in termini di informazioni memorizzabili.
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 13
Rappresentazione STANDARD ASCII
� Dati Alfanumerici
� 1 Byte = 1 carattere
� Date
� Varie possibilità:
�Memorizzazione come numero
�Memorizzazione come “data”
�Memorizzazione ISO
�Data-ora
Problema dei formati
•italia (europa) GGMMAAAA (talvolta GGMMAA)
•USA MMGGAAAA
•Informatico AAAAMMGG (rovesciata)
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 14
Rappresentazione STANDARD ASCII
� Dati Numerici� Memorizzazione “carattere”
� 1 cifra = 1 Byte� Memorizzazione “compatta” (packed)
� 2 cifre = 1 byte� Memorizzazione “in binario”
� 1 Byte = valori +/- 127� 2 Byte = valori +/- 32.768
� 4 byte = valori +/- 2.147.483.648
I vari sistemi di memorizzazione (Data Base, ne parleremo più avanti) usano normalmente formati “interni” particolari, diversi da sistema a sistema.
Esiste, in particolare in ambito scientifico, la memorizzazione “in virgola mobile”,attraverso una espressione particolare
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 15
Nomenclatura �Ogni dato viene denominato “campo”
(field)�Più campi insieme (riferiti ad uno stesso
“fenomeno”) formano un “record”�Esempio:
� Dati studente = record studente� Dati libro = record libro
Dati anagrafici studente:
•Matricola
•Cognome e nome
•Data di nascita
•Luogo di nascita
•Provincia di nascita
•Sesso
•Codice fiscale
•Corso di studi
•Anno di iscrizione
•….
Dati libro:
•Codice ISBN
•Classificazione Dewey
•Autore/i
•Titolo
•Casa editrice
•Anno di pubblicazione
•Collana
•Nr pagine
•,,,,
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 16
Codifica Esistono vari tipi di codifica
�Codice “bruto”� Es.matricola studente
�Codice “discreto”� Es.sigla provincia
�Codice “parlante”� Es.sesso
Per codificare dei dati si possono usare diverse tecniche: ognuna presenta vantaggi e svantaggi
Codice “Bruto” (semplice numerazaione progressiva)
Dimensione (caratteri) minima
Facilità di creazione “logica”
Impossibile “inserimenti” (nuovi elementi vengono messi in coda)
Codice “Discreto” (assegnazione di codice con intervalli)
•Dimensione media
•Possibili inserimenti “in ordine”
•Attenzione a “saturazione”
Codice “Parlante” (assegnazione con un criterio logico)
•Dimensione massima
•Codifica esplicativa
•Attenzione a “omocodici”
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 17
Codifica Classificazione decimale Dewey
�Totalmente numerica�Codifica “discreta”
� 10 Main classes (0-9)
� 10 Divisions (0-9)
� 10 Sections (0-9)
� Da 000 a 999
La Classificazione decimale Dewey (anche DDC, acronimo dalla dizione inglese Dewey Decimal Classification o Dewey Decimal System) è uno schema di classificazione, inizialmente rivolto all'ambiente bibliotecario, sviluppato da Melvil Dewey (1851-1931) nel 1876, da allora più volte modificato ed espanso in occasione delle ventidue revisioni principali di cui è stato oggetto fino al 2004. Nelle biblioteche pubbliche si utilizza frequentemente un'edizione ridotta, dal momento che non servono notazioni molto specifiche.(www.wikipedia.it)
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 18
Codifica MAIN Classes� 0 Computers, information & general reference� 1 Philosophy & psychology� 2 Religion� 3 Social sciences� 4 Language� 5 Science� 6 Technology� 7 Arts & recreation� 8 Literature� 9 History & geography
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 19
Codifica Esempio
500 represents science.
500 for general works on the sciences,
510 for mathematics,
520 for astronomy,
530 for physics. (for general works)
531 for classical mechanics,
532 for fluid mechanics,
533 for gas mechanics.
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 20
Codifica � Per motivi “pratico-estetici” dopo tre cifre si
mette un punto (che indica una “pausa”)
� Si prosegue con criterio simile
� Esempio:� 600 Technology (Applied sciences)
� 630 Agriculture and related technologies� 636 Animal husbandry
� 636.7 Dogs
� 636.8 Cats
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 21
Codifica �Codice ISBN 13
� “parte” di EAN�Prime tre cifre:
� 977 – Periodici� 978/979 – Libri
�9 cifre : id libro�1 cifra : controllo
Il Codice ISBN (International Standard Book Number) è un codice numerico (salvo l'ultima cifra che può anche essere una lettera X) usato internazionalmente per la classificazione dei libri. È definito da uno standard ISO, derivato dallo standard SBN inglese del 1967.
Ogni codice ISBN identifica un'edizione di un libro (escluse le semplici ristampe). (www.wikipedia.it)
Nasce a 10 cifre (ISBN-10) e viene poi esteso a 13 per “inglobarlo” nel codice EAN (codice a barre per la vendita al dettaglio di tutti i prodotti (quello stampigliato su pacchetti, scatole, lattine ecc.ecc.)
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 22
Codifica �Codice ISBN 13
�9 cifre: � Gruppo (da 1 a 5 cifre)
� 88: libri lingua italiana
� Editore (da 1 a 7 cifre)� Titolo (da 1 a 6 cifre)
�Lunghezza max 9
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 23
Codifica �Codice ISBN 13:Calcolo cifra di controllo
� moltiplicare ogni cifra per un peso in base alla posizione della cifra stessa: la prima cifra per 10, la seconda per 9, la terza per 8 e così via.
� Sommare i risultati� Dividere la somma per 11; prendere il resto della divisione� Sottrarre il risultato da 11� Se si ottiene 10, la cifra di controllo sarà “X”.
� Esempio: dato un codice 88-515-21588*10 + 8*9 + 5*8 + 1*7 + 5*6 + 2*5 + 1*4 + 5*3 + 8*2 = 274274 / 11 = 25 col resto di 1011 − 10 = 1La cifra di controllo è “1”.
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 24
Codifica �Codice FISCALE ITALIANO
�TRPMRC58C17D612U� TRP acronimo cognome
� MRC acronimo nome
� 58 anno di nascita
� C codice MM di nascita
� 17 GG nascita (F = + 40)
� D612 codice comune di nascita
� U chiave di controllo
Il codice fiscale italiano segue precise regole di legge per la sua “composizione”
3 CARATTERI = ACRONIMO DEL COGNOME
3 CARATTERI = ACRONIMO DEL NOME
2 CIFRE = ANNO DI NASCITA (SENZA IL SECOLO)
1 CARATTERE = CODICE MESE DI NASCITA (TABELLA FISCALE A=Gennaio, B=Febbraio, C=Marzo…)
2 CIFRE = GIORNO DI NASCITA (aumentato di 40 se donna)
1 CARATTERE + 3 CIFRE = CODICE UNIVOCO ASSEGNATO AD OGNI COMUNE ITALIANO
1 CARATTERE = CHIAVE DI CONTROLLO PER VERIFICA CORRETTEZZA SCRITTURA
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 25
Codifica �Codice IBAN
� International Bank Account Number�2 cifre : Nazione�2 cifre : Controllo�BBAN (codice nazionale)
� 1 : Carattere controllo� 5 : ABI (banca)� 5 : CAB (sportello)� 12: Conto corrente
L'International Bank Account Number, più noto nella forma abbreviata IBAN, èuno standard internazionale utilizzato per identificare un'utenza bancaria. Fu originariamente ideato dal Comitato Europeo per gli Standard Bancari (European Committee for Banking Standards) e successivamente fu adottato dall'ISO come standard ISO 13616:1997.
Il codice IBAN (International Bank Account Number) è definito a livello internazionale e consiste in:
* 2 lettere rappresentanti la Nazione (IT per l'Italia)
* 2 cifre di controllo
* il codice BBAN nazionale.
(www.wikipedia.it)
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 27
Record�Registrazione di più dati
� Riferiti ad uno stesso fenomeno� Diversi tra di loro� In formati eterogenei
�Es: dati anagrafici studente� Matricola� Cognome e nome� Data di nascita� ……..
Il concetto di record (per i nostri fini) rappresenta l’unione di molti campi riferiti ad un particolare “fenomeno”.
Es.
Dati anagrafici di un paziente, studente, dipendente
ovviamente in ogni caso ci saranno dati in parte probabilmente uguali (cognome e nome, data e luogo di nascita, sesso) e altri diversi, più specifici (se paziente: data accettazione, patologia; se studente: numero di matricola, facoltà, anno; se dipendente: data assunzione, qualifica)
Un record è composto, normalmente, da MOLTI dati
05-Memorizzazione dei dati
MARCO TRAPANI [email protected] 28
Homework�Trovare, nella realtà quotidiana, un
qualche “codice” (non banale) e analizzarlo per capirne logica e significato
�Mail to: [email protected]