Chiave primaria vs chiave esterna: differenza e confronto

Il sistema di gestione dei database (DBMS) è essenziale in aziende, banche, compagnie aeree, telecomunicazioni e università perché è un metodo efficiente e affidabile per creare, archiviare e gestire i dati del database. Relational Database Management System (RDBMS) è la forma avanzata di DMBS strutturata in particolare per i database relazionali.

Le chiavi sono componenti vitali dello schema del database relazionale perché stabiliscono un collegamento tra due tabelle diverse e identificano in modo univoco qualsiasi riga di dati all'interno di una tabella. Tuttavia, le chiavi hanno un'importanza più specifica rispetto al semplice mantenimento dei collegamenti.

Aiuta a raccogliere dati specifici da numerose righe, il che sarebbe stato complicato o addirittura impossibile se non fosse stato per le chiavi. Le due chiavi primarie che aiutano a stabilire e identificare i collegamenti tra i database relazionali in modo efficiente sono le chiavi primarie e le chiavi esterne.

Punti chiave

  1. Una chiave primaria è un identificatore univoco per ogni record in una tabella di database, assicurando che non ci siano due righe con lo stesso valore di chiave primaria.
  2. Una chiave esterna è un campo in una tabella che fa riferimento alla chiave primaria di un'altra tabella, stabilendo una relazione tra le due tabelle e mantenendo l'integrità referenziale.
  3. La principale differenza tra chiavi primarie e chiavi esterne è la loro funzione all'interno di un database, con le chiavi primarie che forniscono un identificatore univoco per i record. Al contrario, le chiavi esterne creano relazioni tra tabelle facendo riferimento a chiavi primarie in altre tabelle.

Chiave primaria vs chiave esterna

Una chiave primaria è una scelta di colonne che è univoca e determina l'insieme di righe su una particolare tabella, e anche un attributo che ha un ID che viene visto come una chiave candidata. La chiave esterna è a colonna in una tabella che funge da collegamento tra due tabelle diverse e contiene valori null.

Chiave primaria vs chiave esterna 2

Una tabella non può essere relazionale banca dati tabella senza la chiave primaria. Poiché le chiavi primarie identificano in modo univoco una specifica riga di dati, due o più righe non possono avere chiavi primarie simili. Al contrario, le chiavi esterne vengono utilizzate per stabilire una relazione tra i record di due tabelle diverse.

Leggi anche:  UCS 2 vs UTF 16: differenza e confronto

 

Tavola di comparazione

Parametro di confrontoChiave primariaChiave esterna
Valori duplicatiLe chiavi primarie non consentono a due righe di avere gli stessi valori.Le chiavi esterne consentono alle due righe di avere gli stessi valori.
InserimentoNelle chiavi primarie, si possono inserire valori anche se la chiave esterna non ha quel valore.Nelle chiavi esterne non è possibile inserire valori se i valori non sono presenti nella chiave primaria.
EscursioneOgni riga nella tabella del database relazionale può avere una sola chiave primaria.Una tabella di database relazionale può avere più chiavi esterne.
Indice raggruppatoLe chiavi primarie, per impostazione predefinita, hanno un indice cluster.Le chiavi esterne non hanno un indice cluster.
cancellazioneQuando un valore deve essere cancellato, si dovrebbe fare in modo che il valore non sia ancora presente nella tabella di riferimento delle chiavi esterne.Quando un valore deve essere cancellato, si può facilmente farlo da chiavi esterne.
Tabelle temporaneeLe chiavi primarie possono essere definite su una tabella temporanea.Le chiavi esterne non possono essere definite su una tabella temporanea.

 

Cos'è la chiave primaria?

Una chiave primaria si riferisce a una particolare scelta di colonne che determina in modo univoco l'insieme di righe in una tabella. Una chiave primaria è un singolo attributo che ha un ID univoco ed è anche considerata una chiave candidata.

Il valore di una chiave primaria non dovrebbe mai fluttuare o essere modificato perché la chiave primaria caratterizza l'importanza nel banca dati. Quindi alterare il valore comporterebbe molta confusione.

La chiave primaria è indicizzata in cluster, il che significa che tutte le righe della tabella sono ordinate. La chiave primaria è principalmente definita su una tabella temporanea.

chiave primaria
 

Cos'è la chiave esterna?

Una chiave esterna fa riferimento a una colonna in una tabella di database che fornisce un collegamento tra due tabelle. Quando la tabella 1 ha una chiave primaria della tabella 2, questo attributo è la chiave esterna.

A differenza delle chiavi primarie, le chiavi esterne possono contenere valori nulli in quanto non aiutano a identificare una differenza nella relazione perché le chiavi primarie hanno già svolto questa parte del lavoro. Le chiavi esterne possono anche accettare valori duplicati, a differenza della chiave primaria e possono avere molte o più chiavi esterne in un database, poiché le chiavi esterne possono avere attributi diversi.

Leggi anche:  Lessonly vs Bridge: differenza e confronto

Le chiavi esterne non possono essere definite su una tabella temporanea. Durante l'aggiunta di un valore nella colonna della chiave esterna, è necessario assicurarsi che l'accordo sia presente nella chiave primaria e che non vi siano vincoli durante l'eliminazione dei valori da una chiave esterna.

chiave esterna

Principali differenze tra chiave primaria e chiave esterna

  1. Chiavi primarie non consentire a due righe in una tabella di database di avere valori duplicati. Chiavi esterne consentire a due righe in una tabella di database di avere valori duplicati.
  2. Nell'attributo del chiavi primarie, i valori possono essere inseriti nella tabella anche se la chiave esterna non ha quel valore nella sua colonna. Nel chiavi esterne attributo, gli sconti non possono essere inseriti nella tabella se i valori non sono nel database delle chiavi primarie.
  3. A chiave primaria L'attributo può avere un solo intervallo di chiavi primarie nella sua tabella. UN chiave esterna L'attributo può avere molte chiavi esterne nella sua tabella.
  4. Chiavi primarie hanno un indice cluster, il che significa che tutte le righe nella relazione del database sono ordinate. Chiavi esterne non hanno un indice cluster automatico ma possono essere eseguiti manualmente.
  5. Sotto chiavi primarie, un valore può essere eliminato dalla tabella di riferimento assicurandosi che l'offerta non sia presente nella tabella di riferimento della chiave esterna. Sotto chiavi esterne, i valori possono essere cancellati senza problemi poiché non importa se il valore è ancora attuale nella tabella di riferimento delle chiavi primarie.
  6. Chiavi primarie può essere determinato su una tabella temporanea. Chiavi esterne non può essere determinato o applicato su una tabella temporanea.

Riferimenti
  1. https://dl.acm.org/doi/abs/10.14778/1920841.1920944?casa_token=HgKaHPnYA9oAAAAA:_NYpWs4jzN-BI4lT9bWA73EPTvOBtYxJzXB7RpKVXGvZRc0htXpsv742IQMGSsjiuA1f_E_80IN18O0
  2. https://ieeexplore.ieee.org/abstract/document/994756/

Ultimo aggiornamento: 11 giugno 2023

punto 1
Una richiesta?

Ho messo così tanto impegno scrivendo questo post sul blog per fornirti valore. Sarà molto utile per me, se pensi di condividerlo sui social media o con i tuoi amici/familiari. LA CONDIVISIONE È ♥️

10 pensieri su "Chiave primaria vs chiave esterna: differenza e confronto"

  1. Particolarmente utile è la tabella comparativa. Fornisce un riepilogo chiaro e conciso delle caratteristiche contrastanti delle chiavi primarie e delle chiavi esterne.

    Rispondi
  2. In questo articolo manca una spiegazione approfondita delle chiavi primarie ed esterne. Non riesce a risolvere alcune operazioni avanzate di query del database che coinvolgono queste chiavi.

    Rispondi
  3. Vedo che l'articolo fa bene a stabilire che le chiavi primarie garantiscono l'unicità in una tabella di database non consentendo valori duplicati.

    Rispondi
  4. L'autore potrebbe approfondire un'analisi più approfondita delle applicazioni specifiche delle chiavi primarie ed esterne in vari contesti industriali.

    Rispondi
  5. Non sono d'accordo. Una tabella di database può essere una tabella di database relazionale senza chiave primaria. È considerata una cattiva pratica, ma non impossibile.

    Rispondi
  6. L'autore fa un pessimo lavoro nel comprendere il ruolo delle chiavi primarie. Il fatto che i loro valori non debbano essere cambiati è completamente sbagliato. Possono essere aggiornati quando necessario.

    Rispondi
  7. Questo articolo spiega bene l'importanza della chiave primaria e della chiave esterna in un DBMS. Questi sono componenti indispensabili dell'architettura del database che garantiscono l'affidabilità dei dati.

    Rispondi
  8. L'autore fa un ottimo lavoro nell'evidenziare le differenze tra chiavi primarie e chiavi esterne e il loro significato all'interno di un database. Molto informativo.

    Rispondi
  9. I sistemi di gestione dei database sono la linfa vitale delle organizzazioni. Aiutano a organizzare e fornire dati cruciali in modo efficiente e affidabile.

    Rispondi

Lascia un tuo commento

Vuoi salvare questo articolo per dopo? Fai clic sul cuore nell'angolo in basso a destra per salvare nella casella dei tuoi articoli!