Chiave primaria vs chiave univoca: qual è la differenza?

Sommario:

Anonim

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 di quella tabella. La chiave primaria non può essere un duplicato, il che significa che lo stesso valore non può apparire più di una volta nella tabella.

Una tabella dovrebbe avere più di una chiave primaria. La chiave primaria può essere definita a livello di colonna o di tabella. Se crei una chiave primaria composta, dovrebbe essere definita a livello di tabella.

In questo tutorial imparerai:

  • Cos'è la chiave primaria?
  • Cos'è la chiave univoca?
  • Perché utilizzare la chiave primaria?
  • Perché utilizzare la chiave unica?
  • Caratteristiche della chiave primaria
  • Caratteristiche della chiave unica
  • Esempio di creazione della chiave primaria
  • Esempio di creazione di una chiave univoca
  • Differenza tra chiave primaria e chiave univoca
  • Cos'è meglio?

Cos'è la chiave univoca?

Una chiave univoca è un gruppo di uno o più campi o colonne di una tabella che identificano in modo univoco il 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. I vincoli univoci sono referenziati dalla chiave esterna di altre tabelle.

PRINCIPALI DIFFERENZE

  • Può esserci una chiave primaria in una tabella mentre possono esserci più chiavi univoche nella tabella.
  • Lo scopo della chiave primaria è rafforzare l'integrità dell'entità, mentre lo scopo della chiave univoca è applicare dati univoci.
  • Nella chiave primaria, l'indice predefinito è raggruppato mentre nella chiave univoca, l'indice predefinito non è raggruppato
  • La chiave primaria non consente colonne nulle mentre univoco consente colonne nulle.
  • Nella chiave primaria, le chiavi duplicate non sono consentite mentre si trova in una chiave univoca, se una o più parti di chiave sono nulle, sono consentite chiavi duplicate.

Perché utilizzare la chiave primaria?

Ecco i motivi importanti per utilizzare la chiave primaria:

  • Lo scopo principale della chiave primaria è identificare ogni record nella tabella del database.
  • È possibile utilizzare una chiave primaria quando non si consente a qualcuno di immettere valori nulli.
  • Se elimini o aggiorni un record, verrà eseguita l'azione specificata per garantire l'integrità dei dati del database.
  • Esegui l'operazione di limitazione per rifiutare l'operazione di eliminazione o aggiornamento per la tabella padre.
  • I dati sono organizzati in sequenza di indice cluster ogni volta che si organizza fisicamente la tabella DBMS.

Perché utilizzare la chiave unica?

Ecco i motivi importanti per utilizzare la chiave univoca:

  • Lo scopo di una chiave univoca è assicurarsi che le informazioni nella colonna per ogni record di tabella siano univoche.
  • Quando si consente all'utente di immettere il valore null.
  • La chiave univoca viene utilizzata perché crea un indice non cluster per impostazione predefinita.
  • La chiave univoca può essere utilizzata quando è necessario mantenere valori null nella colonna.
  • Quando uno o più campi / colonne di una tabella che identificano in modo univoco un record in una tabella di database.

Caratteristiche della chiave primaria

Ecco le caratteristiche importanti della chiave primaria:

  • La chiave primaria implementa l'integrità dell'entità della tabella.
  • Puoi mantenere solo una primaria nella tabella.
  • La chiave primaria contiene una o più colonne della tabella.
  • Le colonne sono definite come non nulle.

Caratteristiche della chiave unica

Ecco le caratteristiche importanti della chiave univoca:

  • È possibile definire più di una chiave univoca nella tabella.
  • Per impostazione predefinita, le chiavi univoche si trovano in indici univoci non cluster.
  • Costituisce una o più colonne della tabella.
  • La colonna della tabella può essere nulla, ma è preferibile solo uno null per colonna.
  • Un vincolo univoco può essere facilmente referenziato da un vincolo di chiave esterna.

Esempio di creazione della chiave primaria

Il seguente esempio descrive che esiste 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. È perché ogni studente iscritto a un'università può avere un numero di registro univoco. Puoi facilmente identificare ogni riga di una tabella con il numero di rotolo dello studente. Quindi è considerata una chiave primaria.

Esempio di chiave primaria

Esempio di creazione di una chiave univoca

Considera la stessa tabella studente con attributi, 1) StudID, 2) Roll No, 3) First Name, 4) Last Name e 5) Email.

Stud ID può avere un vincolo univoco in cui le voci nella colonna Stud ID possono essere univoche perché ogni studente di un'università deve avere un numero ID univoco. Nel caso in cui lo studente stia cambiando università, in quel caso non avrebbe alcun documento di identità. La voce può avere un valore null poiché è consentito un solo valore null nel vincolo di chiave univoco.

Unico esempio chiave

Differenza tra chiave primaria e chiave univoca

Ecco le importanti differenze tra chiave primaria e chiave univoca:

Chiave primaria Chiave unica
Può esserci una chiave primaria in una tabella Possono esserci più chiavi univoche nella tabella
Non consente colonne nulle. Consente colonne nulle.
L'indice predefinito è raggruppato L'indice predefinito non è clusterizzato
Lo scopo della chiave primaria è rafforzare l'integrità dell'entità. Lo scopo della chiave univoca è applicare dati univoci.
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))
È 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 isolatedRecords in una tabella di database.
Nella chiave primaria non sono consentite chiavi duplicate. In una chiave univoca, se una o più parti chiave sono nulle, sono consentite chiavi duplicate.

Cos'è meglio?

  • La chiave univoca è migliore quando hai colonne che sai non dovrebbero contenere duplicazioni. Questo diventa un buon modo per assicurarsi la convalida dei dati.
  • La chiave primaria è ideale quando non è possibile mantenere null nella tabella. Può essere utilizzato anche quando si dispone di una chiave esterna in un'altra tabella per creare una relazione.