1 / 18

Informatica

Informatica. Introduzione alle basi di dati Lezione 6 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico: 2005-2006. Vincoli interrelazionali. Vincoli interrelazionali sono i vincoli che coinvolgono più relazioni del base di dati

coral
Download Presentation

Informatica

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. Vincoli interrelazionali • Vincoli interrelazionali sono i vincoli che coinvolgono più relazioni del base di dati • Per verificarli, considerare istanze di più relazioni

  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. 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. 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. Vincoli di integrità referenziale R1 R2

  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. Vincoli di integrità referenziale R1 R2

  9. Vincoli di integrità referenziale Infrazioni Agenti Auto

  10. Vincoli di integrità referenziale Infrazioni Agenti Auto

  11. Vincoli di integrità referenziale Infrazioni Agenti Auto

  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. Vincoli di integrità referenziale • Non tutti i DBMS permettono di definire chiavi primarie • Definire esplicitamente attributi coinvolti in vincoli di integrità

  14. Esercizi • La tabella seguente soddisfa il vincolo (SeggiAperti>400) AND (SeggiAperti<600) ?

  15. Esercizi • La tabella seguente soddisfa il vincolo (NOT(Lode = “lode”)) OR (Voto = 30) ?

  16. Esercizi • Quale sono le superchiave (o qual è la superchiave) della tabella seguente?

  17. Esercizi • Quale sono le chiave (o qual è la chiave) della tabella seguente?

  18. Esercizi • Esiste un vincolo di integrità referenziale dal attributo Studente al attributo Matricola?

More Related