Home Page Home Page Tips & Tricks Come creare una relazione in un database di Access

Come creare una relazione in un database di Access


In un database è naturale avere delle tabelle con dei dati correlati. In questo articolo vedremo quindi come creare una semplice relazione tra 2 tabelle di un archivio.

Nell'esempio in figura abbiamo 2 tabelle: una contenente le informazioni sui dati relativi ai fornitori (TblFornitori) e un’altra con i dati relativi alle merci da loro acquistate (TblMerce).

TblFornitori ha il campo IDFornitore impostato come chiave primaria.





Ora si può accedere alla finestra delle relazioni dal menu Strumenti. Si sceglie di aggiungere TblFornitori e TblMerce alla finestra e si chiude la schermata di scelta delle tabelle (richiamabile in seguito da Relazioni > Mostra tabella).
A questo punto vediamo il campo IDFornitore della tblFornitori in grassetto; questo perché esso contiene la chiave primaria.
Andiamo quindi a trascinare IDFornitore sull’altro IDFornitore e avremo la schermata seguente:



Il tipo di relazione sarà Uno-a-molti dato che andiamo a relazionare un campo chiave primaria con altri "semplici". Se invece avessimo avuto una relazione tra 2 campi con chiave primaria, la relazione sarebbe stata di tipo Uno-a-Uno. Potremmo a questo punto dare l’OK alla creazione del layout relazioni cliccando su Crea e salvando le modifiche. Il risultato visivo sarà il seguente:



Ovvero ogni fornitore avrà una sottotabella correlata, contenente i prodotti venduti.


L'integrità referenziale


Durante la creazione del layout avremmo anche potuto scegliere di applicare l'integrità referenziale alla nostra relazione. Questo è uno strumento che ci permette di non commettere errori nell’inserimento dei record, andando a confrontare i dati contenuti nel campo della chiave primaria, e non permettendo l’inserimento di un IDFornitore in TblMerce se esso non esiste preventivamente in TblFornitori.
Facendo un esempio pratico, ho provato a inserire nella TblMerce l’ IDFornitore 1000 (che non esiste in TblFornitori) ed ecco il messaggio di errore ottenuto:



Altre possibili opzioni che troviamo nella finestra Modifica Relazioni (richiamabile da: Strumenti > Relazioni, e poi Relazioni > Modifica Relazione) sono: Aggiorna campi correlati a catena ed Elimina record correlati a catena. Se scegliamo di aggiornare i campi correlati a catena, quando andremo a modificare l’IDFornitore nella tabella contenente la chiave primaria, questo ID andrà a modificarsi laddove venga richiamato in tabelle correlate.
Elimina i record correlati a catena ha una funzione simile, ovvero se si va ad eliminare il record di un fornitore da TblFornitori, ecco che tutti i record contenenti informazioni sulle sue vendite verranno eliminati da TblMerce.
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5