dati strutturati e semantica delle informazioni palmonari@disco.unimib.it dott. matteo palmonari

Post on 01-May-2015

225 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Dati Strutturati e Semantica delle Informazioni

palmonari@disco.unimib.it

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?

top related