Semantica delle Informazioni Dati Strutturati e Semantica delle Informazioni Dott. Matteo Palmonari palmonari@disco.unimib.it
I modelli logici dei dati Liberamente rielaborato da Batini C., sorgente originale: 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 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Processo di rappresentazione Strutture di Rappresentazione Rappresentazione nel modello Schema Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
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
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
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
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
Riepilogo del modello relazionale Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
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 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
1. La struttura concettuale di base: la relazione Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
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 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
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
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
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
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
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
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
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
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
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
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
Schemi vs. Istanze nel modello relazionale Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
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
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
Esempio di schema di relazione Esame (Matricola Studente, Codice Corso, Voto, Data) Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Domanda 3.4.3 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
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
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
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
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
Esempi di altri data model Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
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
Object-Oriented Schema (Example) Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
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