Differenza tra chiave primaria e chiave univoca
Differenza chiave tra chiave primaria e chiave univoca
- In una tabella può essere presente una chiave primaria, mentre nella tabella possono essere presenti più chiavi univoche.
- Lo scopo della chiave primaria è garantire l'integrità dell'entità; d'altra parte, lo scopo della chiave univoca è imporre dati univoci.
- Nelle chiavi primarie, l'indice predefinito è clusterizzato, mentre nelle chiavi univoche, l'indice predefinito non è clusterizzato
- La chiave primaria non consente colonne nulle, mentre la chiave univoca consente colonne nulle.
- Nella chiave primaria non sono consentite chiavi duplicate, mentre in una chiave univoca, se una o più parti della chiave sono nulle, sono consentite chiavi duplicate.

Qui ho analizzato la differenza tra la chiave primaria e la chiave univoca e ne valuterò in modo completo i pro e i contro.
Cos'è la chiave primaria?
Un vincolo di chiave primaria è una colonna o un gruppo di colonne in una tabella che identifica in modo univoco ogni riga della tabella. La chiave primaria non può essere un duplicato, ovvero lo stesso valore non può apparire più di una volta nella tabella.
Una tabella può avere solo una chiave primaria. Chiave primaria può essere definito a livello di colonna o tabella. Se crei una chiave primaria composita, dovrebbe essere definita a livello di tabella.
Esempio di creazione di una chiave primaria
L'esempio seguente descrive che c'è una tabella chiamata student. Contiene cinque attributi: 1) StudID, 2) Roll No., 3) First Name, 4) Last Name, e 5) Email.
L'attributo Roll No non può mai contenere un valore duplicato o nullo. Questo perché ogni studente iscritto ad un'università può avere un numero di matricola univoco. Puoi facilmente identificare ogni riga di una tabella con il numero di matricola dello studente. Quindi, è considerata una chiave primaria.

Caratteristiche della chiave primaria
Sulla base delle mie osservazioni, ecco le caratteristiche importanti di una chiave primaria:
- La chiave primaria implementa l'integrità dell'entità della tabella.
- Puoi mantenere solo un primario nella tabella.
- La chiave primaria contiene una o più colonne della tabella.
- Le colonne sono definite come non nulle.
Perché utilizzare la chiave primaria?
Riflettendo sulla mia conoscenza pratica, ecco i motivi importanti per utilizzare una chiave primaria:
- Lo scopo principale della chiave primaria è identificare ogni singolo record nella tabella del database.
- Puoi utilizzare una chiave primaria quando non consenti a qualcuno di immettere valori null.
- Se elimini o aggiorni un record, verrà intrapresa l'azione specificata per garantire l'integrità dei dati del database.
- Eseguire un'operazione di restrizione per rifiutare l'operazione di eliminazione o aggiornamento per la tabella padre.
- Ogni volta che si organizza fisicamente una tabella DBMS, i dati vengono organizzati nella sequenza di indici cluster.
Cos'è la chiave univoca?
Una chiave univoca è un gruppo di uno o più campi o colonne in una tabella che identificano in modo univoco un record del database.
Una chiave univoca è uguale a una chiave primaria, ma può accettare un valore null per una colonna di tabella. Inoltre non può contenere valori identici. Ai vincoli univoci fa riferimento la chiave esterna di altre tabelle.
Esempio di creazione di una chiave univoca
Consideriamo la stessa tabella studenti con i seguenti attributi: 1) StudID, 2) Matricola, 3) Nome, 4) Cognome e 5) Email.
L'ID studente può avere un vincolo univoco in cui le voci nella colonna ID studente possono essere univoche perché ogni studente di un'università deve avere un numero ID univoco. Se uno studente cambia università, non avrà alcuna tessera studentesca. La voce può avere un valore nullo, poiché è consentito un solo valore nullo nel vincolo di chiave univoca.

Caratteristiche della chiave unica
Qui, descriverò le caratteristiche importanti di una chiave univoca:
- È possibile definire più di una chiave univoca nella tabella.
- Per impostazione predefinita, le chiavi univoche si trovano in indici univoci non cluster.
- È costituito da una o più colonne della tabella.
- La colonna della tabella può essere nulla, ma è preferibile solo un valore nullo per colonna.
- È possibile fare facilmente riferimento a un vincolo univoco tramite un vincolo di chiave esterna.
Perché utilizzare la chiave univoca?
Ecco i motivi importanti per cui consiglio di utilizzare una chiave univoca:
- Lo scopo di una chiave univoca è garantire che le informazioni nella colonna per ciascun record di tabella siano univoche.
- Quando si consente all'utente di inserire il valore null.
- Chiave unica viene utilizzato perché crea un indice non clusterizzato per impostazione predefinita.
- La chiave univoca può essere utilizzata quando è necessario mantenere valori nulli nella colonna.
- Quando uno o più campi/colonne di una tabella identificano in modo univoco un record in una tabella di database.
Differenze tra chiave primaria e chiave univoca
Nella mia analisi, ecco le principali differenze tra una chiave primaria e una chiave univoca:

Base di confronto | Chiave primaria | Chiave unica |
---|---|---|
Numero di chiavi | Può esserci una chiave primaria in una tabella | Nella tabella possono essere presenti più chiavi univoche |
NULL | Non consente colonne nulle. | Consente colonne nulle. |
Indice | L'indice predefinito è raggruppato | L'indice predefinito non è in cluster |
Scopo | Lo scopo della chiave primaria è garantire l'integrità dell'entità. | Lo scopo di una chiave univoca è applicare dati univoci. |
Usa il | È un vincolo SQL che consente di identificare in modo univoco ogni record o riga nella tabella del database. | È un vincolo SQL che non consente di assegnare lo stesso valore a due record isolati in una tabella di database. |
Modifica del valore | Nella chiave primaria non sono consentite chiavi duplicate. | In una chiave univoca, se una o più parti della chiave sono nulle, sono consentite chiavi duplicate. |
Sintassi |
La chiave primaria può essere creata utilizzando la sintassi: CREATE TABLE Employee ( ID int PRIMARY KEY, Name varchar(255), City varchar(150) ) |
La chiave univoca può essere creata utilizzando la sintassi: CREATE TABLE Employee ( ID int UNIQUE. Name varchar(255) NOT NULL. City varchar(150) ) |
Puoi anche esplorare: Differenza tra chiave primaria e chiave esterna
Come scegliere tra una chiave primaria e una chiave univoca
- Le chiavi univoche sono migliori quando abbiamo colonne che sappiamo non dovrebbero contenere duplicazioni.
- La chiave primaria è ideale quando non è possibile mantenere null nella tabella. Può essere utilizzato anche quando è presente una chiave esterna in un'altra tabella per creare una relazione.