COME CREARE UNA RELAZIONE
Tramite il seguente esempio si vuole mostrare come si creano le relazioni.
ESEMPIO.
Si prendono in considerazione le due tabelle Clienti e Ordini, ridotte a pochi
campi più interessanti, visualizzate nella figura 5.03.

FIG. 5.03
Per rispondere a domande del
tipo “quale cliente ha fatto un certo ordine?, Quanti ordini ha fatto il cliente
Rossi?”, si deve definire una relazione tra le due tabelle.
Per prima cosa si deve capire di che tipo di relazione si tratta. Si è già
visto, negli esempi precedenti, che si tratta di una relazione uno a molti. La
tabella Clienti rappresenta il lato uno, la tabella Ordini rappresenta il lato
molti. Le rispettive chiavi primarie sono IdCliente e IdOrdine e le tabelle non
hanno campi in comune, che contengono gli stessi valori.
Si deve aggiungere un campo, della tabella del lato uno, nella tabella del
lato molti che memorizzi il collegamento (la relazione) con la tabella del lato
uno.
Il campo da aggiungere deve essere tale che i suoi valori siano univoci, ossia
non vengano mai ripetuti nella tabella del lato uno. Il campo che, per
definizione, corrisponde a queste caratteristiche è la chiave primaria, nel
nostro caso IdCliente. Questo campo “non serve” nella tabella lato molti, per
l’esistenza della tabella stessa, ma deve essere aggiunto per creare la
relazione.
Nella tabella lato uno il campo in questione è la chiave primaria, nella tabella
lato molti il campo viene chiamato CHIAVE ESTERNA.
I valori della colonna chiave esterna possono essere ripetuti, infatti un
cliente può effettuare più ordini.
La figura 5.04 visualizza il risultato della relazione.

FIG. 5.04
Non è sufficiente avere i due
campi sulle tabelle per definire le relazioni, i due campi devono essere
“uguali”. Per uguali si intendono due campi che hanno le stesse caratteristiche,
cioè lo stesso tipo di dati e la stessa dimensione. Nell’esempio i campi chiave
primaria e chiave esterna sono entrambi di tipo numerico, più avanti si
approfondirà quanto detto.
Non è necessario che i due campi abbiano lo stesso nome, possono avere nomi
diversi, ma devono avere lo stesso tipo di dati (p.e. testo) e la stessa
dimensione (p.e. 20 caratteri).
Bisogna creare espressamente la relazione con gli strumenti di Access, non è
sufficiente avere i due campi. Access non crea automaticamente una relazione
ogni volta che trova due campi con le caratteristiche dette sopra. Si possono
incontrare dei casi in cui ci siano campi con lo stesso nome, lo stesso tipo di
dati, la stessa dimensione, eppure non ci sia una relazione. Per esempio si
pensi a due tabelle, una per i clienti e una per i fornitori, la maggior parte
dei campi corrispondono, ma non c’è nessuna relazione tra le due tabelle.
Per questo motivo, è necessario creare a mano ogni relazione definita nella fase
di progettazione.
La figura 5.05 mostra come Access visualizzerebbe la relazione dell’esempio.

FIG. 5.05