Qual è la differenza tra chiave primaria e chiave esterna

Il differenza principale tra la chiave primaria e la chiave esterna è che il la chiave primaria viene utilizzata per identificare i record nella tabella in modo univoco mentre la chiave esterna viene utilizzata per connettere due tabelle insieme.

La maggior parte delle organizzazioni aziendali utilizza i database per archiviare i dati. Un sistema di gestione del database (DBMS) è un software che aiuta a creare e gestire i dati nei database. Un tipo avanzato di DBMS si chiama Relational Database Management System (RDBMS). È basato sul modello relazionale. Memorizzano i dati nelle tabelle. Ogni tabella è composta da righe e colonne. Una riga rappresenta una voce mentre una colonna rappresenta un attributo. Le tabelle in RDBMS hanno un'associazione tra loro. Le chiavi aiutano a identificare le relazioni tra le tabelle e ad identificare in modo univoco qualsiasi riga di dati all'interno di una tabella. Una chiave può essere un singolo attributo o una combinazione di chiavi. Questi sono vari tipi di chiavi e la chiave primaria e la chiave esterna sono due.

Aree chiave coperte

1. Qual è la chiave primaria
     - Definizione, Funzionalità
2. Cos'è la chiave esterna
     - Definizione, Funzionalità
3. Qual è la differenza tra chiave primaria e chiave esterna
     - Confronto tra le principali differenze

Parole chiave

Database, DBMS, chiave esterna, chiave primaria, RDBMS

Cos'è una chiave primaria

Una colonna chiave primaria nella tabella aiuta a identificare ogni riga o un record nella tabella. Contiene valori unici. La colonna chiave primaria non può avere valori Null. Una tabella può avere una singola chiave primaria. In una tabella Studente, lo studente_id è la chiave primaria. In una tabella Patient_Details, patient_id è la chiave primaria. Non è necessario che la chiave primaria abbia un singolo campo. Può anche essere una combinazione di più campi. Quando una chiave primaria è composta da più campi, viene chiamata una chiave composta. Ad esempio, la chiave primaria della tabella Studente può essere la combinazione di sia student_id che nome.

Cos'è una chiave straniera

Una chiave esterna viene utilizzata per fare riferimento ad un'altra tabella. È anche chiamato una chiave di riferimento. È una colonna o una combinazione di colonne che corrisponde a una chiave primaria in una tabella diversa. In altre parole, una chiave esterna nella tabella è una chiave primaria di un'altra tabella.

Figura 1: chiave primaria e chiave esterna

Ad esempio, si supponga che sia presente un database vendite. Ha tabelle clienti e prodotti. La tabella clienti ha colonne customer_id, name, address e contact_no. La chiave primaria della tabella clienti è customer_id. Il prodotto ha product_id, name, quality columns. La chiave primaria della tabella del prodotto è product_id. Inserendo product_id nella tabella clienti verrà creato un collegamento tra le due tabelle. Il product_id nella tabella del prodotto è la chiave primaria, ma è una chiave esterna nel customer_table. Allo stesso modo, è possibile collegare le tabelle nel database utilizzando la chiave esterna.

Differenza tra chiave primaria e chiave esterna

Definizione

Nel modello relazionale dei database, una chiave primaria è una scelta specifica di un insieme minimo di attributi o colonne che specificano in modo univoco una tupla o una riga in una tabella. Una chiave esterna è un campo o una raccolta di campi in una tabella che identifica in modo univoco una riga di un'altra tabella o la stessa tabella. Quindi, ciò costituisce la differenza fondamentale tra la chiave primaria e la chiave esterna.

Numero di tabelle correlate

La chiave primaria è correlata a una singola tabella mentre una chiave esterna è correlata a due tabelle. Quindi, derivante dal concetto di base, questa è un'altra differenza tra chiave primaria e chiave esterna.

Valori nulli

Inoltre, un valore di chiave primaria non può essere nullo ma un valore di chiave esterna può essere nullo.

Valori duplicati

Inoltre, un'altra differenza tra la chiave primaria e la chiave esterna è che i valori della chiave primaria non possono avere valori duplicati mentre i valori della chiave esterna possono avere valori duplicati.

Numero di chiavi

Inoltre, un'altra importante differenza tra la chiave primaria e la chiave esterna è che può esserci solo una singola chiave primaria in una tabella. Tuttavia, ci possono essere più chiavi esterne in una tabella.

uso

La chiave primaria viene utilizzata per identificare i record della tabella in modo univoco mentre la chiave esterna viene utilizzata per collegare due tabelle insieme. Questa è la principale differenza tra la chiave primaria e la chiave esterna.

Conclusione

La chiave primaria e la chiave esterna sono due tipi di chiavi utilizzate in RDBMS. La differenza tra la chiave primaria e la chiave esterna è che la chiave primaria viene utilizzata per identificare i record nella tabella in modo univoco mentre la chiave esterna viene utilizzata per connettere due tabelle insieme.

Riferimento:

1. "Chiave primaria SQL". Www.tutorialspoint.com, punto tutorial, disponibile qui.
2. "Chiave esterna SQL." Www.tutorialspoint.com, punto tutorial, disponibile qui.

Cortesia dell'immagine:

1. "Esempio di schema-stella" Di SqlPac (parlare) - (CC BY-SA 3.0) via Commons Wikimedia