Casa Banche dati Cos'è una chiave esterna? - definizione da techopedia

Cos'è una chiave esterna? - definizione da techopedia

Sommario:

Anonim

Definizione - Cosa significa chiave esterna?

Una chiave esterna è una colonna o un gruppo di colonne in una tabella del database relazionale che fornisce un collegamento tra i dati in due tabelle. Funge da riferimento incrociato tra le tabelle perché fa riferimento alla chiave primaria di un'altra tabella, stabilendo così un collegamento tra di esse.

La maggior parte delle tabelle in un sistema di database relazionale aderisce al concetto di chiave esterna. In database complessi e data warehouse, i dati in un dominio devono essere aggiunti su più tabelle, mantenendo così una relazione tra loro. Il concetto di integrità referenziale deriva dalla teoria delle chiavi esterne.

Le chiavi esterne e la loro implementazione sono più complesse delle chiavi primarie.

Techopedia spiega la chiave esterna

Per qualsiasi colonna che agisce come chiave esterna, dovrebbe esistere un valore corrispondente nella tabella dei collegamenti. Prestare particolare attenzione durante l'inserimento di dati e la rimozione di dati dalla colonna chiave esterna, poiché una cancellazione o un inserimento disattento potrebbe distruggere la relazione tra le due tabelle.

Ad esempio, se sono presenti due tabelle, cliente e ordine, è possibile creare una relazione tra loro introducendo una chiave esterna nella tabella dell'ordine che faccia riferimento all'ID cliente nella tabella cliente. La colonna ID cliente esiste sia nelle tabelle cliente che ordine. L'ID cliente nella tabella degli ordini diventa la chiave esterna, facendo riferimento alla chiave primaria nella tabella dei clienti. Per inserire una voce nella tabella degli ordini, il vincolo della chiave esterna deve essere soddisfatto. Un tentativo di inserire un ID cliente che non è presente nella tabella dei clienti ha esito negativo, mantenendo così l'integrità referenziale della tabella.

Alcune azioni referenziali associate a un'azione di chiave esterna includono quanto segue:

  • A cascata: quando vengono eliminate le righe nella tabella padre, vengono eliminate anche le colonne di chiave esterna corrispondenti nella tabella figlio, creando un'eliminazione a cascata.
  • Imposta null: quando una riga a cui viene fatto riferimento nella tabella padre viene eliminata o aggiornata, i valori della chiave esterna nella riga di riferimento vengono impostati su null per mantenere l'integrità referenziale.
  • Trigger: le azioni referenziali vengono normalmente implementate come trigger. In molti modi le azioni con chiave esterna sono simili ai trigger definiti dall'utente. Per garantire una corretta esecuzione, le azioni referenziali ordinate vengono talvolta sostituite con i relativi trigger definiti dall'utente equivalenti.
  • Imposta predefinito: questa azione referenziale è simile a "imposta null". I valori della chiave esterna nella tabella figlio vengono impostati sul valore di colonna predefinito quando la riga di riferimento nella tabella padre viene eliminata o aggiornata.
  • Limita: questa è la normale azione referenziale associata a una chiave esterna. Un valore nella tabella principale non può essere eliminato o aggiornato purché sia ​​indicato da una chiave esterna in un'altra tabella.
  • Nessuna azione: questa azione referenziale è simile in funzione dell'azione "restringi", tranne per il fatto che un controllo di non azione viene eseguito solo dopo aver provato a modificare la tabella.
Cos'è una chiave esterna? - definizione da techopedia