Differenza tra chiave primaria, chiave composita e chiave esterna

Differenza tra chiave primaria, chiave composita e chiave esterna

Chiave primaria (Primary key)

Nei database, una chiave primaria è una speciale colonna della tabella del database relazionale (o combinazione di colonne) designata per identificare in modo univoco ogni record della tabella. Una chiave primaria viene utilizzata come identificatore univoco per analizzare rapidamente i dati all’interno della tabella. Una tabella non può avere più di una chiave primaria.

Le caratteristiche principali di una chiave primaria sono:

  1. Deve contenere un valore univoco per ogni riga di dati.
  2. Non può contenere valori nulli.
  3. Ogni riga deve avere un valore di chiave primaria.

Una chiave primaria potrebbe utilizzare uno o più campi già presenti nel modello dati sottostante oppure è possibile creare un campo aggiuntivo specifico come chiave primaria.

chiave primaria, chiave composita e chiave esterna

 

Chiave composita (Composite key)

Una chiave composita, nel contesto dei database relazionali, è una combinazione di due o più colonne in una tabella che può essere utilizzata per identificare in modo univoco ogni riga nella tabella. L’unicità è garantita solo quando le colonne sono combinate; prese singolarmente le colonne non garantiscono l’unicità.

Più nel dettaglio, qualsiasi colonna che può garantire l’unicità è chiamata chiave candidata; tuttavia una chiave composta è un tipo speciale di chiave candidata formata solo da una combinazione di due o più colonne. A volte la chiave candidata è solo una singola colonna e talvolta è formata unendo più colonne. Quindi, una chiave composta può essere definita come chiave primaria. Ciò viene eseguito utilizzando le istruzioni SQL al momento della creazione della tabella. Significa che i dati dell’intera tabella sono definiti e indicizzati sull’insieme di colonne definito come chiave primaria.

In altre parole, si può dire che, se la chiave primaria è composta da più di 1 colonna, in questo caso viene chiamata chiave composita. In una chiave composita i valori di entrambe le colonne insieme devono essere univoci e non nulli. Le singole colonne possono avere valori duplicati ma le colonne multiple che compongono la chiave composita insieme non possono avere valori duplicati.

Chiave esterna (Foreign key)

Una chiave esterna è una colonna o un gruppo di colonne in una tabella di 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 loro.

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

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

Più nel dettaglio, sebbene una chiave primaria possa esistere da sola, una chiave esterna deve sempre fare riferimento a una chiave primaria da qualche parte. La tabella originale contenente la chiave primaria è la tabella padre (nota anche come tabella di riferimento). Questa chiave può essere referenziata da più chiavi esterne di altre tabelle, note come tabelle “figlio”.

Per qualsiasi colonna che funge da chiave esterna, dovrebbe esistere un valore corrispondente nella tabella collegata. È necessario prestare particolare attenzione durante l’inserimento e la rimozione dei dati dalla colonna della chiave esterna, poiché un’eliminazione o un inserimento imprudente potrebbe distruggere la relazione tra le due tabelle.
Infine, se l’integrità tra i due database è compromessa, possono verificarsi degli errori.

Differenza tra chiave primaria, chiave composita e chiave esterna

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *