Cosa è una chiave esterna
Una chiave esterna è un
vincolo tra una o più tabelle che
garantisce l'integrità dei dati. È composta da una o più colonne in una tabella, chiamata
tabella referenziante, che si riferisce a una colonna (o un insieme di colonne) in una
tabella referenziata.
Una tabella può avere molte chiavi esterne e ogni chiave esterna può referenziare una tabella diversa.
Nella progettazione di un database è buona norma creare
tabelle diverse per entità diverse e relazionarle tra di loro attraverso le chiavi esterne.
Un esempio può essere rappresentato dai prodotti che sono catalogati in specifiche categorie: questa relazione può essere rappresentata nel database con l'immagine seguente:
Come creare una chiave esterna
Per definire le chiavi esterne e i vincoli di integrità referenziale di una tabella (in caso di
tabelle InnoDB), è sufficiente effettuare l'
accesso al pannello di gestione del database e seguire le operazioni riportate:
- scegliere il database in cui si trova la tabella su cui si desidera intervenire, tra i 5 disponibili nell'elenco in alto a sinistra;
- nella pagina che si apre, cliccare sulla voce Struttura in corrispondenza della tabella di proprio interesse:
- cliccare poi sul link Vista relazioni:
- nella sezione visualizzata è possibile stabilire collegamenti esterni per i campi della tabella per cui siano stati costruiti indici;
Non è possibile creare chiavi esterne tra tabelle che hanno motori diversi (ad esempio MyISAM e INNODB). Per verificare e modificare il motore di una tabella consultare la
guida dedicata.
- cliccare infine su Salva per confermare: