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

Slides:



Advertisements
Presentazioni simili
Semantica delle Informazioni
Advertisements

La progettazione concettuale
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
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
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 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
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
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
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
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
Progettazione di una base di dati relazionale
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
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione logica: Il modello relazionale
Dino Pedreschi Dipartimento di Informatica a.a. 2011– 2012
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
I due schemi sono equivalenti (descrivono la stessa
Modello Relazionale Proposto agli inizi degli anni ‘70 da Codd
Dipendenze funzionali
Join, una difficoltà Impiegato Reparto Rossi A Neri B Bianchi Reparto
Il modello relazionale
Progettazione di una base di dati
Selezione e Proiezione
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
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.4. Il modello relazionale Vincoli di integrita’ - Introduzione 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

Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Esempio: vogliamo rappresentare gli studenti e gli esami che hanno superato con voto, lode (si, no), data Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Rappresentiamo prima lo schema ER (rappresentazione grafica semplificata per attributi e identificatori) Studente Esame Corso Voto Data Lode Matricola Cognome Nome Nome Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Domanda 3.4.1 Rappresenta lo schema ER con due tabelle nel modello relazionale Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

Una possibile soluzione Studente Voto Lode Corso 30 01 276545 e lode 02 787643 03 24 04 Esami Matricola 276545 787643 Cognome Rossi Neri Bianchi Nome Mario Piero Luca Studenti 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

I vincoli intrarelazionali 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

Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill Concetti introdotti Vincolo di integrita’ Vincolo intrarelazionale Vincolo di valore Vincolo di ennupla Vincolo di relazione Vincolo di chiave (vedi in seguito) Vincolo interrelazionale Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill