Upload
romhilda-martina
View
228
Download
0
Embed Size (px)
Citation preview
Dati Strutturati e Semantica delle Informazioni
Dott. Matteo Palmonari
–2
Liberamente rielaborato da Batini C.,
sorgente originale:
Atzeni et al., Basi di dati, Mc-Graw Hill
I modelli logici dei dati
–3–Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Cosa e’ un modello logico
•E’ un insieme di strutture di rappresentazione utilizzabili per descrivere un insieme di dati, o schema logico, che, a sua volta, descrive una realta’ di interesse
–4–Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Processo di rappresentazione
Rappresentazionenel modello
Strutture di Rappresentazione
Schema
–5–Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Processo di rappresentazione nel modello ER
Descrizione (o modellazione)nel modello ER
Entita’ + Relationship +Generalizzazione
Gara AutocorreSiglaMarcaPilota
NumeroSede
–6–Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Processo di rappresentazione nel modello relazionale
Relazione Descrizione (o modellazione)nel modello logico
Gara (Numero, Sede, SiglaAutomobile, Marca, Guidatore)
Data model
• Un modello dei dati (data model) • definisce un insieme di strutture di base in
cui organizzare l’informazione e regole logiche che ne regolamentano l’interdipendenza
• è associato a uno o più linguaggi di interrogazione (query); la semantica di tale linguaggio è basata su criteri di correttezza delle risposte specifici rispetto al tipo di strutture alla base del modello
–7–Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Alcuni modelli
• Esistono vari data model:• Gerarchico• Relazionale (database più noti, e.g. access)• Ad oggetti• …• XML• RDF• …
–8–Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
–9–Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Riepilogo del modello relazionale
–10–Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Perche’ le relazioni?
•Il mondo e’ la totalita’ dei fatti, non delle cose (L. Wittgenstein)
Cose Mario 35 anni
Fatti Mario ha 35 anni
–11–Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
1. La struttura concettuale di base: la relazione
–12–Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Relazione matematica
•D1, …, Dn (n insiemi anche non distinti, detti anche domini)
•prodotto cartesiano D1×…×Dn: •l’insieme di tutte le n-uple (d1, …, dn) tali che d1D1, …, dn Dn
•relazione matematica su D1, …, Dn:• un sottoinsieme di D1×…×Dn.
•D1, …, Dn sono i domini della relazione
–13–Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Relazione matematica, esempio
•una relazione r D1 × D2
aaab
bb
xyzxyz
aab
xzy
•D1={a,b}
•D2={x,y,z}
•prodotto cartesiano D1 × D2
–14–Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Relazione matematica, esempio
• Ciascuno dei due domini• String• Integerha due ruoli diversi, distinguibili attraverso la
posizione: La struttura è posizionale
3200
1021
JuveLazioJuve
Roma
LazioMilanRomaMilan
Partite string × string × integer × integer
–15–Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Domanda 3.1.4• Che informazioneporta la relazionematematica? Prova adescriverla in italiano
• Risposta• Parla di quattro partite, nella prima delle
quali la Juve ha giocato in casa con la Lazio e ha vinto 3 a 1, nella seconda delle quali ecc. ecc.
• Noi riusciamo a distinguere tra squadre in casa e fuori casa dalla posizione nella n-pla.
3200
1021
JuveLazioJuve
Roma
LazioMilanRomaMilan
–16–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Struttura non posizionale
3200
1021
JuveLazioJuve
Roma
LazioMilanRomaMilan
•A ciascun dominio si associa un nome (attributo), che ne descrive il "ruolo"
RetiCasa RetiFuoriCasa Fuori
–17–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Relazioni (o Tabelle)
Una relazione (o tabella) nel modello relazionale rappresenta una relazione (in matematica) in cui:• i valori di ogni colonna (attributo) sono fra
loro omogenei (es. Juve, Lazio, ecc.)• le righe (n-ple o tuple) sono diverse fra
loro• le intestazioni delle colonne (nomi di
attributi) sono diverse tra loro In una relazione nel modello relazionale:
• l’ordinamento tra le righe è irrilevante• l’ordinamento tra le colonne è irrilevante
–18–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Vogliamo rappresentare con tre relazioni gli studenti Rossi Mario, Neri Paolo, Verdi Luisa, Rossi Maria, con matricola, nome, cognome, data nascita, tutti gli esami superati, con voto, e per i corsi corrispondenti il titolo e il docente.Prova a disegnare tre relazioni che rispettino le precedenti specifiche, associando agli studenti e corsi un codice identificativo e scegliendo valori opportuni per i vari attributi diversi da nome e cognome, che sono stati esemplificati in precedenza. Di quanti attributi hai avuto bisogno in tutto?
Domanda 3.2.1
–19–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Matricola Cognome Nome Data di nascita6554 Rossi Mario 05/12/19788765 Neri Paolo 03/11/1976
3456 Rossi Maria 01/02/19789283 Verdi Luisa 12/11/1979
Studenti
Codice Titolo Docente01 Analisi Mario02 Chimica Bruni04 Chimica Verdi
Corsi
Studente Voto Corso3456 30 043456 24 029283 28 01
Esami
6554 26 01
Possibile soluzione
Nota il ripetersi dei valori nelle
tabelle
10 attributi
–20–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Matricola Cognome Nome Data di nascita6554 Rossi Mario 05/12/19788765 Neri Paolo 03/11/1976
3456 Rossi Maria 01/02/19789283 Verdi Luisa 12/11/1979
Studenti
Codice Titolo Docente01 Analisi Mario02 Chimica Bruni04 Chimica Verdi
Corsi
Studente Voto Corso3456 30 043456 24 029283 28 01
Esami
6554 26 01
Domanda 3.2.2Quanti esami ha superato la studentessa Maria Rossi?
–21–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Matricola Cognome Nome Data di nascita6554 Rossi Mario 05/12/19788765 Neri Paolo 03/11/1976
3456 Rossi Maria 01/02/19789283 Verdi Luisa 12/11/1979
Studenti
Codice Titolo Docente01 Analisi Mario02 Chimica Bruni04 Chimica Verdi
Corsi
Studente Voto Corso3456 30 043456 24 029283 28 01
Esami
6554 26 01
Risposta
2
Per rispondere hai anzitutto cercato MariaRossi nella primarelazione, poi, sulla basedel valore del suonumero di matricola haicercato quante n-plecon quel numerocompaiono nella tabellaEsami.
–22–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
MatricolaCognome NomeData di nascita6554 Rossi Mario 05/12/19788765 Neri Paolo 03/11/1976
3456 Rossi Maria 01/02/19789283 Verdi Luisa 12/11/1979
studenti
Codice Titolo Docente01 Analisi Mario02 Chimica Bruni04 Chimica Verdi
corsi
Studente Voto Corso302428
esami
26
Riferimenti tra valori nell’esempio Studenti-Esami-Corsi
–23–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Schemi vs. Istanze nel modello relazionale
–24–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Concetti che vengono definiti nel seguito
1. Schema di relazione2. Schema di base di dati3. N-pla (o ennupla)4. Istanza di relazione 5. Istanza di base di dati
–25–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Schema di relazione e di base di dati
1. Schema di relazione: •un nome R con un insieme di attributi
A1, ..., An:
R(A1,..., An)
2. Schema di base di dati: • insieme di schemi di relazione:
R = {R1(X1), ..., Rk(Xk)}
–26–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Esempio di schema di relazione
•Esame (Matricola Studente, Codice Corso, Voto, Data)
–27–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Esempio di schema di base di datiche descrive persone, loro comuni di
nascita e loro occupazioni
•Persona (Codice Fiscale, Nome, Cognome, Comune di Nascita, Data di Nascita)
•Comune (Nome Comune, Provincia, Regione)
•Occupazione (Codice Fiscale, Tipo di Occupazione, Data Inizio, Data Fine)
–28–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
3. Ennupla
• Una ennupla (o n-pla) su un insieme di attributi X è una funzione che associa a ciascun attributo A in X un valore del dominio di A
• Esempio Codice:01 Titolo:Analisi Docente:Rossi
• Il simbolo t[A] denota il valore della ennupla t sull'attributo A
• Esempio t[Codice] per la ennupla sopra e‘ 01
–29–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Matricola Cognome Nome Data di nascita6554 Rossi Mario 05/12/19788765 Neri Paolo 03/11/1976
3456 Rossi Maria 01/02/19789283 Verdi Luisa 12/11/1979
studenti
Codice Titolo Docente01 Analisi Mario02 Chimica Bruni04 Chimica Verdi
corsi
Studente Voto Corso3456 30 043456 24 029283 28 01
esami
6554 26 01
Esempi di n-pla e di singolo valore
n-pla t
t[voto]
–30–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
4. Istanza di relazione
•Istanza di relazione (o relazione) su uno schema R(X): insieme r di ennuple su X
01 Analisi Mario02 Chimica Bruni04 Chimica Verdi
Corsi
Esempio
–31–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
5. Istanza di base di dati
Istanza di base di dati (o base di dati) su uno schema R= {R1(X1), ..., Rn(Xn):insieme di relazioni r = {r1,..., rn} (con ri
relazione su Ri)
6554 Rossi Mario 05/12/19788765 Neri Paolo 03/11/1976
3456 Rossi Maria 01/02/19789283 Verdi Luisa 12/11/1979
01 Analisi Mario02 Chimica Bruni04 Chimica Verdi
3456 30 043456 24 029283 28 016554 26 01
Studenti
Esami
Corsi
–32–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Relazioni come rappresentazione di una realta‘ osservata
Possiamo vedere una relazione come larappresentazione di un frammento direalta‘ osservata
Relazione
Giovanni
AntonioElena
Ada
Studenti
Realta’ osservata
–33–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Vincoli di integrità – introduzione - 1
Esistono istanze di basi di dati che, pur sintatticamente corrette, non rappresentano stati possibili nella realta‘
RelazioneStudenti
Giovanni
AntonioElena
Fido
Ada
?cagnolino
–34–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Vincoli di integrità – introduzione - 2
•Esempio: puo‘ esistere nella realta‘ uno studente che a un esame prende come voto “27 e lode“?
Rossi Fisica 27 e lode
Studenti e esami superati Relazione
–35–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Domanda 3.4.2 Considera ora quest‘altra istanza
Quali aspetti delle tabelle non vanno bene?
Studente Voto Lode Corso32 01276545
276545 30 e lode 02787643 27 e lode 03739430 24 04
Esami
Matricola276545787643787643
CognomeRossiNeri
Bianchi
NomeMarioPieroLuca
Studenti
787643787643
32
27 e lode739430
Un voto non puo’ avere valore 32
Un voto non puo’ avere valore 27 e
lode
Non ci possono essere due studenti
con la stessa matricola
Non ci puo’ essere qui un numero di matricola
che non compare in Studenti
–36–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Abbiamo scoperto un altro concetto fondamentale: il vincolo
di integrità•Proprietà che deve essere soddisfatta da
tutte le istanze di uno schema che rappresentano informazioni corrette per l’applicazione
• Un vincolo di integrita‘ è una funzione booleana (o predicato) che associa ad ogni istanza r:• Il valore vero se la istanza e‘ corretta
(rappresentazione della realta‘)• Il valore falso se la istanza e‘ scorretta
(rappresentazione della realta‘)
–37–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
1. Permettono una rappresentazione più accurata della realtà, e quindi contribuiscono alla qualità dei dati, cioe‘ alla proprieta‘ dei dati di essere una corretta rappresentazione della realta‘
3. Sono utili nella progettazione perche‘ portano a generare uno schema di elevata qualita‘
Vincoli di integrità, perché ne abbiamo bisogno?
–38–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Tipi di vincoli
•1. Vincoli intrarelazionali, cioe‘ definiti all‘interno di una relazione
•2. Vincoli interrelazionali, cioe‘ definiti tra due o piu‘ relazioni
–39–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Tipi di vincoli intrarelazionali
•Vincoli su valori (o di dominio), cioe‘ su singoli valori di attributi
•Vincoli di ennupla, cioe‘ definiti sulle ennuple di una relazione
•Vincoli relativi all‘insieme di ennuple di una relazione Vincoli di relazione caso importante, vincoli di chiave
(vedi avanti)
–40–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Vediamo per concludere questa lezione un esempio di vincolo di valore
Studente Voto Lode Corso32 01276545
276545 30 e lode 02787643 27 e lode 03739430 24 04
Esami
Matricola276545787643787643
CognomeRossiNeri
Bianchi
NomeMarioPieroLuca
StudentiIl voto puo’
assumere solo valori tra 18 e 30, 32 e’ un
valore sbagliato
–41–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Domanda 3.4.3 Per i quattro vincoli di integrita‘
dell‘esempio, definire a quali tipologie appartengono
Studente Voto Lode Corso32 01276545
276545 30 e lode 02787643 27 e lode 03739430 24 04
Esami
Matricola276545787643787643
CognomeRossiNeri
Bianchi
NomeMarioPieroLuca
Studenti
787643787643
32
27 e lode739430
Un voto non puo’ avere valore 32
Un voto non puo’ avere valore 27 e
lode
Non ci possono essere due studenti
con la stessa matricola
Non ci puo’ essere qui un numero di matricola
che non compare in Studenti
Vincolo di valore
Vincolo di ennupla
Vincolo interrelazionale
Vincolo di relazione
Risposte
–42–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Semantica nelle basi di dati relazionali
• La semantica di una base di dati è definita in accordo con la struttura relazionale (algebra relazionale) ed è determinata, relativamente ai suoi elementi costitutivi (valori, tuple, relazioni), sostanzialmente da:• Livello dello schema:
• schema logico• definisce la macro-organizzazione della rappresentazione
di un dominio• vincoli di integrità
• definiscono vincoli relazionali di dettaglio tra specifici oggetti e fatti rappresentati
• Livello delle istanze:• insieme delle istanze
• costituisce l‘insieme di oggetti e fatti effettivamente rappresentati come veri nella bas di dati
–43–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Semantica, Schemi e Istanze• Lo schema di una base di dati definisce le regole
generali cui deve aderire ciascun insieme di istanze (per essere considerato valido); è in questi termini che lo schema costituisce una parte fondamentale della semantica di una base di dati
• Tali regole (ad esempio i vincoli di integrità)• supportano l‘interrogazione delle basi di dati
(verifica della sussistenza o non sussistenza di alcuni fatti nella base di dati)
• permettono di controllare la validità dello schema• non permettono di dedurre nuove conoscenze
–44–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Query nel modello relazionale• Il linguaggio di
interrogazione piùdiffuso per le basi di dati è SQL (Structured Query Language)
• Ragionamento piuttosto debole
SQL Query Example
•SQL (base/select)•Principio:
soddisfazione/correttezza•Meccanismo/semantica: algebra
relazionale
–45–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
–46–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Esempi di altri data model
The Object-Oriented Data Model
–47–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Objects/idAttributes
MethodsClasses
Class Hierachies
Alla base di JAVA/C++ etc
Object-Oriented Schema (Example)
–48–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Cosa succede nel Web?
–49–Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
•Ci sono ancora schemi e istanze?
•Che tipo di interrogazioni si possono fare?
•Che tipo di ragionamenti si possono fare?