Differenza tra chiave primaria e chiave unica

La chiave primaria e la chiave univoca sono entrambe chiavi univoche in un database relazionale che garantisce l'univocità dei valori su una colonna o un insieme di colonne. Esiste già un vincolo di chiave univoco predefinito all'interno di un vincolo di chiave primaria. Mentre una chiave primaria è particolarmente utilizzata per identificare ogni record nella tabella, una chiave univoca, d'altra parte, viene utilizzata per impedire le voci duplicate in una colonna con l'eccezione di una voce nulla. Tuttavia, entrambe le chiavi possono contenere più di una colonna da una data tabella e entrambe svolgono un ruolo cruciale nella memorizzazione e nel recupero dei dati. I dati sono una serie di tabelle con colonne e queste colonne memorizzano le informazioni di tutti i tipi che possono essere ulteriormente consultate o recuperate utilizzando le istruzioni. Questo è dove i tasti arrivano alla foto. Chiave primaria e chiave univoca sono due chiavi univoche che determinano il modo in cui i dati devono essere memorizzati nel sistema.

Chiave primaria

Una chiave primaria (anche detta parola chiave primaria) è una chiave univoca in un database relazionale che identifica ogni record in una tabella di database. È una sorta di identificatore univoco, come un numero di previdenza sociale, un numero di telefono, il numero di patente di guida o il numero di targa del veicolo. Un database deve avere solo una chiave primaria.

Una tabella in un database contiene una colonna o un set di colonne che contengono valori che identificano in modo univoco ciascuna riga della tabella. Questa colonna o un insieme di colonne è chiamata la chiave primaria della tabella che deve contenere valori univoci e non può contenere valori nulli. Senza una chiave primaria, il database relazionale non funzionerà.

Una chiave primaria viene creata definendo un vincolo PRIMARY KEY durante la creazione o la modifica di una tabella. Nello standard SQL, una chiave primaria può contenere una o più colonne, mentre ogni colonna è implicitamente definita come NOT NULL. Se si definisce un vincolo PRIMARY KEY su più di una colonna, può verificarsi una duplicazione dei valori all'interno di una colonna, ecco perché ciascuna combinazione di valori deve essere univoca per tutte le colonne.

Una chiave primaria ha le seguenti funzioni:

  • Ogni tabella deve avere una sola chiave primaria, non più di una.
  • Una chiave primaria non può contenere valori NULL.
  • Può essere costituito da una o più colonne.
  • Tutte le colonne devono essere definite come NOT NULL.
  • Una chiave primaria è un indice univoco in cluster per impostazione predefinita.

Chiave unica

Una chiave univoca è un insieme di una o più colonne / campi di una tabella che identificano univocamente un record in una tabella di database. Il vincolo UNIQUE KEY assicura che tutti i valori in una colonna siano univoci all'interno del database. Proprio come una chiave primaria, una chiave univoca può anche comprendere più di una colonna. Tuttavia, una chiave univoca può accettare solo un valore nullo. Non esistono due righe con gli stessi valori in una tabella di database.

Una chiave univoca è abbastanza simile a una chiave primaria e può essere definita durante la creazione della tabella. Quando una colonna o un insieme di colonne viene contrassegnato come univoco nel sistema di database relazionale, verifica l'integrità dei valori prima di assegnare il vincolo in modo da impedire a due record di avere valori identici in una particolare colonna.

UNIQUE è un vincolo su una colonna KEY non PRIMARY che caratterizza quanto segue:

  • Un vincolo UNIQUE KEY garantisce l'unicità dei valori.
  • Più chiavi univoche possono essere definite su un tavolo.
  • Una colonna può contenere un valore NULL, ma è consentito un solo valore NULL per colonna.
  • Una chiave univoca può creare un indice non cluster per impostazione predefinita.

Differenza tra chiave primaria e chiave unica

1. Funzione

Una chiave primaria è una sorta di identificatore di chiave univoco che identifica in modo univoco una riga all'interno di una tabella di database, mentre una chiave univoca identifica tutte le possibili righe esistenti in una tabella e non solo le righe attualmente esistenti.

2. Comportamento

Una chiave primaria viene utilizzata per identificare un record in una tabella di database, mentre una chiave univoca viene utilizzata per impedire i valori duplicati in una colonna con l'eccezione di una voce null.

3. Indicizzazione

Una chiave primaria crea un indice univoco cluster per impostazione predefinita mentre una chiave univoca è un indice univoco non cluster in una tabella di database per impostazione predefinita.

4. Valori nulli

Una chiave primaria non può accettare valori NULL in una tabella di database mentre una chiave univoca può accettare solo un valore NULL nella tabella.

5. Limite

Può esistere solo una chiave primaria su una tabella, tuttavia, possono esistere più chiavi univoche per una tabella in un sistema di database.

Chiave primaria contro chiave unica

Chiave primaria

Chiave unica

Una chiave primaria viene utilizzata per identificare in modo univoco un record / riga in una tabella di database. Una chiave univoca viene utilizzata per identificare in modo univoco tutte le righe possibili in una tabella e non solo le righe attualmente esistenti.
Non accetta valori NULL. Può accettare solo un valore NULL in una tabella.
È un indice cluster per impostazione predefinita, il che significa che i dati sono organizzati nella sequenza di indici cluster. È un indice univoco non cluster per impostazione predefinita.
Ci può essere solo una chiave primaria in una tabella. Una tabella può avere più chiavi univoche.
La chiave primaria viene definita utilizzando il vincolo PRIMARY KEY. La chiave univoca è rappresentata utilizzando un vincolo UNIQUE.
Utilizzato per identificare una riga in una tabella. Utilizzato per evitare valori duplicati in una colonna.
I valori delle chiavi primarie non possono essere modificati o cancellati. I valori chiave univoci possono essere modificati.

Sommario

  • Sia la chiave primaria che la chiave univoca sono vincoli di integrità dell'entità simili per molti aspetti. Tuttavia, hanno una buona dose di differenze quando si parla di programmazione. Entrambi sono concetti essenziali che vengono utilizzati principalmente nei sistemi di gestione dei database.
  • La chiave primaria è un insieme di una o più colonne / campi di una tabella di database che identificano univocamente un record in una tabella. La chiave univoca, d'altra parte, impedisce a due record di avere valori identici in una colonna.
  • Concettualmente, ci può essere solo un PRIMARY KEY per una data tabella, mentre ci può essere più di una UNIQUE KEY per una tabella.
  • Una chiave primaria deve essere unica ma una chiave univoca non deve necessariamente essere la chiave primaria.
  • Una chiave primaria non può accettare valori NULL in una tabella, mentre una chiave univoca può consentire valori NULL con un'eccezione di un solo NULL in una tabella.