La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Informatica Introduzione alle basi di dati Lezione 6 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

Presentazioni simili


Presentazione sul tema: "Informatica Introduzione alle basi di dati Lezione 6 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:"— Transcript della presentazione:

1 Informatica Introduzione alle basi di dati Lezione 6 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico: 2005-2006

2 2 Vincoli interrelazionali Vincoli interrelazionali sono i vincoli che coinvolgono più relazioni del base di dati Per verificarli, considerare istanze di più relazioni

3 3 Vincoli interrelazionali Vincoli di integrità referenziale (foreign keys, referential integrity constraints): Servono a garantire che i riferimenti tra tabelle siano possibili Un vincolo di integrità referenziale fra insieme di attributi X di una relazione R1 ed una relazione R2 è soddisfatto se i valori su X di ciascuna tupla dell’istanza di R1 compaiono come valori della chiave (primaria) dell’istanza di R2

4 4 Vincoli di integrità referenziale Per esempio: le relazioni Studenti(Matricola,Cognome,Nome,DataNascita) Corsi(Codice,Titolo,Docente) Esami(Numero,Studente,Voto,Lode,Corso) Un numero può comparire in attributo Studente di una tupla di relazione Esami solo se compare come valore di Matricola in istanza di relazione Studenti

5 5 Vincoli di integrità referenziale Se chiave di R2 è composta da un solo attributo B, X è composto di un solo attributo A Vincolo di integrità referenziale tra A in R1 e B in R2 è soddisfatto se, per ogni tupla t1 in R1 per cui t1[A] non è nullo, esiste una tupla t2 in R2 tale che t1[A] = t2[B]

6 6 Vincoli di integrità referenziale KA B… R1R2

7 7 Vincoli di integrità referenziale Se chiave di R2 contiene più attributo bisogna stabilire corrispondenza tra attributi di R1 e R2 Chiave di R2: {B1,…,Bp} X={A1,…,Ap} Vincolo di integrità referenziale tra {A1,…,Ap} in R1 e {B1,…,Bp} in R2 è soddisfatto se, per ogni tupla t1 in R1 per cui t1[{A1,…,Ap}] non contiene valori nulli, esiste una tupla t2 in R2 tale che t1[Ai] = t2[Bi] per 1  i  p

8 8 Vincoli di integrità referenziale KAi Bi… R1R2

9 9 Vincoli di integrità referenziale CodiceDataAgenteArtProvNumero 98755426/10/0245634RM2F7643 63087615/10/9345653FI4E5432 MatricolaCFCognomeNome 567RSSM…RossiMario 638NREP…NeriPiero ProvNumeroProprietarioIndirizzo RM1A2396Verdi PieroVia Tigli MI2F7643Luci GinoVia Noci FI4E5432Bini LucaVia Po Infrazioni Agenti Auto

10 10 Vincoli di integrità referenziale CodiceDataAgenteArtProvNumero 98755426/10/0245634RM2F7643 63087615/10/9345653FI4E5432 MatricolaCFCognomeNome 567RSSM…RossiMario 638NREP…NeriPiero ProvNumeroProprietarioIndirizzo RM1A2396Verdi PieroVia Tigli MI2F7643Luci GinoVia Noci FI4E5432Bini LucaVia Po Infrazioni Agenti Auto

11 11 Vincoli di integrità referenziale CodiceDataAgenteArtProvNumero 98755426/10/0245634RM2F7643 63087615/10/9345653FI4E5432 MatricolaCFCognomeNome 567RSSM…RossiMario 638NREP…NeriPiero ProvNumeroProprietarioIndirizzo RM1A2396Verdi PieroVia Tigli MI2F7643Luci GinoVia Noci FI4E5432Bini LucaVia Po Infrazioni Agenti Auto

12 12 Vincoli di integrità referenziale Ordinamento di attributi in vincoli referenziali è essenziale perché non sempre la corrispondenza tra tabelle si può stabilire per nome di attributo Per esempio: Incidenti(Codice,Prov1,Numero1,Prov2,Numero2) Auto(Prov,Numero,Proprietario,Indirizzo) Prov1, Numero1 e Prov2, Numero2 sono diversi dai nomi della chiave primaria di Auto

13 13 Vincoli di integrità referenziale Non tutti i DBMS permettono di definire chiavi primarie Definire esplicitamente attributi coinvolti in vincoli di integrità

14 14 Esercizi La tabella seguente soddisfa il vincolo (SeggiAperti>400) AND (SeggiAperti<600) ? RegioneSeggiAperti Piemonte567 Lombardia670 Puglia504 Sicilia594

15 15 Esercizi La tabella seguente soddisfa il vincolo (NOT(Lode = “lode”)) OR (Voto = 30) ? StudenteVotoLode 12345619No 65432130No 45612324No 32165420Sì 13524624No

16 16 Esercizi Quale sono le superchiave (o qual è la superchiave) della tabella seguente? StudenteVotoLode 12345619No 65432130No 45612324No 32165430Sì 13524625No

17 17 Esercizi Quale sono le chiave (o qual è la chiave) della tabella seguente? StudenteVotoLode 12345619No 65432130No 45612324No 32165430Sì 13524625No

18 18 Esercizi Esiste un vincolo di integrità referenziale dal attributo Studente al attributo Matricola? StudenteVotoLodeData 12345619No1/2/06 65432130No3/2/06 45612324No2/2/06 32165430Sì7/2/06 12345621No9/2/06 13524625No1/2/06 MatricolaNomeCognome 654321MarioRossi 321654FrancaVerde 123456MartaBianco 456123LiviaNero 135246GianfrancoBianco


Scaricare ppt "Informatica Introduzione alle basi di dati Lezione 6 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:"

Presentazioni simili


Annunci Google