Skip to main content

Cos'è una chiave straniera?

I database sono composti da tabelle in cui vengono archiviati i dati o le informazioni.Una chiave straniera è un meccanismo in un database relazionale che consente all'associazione di tali tabelle o che le tabelle abbiano una relazione tra loro.Ci sono caratteristiche uniche che deve avere una chiave straniera.Deve essere una colonna o un gruppo di colonne in una tabella i cui valori stabiliscono una relazione con i valori in un'altra tabella nello stesso database.

Una chiave straniera garantisce che le righe in una tabella corrispondano alle righe in qualche altra tabella, stabilendo così relazioni o riferimenti a livello di database.La tabella contenente la chiave esterna è il bambino e l'altra tabella è il genitore.È possibile che il valore di una chiave esterna sia nullo o vuoto e che si riferisca effettivamente o si riferisca a quella che è nota come la chiave primaria della tabella in cui si trova.Questo è noto come autoreferenziazione.

Bisogna avere una buona comprensione di ciò che una chiave primaria è prima di tentare di comprendere appieno il concetto dietro le chiavi straniere.Ad esempio, se ci sono due tabelle in un database che archiviano informazioni sui libri pubblicati per un sito Web che vende libri, una tabella potrebbe essere la tabella degli editori e l'altra tabella dei libri.La tabella degli editori potrebbe consistere in due colonne, una chiave primaria che è sempre unica per ogni record e una colonna Nome editore.Un minimo di tre colonne costituirebbe la tabella dei libri, con la chiave primaria o l'identificatore univoco per ogni libro, i titoli dei libri e una colonna attraverso la quale sarebbe stata stabilita una relazione con la tabella degli editori.Quella colonna sarebbe la chiave straniera.

La chiave primaria per la tabella degli editori potrebbe essere qualcosa come pub_id con valori di: P01, P02, P03, ecc. Verrebbe stabilita una relazione con la tabella dei libri se contenesse una colonna Pub_ID con gli stessi valori.Questa sarebbe la chiave straniera che metterebbe in relazione questa tabella dei bambini al suo genitore mdash;La tabella degli editori.

Una chiave esterna può, tuttavia, avere un nome di colonna diverso rispetto alla chiave principale a cui fa riferimento.La solida comprensione del funzionamento delle chiavi primarie ed estere è essenziale per mantenere l'integrità referenziale.Database molto grandi che sono composti da molte tabelle o che coinvolgono una tabella di giunzione presentano più di un tipo di relazione, che può complicare il compito di lavorare con le chiavi straniere.