Basi di Dati 3 Dati su pi tabelle
Basi di Dati - 3 Dati su più tabelle
Separare i dati su più tabelle • Quando è necessario? – Empiricamente, quando gli stessi dati si ripetono su molti record • Es. i dipartimenti degli impiegati, • i corsi di laurea degli studenti, • gli indirizzi di un cinema multisala impiegati dipartimenti Informatica 1 SCICOM - a. a. 2010/11 2
Relazioni tra tabelle • relazione tra i record – facendo corrispondere codici uguali nelle due tabelle chiave primaria chiave esterna Informatica 1 SCICOM - a. a. 2010/11 3
Relazioni • Ci sono tre tipi di relazioni: – uno-a-molti (la più frequente) – uno-a-uno – molti-a-molti Informatica 1 SCICOM - a. a. 2010/11 4
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 SCICOM - a. a. 2010/11 5
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 SCICOM - a. a. 2010/11 6
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 SCICOM - a. a. 2010/11 7
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 SCICOM - a. a. 2010/11 8
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 SCICOM - a. a. 2010/11 9
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 SCICOM - a. a. 2010/11 10
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 SCICOM - a. a. 2010/11 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 SCICOM - a. a. 2010/11 12
- Slides: 12