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
Nome
Alessandro
Giacomo
Giorgio
Ken
Italo
Primo
Giobbe
Alberto
Magdi
Sigmund
Cognome
Manzoni
Leopardi
Forattini
Follett
Calvino
Levi
Covatta
Asor Rosa
Allam
Freud
Nazione
Italia
Italia
Italia
Inghilterra
Italia
Italia
Italia
Italia
Egitto
Germania
chiave
primaria
ID_autore
1
2
3
4
5
6
7
8
9
10
Link_Autore
2
3
2
4
5
6
7
1
1
8
1
5
9
8
6
4
4
4
10
10
10
Titolo
Canti
Kosferatu
Operette Morali
Codice a zero
Il cavaliere inesistente
La Tregua
Pancreas
I Promessi Sposi
Il Conte di Carmagnola
La guerra
Adelchi
Collezione di sabbia
Saddam
La sinistra alla prova
La chiave a stella
Il codice Rebecca
La cruna dell'ago
Il pianeta dei bruchi
Psicoanalisi dell'isteria
Totem e tabù
Il sogno
Genere
Poesia
Satira politica
Letteratura
Narrativa
Narrativa
Letteratura
Narrativa
Letteratura
Letteratura
Saggistica
Letteratura
Narrativa
Attualità
Saggistica
Letteratura
Narrativa
Narrativa
Narrativa
Saggistica
Saggistica
Saggistica
Data pubblicazione
1993
2002
1995
2002
2000
1997
1989
1960
1990
2002
1988
1994
2002
2002
1992
1997
1996
2002
1991
1989
1990
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 unoa-molti, si può fare una maschera con
sottomaschera
– Es. inserisci un autore (maschera principale)
– e alcuni/tutti i suoi libri (sottomaschera)
cognome Calvino
Titolo
Il cavaliere inesistente
Lezioni Americane
nome
Italo
Informatica 1 (SAM) - a.a. 2010/11
genere
anno
Narrativa
1981
Saggistica 1989
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
Scarica

Basi di Dati