Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C. Batini 3.7. Il modello relazionale I valori nulli Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Il mondo e’ impreciso …… Abbiamo spesso la sensazione di non riuscire a conoscere tanti aspetti della realta’ e che la realta’ stessa sia conoscibile solo in maniera imprecisa e incompleta ……… Come si rappresentano nelle basi di dati queste imprecisioni ed incompletezze, cosi’ presenti nella vita reale? Tratteremo in questa lezione la informazione incompleta e i valori nulli Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Torniamo a un nostro esempio precedente: come rappresentiamo il fatto che Neri e’ uno studente, ma non ha fatto finora esami? Matricola Cognome Nome Data di nascita Corso Voto 3456 Rossi Maria 01/02/1978 04 30 02 24 6554 Mario 05/12/1978 01 26 9283 Verdi Luisa 03/11/1976 28 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Possiamo rappresentare nome, cognome, e matricola di Neri, ma come rappresentiamo i “non esami”? Matricola Cognome Nome Data di nascita Corso Voto 3456 Rossi Maria 01/02/1978 04 30 02 24 6554 Mario 05/12/1978 01 26 9283 Verdi Luisa 03/11/1976 28 8765 Neri Paolo ?? Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Nelle basi di dati relazionali non possiamo esprimere informazione negativa, “non ha fatto esami”, dobbiamo trovare qualche modalita’ compatibile con le definizioni del modello Matricola Cognome Nome Data di nascita Corso Voto 3456 Rossi Maria 01/02/1978 04 30 02 24 6554 Mario 05/12/1978 01 26 9283 Verdi Luisa 03/11/1976 28 8765 Neri Paolo ?? Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill D’altra parte, e’ comune nella vita convivere con informazione incompleta Vediamo un tipico dialogo Domanda: In quale via e numero civico di Milano e’ l’ufficio del Comune? Risposta: In Via Larga, ma il civico non me lo ricordo, dovrebbe essere circa a meta’ di Via Larga sulla destra, lo riconosce dalla targa, tenga presente che e’ anche un edificio di colore scuro Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
La risposta e’ molto “sofisticata” Risposta: In Via Larga, ma il civico non me lo ricordo, dovrebbe essere circa a meta’ di Via Larga sulla destra, lo riconosce dalla targa, tenga presente che e’ anche un edificio di colore scuro Come facciamo a descrivere questa informazione complessa nel modello relazionale? Dobbiamo immaginare una modalita’ semplificata… Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Informazione incompleta ll modello relazionale impone ai dati una struttura rigida: 1. le informazioni sono rappresentate per mezzo di ennuple 2. solo alcuni formati di ennuple sono ammessi: quelli che corrispondono agli schemi di relazione Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Secondo esempio: spesso una agenda e‘ organizzata come segue Nome Cognome Cellulare Giorgio Rossi 02 545678 Aldo Non ce l’ha Dini Chiara 334 566532 Sandra Delli ??? “non ce l’ha” e “???” sono esempi di informazione incompleta, e, notiamo sono tipi molto diversi di informazione incompleta Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Domanda 3.7.1: riuscite a dire perche‘ sono “inerentemente“ diversi i due valori nulli? In questo caso io dico una cosa ben precisa: Dini NON HA IL TELEFONO Nome Cognome Cellulare Giorgio Rossi 02 545678 Aldo Non ce l’ha Dini Chiara 334 566532 Sandra Delli ??? In questo caso io dico che NON SO NIENTE Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Terzo esempio In Italia una delle amministrazioni dello Stato e’ costituita dalle Prefetture Le Prefetture sono organi decentrati del Ministero dell’Interno e sono localizzate nei capoluoghi di Provincia A Milano la Prefettura e’ situtata in Corso Monforte. Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Domanda: per quali citta’ inseriamo un indirizzo di Prefettura? Indirizzo prefettura Roma ?? Firenze Tivoli Chiasso Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Roma Citta’ Indirizzo prefettura Roma Via Belli 38 Firenze Tivoli Chiasso Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Firenze: supponiamo di non saperlo Citta’ Indirizzo prefettura Roma Via Manzoni Firenze Non lo sappiamo Tivoli Chiasso Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Tivoli? Citta’ Indirizzo prefettura Roma Via Manzoni Firenze Non lo sappiamo Tivoli Non esiste (perche’ non e’ provincia) Chiasso Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Chiasso? Citta’ Indirizzo prefettura Roma Via Manzoni Firenze Non lo sappiamo Tivoli Non esiste (perche’ non e’ provincia) Chiasso Non si puo’ dire niente (perche’ Chiasso e’ in Svizzera, e non sappiamo se in Svizzera ci sono le Prefetture) Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Dunque, esistono almeno tre tipi di valore nullo (almeno) tre casi differenti: valore sconosciuto non lo conosciamo ma esiste valore inesistente non esiste valore senza informazione non si puo‘ dire niente (non lo conosciamo ovvero non esiste) Attenzione: I DBMS non distinguono i 3 tipi di valore nullo Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
I tre tipi di valori nulli Sconosciuto – esiste ma non e’ noto Inesistente – non esiste, non e’ applicabile Nessuna informazione – o e’ sconosciuto o e’ inesistente, non si sa niente Citta’ Indirizzo prefettura Roma Via Manzoni Firenze sconosciuto Tivoli inesistente Chiasso Nessuna informazione Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Domanda 3.7.2 Quali tipi di valori nulli utilizzeresti eventualmente per gli indirizzi delle Prefetture di: Como San Remo Arcore New York Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Risposta Como Sconosciuto (se non lo conosco…) San Remo Inesistente (San Remo non fa provincia, perlomeno nel 2009) Arcore Inesistente (vedi sopra) New York Nessuna informazione Naturalmente, ad esempio, per New York, si puo’ fare una ricerca per capire se nella legislazione americana e’ previsto un organo chiamato Prefettura o assimilabile alla Prefettura. Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Esercizio 3.7.1 Prova a pensare a un’altra tabella, che rappresenta una realta’ diversa da quella della Prefetture, e individua delle n-ple a cui possano essere associati per particolari attributi i tre valori nulli. Poi spedisci per e-mail la risposta e verifica la tua soluzione. Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill