La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Semantica delle Informazioni

Presentazioni simili


Presentazione sul tema: "Semantica delle Informazioni"— Transcript della presentazione:

1 Semantica delle Informazioni
Dati Strutturati e Semantica delle Informazioni Dott. Matteo Palmonari

2 I modelli logici dei dati
Liberamente rielaborato da Batini C., sorgente originale: Atzeni et al., Basi di dati, Mc-Graw Hill

3 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

4 Processo di rappresentazione
Strutture di Rappresentazione Rappresentazione nel modello Schema Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill

5 Processo di rappresentazione nel modello ER
Entita’ + Relationship + Generalizzazione Descrizione (o modellazione) nel modello ER Gara Auto corre Sigla Marca Pilota Numero Sede Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill

6 Processo di rappresentazione nel modello relazionale
Descrizione (o modellazione) nel modello logico Relazione Gara (Numero, Sede, SiglaAutomobile, Marca, Guidatore) Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill

7 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
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

8 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 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill

9 Riepilogo del modello relazionale
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill

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 anni Fatti Mario ha 35 anni Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill

11 1. La struttura concettuale di base: la relazione
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill

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 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

13 Relazione matematica, esempio
D1={a,b} D2={x,y,z} prodotto cartesiano D1 × D2 a b x y z una relazione r  D1 × D2 a b x z y Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill

14 Relazione matematica, esempio
Partite  string × string × integer × integer 3 2 1 Juve Lazio Roma Milan 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

15 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Domanda 3.1.4 Che informazione porta la relazione matematica? Prova a descriverla in italiano 3 2 1 Juve Lazio Roma Milan 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

16 Struttura non posizionale
A ciascun dominio si associa un nome (attributo), che ne descrive il "ruolo" RetiCasa RetiFuori Casa Fuori 3 2 1 Juve Lazio Roma Milan Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

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 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

18 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
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

19 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Possibile soluzione Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/1978 8765 Neri Paolo 03/11/1976 3456 Maria 01/02/1978 9283 Verdi Luisa 12/11/1979 Studenti Studente Voto Corso 3456 30 04 24 02 9283 28 01 Esami 6554 26 Nota il ripetersi dei valori nelle tabelle Codice Titolo Docente 01 Analisi Mario 02 Chimica Bruni 04 Verdi Corsi 10 attributi Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

20 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Domanda 3.2.2 Quanti esami ha superato la studentessa Maria Rossi? Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/1978 8765 Neri Paolo 03/11/1976 3456 Maria 01/02/1978 9283 Verdi Luisa 12/11/1979 Studenti Studente Voto Corso 3456 30 04 24 02 9283 28 01 Esami 6554 26 Codice Titolo Docente 01 Analisi Mario 02 Chimica Bruni 04 Verdi Corsi Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

21 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Risposta  2 Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/1978 8765 Neri Paolo 03/11/1976 3456 Maria 01/02/1978 9283 Verdi Luisa 12/11/1979 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. Studente Voto Corso 3456 30 04 24 02 9283 28 01 Esami 6554 26 Codice Titolo Docente 01 Analisi Mario 02 Chimica Bruni 04 Verdi Corsi Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

22 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/1978 8765 Neri Paolo 03/11/1976 3456 Maria 01/02/1978 9283 Verdi Luisa 12/11/1979 studenti esami Studente Voto Corso 30 24 28 26 Codice Titolo Docente 01 Analisi Mario 02 Chimica Bruni 04 Verdi corsi Riferimenti tra valori nell’esempio Studenti-Esami- Corsi Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

23 Schemi vs. Istanze nel modello relazionale
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

24 Concetti che vengono definiti nel seguito
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

25 Schema di relazione e di base di dati
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

26 Esempio di schema di relazione
Esame (Matricola Studente, Codice Corso, Voto, Data) Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

27 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
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

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 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

29 Esempi di n-pla e di singolo valore
Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/1978 8765 Neri Paolo 03/11/1976 3456 Maria 01/02/1978 9283 Verdi Luisa 12/11/1979 studenti Codice Titolo Docente 01 Analisi 02 Chimica Bruni 04 corsi Studente Voto Corso 30 24 28 esami 26 n-pla t t[voto] Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

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 Mario 02 Chimica Bruni 04 Verdi Corsi Esempio Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

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/1978 8765 Neri Paolo 03/11/1976 3456 Maria 01/02/1978 9283 Verdi Luisa 12/11/1979 01 Analisi 02 Chimica Bruni 04 30 24 28 26 Studenti Esami Corsi Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

32 Relazioni come rappresentazione di una realta‘ osservata
Possiamo vedere una relazione come la rappresentazione di un frammento di realta‘ osservata Studenti Realta’ osservata Relazione Giovanni Antonio Elena Ada Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

33 Vincoli di integrità – introduzione - 1
Esistono istanze di basi di dati che, pur sintatticamente corrette, non rappresentano stati possibili nella realta‘ Giovanni Ada Antonio Elena Fido ? cagnolino Relazione Studenti Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

34 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 Relazione Studenti e esami superati Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

35 Domanda 3.4.2 Considera ora quest‘altra istanza Quali aspetti delle tabelle non vanno bene?
Un voto non puo’ avere valore 32 Studente Voto Lode Corso 32 01 276545 30 e lode 02 787643 27 03 739430 24 04 Esami 32 Un voto non puo’ avere valore 27 e lode 27 e lode Non ci puo’ essere qui un numero di matricola che non compare in Studenti 739430 Matricola 276545 787643 Cognome Rossi Neri Bianchi Nome Mario Piero Luca Studenti Non ci possono essere due studenti con la stessa matricola 787643 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

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‘) Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

37 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

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 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

39 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

40 Vediamo per concludere questa lezione un esempio di vincolo di valore
Studente Voto Lode Corso 32 01 276545 30 e lode 02 787643 27 03 739430 24 04 Esami Matricola 276545 787643 Cognome Rossi Neri Bianchi Nome Mario Piero Luca Studenti Il voto puo’ assumere solo valori tra 18 e 30, 32 e’ un valore sbagliato Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

41 Domanda Per i quattro vincoli di integrita‘ dell‘esempio, definire a quali tipologie appartengono Risposte Vincolo di valore Un voto non puo’ avere valore 32 Studente Voto Lode Corso 32 01 276545 30 e lode 02 787643 27 03 739430 24 04 Esami 32 Un voto non puo’ avere valore 27 e lode Vincolo di ennupla 27 e lode Non ci puo’ essere qui un numero di matricola che non compare in Studenti 739430 Vincolo interrelazionale Matricola 276545 787643 Cognome Rossi Neri Bianchi Nome Mario Piero Luca Studenti Non ci possono essere due studenti con la stessa matricola 787643 Vincolo di relazione Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

42 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

43 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

44 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

45 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
SQL Query Example SQL (base/select) Principio: soddisfazione/correttezza Meccanismo/semantica: algebra relazionale Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

46 Esempi di altri data model
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

47 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

48 Object-Oriented Schema (Example)
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

49 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
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


Scaricare ppt "Semantica delle Informazioni"

Presentazioni simili


Annunci Google