490 likes | 625 Views
Dati Strutturati e Semantica delle Informazioni. Dott. Matteo Palmonari. palmonari@disco.unimib.it. I modelli logici dei dati. Cosa e’ un modello logico.
E N D
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
Strutture di Rappresentazione Schema Processo di rappresentazione Rappresentazione nel modello Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Entita’ + Relationship + Generalizzazione Sigla Marca Pilota Numero Sede Gara Auto corre Processo di rappresentazione nel modello ER Descrizione (o modellazione) nel modello ER Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Descrizione (o modellazione) nel modello logico Relazione Gara (Numero, Sede, SiglaAutomobile, Marca, Guidatore) Processo di rappresentazione nel modello relazionale 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
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
Perche’ le relazioni? • Il mondo e’ la totalita’ dei fatti, non delle cose (L. Wittgenstein) Cose Mario 35 anni Fatti Mario ha35 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
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
a x a y a z b x b y b z a x a z b y Relazione matematica, esempio • D1={a,b} • D2={x,y,z} • prodotto cartesiano D1 × D2 • una relazione r D1 × D2 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Juve Lazio 3 1 Lazio Milan 2 0 Juve Roma 0 2 Roma Milan 0 1 Relazione matematica, esempio Partitestring × string × integer × integer • 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
Che informazione porta la relazione matematica? Prova a descriverla 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. Juve Lazio 3 1 Lazio Milan 2 0 Juve Roma 0 2 Roma Milan 0 1 Domanda 3.1.4 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Casa Fuori RetiCasa RetiFuori Juve Lazio 3 1 Lazio Milan 2 0 Juve Roma 0 2 Roma Milan 0 1 Struttura non posizionale • A ciascun dominio si associa un nome (attributo), che ne descrive il "ruolo" 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
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
Studenti Matricola Cognome Nome Data di nascita 6554 9283 3456 8765 Neri Rossi Verdi Rossi Paolo Luisa Maria Mario 12/11/1979 05/12/1978 03/11/1976 01/02/1978 Nota il ripetersi dei valori nelle tabelle Esami Studente Voto Corso 3456 30 04 3456 24 02 9283 28 01 Corsi Codice Titolo Docente 6554 26 01 01 Analisi Mario 02 Chimica Bruni 04 Chimica Verdi Possibile soluzione 10 attributi Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Studenti Matricola Cognome Nome Data di nascita 8765 3456 6554 9283 Rossi Rossi Neri Verdi Mario Maria Paolo Luisa 12/11/1979 03/11/1976 05/12/1978 01/02/1978 Esami Studente Voto Corso 3456 30 04 3456 24 02 9283 28 01 Corsi Codice Titolo Docente 6554 26 01 01 Analisi Mario 02 Chimica Bruni 04 Chimica Verdi Domanda 3.2.2 Quanti esami ha superato la studentessa Maria Rossi? Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
2 Studenti Matricola Cognome Nome Data di nascita 6554 9283 8765 3456 Rossi Neri Verdi Rossi Maria Paolo Luisa Mario 03/11/1976 12/11/1979 01/02/1978 05/12/1978 Esami Studente Voto Corso 3456 30 04 3456 24 02 9283 28 01 Corsi Codice Titolo Docente 6554 26 01 01 Analisi Mario 02 Chimica Bruni 04 Chimica Verdi Risposta 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. Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
studenti Matricola Cognome Nome Data di nascita 3456 8765 9283 6554 Rossi Verdi Neri Rossi Maria Paolo Mario Luisa 12/11/1979 03/11/1976 05/12/1978 01/02/1978 corsi Codice Titolo Docente 01 Analisi Mario 02 Chimica Bruni 04 Chimica Verdi esami Studente Voto Corso 30 24 28 26 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 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
Esempio di schema di relazione • Esame (Matricola Studente, Codice Corso, Voto, Data) 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) 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 tsull'attributoA • Esempio t[Codice] per la ennupla sopra e‘ 01 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
studenti Matricola Cognome Nome Data di nascita 6554 9283 3456 8765 Neri Rossi Verdi Rossi Paolo Luisa Maria Mario 12/11/1979 05/12/1978 03/11/1976 01/02/1978 n-pla t esami Studente Voto Corso 3456 30 04 3456 24 02 9283 28 01 corsi Codice Titolo Docente 6554 26 01 01 Analisi Mario 02 Chimica Bruni 04 Chimica Verdi Esempi di n-pla e di singolo valore t[voto] Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Esempio Corsi 01 Analisi Mario 02 Chimica Bruni 04 Chimica Verdi 4. Istanza di relazione • Istanza direlazione (o relazione) su uno schema R(X): insieme r di ennuple su X Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
9283 6554 3456 8765 Neri Rossi Rossi Verdi Luisa Mario Paolo Maria 03/11/1976 12/11/1979 01/02/1978 05/12/1978 Studenti Esami Corsi 3456 30 04 3456 24 02 01 Analisi Mario 9283 28 01 02 Chimica Bruni 6554 26 01 04 Chimica Verdi 5. Istanza di base di dati Istanza dibase 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) Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Realta’ osservata Giovanni Ada Antonio Elena Relazione Studenti Relazioni come rappresentazione di una realta‘ osservata Possiamo vedere una relazione come la rappresentazione di un frammento di realta‘ osservata Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
cagnolino ? 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 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
Esami Studente Voto Lode Corso 32 01 30 e lode 02 276545 787643 03 276545 739430 24 04 27 27 e lode e lode Studenti Matricola Cognome Nome 276545 Rossi Mario Neri Piero 787643 787643 787643 Bianchi Luca 787643 Domanda 3.4.2 Considera ora quest‘altra istanza Quali aspetti delle tabelle non vanno bene? Un voto non puo’ avere valore 32 32 Un voto non puo’ avere valore 27 e lode Non ci puo’ essere qui un numero di matricola che non compare in Studenti 739430 Non ci possono essere due studenti con la stessa matricola 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
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
Esami Studente Voto Lode Corso 32 01 30 e lode 02 276545 787643 03 276545 739430 24 04 27 e lode Studenti Matricola Cognome Nome 276545 Rossi Mario Neri Piero 787643 Bianchi Luca 787643 Vediamo per concludere questa lezione un esempio di vincolo di valore 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
Esami Studente Voto Lode Corso 32 01 30 e lode 02 276545 787643 03 276545 739430 24 04 27 27 e lode e lode Studenti Matricola Cognome Nome 276545 Rossi Mario Neri Piero 787643 787643 787643 Bianchi Luca 787643 Domanda 3.4.3 Per i quattro vincoli di integrita‘ dell‘esempio, definire a quali tipologie appartengono Risposte Un voto non puo’ avere valore 32 Vincolo di valore 32 Un voto non puo’ avere valore 27 e lode Vincolo di ennupla Non ci puo’ essere qui un numero di matricola che non compare in Studenti 739430 Vincolo interrelazionale Non ci possono essere due studenti con la stessa matricola 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
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
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