Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoGioacchino Tortora Modificato 6 anni fa
1
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
2
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
3
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
4
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
5
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
6
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
7
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
8
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
9
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
10
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
11
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
12
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
13
I vincoli intrarelazionali
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
14
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
15
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
16
Domanda 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
17
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
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.