basi di dati - intranet deibhome.deib.polimi.it/plebani/download/infoica1011/l13-14-basidati.pdf ·...
Post on 31-Jan-2018
213 Views
Preview:
TRANSCRIPT
Dipartimento di Elettronica ed Informazione Politecnico di Milano
Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani
A.A. 2010/2011
Le presenti slide sono tratte dalle slide del libro di testo Atzeni, Ceri, Paraboschi, Torlone
Basi di dati (Modelli e Linguaggi di interrogazione 3/ed) McGraw-Hill, 2009
09/12/2010
Basi di dati
Gestione delle informazioni
• Raccolta, acquisizione • Archiviazione, conservazione • Elaborazione, trasformazione, produzione • Distribuzione, comunicazione, scambio
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 2
Gestione delle informazioni • Nelle attività umane, le informazioni vengono
gestite in forme diverse: – idee informali – linguaggio naturale (scritto o parlato,
formale o colloquiale, in varie lingue) – disegni, grafici, schemi – numeri e codici
• e su vari supporti – mente umana, carta, dispositivi elettronici
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 3
Gestione delle informazioni • Nelle attività standardizzate dei sistemi
informativi complessi, sono state introdotte col tempo forme di organizzazione e codifica delle informazioni
• Ad esempio, nei servizi anagrafici si è iniziato con registrazioni discorsive e poi – nome e cognome – estremi anagrafici – codice fiscale
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 4
Informazioni e dati
• Nei sistemi informatici (e non solo), le informazioni vengono rappresentate in modo essenziale, spartano: attraverso i dati – informazione: notizia, dato o elemento che
consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere.
– dato: ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione; (in informatica) elementi di informazione costituiti da simboli che debbono essere elaborati
(definizioni dal Vocabolario della lingua italiana 1987)
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 5
Informazioni e dati • Un esempio:
Mario 275 su un foglio di carta sono due dati e non significano molto
• Se il foglio di carta viene fornito in risposta alla domanda “A chi mi devo rivolgere per il problema X; qual è il suo numero di telefono?”, allora i dati possono essere interpretati per fornire informazione e arricchire la conoscenza
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 6
Perché i dati? • La rappresentazione precisa di forme più
ricche di informazione e conoscenza è difficile • I dati costituiscono spesso una risorsa
strategica, perché più stabili nel tempo di altre componenti (processi, tecnologie, ruoli umani): – ad esempio, i dati delle banche o delle anagrafi
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 7
Base di dati
• Accezione generica, metodologica – Insieme organizzato di dati utilizzati per il supporto
allo svolgimento delle attività di un ente (azienda, ufficio, persona)
• Accezione specifica, metodologica e tecnologica – insieme di dati gestito da un DBMS
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 8
DataBase Management System (DBMS)
• Sistema che gestisce collezioni di dati: – Grandi:
• dimensioni (molto) maggiori della memoria centrale dei sistemi di calcolo utilizzati
• il limite deve essere solo quello fisico dei dispositivi – Persistenti:
• hanno un tempo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzano
– Condivise: • Ogni organizzazione (specie se grande) è divisa in settori
o comunque svolge diverse attività • Ciascun settore/attività ha un (sotto)sistema informativo
(non necessariamente disgiunto)
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 9
DBMS • Prodotti software (complessi) disponibili sul
mercato; esempi: – Access – DB2 – Oracle – Informix – Sybase – SQLServer
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 10
Modelli dei dati I modelli costituiscono una strutturazione semplificata della realtà che ne
accoglie aspetti specifici e aiuta a comprenderla meglio
Mondo Reale
Modello Concettuale
MODELLI LOGICI
GERARCHICO
RETICOLARE
RELAZIONALE
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 11
Modelli logici dei dati
• Supportano una descrizione dei dati che puo’ essere elaborata dal sistema (DBMS)
• Vengono mappati facilmente sulle strutture fisiche di memorizzazione
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 12
Cronologia dei modelli
• Modello gerarchico (anni 60) • Modello reticolare (anni 70) • Modello relazionale (anni 80) • Modello ad oggetti (anni 90) • Modello XML (anni 2000)
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 13
Modello gerarchico • I dati sono rappresentati come record • Le associazioni tra i dati sono rappresentate
con puntatori in una struttura ad albero
GERARCHICO
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 14
Modello reticolare
• I dati sono rappresentati come record • Le associazioni tra i dati sono rappresentate
con puntatori in una struttura a grafo complesso
RETICOLARE
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 15
Modello relazionale • I dati sono rappresentati come sequenze di
valori di attributi • Dati caratterizzati dalle stesse sequenze di
attributi sono raggruppati in tabelle • Le associazioni tra i dati sono ottenute
associando valori di attributi in tabelle diverse
RELAZIONALE
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 16
Dipartimento di Elettronica ed Informazione Politecnico di Milano
Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani
A.A. 2010/2011
Modello relazionale
Definizione informale di relazione
schema colonna
MATR 123
307
415
702
NOME Carlo
Giovanni
Paola
Antonio
CITTA’ Bologna
Milano
Torino
Roma
C-DIP Inf
Log
Inf
Log riga
studente
istanza
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 18
Definizione formale di relazione
• Dominio D: – un qualunque insieme di valori
• Prodotto cartesiano su n domini D1xD2x…xDn (non necessariamente distinti): – insieme delle n-ple (tuple) <d1,d2,...,dn>, con di ∈
Di , 1 ≤ i ≤ n • Relazione su R D1xD2x…xDn:
– Un qualunque sottoinsieme di D1xD2x…xDn
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 19
Esempio • Domini
– D1 = (a,b) – D2 = (1,2,3)
• Prodotto cartesiano – D1 x D2 = ( <a,1>, <b,1>, <a,2>, <b,2>,
<a,3>, <b,3> ) • Esempi di relazioe
– R1 = ( <a,1>, <b,3> ) – R2 = ( <c,1>, <b,3>, <a,2> ) – R3 = ( ) – R4 = ( <a,1>, <b,1>, <a,2>, <b,2>,
<a,3>, <b,3> )
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 20
Proprietà • Grado della relazione:
– numero di domini (n) • Cardinalita della relazione:
– numero di tuple • Attributo:
– nome dato al dominio in una relazione – I nomi di attributo in una relazione devono essere
tutti distinti fra loro
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 21
Proprietà
• Schema (di una relazione): tabella (attributo1,… attributoN) [I nomi delle relazioni in uno schema devono essere
tutti distinti fra loro]
A a b
B 1 3
C c b a
D 1 3 2
R1(A,B) R2(C,D)
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 22
Confronto della terminologia
DEFINIZIONE FORMALE relazione attributo
tupla, n-pla dominio
cardinalita' grado
DEFINIZIONE INFORMALE
tabella colonna
riga tipo di dato
numero di righe numero di colonne
Una differenza significativa
DEFINIZIONE
FORMALE assenza
di duplicati DEFINIZIONE INFORMALE
possibili duplicati
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 23
corso COD-
CORSO 1
2
TITOLO
matematica
informatica
DOCENTE
Barozzi
Meo
Esempio: gestione degli esami universitari (v.1)
esame MATR
123
123
702
COD- CORSO
1
2
2
DATA
7-9-97
8-1-98
7-9-97
VOTO 30
28
20
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 24
studente
MATR
123
415
702
NOME
Carlo
Paola
Antonio
CITTA’
Bologna
Torino
Roma
C-DIP
Inf
Inf
Log
esame MATR
123
123
702
COD- CORSO
1
2
2
DATA
7-9-97
8-1-98
7-9-97
VOTO 30
28
20
corso COD-
CORSO 1
2
TITOLO
matematica
informatica
DOCENTE
Barozzi
Meo
Esempio: gestione degli esami universitari (v.2)
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 25
Interrogazioni 1/2 • quali professori hanno esaminato Carlo?
studente
MATR
123
415
702
NOME
Carlo
Paola
Antonio
CITTA’
Bologna
Torino
Roma
C-DIP
Inf
Inf
Log
esame MATR
123 123
702
COD- CORSO
1 2
2
DATA
7-9-97 8-1-98
7-9-97
VOTO 30 28
20
corso COD-
CORSO 1 2
TITOLO
matematica
informatica
DOCENTE
Barozzi Meo
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 26
Interrogazioni 2/2
• quali studenti hanno preso 30 in matematica? studente
MATR
123
415
702
NOME
Carlo
Paola
Antonio
CITTA’
Bologna
Torino
Roma
C-DIP
Inf
Inf
Log
esame MATR
123
123
702
COD- CORSO
1
2
2
DATA
7-9-97
8-1-98
7-9-97
VOTO 30 28
20
corso COD-
CORSO 1
2
TITOLO
matematica informatica
DOCENTE
Barozzi
Meo
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 27
Esempio: gestione del personale
impiegato
MATR
1
2
3
NOME
Piero
Giorgio
Giovanni
DATA-ASS
1-1-95
1-1-97
1-7-96
SALARIO
3 M
2,5 M
2 M
assegnamento MATR
1
1
2
3
NUM-PROG
3
4
3
4
PERC
50
50
100
100
progetto TITOLO
Idea
Wide
TIPO
Esprit
Esprit
MATR-MGR
2
null
2
NUM-PROG
3
4
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 28
Interrogazione 1/2
impiegato
MATR
1
2
3
NOME
Piero
Giorgio
Giovanni
DATA-ASS
1-1-95
1-1-97
1-7-96
SALARIO
3 M
2,5 M
2 M
assegnamento MATR
1
1
2
3
NUM-PROG
3
4
3
4
PERC
50
50
100
100
progetto TITOLO
Idea
Wide
TIPO
Esprit
Esprit
MATR-MGR
2
null
2
NUM-PROG
3
4
• chi e' il manager di Piero?
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 29
Interrogazioni • in quali tipi di progetti lavora Giovanni? impiegato
MATR
1
2
3
NOME
Piero
Giorgio
Giovanni
DATA-ASS
1-1-95
1-1-97
1-7-96
SALARIO
3 M
2,5 M
2 M
assegnamento MATR
1
1
2
3
NUM-PROG
3
4
3
4
PERC
50
50
100
100
progetto TITOLO
Idea
Wide
TIPO
Esprit
Esprit
MATR-MGR
2
null
2
NUM-PROG
3
4
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 30
Esempio: ricevuta fiscale
“Da Filippo” Via Roma 23
9100 Chissadove P.I. 012345678
2 coperti 2,10 1 antipasti 3,11 2 primi 8,40 2 orate 25,20 2 caffè 1,60
Totale 39,41
Ricevuta n. 2456 del 16/5/1997
DUE ISTANZE DI RICEVUTA FISCALE
“Da Filippo” Via Roma 23
9100 Chissadove P.I. 012345678
3 coperti 3,15 2 antipasti 6,22 3 primi 12,60 2 bistecche 19,00
Totale 41,98
Ricevuta n. 2369 del 12/5/1997
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 31
Rappresentazione relazionale v.1
NUMERO DATA TOTALE
2369 12/5/1997 41,98 2456 16/5/1997 39,41
ricevute
NUMERO QUANTITA’ DESCRIZIONE IMPORTO
2369 3 coperti 3,15 2369 2 antipasti 6,22 2369 3 primi 12,60 2369 2 bistecche 19,00 2456 2 coperti 2,10 2456 1 antipasti 3,11 2456 2 primi 8,40 2456 2 orate 25,20 2456 2 caffè 1,60
dettaglio
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 32
Rappresentazione relazionale v.2
NUMERO DATA TOTALE
2369 12/5/1997 41,98 2456 16/5/1997 39,41
ricevute
dettaglio
NUMERO RIGA QUANTITA’ DESCRIZIONE IMPORTO
2369 1 3 coperti 3,15 2369 2 2 antipasti 6,22 2369 3 3 primi 12,60 2369 4 2 bistecche 19,00 2456 1 2 coperti 2,10 2456 2 1 antipasti 3,11 2456 3 2 primi 8,40 2456 4 2 orate 25,20 2456 5 2 caffè 1,60
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 33
Come arricchire lo schema
• VINCOLI DI INTEGRITA': – escludono alcune istanze in quanto non
rappresentano correttamente il mondo applicativo • CHIAVI
– VINCOLI SUI VALORI NULLI – INTEGRITA' REFERENZIALE – VINCOLI GENERICI
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 34
Nozione di chiave
• Sottoinsieme degli attributi dello schema che ha la proprietà di unicità e minimalità
• unicità: – non esistono due tuple con chiave uguale
• minimalità: – sottraendo un qualunque attributo alla chiave si
perde la proprieta' di unicita'
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 35
MATR COD-CORSO DATA VOTO
COD-CORSO TITOLO DOCENTE
studente
corso
esame
MATR NOME CITTA’ C-DIP
Esempio: gestione esami universitari
chiave
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 36
MATR NUM-PROG PERC
NUM-PROG NOME PREZZO
impiegato
progetto
assegnamento
MATR NOME DATA-ASS SALARIO MATR-MIL
Esempio: gestione del personale
chiave
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 37
top related