La relazione Uno a uno è una relazione poco comune, perchè si tende ad evitarla concentrando i dati in un’unica tabella. Nella relazione uno a uno ad un record di una tabella (primaria) corrisponde il record di un’altra tabella (secondaria) e viceversa. Un esempio può essere costituito dalla relazione che intercorre fra i corsisiti e la skill card: per ogni corsisita esiste una sola skill card così come una sola skill card viene assegnata a ciascun corsista.

Per realizzare una relazione di questo tipo è necessario che entrambe le tabelle abbiano una chiave primaria oppure un campo indicizzato con duplicati non ammessi dello stesso formato.

Una relazione viene creata utilizzando la scheda Strumenti database, pulsante Relazioni, sezione Mostra/Nascondi. Viene così visualizzata la finestra Mostra tabella nella quale vengono selezionate le tabelle necessarie alla relazione, al termine occorre cliccare su Aggiungi.

Dopo aver posizionato il mouse sul campo con chiave primaria della tabella a sinistra lo si tiene premuto spostandolo sul campo chiave primaria della tabella accanto.

Quando si rilascia il tasto sinistro si apre la finestra Modifica relazioni dove in basso è indicato il tipo di relazione: Uno-a-uno.

Nella finestra aperta è possibile anche cliccare su Applica integrità referenziale che ho già trattato in un precedente articolo. Selezionando tale casella vengono disattivate anche le altre due: Aggiorna campi correlati a catena ed Elimina record correlati a catena.

L’opzione Aggiorna campi correlati a catena indica che ogni volta che viene modificata la chiave primaria di un record nella tabella primaria, la chiave primaria verrà automaticamente aggiornata al nuovo valore in tutti i record correlati.

L’ultima opzione, Elimina record correlati a catena, significa che quando si elimina un record dalla tabella principale verranno eliminati anche tutti i record correlati nella tabella collegata.

Dopo aver operato le selezioni necessarie, si  clicca su Ok.

relazione uno a uno

relazione uno a uno


Print Friendly

Articoli collegati:

Un Commento a “Relazione Uno a uno in Access 2007”

  • Gioele:

    Ciao,
    ho un problema con Access 2007 nella relazione tra due tabelle.
    Nel mio database ho creato due tabelle collegate con relazione uno-a-uno, che per semplicità chiamo A (tabella primaria) e B (tabella secondaria).
    Dalla tabella A ho creato una query A, mentre dalla tabella A+B ho creato una query B.
    Successivamente dalla query A ho creato una maschera A e dalla query B ho creato una maschera B.
    Dal mio database vorrei che nel momento in cui inserisco i dati nella maschera A, in automatico si visualizzassero nella maschera B (sempre rispettando le relazioni e i campi correrati).
    Il mio problema è che quando cerco di fare un’operazione come riportata sopra, i nuovi record inseriti nella maschera A non mi si visualizzano in B.
    Ho già provato con l’intregrità referenziale e con il tastino join, ma nulla…non riesco!
    Qualcuno può aiutarmi? Per favore!!

Lascia un Commento