Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

Slides:



Advertisements
Presentazioni simili
La progettazione concettuale
Advertisements

Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione di una base di dati relazionale
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rileaborato da M. Lenzerini - Basi di dati
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Secondo Compito: PROGETTAZIONE DI UN DATABASE Claudia Angione
PROGETTAZIONE DATABASE SECONDO COMPITO CAROLINA CASIELLO
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
di Basi di Dati: Overview
Esercitazione Modello ER 1
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 3
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione di una base di dati relazionale
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
A. A – 2008 Basi di dati 1 Corso Prof
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione di una base di dati relazionale
Raccolta ed Analisi dei Requisiti nella Progettazione
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Integrità referenziale
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Un’università vuole raccogliere ed organizzare in un database
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
I vincoli di integrità Alcuni aspetti della realtà NON possono essere modellati solamente con entità, attributi e relazioni, per esempio i vincoli di integrità.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Il modello relazionale
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione logica: Il modello relazionale
Partizionamento/accorpamento di concetti
Dino Pedreschi Dipartimento di Informatica a.a. 2011– 2012
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Modello Relazionale Proposto agli inizi degli anni ‘70 da Codd
Dipendenze funzionali
Il modello relazionale
Selezione e Proiezione
Vincoli di Integrità Non tutte le combinazioni possibili di valori dei domini su cui è definita una relazione sono accettabili. Alcuni attributi possono.
Transcript della presentazione:

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.8. Il modello relazionale La informazione incompleta Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

Informazione incompleta: come possiamo rappresentarla? Prima idea: per rappresentare i valori nulli usare valori particolari del dominio (0, stringa nulla, “99”, ...): Non conviene (anche se spesso si faceva nel passato): potrebbero non esistere valori “non utilizzati” Ad esempio il valore 0 in genere ha un significato molto preciso Citta’ Indirizzo Prefettura Firenze Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

Informazione incompleta: come possiamo rappresentarla? Inoltre: in fase di utilizzo (nei programmi) sarebbe necessario ogni volta tener conto del significato di questi valori Ben piu‘ importante: il significato dei dati non deve essere nascosto nei programmi, deve essere palese a partire dalla sola lettura dello schema relazionale, in altre parole I DATI DEVONO ESSERE SEPARATI DALLE APPLICAZIONI Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

Come si rappresenta l‘informazione incompleta nel modello relazionale Si adotta una tecnica rudimentale ma efficace: Il dominio dei valori viene esteso con un valore nullo NULL, che denota l’assenza di un valore del dominio (cioe‘ il primo tipo di valore nullo che abbiamo visto), ed e‘ utilizzabile anche per gli altri. Per cui t[A], per ogni attributo A, è: 1. un valore del dominio dom(A) oppure 2. il valore nullo NULL Si possono (e debbono) imporre restrizioni sulla presenza di valori nulli  Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

Considera queste tabelle Studenti Matricola Cognome Nome Data di nascita 6554 Rossi Mario NULL 9283 Verdi Luisa 12/11/1979 NULL Rossi Maria 01/02/1978 Esami Studente Voto Corso NULL 30 NULL NULL 24 02 9283 28 01 Codice Titolo Docente 01 Analisi Mario 02 NULL 04 Chimica Verdi Corsi Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

Troppi valori nulli (alcuni ammissibili, altri no) Studenti Matricola Cognome Nome Data di nascita 6554 Rossi Mario NULL 9283 Verdi Luisa 12/11/1979 NULL Rossi Maria 01/02/1978 Questo valore e’ ammissibile, e significa, come sappiamo, “non so la data di nascita” Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

Troppi valori nulli (alcuni ammissibili, altri no) Studenti Matricola Cognome Nome Data di nascita 6554 Rossi Mario NULL 9283 Verdi Luisa 12/11/1979 NULL Rossi Maria 01/02/1978 Che significato ha un valore nullo per la chiave? In questo caso non lo dobbiamo accettare, perche’ la chiave e’ l’informazione essenziale per identificare l’oggetto rappresentato nella n-pla Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

Troppi valori nulli (alcuni ammissibili, altri no) Cosa significa questa n-pla? Esami Studente Voto Corso NULL 30 NULL NULL 24 02 9283 28 01 Che c’e’ uno studente di cui non si sa il nome Che ha preso 30 in un corso di cui non si sa il nome. Ma che informazione e’? Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Definiamo, dopo questi esempi, le regole che devono valere per le chiavi 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 Chiavi e valori nulli Problema: e‘ possibile che i valori nulli riguardino la chiave/chiavi o parte della chiave? In presenza di valori nulli, i valori della chiave non permettono di svolgere le due funzioni della chiave: di identificare le ennuple di esprimere i riferimenti ad altre relazioni Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Matricola 78763 65432 Nome Piero Mario 87654 NULL Cognome Neri Rossi Corso Ing Mecc Ing Inf Ing Civile Nascita 5/12/78 10/7/79 3/11/76 NULL Mario Ing Inf 5/12/78 Mario 87654 NULL Neri Ing Inf 5/12/78 La presenza di valori nulli nelle chiavi deve percio‘ essere limitata Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

Dalle precedenti considerazioni emerge il concetto di Chiave primaria Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Chiave primaria E‘ una chiave (in genere unica) su cui non sono ammessi nulli Notazione: sottolineatura Matricola 78763 65432 Nome Piero Mario 87654 43289 Cognome Neri Rossi Corso Ing Mecc Ing Inf Ing Civile NULL Nascita 86765 5/12/78 10/7/79 3/11/76 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Domanda 3.8.1 Considera lo schema Persona (Codice fiscale, Nome, Cognome, Data di Nascita) Reparto (Numero reparto, Nome, Sede) CapoReparto (Codice Fiscale, Reparto) Scegli le chiavi primarie, nella ipotesi che un reparto possa avere al massimo un capo. Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Risposte Persona (Codice fiscale, Nome, Cognome, Data di Nascita) Reparto (NumeroReparto, Nome, Sede) CapoReparto (Codice Fiscale, NumeroReparto) Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Esercizio 3.8.1 Svolgi l’esercizio 2.5 del testo di riferimento, limitatamente agli esercizi 2.1 e 2.2, gia’ iniziati in precedenza. Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Concetti introdotti Rappresentazione del valore nullo Chiave primaria Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill