Basi di Dati 3 Dati su pi tabelle
Basi di Dati - 3 Dati su più tabelle Informatica 1 (SAM) - a. a. 2010/11
Relazioni tra tabelle • relazione tra i record – facendo corrispondere codici uguali nelle due tabelle chiave primaria chiave esterna Informatica 1 (SAM) - a. a. 2010/11
Relazioni • Ci sono tre tipi di relazioni: – uno-a-molti (la più frequente) – uno-a-uno – molti-a-molti Informatica 1 (SAM) - a. a. 2010/11
Diversi tipi di relazione -1 • Relazione uno-a-molti – Es. tra corso di laurea e studenti • Ogni corso di laurea può avere molti studenti, ma ogni studente può essere iscritto ad uno solo dei corsi di laurea – Es precedente: tra libri e autori • Supponendo per semplicità che ogni libro sia scritto da un solo autore • E' la relazione più frequente Informatica 1 (SAM) - a. a. 2010/11
Diversi tipi di relazione -2 • Uno-a-uno – es. tra studenti che sostengono esami e persone che pagano le tasse universitarie • Ad ogni studente corrisponde una ed una sola persona, e viceversa • Relazione molto rara • Le due tabelle potrebbero essere combinate insieme, senza ripetizioni dei dati – Utile quando si vogliono separare gli archivi Informatica 1 (SAM) - a. a. 2010/11
Diversi tipi di relazione -3 • Molti-a-molti – Es. studenti - appelli • Uno studente può essere iscritto a molti appelli, ed un appello può contenere molti studenti • Relazione frequente, ma difficile da gestire – Ci vuole una tabella intermedia • Es. una tabella prenotazioni che lega studenti ed appelli di una disciplina Informatica 1 (SAM) - a. a. 2010/11
Query • "interrogazione" sulla base di dati – combina più tabelle (al contr. dei filtri) – seleziona solo alcuni record (criteri) – ordina il risultato secondo una o più colonne • può essere salvata (al contr. dei filtri) Informatica 1 (SAM) - a. a. 2010/11
Query su più tabelle • Una query può coinvolgere più tabelle in relazione tra loro – Nella composizione guidata di Access, è sufficiente scegliere le relazioni da cui prendere i dati – Es. per autori e libri "dammi tutti i libri scritti da autori italiani, facendomi vedere il titolo del libro e il nome dell'autore" Informatica 1 (SAM) - a. a. 2010/11
Esempio di query • "trova tutti i libri scritti da autori italiani che costano più di 20 euro" • combina le tabelle autori e libri • seleziona gli autori italiani • seleziona i libri con costo >20 • il risultato è "come" una tabella (ma non lo é) Informatica 1 (SAM) - a. a. 2010/11
Maschere su due tabelle • Quando le tabelle sono in relazione uno-a -molti, si può fare una maschera con sottomaschera – Es. inserisci un autore (maschera principale) – e alcuni/tutti i suoi libri (sottomaschera) cognome Calvino nome Italo Informatica 1 (SAM) - a. a. 2010/11
Report su più tabelle e query • si possono scegliere: – campi di tabelle diverse, in relazione – campi delle query salvate • si sceglie una query quando il report deve contenere solo alcuni record selezionati • (quelli selezionati dalla query) Informatica 1 (SAM) - a. a. 2010/11
- Slides: 11