INTELLIGENZA ARTIFICIALE Elementi Stefania Bandini

Download Report

Transcript INTELLIGENZA ARTIFICIALE Elementi Stefania Bandini

Dati Strutturati e
Semantica delle Informazioni
Dott. Matteo Palmonari
[email protected]
I modelli logici dei dati
Liberamente rielaborato da Batini C.,
sorgente originale:
Atzeni et al., Basi di dati, Mc-Graw Hill
–2
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
–Rielaborato da Atzeni et al., Basi di dati,
Mc-Graw Hill
–3
Processo di rappresentazione
Strutture di
Rappresentazione
Rappresentazione
nel modello
Schema
–Rielaborato da Atzeni et al., Basi di dati,
Mc-Graw Hill
–4
Processo di rappresentazione nel modello ER
Entita’ +
Relationship +
Generalizzazione
Numero
Sede
Descrizione (o modellazione)
nel modello ER
Gara
corre
–Rielaborato da Atzeni et al., Basi di dati,
Mc-Graw Hill
Auto
Sigla
Marca
Pilota
–5
Processo di rappresentazione
nel modello relazionale
Relazione
Descrizione (o modellazione)
nel modello logico
Gara (Numero, Sede, SiglaAutomobile, Marca, Guidatore)
–Rielaborato da Atzeni et al., Basi di dati,
Mc-Graw Hill
–6
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
–Rielaborato da Atzeni et al., Basi di dati,
Mc-Graw Hill
–7
Alcuni modelli
• Esistono vari data model:
• Gerarchico
• Relazionale (database più noti, e.g. access)
• Ad oggetti
• …
• XML
• RDF
• …
–Rielaborato da Atzeni et al., Basi di dati,
Mc-Graw Hill
–8
Riepilogo del modello relazionale
–Rielaborato da Atzeni et al., Basi di dati,
Mc-Graw Hill
–9
Perche’ le relazioni?
• Il mondo e’ la totalita’ dei fatti, non delle
cose (L. Wittgenstein)
Cose
Fatti
Mario
35 anni
Mario ha 35 anni
–Rielaborato da Atzeni et al., Basi di dati,
Mc-Graw Hill
–10
1. La struttura concettuale di
base: la relazione
–Rielaborato da Atzeni et al., Basi di dati,
Mc-Graw Hill
–11
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 d1D1, …, dn  Dn
• relazione matematica su D1, …, Dn:
• un sottoinsieme di D1×…×Dn.
• D1, …, Dn sono i domini della
relazione
–Rielaborato da Atzeni et al., Basi di dati,
Mc-Graw Hill
–12
Relazione matematica, esempio
• D1={a,b}
• D2={x,y,z}
• prodotto cartesiano D1 × D2
• una relazione
D2
r  D1 ×
–Rielaborato da Atzeni et al., Basi di dati,
Mc-Graw Hill
a
a
a
b
b
b
x
y
z
x
y
z
a
a
b
x
z
y
–13
Relazione matematica, esempio
Partite  string × string × integer ×
integer
Juve
Lazio
Juve
Roma
Lazio
Milan
Roma
Milan
3
2
0
0
1
0
2
1
• Ciascuno dei due domini
• String
• Integer
ha due ruoli diversi, distinguibili attraverso la
posizione: La struttura è posizionale
–Rielaborato da Atzeni et al., Basi di dati,
Mc-Graw Hill
–14
Domanda 3.1.4
• Che informazione
porta la relazione
matematica? Prova a
descriverla in italiano
Juve
Lazio
Juve
Roma
Lazio
Milan
Roma
Milan
3
2
0
0
1
0
2
1
• 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.
–Rielaborato da Atzeni et al., Basi di dati,
Mc-Graw Hill
–15
Struttura non posizionale
• A ciascun dominio si associa un nome
(attributo), che ne descrive il "ruolo"
Casa
Juve
Lazio
Juve
Roma
Fuori
Lazio
Milan
Roma
Milan
RetiCasa RetiFuori
3
2
0
0
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
1
0
2
1
–16
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
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–17
Domanda 3.2.1
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?
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–18
Possibile soluzione
Studenti
Nota il ripetersi
dei valori nelle
tabelle
10 attributi
Matricola
6554
8765
9283
3456
Cognome
Rossi
Neri
Verdi
Rossi
Nome
Mario
Paolo
Luisa
Maria
Esami
Studente
3456
3456
9283
6554
Voto
30
24
28
26
Corso
04
02
01
01
Corsi
Codice
01
02
04
Titolo
Analisi
Chimica
Chimica
Docente
Mario
Bruni
Verdi
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
Data di nascita
05/12/1978
03/11/1976
12/11/1979
01/02/1978
–19
Domanda 3.2.2
Quanti esami ha superato la studentessa Maria Rossi?
Studenti
Matricola
6554
8765
9283
3456
Cognome
Rossi
Neri
Verdi
Rossi
Nome
Mario
Paolo
Luisa
Maria
Esami
Studente
3456
3456
9283
6554
Voto
30
24
28
26
Corso
04
02
01
01
Corsi
Codice
01
02
04
Titolo
Analisi
Chimica
Chimica
Docente
Mario
Bruni
Verdi
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
Data di nascita
05/12/1978
03/11/1976
12/11/1979
01/02/1978
–20
Risposta
2
Studenti
Per rispondere hai
anzitutto cercato Maria
Rossi nella prima
relazione, poi, sulla base
del valore del suo
numero di matricola hai
cercato quante n-ple
con quel numero
compaiono nella tabella
Esami.
Matricola
6554
8765
9283
3456
Cognome
Rossi
Neri
Verdi
Rossi
Nome
Mario
Paolo
Luisa
Maria
Data di nascita
05/12/1978
03/11/1976
12/11/1979
01/02/1978
Esami
Studente
3456
3456
9283
6554
Voto
30
24
28
26
Corso
04
02
01
01
Corsi
Codice
01
02
04
Titolo
Analisi
Chimica
Chimica
Docente
Mario
Bruni
Verdi
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–21
studenti Matricola Cognome
6554
Rossi
8765
Neri
9283
Verdi
3456
Rossi
esami
corsi
Riferimenti tra
valori nell’esempio
Studenti-EsamiCorsi
Nome Data di nascita
Mario
05/12/1978
Paolo
03/11/1976
Luisa
12/11/1979
Maria
01/02/1978
Studente
Voto
30
24
28
26
Corso
Codice
01
02
04
Titolo
Analisi
Chimica
Chimica
Docente
Mario
Bruni
Verdi
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–22
Schemi vs. Istanze
nel modello relazionale
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–23
Concetti che vengono definiti
nel seguito
1.
2.
3.
4.
5.
Schema di relazione
Schema di base di dati
N-pla (o ennupla)
Istanza di relazione
Istanza di base di dati
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–24
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)}
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–25
Esempio di schema di relazione
• Esame (Matricola Studente, Codice
Corso, Voto, Data)
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–26
Esempio di schema di base di dati
che 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)
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–27
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
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–28
Esempi di n-pla e di singolo valore
studenti
Matricola Cognome
6554
Rossi
8765
Neri
9283
Verdi
3456
Rossi
Data di nascita
05/12/1978
03/11/1976
12/11/1979
01/02/1978
esami
Studente
3456
3456
9283
6554
Voto
30
24
28
26
Corso
04
02
01
01
corsi
Codice
01
02
04
Titolo
Analisi
Chimica
Chimica
Docente
Mario
Bruni
Verdi
n-pla t
t[voto]
Nome
Mario
Paolo
Luisa
Maria
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–29
4. Istanza di relazione
• Istanza di relazione (o relazione) su uno
schema R(X): insieme r di ennuple su X
Esempio
Corsi
01
02
04
Analisi
Chimica
Chimica
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
Mario
Bruni
Verdi
–30
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)
Studenti
6554
8765
9283
3456
Esami
3456
3456
9283
6554
30
24
28
26
Rossi
Neri
Verdi
Rossi
04
02
01
01
Mario
Paolo
Luisa
Maria
05/12/1978
03/11/1976
12/11/1979
01/02/1978
Corsi
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
01
02
04
Analisi
Chimica
Chimica
Mario
Bruni
Verdi
–31
Relazioni come rappresentazione di
una realta‘ osservata
Possiamo vedere una relazione come la
rappresentazione di un frammento di
realta‘ osservata
Realta’ osservata
Giovanni
Ada
Antonio
Elena
Studenti
Relazione
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–32
Vincoli di integrità – introduzione - 1
Esistono istanze di basi di dati che, pur
sintatticamente corrette, non
rappresentano stati possibili nella realta‘
cagnolino
Studenti
?
Giovanni
Ada
Antonio
Elena
Fido
Relazione
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–33
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
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–34
Domanda 3.4.2
Considera ora quest‘altra istanza
Quali aspetti delle tabelle non vanno bene?
Un voto non puo’
avere valore 32
Corso
Esami Studente Voto Lode
276545
32
Un
01voto non puo’ avere
276545
30 e lode 02valore 27 e lode
787643
27 e lodeNon 03
ci puo’ essere qui un
739430
24
04 di matricola che
numero
non compare in Studenti
Studenti Matricola Cognome Nome
ci possono essere
276545
Rossi Non
Mario
due studenti con la
Neri
Piero
787643
stessa matricola
787643
Bianchi
Luca
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–35
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‘)
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–36
Vincoli di integrità, perché
ne abbiamo bisogno?
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‘
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–37
Tipi di vincoli
• 1. Vincoli intrarelazionali, cioe‘ definiti
all‘interno di una relazione
• 2. Vincoli interrelazionali, cioe‘
definiti tra due o piu‘ relazioni
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–38
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)
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–39
Vediamo per concludere questa lezione un
esempio di vincolo di valore
Esami Studente Voto Lode Corso
276545
32
01
276545
30 e lode 02
787643
27 e lode 03
739430
24
04
Studenti Matricola Cognome Nome
Il voto puo’ assumere
276545
Rossi
Mario
solo valori tra 18 e 30,
787643
Neri
Piero
32 e’ un valore
787643
Bianchi
Luca
sbagliato
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–40
Risposte
Domanda 3.4.3
Per i quattro vincoli di integrita‘ dell‘esempio,
definire a quali tipologie appartengono
Un voto non puo’
avere valore 32
Corso
Vincolo di valore
Esami Studente Voto Lode
276545
32
Un
01voto non puo’ avere
Vincolo di ennupla
276545
30 e lode 02valore 27 e lode
787643
27 e lodeNon 03
ci puo’ essere qui un
739430
24
04 di matricola che
numero
Vincolo
Studenti Matricola Cognome
interrelazionale
Vincolo
di relazione
276545
787643
787643
non compare in Studenti
Nome
ci possono essere
Rossi Non
Mario
due studenti con la
Neri
Piero
stessa matricola
Bianchi
Luca
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–41
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
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–42
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
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–43
Query nel modello relazionale
• Il linguaggio di
interrogazione
piùdiffuso per le basi
di dati è SQL
(Structured Query
Language)
• Ragionamento
piuttosto debole
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–44
SQL Query Example
• SQL (base/select)
• Principio: soddisfazione/correttezza
• Meccanismo/semantica: algebra
relazionale
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–45
Esempi di altri data model
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–46
The Object-Oriented
Data Model
Objects/id
Attributes
Methods
Classes
Class Hierachies
Alla base di
JAVA/C++ etc
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–47
Object-Oriented Schema (Example)
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–48
Cosa succede nel Web?
• Ci sono ancora schemi e istanze?
• Che tipo di interrogazioni si
possono fare?
• Che tipo di ragionamenti si
possono fare?
–Rielaborato da Atzeni et al., Basi di
Dati, Mc-Graw Hill
–49