1 / 49

Dati Strutturati e Semantica delle Informazioni

Dati Strutturati e Semantica delle Informazioni. Dott. Matteo Palmonari. palmonari@disco.unimib.it. I modelli logici dei dati. Cosa e’ un modello logico.

lester-hahn
Télécharger la présentation

Dati Strutturati e Semantica delle Informazioni

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dati Strutturati e Semantica delle Informazioni Dott. Matteo Palmonari palmonari@disco.unimib.it

  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. Strutture di Rappresentazione Schema Processo di rappresentazione Rappresentazione nel modello Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill

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

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

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

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

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

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

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

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

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

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

  21.  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

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

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

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

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

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

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

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

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

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

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

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

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

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

More Related