Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoVincenzo Viviani Modificato 7 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.9. Il modello relazionale Vincolo di integrita’ referenziale Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
2
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Esempio 1 Torniamo alla base di dati degli studenti, dei corsi e degli esami Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
3
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Domande intuitive Potrebbe esistere uno studente rappresentato in Esami e non rappresentato in Studenti? Evidentemente no! 2. Potrebbe esistere un corso rappresentato in Esami e non rappresentato in Corsi? No, come prima Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/1978 8765 Neri Paolo 03/11/1976 3456 Maria 01/02/1978 9283 Verdi Luisa 12/11/1979 Studenti Codice Titolo Docente 01 Analisi 02 Chimica Bruni 04 Corsi Studente Voto Corso 30 24 28 Esami 26 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
4
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Considerazione Le due tabelle Studenti e Corsi svolgono una funzione di ANAGRAFE degli Studenti e dei Corsi, e quindi la presenza di studenti e corsi in Esami e’ subordinata alla presenza nelle relazioni corrispondenti. Matricola Cognome Nome Data di nascita 6554 Rossi Mario 05/12/1978 8765 Neri Paolo 03/11/1976 3456 Maria 01/02/1978 9283 Verdi Luisa 12/11/1979 Studenti Codice Titolo Docente 01 Analisi 02 Chimica Bruni 04 Corsi Studente Voto Corso 30 24 28 Esami 26 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
5
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Esempio 2 Vogliamo rappresentare la relazione logica che esiste tra vigili cha segnalano infrazioni (rappresentati con matricola, cognome, e nome) e le infrazioni segnalate (rappresentate con codice, data, vigile, provincia e numero targa della automobile). ATTENZIONE: Adottiamo la struttura delle targhe con codice provincia e numero progressivo Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
6
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Infrazioni Codice 34321 73321 64521 53524 Data 1/2/95 4/3/95 5/4/96 5/2/98 Vigile 3987 3295 9345 Prov Numero MI TO PR 39548K E39548 839548 3987 3987 3295 3295 3295 9345 9345 Matricola 3987 3295 9345 Vigili Cognome Rossi Neri Nome Luca Piero Mario Mori Gino 7543 Relazione che fornisce l’anagrafe dei vigili Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
7
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Risultato Tutti i valori di Vigile nella relazione Infrazioni sono rappresentati nella chiave Matricola della relazione Vigili. C’e’ un valore di matricola, “7534” non rappresentato in Infrazioni, ma questo non ci disturba, significa che e’ un vigile che recentemente non ha fatto multe! Infrazioni Codice 34321 73321 64521 53524 Data 1/2/95 4/3/95 5/4/96 5/2/98 Vigile 3987 3295 9345 Prov Numero MI TO PR 39548K E39548 839548 Vigili Matricola Cognome Nome 3987 Rossi Luca 3295 Neri Piero 9345 Neri Mario 7543 Mori Gino Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
8
Vincolo di integrità referenziale definizione informale
Esprime la proprieta‘ per cui informazioni con stesso significato in relazioni diverse (es. VIGILE e MATRICOLA) sono correlate, rispettando la proprieta‘per cui Non e‘ possibile che un oggetto della realta‘ (e quindi un valore) sia rappresentato nella sua relazione con un altro oggetto (nell‘esempio precedente i Vigili nella loro relazione con le INFRAZIONI) e non sia rappresentato e identificato nella tabella che lo descrive nativamente (nell‘esempio precedente, nella relazione VIGILI) Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
9
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Matricola 3987 3295 9345 Vigili Cognome Rossi Neri Nome Luca Piero Mario Mori Gino 7543 Infrazioni Codice 34321 73321 64521 53524 Data 1/2/95 4/3/95 5/4/96 5/2/98 Vigile Prov Numero MI TO PR 39548K E39548 839548 Domanda 3.9.1 Il vincolo di integrita’ referenziale e’ rispettato? Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
10
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Matricola 3987 3295 9345 Vigili Cognome Rossi Neri Nome Luca Piero Mario Mori Gino 7543 Infrazioni Codice 34321 73321 64521 53524 Data 1/2/95 4/3/95 5/4/96 5/2/98 Vigile Prov Numero MI TO PR 39548K E39548 839548 Risposta SI, riguardati La definizione Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
11
Domanda 3.9.2: e in questo caso?
Auto Prov Numero MI TO PR 39548K E39548 839548 Cognome Rossi Neri Nome Mario Luca Infrazioni Codice 34321 73321 64521 53524 Data 1/2/95 4/3/95 5/4/96 5/2/98 Vigile 3987 3295 9345 839537 Risposta No, perche’ il valore “PR ” non compare in Auto Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
12
Vincolo di integrità referenziale definizione formale
Un vincolo di integrità referenziale (“foreign key”) fra un insieme di attributi X di una relazione R1 e un’altra relazione R2 impone ai valori su X in R1 di comparire come valori della chiave primaria di R2 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
13
Vincolo di integrità referenziale
E‘ il piu importante vincolo interrelazionale, perche‘ esprime una proprieta‘ “strutturale“ degli schemi di relazione e delle istanze corrispondenti in una base di dati. E‘ anche chiamato vincolo di “chiave esterna“ o “foreign key“ , perche‘ l‘insieme di attributi X della relazione esterna R1 coincide con la chiave primaria di R2 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
14
Abbiamo visto negli esempi precedenti
Vincoli di integrità referenziale fra: l’attributo Vigile della relazione INFRAZIONI e la relazione VIGILI gli attributi Prov e Numero della relazione INFRAZIONI e la relazione AUTO Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
15
Violazione di vincolo di integrità referenziale
Infrazioni Codice 34321 73321 64521 53524 Data 1/2/95 4/3/95 5/4/96 5/2/98 Vigile 3987 3295 9345 Prov Numero MI TO PR 39548K E39548 839548 TO E39548 Auto Prov Numero MI TO PR E39548 F34268 839548 Cognome Rossi Neri Nome Mario Luca TO E39548 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
16
Situazione dell’auto TO E39548 nello schema
e’ rappresentata nella relazione INFRAZIONI, per descrivere il legame logico con il vigile e l’infrazione commessa e non e’ rappresentata nella relazione AUTO che pure descrive nativamente le auto Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
17
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Vincoli di integrità referenziale: meccanismi di supporto alla loro gestione Cosa facciamo quando a seguito di una aggiunta, modifica o cancellazione di una n-pla un vincolo di integrita‘ referenziale e‘ violato? Sono possibili meccanismi per il supporto alla loro gestione ("azioni" compensative a seguito di violazioni) Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
18
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Azioni compensative nel caso un vincolo di integrita’ referenziale sia violato Esempio: Viene eliminata una ennupla dalla relazione AUTO causando cosi' una violazione della integrita’ referenziale Azioni Rifiuto dell'operazione Eliminazione in cascata Introduzione di valori nulli Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
19
2. Eliminazione in cascata
Impiegati Matricola 34321 64521 53524 Cognome Rossi Neri Verdi Progetto IDEA XYZ NULL 73032 Bianchi 53524 Neri XYZ Progetti Codice IDEA BOH XYZ Inizio 01/2000 07/2001 09/2001 Durata 36 24 Costo 200 120 150 XYZ 07/2001 24 120 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
20
3. Introduzione di valori nulli
Impiegati Matricola 34321 64521 53524 Cognome Rossi Neri Verdi Progetto IDEA XYZ NULL 73032 Bianchi NULL Progetti Codice IDEA BOH XYZ Inizio 01/2000 07/2001 09/2001 Durata 36 24 Costo 200 120 150 XYZ 07/2001 24 120 Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
21
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Vincoli di integrità referenziale: caso di compresenza di vincoli su piu‘ attributi Attenzione ai vincoli definiti su più attributi Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
22
Vincoli multipli su più attributi
Incidenti tra due auto Codice Data Prov.A NumeroA Prov.B NumeroB 34321 1/2/95 TO E39548 MI 39548K 64521 5/4/96 PR 839548 TO E39548 Auto Prov Numero MI TO PR 39548K E39548 839548 Cognome Rossi Neri Nome Mario Luca Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
23
Occorre specificare un ordine tra gli attributi
Nel precedente caso sono definiti vincoli di integrità referenziale fra: gli attributi Prov.A e NumeroA di INCIDENTI e la relazione AUTO gli attributi Prov.B e NumeroB di INCIDENTI e la relazione AUTO L'ordine degli attributi è significativo Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
24
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Approfondimento In questa lezione abbiamo trattato i vincoli di integrita’ referenziale con alcune semplificazioni rispetto al testo. Studia il testo di riferimento per completare la preparazione. Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
25
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Esercizio 3.9.1 Svolgere l’esercizio 2.8 del testo di riferimento. Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
26
Esercizio 3.9.2 Esercizio assegnato all’esame
Dato il seguente schema relazionale: Squadra (Nome, Città, Nazione, Sponsor) Allenatore (Nome, Cognome, Data di Nascita, Squadra) Calciatore (Nome, Cognome, Ruolo, Data di Nascita, Squadra, Data di Acquisto) Campionato (Nome, Anno, Nazione) Classifica (Squadra, CampionatoNome, CampionatoAnno, Punteggio) Partita (SquadraInCasa, SquadraFuoriCasa, Data, GoalSquadraInCasa, GoalSquadraFuoriCasa, CampionatoNome, CampionatoAnno) definire, in linguaggio naturale, gli eventuali vincoli di integrità intrarelazionali (vincoli su valori/dominio, vincoli di ennupla, vincoli di chiave) e interrelazionali (vincoli di integrità referenziali). Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
27
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Concetti introdotti Vincolo di integrita’ referenziale Chiave esterna Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.