CREARE LE RELAZIONI
Per definire le relazioni con Access si deve utilizzare il comando STRUMENTI - RELAZIONI, rappresentato nella figura 15.03.
FIG. 15.03
Si apre una finestra di dialogo, figura 15.04, nella quale si devono scegliere
le tabelle sulle quali si vogliono definire le relazioni.
FIG. 15.04
Per visualizzare le tabelle si deve selezionarle, passando sopra il nome con il
puntatore del mouse, tenere premuto il tasto pulsante sinistro. Una volta che le
tabelle necessarie sono evidenziate, quelle blu, si deve fare un clic sul
pulsante AGGIUNGI, si passa alla finestra delle relazioni, figura 15.05.
FIG. 15.05
Le finestre delle tabelle, come si vede nella figura 15.05, contengono il nome
della tabella e i nomi dei campi. Il campo in grassetto rappresenta la chiave
primaria della tabella. Queste finestre sono come tutte le altre di Windows, per
cui è possibile spostarle con il trascinamento, sulla barra del titolo, e
ingrandirle con il trascinamento, sui bordi delle finestre.
Per nascondere una tabella nella finestra si deve fare un clic sulla barra del
titolo (sul nome della tabella) e premere il tasto CANC sulla tastiera.
Se manca una tabella che serve per le relazioni, è possibile richiamare la
finestra della figura 15.04 con il pulsante MOSTRA TABELLA, nella barra degli
strumenti del programma, riportato nella figura 15.06,
FIG. 15.06
Per creare una relazione, si deve trascinare un campo di una tabella (la chiave
primaria) sul corrispondente campo dell'altra tabella (chiave esterna) e
rilasciare il tasto sinistro del mouse. Automaticamente Access è in grado di
capire il tipo di relazione (uno a molti o uno a uno). È importante prendere i
campi giusti, perché la relazione, per il programma, non è tra le tabelle, ma
tra i campi stessi. Per cui, utilizzando un campo che non è la chiave esterna
(ma con lo stesso tipo di dati e la stessa dimensione), si crea una relazione
diversa, ma funzionante.
ESEMPIO
Si consideri la figura 15.05.
Si deve posizionare il puntatore del mouse sopra il campo "ChiavePrimaria" della
tabella "Tabella 1" e premere il pulsante sinistro del mouse. Tenendo premuto il
tasto sinistro del mouse, si deve spostare il puntatore sopra il campo "ChiaveEsterna"
della tabella "Tabella 2". Il puntatore del mouse assume la forma di un piccolo
rettangolo giallo, che indica il campo trascinato. A questo punto si deve
rilasciare il pulsante sinistro del mouse e appare la finestra di dialogo
"Modifica relazioni", rappresentata nella figura 15.07.
FIG. 15.07
In questa finestra Access chiede di applicare l'integrità referenziale, facendo
un clic sul relativo pulsante. Selezionando l'integrità referenziale si attivano
anche i comandi "Aggiorna campi correlati a catena" e "Elimina campi correlati a
catena", come si vede nella figura 15.08.
FIG. 15.08
La scelta di aggiornare o eliminare i campi correlati deve essere effettuata in
fase di progettazione dell'archivio, in questa fase si deve semplicemente
attivare o disattivare la voce corrispondente.
Per concludere, si deve fare un clic sul pulsante CREA, la relazione tra le
tabelle è visualizzata come nella figura 15.09.
FIG. 15.09
Come si vede, la linea che
rappresenta la relazione unisce i due campi delle tabelle, non semplicemente le
tabelle.
Si deve eseguire la stessa procedura per tutte le relazioni che si intende
creare.
Per MODIFICARE UNA RELAZIONE si deve fare un doppio clic posizionando il puntatore del mouse sopra la linea della relazione. Si apre la finestra di dialogo "Modifica relazioni", figura 15.08.
Per CANCELLARE UNA RELAZIONE si deve fare un clic sulla linea che rappresenta la relazione e premere il tasto CANC sulla tastiera.
Se si crea una relazione senza integrità referenziale, questa viene rappresentata in modo differente, come si vede nella figura 15.10.
FIG. 15.10
Se manca l'integrità referenziale la relazione non è riconosciuta dal programma,
infatti nella figura 15.09 sono segnalati il lato uno e il lato molti, nella
figura 15.10 non c'è distinzione. Come detto in precedenza, le relazioni senza
integrità referenziale sono molto rare e hanno scopi particolari.