Differenza tra chiave primaria e chiave candidata nei database

Differenza tra chiave primaria e chiave candidata nei database

Sebbene la chiave primaria sia selezionata dalle chiavi candidate, esistono alcune differenze tra la chiave primaria e le altre chiavi candidate, che verranno discusse in dettaglio in questo articolo. La progettazione del database è una delle attività più importanti da svolgere durante la manutenzione e l’archiviazione dei dati. Durante questo processo di progettazione, è necessario creare tabelle diverse con molte relazioni. Per accedere a queste tabelle in un database, vengono utilizzati diversi tipi di chiavi nei moderni linguaggi di progettazione di database come MYSQL, MSAccess, SQLite, ecc. Da queste chiavi, le chiavi candidate e le chiavi primarie sono diventate essenziali nelle pratiche di progettazione di database.

Chiave candidata

La chiave candidata (in inglese Candidate Key) è una singola colonna o un insieme di colonne in una tabella di un database che può essere utilizzata per identificare in modo univoco qualsiasi record di database senza fare riferimento ad altri dati. Ogni tabella di un database può avere una o più chiavi candidate. È possibile creare una serie di chiavi candidate utilizzando le dipendenze funzionali. Ci sono alcune caratteristiche importanti in una chiave candidata:

  1. le chiavi candidate devono essere univoche all’interno del dominio e non devono contenere alcun valore NULL.
  2. la chiave candidata non dovrebbe mai cambiare e deve contenere lo stesso valore per una specifica occorrenza di un’entità.

Lo scopo principale di una chiave candidata è aiutare a identificare una singola riga su milioni di righe in una grande tabella. Ogni chiave candidata è qualificata per diventare una chiave primaria. Tuttavia, tra tutte le chiavi candidate, la chiave candidata più importante e speciale diventerà la chiave primaria di una tabella ed è la migliore tra le chiavi candidate.

Chiave primaria

Una chiave primaria (in inglese Primary Key) è la migliore chiave candidata di una tabella utilizzata per identificare in modo univoco i record archiviati in una tabella. Quando si crea una nuova tabella in un database, ci viene chiesto di selezionare una chiave primaria. Pertanto, la selezione di una chiave primaria per una tabella è la decisione più critica che dovrebbe essere presa da un progettista di database. Il vincolo più importante, che dovrebbe essere considerato quando si decide una chiave primaria, è che la colonna selezionata della tabella deve contenere solo valori univoci e non deve contenere alcun valore NULL. Alcune delle chiavi primarie comunemente utilizzate durante la progettazione delle tabelle sono il numero di previdenza sociale (SSN), l’ID e il numero di carta d’identità nazionale (NIC).

Il programmatore o l’amministratore del database dovrebbe ricordarsi di scegliere con attenzione una chiave primaria perché è difficile da cambiare. Pertanto, secondo i programmatori, la migliore pratica per creare una chiave primaria consiste nell’utilizzare una chiave primaria generata internamente come l’ID record creato dal tipo di dati AutoNumber di MS Access. Se proviamo a inserire un record in una tabella con una chiave primaria che duplica un record esistente, l’inserimento fallirà. Il valore della chiave primaria non dovrebbe continuare a cambiare, quindi è più importante mantenere una chiave primaria statica.

Differenza tra chiave primaria e chiave candidata nei database

Chiave primaria e chiave candidata

Vediamo ora la differenza principale tra chiave primaria e chiave candidata nei database.

La chiave candidata e la chiave primaria sono chiavi essenziali che vengono utilizzate nella progettazione di database per identificare in modo univoco i dati in un record e creare relazioni tra le tabelle di un database. Una tabella deve contenere solo una chiave primaria e può contenere più di una chiave candidata. Oggi, la maggior parte dei database è in grado di generare automaticamente la propria chiave primaria. Pertanto, la chiave primaria e le chiavi candidate forniscono un supporto numeroso ai sistemi di gestione del database.

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 *