Caratteristiche e Differenza tra Chiave primaria e Chiave esterna

Caratteristiche e Differenza tra Chiave primaria e Chiave esterna

Chiave primaria

Un identificatore principale o meglio conosciuto con il nome di chiave primaria (o in inglese primary key) è essenziale nella traduzione verso il modello relazionale perché le chiavi in quest’ultimo modello sono utilizzate per stabilire legami tra dati in relazioni diverse. Inoltre le basi di dati richiedono di specificare una chiave primaria sulla quale vengono costruite automaticamente le strutture ausiliarie per il reperimento efficiente dei dati.

In altre parole, una chiave primaria è una colonna speciale della tabella del database relazionale (o combinazione di colonne) designata per identificare in modo univoco tutti i record della tabella. Una chiave primaria viene utilizzata come identificatore univoco per analizzare rapidamente i dati all’interno del database e trovare la relazione tra diverse tabelle. Un database relazionale non può avere più di una chiave primaria.

Esistono diversi criteri per decidere quali saranno le chiavi primarie:

  1. Gli attributi con valore nullo non possono essere identificatori principali perché non garantiscono l’accesso a tutte le occorrenze delle entità;
  2. E’ da preferire un identificatore composto da uno o pochi attributi perché facilita la ricerca dei dati, permette un risparmio di memoria nella realizzazione dei legami logici e facilita le operazioni di join;
  3. Si preferisce sia un identificatore interno piuttosto che uno esterno per gli stessi motivi sopra spiegati;
  4. Si preferisce un identificatore che viene utilizzato da molte operazioni, in questo modo queste operazioni possono essere eseguite efficientemente.

Se nessun identificatore nella tabella soddisfa tutti i requisiti appena descritti conviene introdurre un ulteriore attributo (codice) all’entità generato appositamente per identificare le occorrenze delle entità.

Chiave esterna

L’integrità referenziale anche conosciuta con il nome di chiave esterna (o in inglese foreign key) è un insieme di regole del modello relazionale che garantiscono l’integrità dei dati quando si hanno relazioni associate tra loro attraverso la chiave esterna: queste regole servono per rendere valide le associazioni tra le tabelle e per eliminare gli errori di inserimento, cancellazione o modifica di dati collegati tra loro.
L’integrità referenziale viene rispettata quando per ogni valore non nullo della chiave esterna, esiste un valore corrispondente della chiave primaria nella tabella associata.

In altre parole, 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.
Inoltre, le chiavi esterne e la loro implementazione sono più complesse delle chiavi primarie.

Quando viene applicata l’integrità referenziale, è necessario osservare le seguenti regole pratiche:

  1. Non è possibile immettere un valore nella chiave esterna della tabella associata, se tale valore non esiste tra le chiavi della tabella primaria.
  2. Non è possibile eliminare una n-pla dalla tabella primaria, se esistono righe legate ad essa attraverso la chiave esterna nella tabella correlata
  3. Non si può modificare, come è ovvio, il valore della chiave nella tabella primaria, se ad essa corrispondono righe nella tabella correlata.

Caratteristiche e Differenza tra Chiave primaria 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 *