Come vedere tutte le relazioni di un database Access: tutorial pratico

Per vedere tutte le relazioni di un database Access apri Strumenti database > Relazioni e usa il comando Tutte le relazioni. La finestra Relazioni mostra tabelle, campi collegati, cardinalità e, quando l’integrità referenziale è attiva, i simboli 1 e ∞ delle relazioni uno-a-molti. È uno degli strumenti più importanti per capire la struttura di un database, trovare collegamenti mancanti e controllare se il modello dati è coerente prima di modificare query, maschere o report.

Indice

  • Aprire la finestra Relazioni
  • Mostrare tutte le relazioni
  • Capire simboli e linee
  • Aggiungere tabelle mancanti
  • Visualizzare relazioni dirette
  • Stampare il diagramma
  • Diagnosticare problemi
  • FAQ

Aprire la finestra Relazioni

Apri il database nell’app desktop Microsoft Access per Windows. Nella barra multifunzione vai su Strumenti database e seleziona Relazioni. Microsoft descrive questa finestra come il punto in cui definire, visualizzare e modificare i collegamenti tra le tabelle. In un database normalizzato, per esempio, Clienti può essere collegata a Ordini, Ordini a DettagliOrdine e Prodotti a DettagliOrdine.

La procedura è disponibile in Access per Microsoft 365 e Access 2024, oltre alle versioni desktop indicate dalla documentazione Microsoft. Non va confusa con un ipotetico Access nel browser: l’applicazione corrente è desktop Windows. Le vecchie web app Access non sono il riferimento per nuovi progetti.

Usare Tutte le relazioni

Se la finestra non mostra tutti i collegamenti, nel gruppo Relazioni scegli Tutte le relazioni. Access aggiunge alla vista le tabelle che partecipano alle relazioni salvate. Microsoft precisa che le tabelle nascoste e le loro relazioni potrebbero non essere mostrate finché non abiliti la visualizzazione degli oggetti nascosti nelle opzioni di navigazione.

Se vuoi concentrarti su una singola tabella, puoi usare le relazioni dirette. Seleziona la tabella e usa il comando dedicato per visualizzare solo i collegamenti che la coinvolgono. È utile nei database grandi, dove il diagramma completo può diventare difficile da leggere.

Come leggere il diagramma

Ogni riquadro rappresenta una tabella e contiene l’elenco dei campi. Una linea collega i campi che partecipano alla relazione. Se l’integrità referenziale è attiva su una relazione uno-a-molti, Access mostra normalmente 1 sul lato uno e ∞ sul lato molti. Il lato uno deve avere un campo univoco, in genere una chiave primaria; il lato molti contiene la chiave esterna.

Se non vedi 1 e ∞, non significa automaticamente che il join sia sbagliato. Potrebbe mancare l’integrità referenziale o la relazione potrebbe non soddisfare le condizioni per una vera cardinalità uno-a-molti. Fai doppio clic sulla linea per aprire Modifica relazioni e verificare i campi e le opzioni.

Esempio: clienti, ordini e prodotti

Un modello tipico contiene Clienti.IDCliente 1→∞ Ordini.IDCliente. Ordini.IDOrdine è poi collegato 1→∞ a DettagliOrdine.IDOrdine, mentre Prodotti.IDProdotto è collegato 1→∞ a DettagliOrdine.IDProdotto. Guardando il diagramma puoi capire immediatamente che Ordini e Prodotti sono in una relazione molti-a-molti risolta attraverso la tabella ponte DettagliOrdine.

Questa visualizzazione è utile anche per chi eredita un database creato da un’altra persona. Prima di modificare tabelle o query, studia il diagramma e annota quali oggetti dipendono da quali chiavi.

Aggiungere una tabella alla finestra Relazioni

Se una tabella non appare, usa Aggiungi tabelle nella scheda Progettazione della finestra Relazioni. Aggiungere una tabella al layout non crea automaticamente una nuova relazione: serve solo a renderla disponibile nel diagramma. Per creare un collegamento devi trascinare il campo appropriato verso il campo corrispondente e configurare le proprietà.

Puoi anche trascinare una tabella dal riquadro di spostamento alla finestra Relazioni. Se il database contiene molte tabelle tecniche, organizza il layout per aree funzionali: anagrafiche a sinistra, transazioni al centro, tabelle di dettaglio e supporto a destra.

Nascondere una tabella dal layout

Rimuovere una tabella dalla vista grafica non equivale a cancellare la tabella né la relazione dal database. Microsoft indica che puoi nascondere una tabella dal layout per rendere il diagramma più leggibile. Fai attenzione a distinguere il comando che nasconde il riquadro dal comando che elimina una relazione.

Prima di intervenire su una linea, selezionala con precisione. Una relazione selezionata appare evidenziata; con doppio clic puoi aprire la finestra di modifica.

Salvare il layout

Dopo aver riordinato le tabelle, premi Ctrl+S. Access salva la disposizione grafica della finestra Relazioni. Questo non cambia i dati, ma rende più utile il diagramma nelle sessioni successive e migliora anche la qualità del Relationship Report.

Per database complessi conviene dedicare qualche minuto al layout: evita linee che si incrociano inutilmente e posiziona le tabelle ponte tra i due gruppi che collegano. Una rappresentazione leggibile riduce gli errori durante la manutenzione.

Visualizzare le relazioni dirette di una tabella

Nei database con decine di tabelle, il comando Tutte le relazioni può generare una vista affollata. Seleziona una tabella e usa Relazioni dirette per visualizzare i collegamenti immediati. È un ottimo modo per analizzare l’impatto di una modifica a una chiave.

Per esempio, selezionando Clienti puoi vedere Ordini, Contatti, Indirizzi o altre tabelle figlie. Questo ti aiuta a capire se una cancellazione o una modifica di chiave potrebbe coinvolgere più aree del database.

Controllare l’integrità referenziale

Fai doppio clic su una relazione per verificare se è selezionata Applica integrità referenziale. Quando è attiva, Access impedisce la creazione di record orfani. Puoi anche vedere le opzioni Aggiorna campi correlati a catena ed Elimina record correlati a catena.

Non attivare le opzioni a catena automaticamente. L’aggiornamento a catena è utile quando una chiave modificabile deve propagarsi; con una primaria Autonumerazione normalmente non serve. L’eliminazione a catena va usata solo quando i figli devono realmente essere cancellati insieme al padre.

Tipi di dati compatibili

Se una relazione non appare come previsto o Access rifiuta l’integrità, controlla i tipi dati. Un campo Autonumerazione sul lato padre può essere collegato a un campo Numero/Intero lungo sul lato figlio. Un Numero non è compatibile con un Testo breve soltanto perché visualizza le stesse cifre.

Controlla anche il significato. IDCliente deve collegarsi a IDCliente, non a un altro campo numerico casuale. Una relazione tecnicamente accettabile può essere concettualmente sbagliata.

Verificare i record orfani

Prima di applicare l’integrità su tabelle già piene, usa una query di non corrispondenza:

SELECT Ordini.IDOrdine, Ordini.IDCliente FROM Ordini LEFT JOIN Clienti ON Ordini.IDCliente = Clienti.IDCliente WHERE Clienti.IDCliente IS NULL;

Se ottieni righe, correggi i dati prima di attivare il vincolo. Un diagramma ben disegnato non rende automaticamente coerenti i dati già esistenti.

Controllare duplicati sul lato uno

Se il campo che dovrebbe essere univoco contiene duplicati, non può rappresentare correttamente il lato uno. Puoi controllare con:

SELECT IDCliente, Count(*) AS Quanti FROM Clienti GROUP BY IDCliente HAVING Count(*) > 1;

Con una vera chiave primaria non dovresti ottenere risultati. Se stai usando una chiave naturale, questo controllo è essenziale.

Stampare il diagramma delle relazioni

Microsoft Access può generare un Relationship Report. Prima sistema il layout, poi nella finestra Relazioni usa il comando Report relazioni. Si apre un report in anteprima di stampa che riproduce il diagramma. Puoi quindi stamparlo o conservarlo come documentazione.

Il report è particolarmente utile durante audit, migrazioni o passaggi di consegne. Microsoft offre anche Database Documenter, che raccoglie proprietà dettagliate di tabelle, query, maschere, report e altri oggetti.

Finestra Relazioni e Dipendenze oggetti

La finestra Relazioni mostra il modello tra tabelle. Il riquadro Dipendenze oggetti mostra invece come query, maschere e report dipendono da altri oggetti. Prima di eliminare una tabella o rinominare un campo, usa entrambi gli strumenti: il primo ti dice come sono connessi i dati, il secondo quali oggetti applicativi potrebbero rompersi.

Questa distinzione è importante: una relazione tra tabelle non rappresenta tutte le dipendenze presenti nel database.

Relazioni e join nelle query

Una relazione salvata è diversa da un join definito in una query. Il join decide come combinare righe per una specifica interrogazione; la relazione può applicare regole persistenti di integrità. Access spesso usa le relazioni salvate per proporre automaticamente i join quando aggiungi tabelle a una nuova query.

Se una query mostra duplicati, verifica prima la cardinalità nel diagramma. Aggiungere DISTINCT senza capire la causa può nascondere un modello errato.

Database front-end/back-end

In un database multiutente è buona pratica separare front-end e back-end. Le tabelle risiedono nel back-end condiviso, mentre ogni utente dispone di un front-end locale. Le relazioni con integrità referenziale tra tabelle Access vanno definite nel file che contiene fisicamente le tabelle.

Se apri il front-end e vedi tabelle collegate, il diagramma può aiutare a capire il modello, ma per modificare i vincoli devi operare nel back-end appropriato. Esegui sempre un backup prima di cambiare struttura.

Access 32 bit e 64 bit

La scelta 32/64 bit non modifica la logica delle relazioni. Influisce soprattutto su memoria, driver, componenti ActiveX e API VBA. Un file ACCDB con un modello corretto mantiene le stesse chiavi e cardinalità in entrambe le architetture, salvo dipendenze esterne specifiche.

Access Runtime può mostrare l’applicazione agli utenti finali, ma la manutenzione della finestra Relazioni va effettuata nella versione completa.

Errori comuni nella lettura del diagramma

Un errore è pensare che una tabella non visibile non abbia relazioni. Un altro è confondere l’assenza dei simboli 1/∞ con l’assenza totale di collegamento. Un terzo è eliminare una linea credendo di rimuoverla solo dal layout: eliminare la relazione rimuove anche la protezione di integrità relativa a quel collegamento.

Evita inoltre di usare il diagramma come unica documentazione. Aggiungi una descrizione testuale delle regole a catena e delle motivazioni progettuali.

Troubleshooting: non vedo una relazione

Usa Tutte le relazioni. Controlla gli oggetti nascosti. Aggiungi manualmente le tabelle. Verifica che la relazione sia stata realmente salvata e non fosse soltanto un join temporaneo in una query. Se il database è suddiviso, assicurati di stare aprendo il file corretto.

Se la relazione è presente ma non può applicare integrità, controlla chiave univoca, tipi dati, record orfani e tabelle collegate.

Come documentare un database esistente

Per ogni relazione annota: tabella padre, campo padre, tabella figlia, campo figlio, cardinalità, integrità referenziale e opzioni a catena. Aggiungi la finalità. Esempio: “Clienti.IDCliente → Ordini.IDCliente, uno-a-molti, integrità attiva, nessuna eliminazione a catena perché gli ordini devono restare nello storico”.

Questa documentazione rende più semplice capire il database anche senza aprire Access e accelera una futura migrazione verso SQL Server o altri sistemi.

FAQ

Come faccio a vedere tutte le relazioni?

Strumenti database > Relazioni, poi Tutte le relazioni.

Perché alcune tabelle non compaiono?

Potrebbero non partecipare a relazioni salvate, essere nascoste o non essere state aggiunte al layout.

Posso stampare la finestra?

Sì. Access può creare un Relationship Report dalla disposizione attuale.

Eliminare una tabella dal layout elimina i dati?

No, se la nascondi dal layout. Fai però attenzione a non eliminare la relazione o la tabella stessa.

Le relazioni funzionano su Mac?

Access desktop non esiste nativamente per macOS; questa guida riguarda Windows.

Link utili

Consulta la categoria Guide Access e le guide su creare relazioni, integrità referenziale, tabella ponte e chiave primaria.

Fonti Microsoft: finestra Relazioni, creare e modificare relazioni, documentare e stampare il database.

Conclusione

Per vedere tutte le relazioni di un database Access usa Strumenti database > Relazioni > Tutte le relazioni. Poi controlla campi, simboli di cardinalità, integrità e opzioni a catena. Un diagramma ordinato, accompagnato da query di verifica e documentazione, è uno dei modi migliori per capire e mantenere un database Access senza introdurre errori.

Lascia un commento