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

Slides:



Advertisements
Presentazioni simili
Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A.
Advertisements

Il Modello Relazionale. I modelli logici dei dati Tradizionalmente, esistono tre modelli logici: –gerarchico –reticolare –relazionale I modelli gerarchico.
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
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
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
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
Corso di Basi di Dati Il Linguaggio SQL
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
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à.
Normalizzazione di uno schema 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
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
ER Primo esonero Basi DATI 2015
Il modello relazionale
Progettazione di una base di dati
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.9. Il modello relazionale Vincolo di integrita’ referenziale Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

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

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

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

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

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

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

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

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

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

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 839537” non compare in Auto Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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