Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Queste slides sono un adattamento di quelle di Luca Anselma, cui va il mio ringraziamento
mercoledì 6 novembre 13
BASI DI DATI (DATABASE, DB)
mercoledì 6 novembre 13
BASI DI DATI (DATABASE, DB)
In ogni ambiente in cui è necessario memorizzare e reperire grandi
quantità di dati è utile un database
Esempi:
anagrafe,
biblioteca,
bancomat,
università (per es. carico didattico),
agenzie viaggi
mercoledì 6 novembre 13
BASI DI DATI (DATABASE, DB)
mercoledì 6 novembre 13
BASI DI DATI
Prima soluzione: il file system (magari in file di
testo)
Svantaggi:
Organizzazione dei file a
carico dell’utente
(categorizzazione dei dati
per poterli reperire)
Dati non strutturati: come
confrontarli ed elaborarli?
Quando si hanno molti
dati, i file diventano difficili
da gestire 5
mercoledì 6 novembre 13
BASI DI DATI
Seconda soluzione: foglio elettronico
Svantaggi:
mercoledì 6 novembre 13
SISTEMI INFORMATIVI E BASI DI DATI
mercoledì 6 novembre 13
INFORMAZIONE E DATI
mercoledì 6 novembre 13
INFORMAZIONE E DATI
mercoledì 6 novembre 13
DATI E APPLICAZIONI
I dati possono variare nel tempo anche molto
frequentemente (per esempio, l’importo del conto
corrente), ma la struttura con cui i dati sono
rappresentati in un sistema sono di solito stabili (per
esempio di solito una valuta è un numero con due cifre
decimali)
mercoledì 6 novembre 13
DATI E APPLICAZIONI
mercoledì 6 novembre 13
DATI STRUTTURATI E
DATI NON STRUTTURATI
• Dati non strutturati: non rispettano formati o regole
Es.: documenti di testo, e-mail, pagine web, video, suono, immagini, …
mercoledì 6 novembre 13
DATI STRUTTURATI E DATI
NON STRUTTURATI
Per esempio, con questo file di testo non ho modo di ottenere
esclusivamente i libri il cui autore sia Dante Alighieri: cercando
“Dante” ottengo anche l’opera di Boccaccio
mercoledì 6 novembre 13
DATI NON STRUTTURATI
Ricerca in un documento di testo
mercoledì 6 novembre 13
DATI NON STRUTTURATI
Ricerca in una pagina web
mercoledì 6 novembre 13
DATI STRUTTURATI
Ricerca nell’OPAC (Online Public Access Catalog) della Library
of Congress (http://catalog.loc.gov)
mercoledì 6 novembre 13
DATI STRUTTURATI
Ricerca nell’OPAC
del Sistema
Bibliotecario
Nazionale
(http://opac.sbn.it)
mercoledì 6 novembre 13
BASI DI DATI
“Magazzini” di dati
Strutturata:
es. anagrafe: nome, cognome, data di nascita, …
Omogenea:
es. anagrafe: per ogni persona mantengo le stesse informazioni
mercoledì 6 novembre 13
BASI DI DATI
ok dati anagrafe
no testo di un libro
mercoledì 6 novembre 13
VANTAGGI DEI DBMS
Preciso, riutilizzabile
mercoledì 6 novembre 13
VANTAGGI DEI DBMS
mercoledì 6 novembre 13
SVANTAGGI DEI DBMS
mercoledì 6 novembre 13
BASI DI DATI
Un DBMS gestisce insiemi di dati:
a. grandi
b. persistenti
c. condivisi
garantendo
d. affidabilità
e. privatezza
f. efficienza
g. efficacia
mercoledì 6 novembre 13
LE BASI DI DATI SONO… GRANDI
a. Dimensioni:
un DB può avere dimensione di Terabyte
⇒ DBMS deve gestire dati su memoria secondaria
mercoledì 6 novembre 13
LE BASI DI DATI SONO…
PERSISTENTI
b. Persistenza:
i dati hanno un tempo di vita che non è limitato a quello delle singole
esecuzioni delle applicazioni
mercoledì 6 novembre 13
LE BASI DI DATI SONO…
CONDIVISE
c. Condivisione:
i dati di un DB devono essere condivisibili da più utenti che utilizzano
varie applicazioni (es. azienda con magazzino)
L’accesso deve essere svolto secondo opportune modalità
mercoledì 6 novembre 13
LE BASI DI DATI SONO…
CONDIVISE
Utente 1 Utente 2 Utente 3 Utente 4
DBMS
DB
mercoledì 6 novembre 13
LE BASI DI DATI SONO…
CONDIVISE
mercoledì 6 novembre 13
LE BASI DI DATI SONO…
CONDIVISE
Condivisione ! Concorrenza
mercoledì 6 novembre 13
I DBMS GARANTISCONO…
AFFIDABILITÀ
d.Affidabilità:
il DBMS garantisce il contenuto del DB in caso di malfunzionamenti
hardware o software
mercoledì 6 novembre 13
I DBMS GARANTISCONO…
PRIVATEZZA
e. Privatezza:
gli utenti svolgono solo determinate azioni sui dati, con meccanismi
di autorizzazione
Es. biblioteca:
mercoledì 6 novembre 13
I DBMS GARANTISCONO…
EFFICIENZA
f. Efficienza:
le operazioni devono essere svolte in tempi accettabili per
l’utente (molto brevi!) nonostante la grande mole di dati
Quindi, i DBMS cercano di utilizzare al meglio le risorse di spazio
di memoria (principale e secondaria) e tempo (di esecuzione e
di risposta)
mercoledì 6 novembre 13
I DBMS GARANTISCONO…
EFFICACIA
g. Efficacia:
cercano di rendere produttiva l’attività dell’utente, offrendo
funzionalità articolate, potenti e flessibili
mercoledì 6 novembre 13
UTENTI DEL DATABASE
Utenti
mercoledì 6 novembre 13
UTILITÀ DEI DB
mercoledì 6 novembre 13
SVANTAGGI DELLA
RIDONDANZA
La ridondanza comporta svantaggi
mercoledì 6 novembre 13
BASI DI DATI
VS
FILE SYSTEM
mercoledì 6 novembre 13
MODELLO DEI DATI
mercoledì 6 novembre 13
MODELLO LOGICO DEI DATI
mercoledì 6 novembre 13
MODELLI LOGICI DEI DATI
Modello gerarchico (anni ‘60) = struttura gerarchica (albero)
mercoledì 6 novembre 13
MODELLI LOGICI DEI DATI
Modello gerarchico (anni ‘60) = struttura gerarchica (albero)
mercoledì 6 novembre 13
MODELLO RELAZIONALE
mercoledì 6 novembre 13
MODELLO RELAZIONALE
Basato sul concetto di relazione e di tabella (concetti
di natura diversa ma riconducibili l’uno all’altro)
mercoledì 6 novembre 13
MODELLO RELAZIONALE:
STRUTTURA DEI DATI
mercoledì 6 novembre 13
MODELLO RELAZIONALE:
STRUTTURA DEI DATI
Le entità (i fatti) compongono le righe (record)
Le caratteristiche delle entità sono le (intestazioni
delle) colonne (attributi)
Il valore di un attributo per una specifica entità
compone le celle (campi)
Tutti i record di una tabella hanno lo stesso
formato, cioè gli stessi attributi
mercoledì 6 novembre 13
MODELLO RELAZIONALE:
STRUTTURA DEI DATI
attributo
record
campo
mercoledì 6 novembre 13
TABELLE, RECORD E
CAMPI
Ad ogni Attributo sono associati:
nome: Sesso
lunghezza: 1 carattere
mercoledì 6 novembre 13
CHIAVE PRIMARIA
Es.:
mercoledì 6 novembre 13
ESEMPIO DI RIDONDANZA IN UN DB
Tabella Esami
Ridondante:
i dati anagrafici degli studenti sono ripetuti per
ogni esame
Se uno studente cambiasse domicilio,
bisognerebbe modificare più record
mercoledì 6 novembre 13
ESEMPIO DI RIDONDANZA IN UN DB
Come eliminare la ridondanza? Usando più tabelle legate tra loro
Si usano le query
mercoledì 6 novembre 13
QUERY
mercoledì 6 novembre 13
QUERY: ESEMPIO
Vogliamo avere tutti gli esami superati dagli studenti con i dati degli studenti
mercoledì 6 novembre 13
QUERY (OPERATORI DI CONFRONTO)
Per es.:
mercoledì 6 novembre 13
QUERY(OPERATORI LOGICI)
AND: devono essere vere entrambe le condizioni (congiunti)
AND OR NOT
100 100 100
110 110 110
120 120 120
130 130 130
140 140 140
Criterio di selezione:
CodiceCorso=L0507 AND Voto>=27
mercoledì 6 novembre 13
QUERY: ESEMPIO
Elenco studenti che hanno superato il corso con codice L0014 o il corso con
codice L0507 con voto almeno 27
(CodiceCorso=L0507 OR CodiceCorso=L0014)
AND Voto>=27
mercoledì 6 novembre 13