Differenza tra chiave primaria e chiave univoca
Tasto primario contro chiave univoco
Una colonna o un insieme di colonne che possono essere utilizzati per identificare o accedere a una riga o ad un insieme di righe in un database è chiamato chiave. Una chiave unica è una chiave che può identificare in modo univoco una riga in una tabella nel contesto di database relazionali. Una chiave unica è costituita 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 unica.
Che cosa è la chiave unica?
Come accennato in precedenza, la chiave univoca è una singola colonna o un insieme di colonne che possono identificare in modo univoco una riga in una tabella. Quindi, una chiave unica è costretta in modo tale che i suoi due valori non siano uguali. Una proprietà importante è che le chiavi uniche non applicano il vincolo NOT NULL. Poiché NULL rappresenta la mancanza di un valore, se due righe hanno NULL in una colonna allora non significa che i valori sono uguali. La colonna definita come chiave unica consente solo un singolo valore NULL in quella colonna. Quindi ciò può essere utilizzato per identificare in modo particolare quella particolare riga. Ad esempio, in una tabella che contiene le informazioni sugli studenti, l'ID studente può essere definito come un codice univoco. Poiché nessun due studenti 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. A seconda della progettazione di un database, una tabella può contenere più chiavi univoche.
Che cosa è la chiave primaria?
La chiave primaria è anche una colonna o una combinazione di colonne che definiscono 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 implicito NOT NULL. Quindi, una colonna definita come chiave primaria non può avere i valori NULL in esso. La chiave primaria può essere un attributo normale nella tabella che è garantita per essere univoco come il numero di sicurezza sociale o potrebbe essere un valore univoco generato dal sistema di gestione del database, ad esempio un GUID in Microsoft SQL Server. Le chiavi primarie sono definite tramite il vincolo PRIMARY KEY in ANSI SQL Standard. È anche possibile definire la chiave primaria quando si crea la tabella. SQL consente alla chiave primaria di essere costituita da una o più colonne e ogni colonna inclusa nella chiave primaria è implicitamente definita per NON NULL. Ma alcuni sistemi di gestione dei database richiedono che le colonne chiave primarie non siano espressamente NULL.
-3 ->Differenza tra chiave primaria e chiave unica
Anche se sia la chiave primaria che la chiave unica sono una o più colonne che possono identificare in modo univoco una riga in una tabella, esse presentano alcune importanti differenze. Soprattutto, una tabella può avere solo una sola chiave primaria, mentre può avere più di una chiave univoca.La chiave primaria può essere considerata come un caso speciale della chiave univoca. Un'altra differenza è che le chiavi primarie hanno un vincolo implicito NON NULL mentre la chiave univoca non dispone di tale vincolo. Pertanto, le colonne chiave univoche possono o non possono contenere valori NULL ma le colonne chiave primarie non possono contenere valori NULL.