Differenza tra chiave primaria e chiave univoca in un database

Differenza tra chiave primaria e chiave univoca in un database

Una colonna o un insieme di colonne, che possono essere utilizzati per identificare o accedere a una riga o un insieme di righe in un database, è chiamata chiave. Una chiave univoca è una chiave che può identificare in modo univoco una riga in una tabella nel contesto dei database relazionali. Una chiave univoca è composta da una singola colonna o da un insieme di colonne. Una chiave primaria è anche una combinazione di colonne in una tabella che identificano in modo univoco una riga ma è considerato un caso speciale della chiave univoca.

Chiave primaria

La chiave primaria (in inglese Primary key) è anche una colonna o una combinazione di colonne che definisce in modo univoco una riga in una tabella di un database relazionale. Una tabella può avere al massimo una chiave primaria. La chiave primaria applica il vincolo NOT NULL implicito. Pertanto, una colonna definita come chiave primaria non può contenere valori NULL. La chiave primaria può essere un normale attributo nella tabella che è garantito essere univoco come il numero di previdenza sociale o potrebbe essere un valore univoco generato dal sistema di gestione del database come un identificatore univoco globale (GUID) in Microsoft SQL Server. Le chiavi primarie vengono definite tramite il vincolo PRIMARY KEY in ANSI SQL Standard. La chiave primaria può anche essere definita durante la creazione della tabella. SQL consente che la chiave primaria sia composta da una o più colonne e ogni colonna inclusa nella chiave primaria è definita implicitamente come NOT NULL.

Chiave univoca

La chiave univoca (in inglese Unique key) è una singola colonna o un insieme di colonne che può identificare in modo univoco una riga in una tabella. Quindi, una chiave univoca è vincolata in modo tale che non ci siano due valori uguali. Una proprietà importante è che le chiavi univoche non applicano il vincolo NOT NULL. Poiché NULL rappresenta la mancanza di un valore, se due righe hanno NULL in una colonna, non significa che i valori siano uguali. La colonna definita come chiave univoca consente solo un singolo valore NULL in quella colonna. Quindi può essere utilizzato per identificare quella particolare riga in modo univoco. Ad esempio, in una tabella che contiene informazioni sullo studente, l’ID studente può essere definito come una chiave univoca. Poiché due studenti non possono avere lo stesso ID, identifica in modo univoco un singolo studente. Quindi la colonna ID studente soddisfa tutte le proprietà di una chiave univoca. Infine, a seconda della progettazione di un database, una tabella può avere più di una chiave univoca.

Differenza tra chiave primaria e chiave univoca in un database

Differenza tra chiave primaria e chiave univoca

Infine, bisogna dire che sia la chiave primaria che la chiave univoca sono una o più colonne che possono identificare in modo univoco una riga in una tabella. Una prima differenza è data da fatto che, una tabella può avere solo una singola chiave primaria mentre può avere più di una chiave univoca. La chiave primaria può essere considerata un caso speciale della chiave univoca. Un’altra differenza è che le chiavi primarie hanno un vincolo NOT NULL implicito mentre la chiave univoca non ha quel vincolo. Pertanto, le colonne chiave univoche possono o non possono contenere valori NULL ma le colonne chiave primaria non possono contenere valori NULL.

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 *