Chiavi DBMS: tipi di chiave candidata, super, primaria, esterna con esempio

Cosa sono le chiavi nel DBMS?

CHIAVI nel DBMS è un attributo o un insieme di attributi che ti aiuta a identificare una riga (tupla) in una relazione (tabella). Permettono di trovare la relazione tra due tabelle. Le chiavi ti aiutano a identificare in modo univoco una riga in una tabella tramite una combinazione di una o più colonne in quella tabella. La chiave è utile anche per trovare record o righe univoci dalla tabella. La chiave del database è utile anche per trovare record o righe univoci dalla tabella.

Esempio:

ID Dipendente Nome Cognome
11 Andrea Johnson
22 Tom Legno
33 alex Sano

Nell'esempio sopra riportato, l'ID dipendente è una chiave primaria perché identifica in modo univoco il record di un dipendente. In questa tabella nessun altro dipendente può avere lo stesso ID dipendente.

Perché abbiamo bisogno di una chiave?

Ecco alcuni motivi per utilizzare la chiave SQL nel sistema DBMS.

  • Le chiavi ti aiutano a identificare qualsiasi riga di dati in una tabella. In un'applicazione reale, una tabella potrebbe contenere migliaia di record. Inoltre, i record potrebbero essere duplicati. Le chiavi in ​​RDBMS garantiscono la possibilità di identificare in modo univoco un record di tabella nonostante queste sfide.
  • Consente di stabilire una relazione e identificare la relazione tra tabelle
  • Aiutarti a rafforzare l’identità e l’integrità nella relazione.

Tipi di chiavi nel DBMS (sistema di gestione del database)

Esistono principalmente otto diversi tipi di chiavi nel DBMS e ciascuna chiave ha funzionalità diverse:

  1. Super Key
  2. Chiave primaria
  3. Chiave del candidato
  4. Chiave alternativa
  5. chiave esterna
  6. Chiave composta
  7. Chiave composita
  8. Chiave surrogata

Diamo un'occhiata a ciascuna delle chiavi nel DBMS con l'esempio:

  • Super chiave – Una super chiave è un gruppo di chiavi singole o multiple che identifica le righe in una tabella.
  • Chiave primaria - è una colonna o un gruppo di colonne in una tabella che identifica in modo univoco ogni riga della tabella.
  • Chiave del candidato – è un insieme di attributi che identificano in modo univoco le tuple in una tabella. La chiave candidata è una super chiave senza attributi ripetuti.
  • Chiave alternativa – è una colonna o un gruppo di colonne in una tabella che identifica in modo univoco ogni riga della tabella.
  • Chiave esterna – è una colonna che crea una relazione tra due tabelle. Lo scopo delle chiavi esterne è mantenere l'integrità dei dati e consentire la navigazione tra due diverse istanze di un'entità.
  • Chiave composta – ha due o più attributi che consentono di riconoscere in modo univoco un record specifico. È possibile che ciascuna colonna non sia univoca di per sé all'interno del database.
  • Chiave composita – è una combinazione di due o più colonne che identificano in modo univoco le righe in una tabella. La combinazione di colonne garantisce l'unicità, sebbene l'unicità individuale non sia garantita.
  • Chiave surrogata – Una chiave artificiale che mira a identificare in modo univoco ciascun record è chiamata chiave surrogata. Questo tipo di chiave è unica perché viene creata quando non si dispone di alcuna chiave primaria naturale.

Cos'è la Superchiave?

Una superchiave è un gruppo di chiavi singole o multiple che identifica le righe in una tabella. Una chiave Super può avere attributi aggiuntivi non necessari per l'identificazione univoca.

Esempio:

EmpSSN NumEmp Nome personale
9812345098 AB05 indicato
9876512345 AB06 Roslyn
199937890 AB07 James

Nell'esempio sopra riportato, il nome EmpSSN e EmpNum sono superchiavi.

Cos'è una chiave primaria?

CHIAVE PRIMARIA in DBMS è 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 non può avere più di una chiave primaria.

Regole per definire la chiave primaria:

  • Due righe non possono avere lo stesso valore di chiave primaria
  • È necessario che ogni riga abbia un valore di chiave primaria.
  • Il campo della chiave primaria non può essere nullo.
  • Il valore in una colonna di chiave primaria non può mai essere modificato o aggiornato se una chiave esterna fa riferimento a quella chiave primaria.

Esempio:

Nel seguente esempio, StudID è una chiave primaria.

StudID N. rotolo Nome Cognome E-mail
1 11 Tom Prezzo abc@gmail.com
2 12 Nick Wright xyz@gmail.com
3 13 Dana Nathan mno@yahoo.com

Qual è la chiave alternativa?

CHIAVI ALTERNATIVE è una colonna o un gruppo di colonne in una tabella che identifica in modo univoco ogni riga della tabella. Una tabella può avere più scelte per una chiave primaria, ma solo una può essere impostata come chiave primaria. Tutte le chiavi che non sono chiavi primarie sono chiamate chiavi alternative.

Esempio:

In questa tabella, StudID, Roll No, Email sono qualificati per diventare una chiave primaria. Ma poiché StudID è la chiave primaria, Roll No, Email diventa la chiave alternativa.

StudID N. rotolo Nome Cognome E-mail
1 11 Tom Prezzo abc@gmail.com
2 12 Nick Wright xyz@gmail.com
3 13 Dana Nathan mno@yahoo.com

Cos'è una chiave candidata?

CHIAVE DEL CANDIDATO in SQL è un insieme di attributi che identificano in modo univoco le tuple in una tabella. La chiave candidata è una super chiave senza attributi ripetuti. La chiave primaria deve essere selezionata tra le chiavi candidate. Ogni tabella deve avere almeno una singola chiave candidata. Una tabella può avere più chiavi candidate ma solo una singola chiave primaria.

Proprietà della chiave candidata:

  • Deve contenere valori univoci
  • La chiave candidata in SQL può avere più attributi
  • Non deve contenere valori nulli
  • Dovrebbe contenere campi minimi per garantire l'unicità
  • Identificare in modo univoco ogni record in una tabella

Esempio di chiave candidata: nella tabella indicata, ID studente, numero di matricola ed e-mail sono chiavi candidate che ci aiutano a identificare in modo univoco il record dello studente nella tabella.

StudID N. rotolo Nome Cognome E-mail
1 11 Tom Prezzo abc@gmail.com
2 12 Nick Wright xyz@gmail.com
3 13 Dana Nathan mno@yahoo.com

Chiave del candidato
Chiave del candidato nel DBMS

Qual è la chiave esterna?

CHIAVE ESTERA è una colonna che crea una relazione tra due tabelle. Lo scopo delle chiavi esterne è mantenere l'integrità dei dati e consentire la navigazione tra due diverse istanze di un'entità. Funziona come un riferimento incrociato tra due tabelle poiché fa riferimento alla chiave primaria di un'altra tabella.

Esempio:

CodiceDip NomeDip
001 Scienze
002 English
005 computer
ID insegnante Fnome Lnome
B002 David Ammonitore
B017 Sara Joseph
B009 Mike brunton

In questa chiave nell'esempio di DBMS, abbiamo due tabelle, insegnamento e dipartimento in una scuola. Tuttavia, non è possibile vedere quale ricerca funziona in quale dipartimento.

In questa tabella, aggiungendo la chiave esterna in Deptcode al nome del Docente, possiamo creare una relazione tra le due tabelle.

ID insegnante CodiceDip Fnome Lnome
B002 002 David Ammonitore
B017 002 Sara Joseph
B009 001 Mike brunton

Questo concetto è noto anche come Referenziale Integrity.

Cos'è la chiave composta?

CHIAVE COMPOSTA ha due o più attributi che consentono di riconoscere in modo univoco un record specifico. È possibile che ciascuna colonna non sia univoca di per sé all'interno del database. Tuttavia, se combinate con l'altra colonna o colonne, la combinazione di chiavi composte diventa univoca. Lo scopo della chiave composta nel database è identificare in modo univoco ciascun record nella tabella.

Esempio:

Numero d'ordine ID prodotto Ürün Adı Quantità
B005 GIAPPONE102459 Topo 5
B005 DKT321573 USB 10
B005 OMG446789 Monitor LCD 20
B004 DKT321573 USB 15
B002 OMG446789 Stampante laser 3

In questo esempio OrderNo e ProductID non possono essere una chiave primaria poiché non identificano un record in modo univoco. Tuttavia, è possibile utilizzare una chiave composta da ID ordine e ID prodotto poiché identifica in modo univoco ciascun record.

Cos'è la chiave composita?

CHIAVE COMPOSITA è una combinazione di due o più colonne che identificano in modo univoco le righe in una tabella. La combinazione di colonne garantisce l'unicità, sebbene l'unicità individuale non sia garantita. Pertanto, vengono combinati per identificare in modo univoco i record in una tabella.

La differenza tra chiave composta e chiave composta è che qualsiasi parte della chiave composta può essere una chiave esterna, ma la chiave composta può o meno far parte della chiave esterna.

Cos'è una chiave surrogata?

CHIAVI SURROGATE is Una chiave artificiale che mira a identificare in modo univoco ciascun record è chiamata chiave surrogata. Questo tipo di chiave parziale in dbms è unica perché viene creata quando non si dispone di alcuna chiave primaria naturale. Non danno alcun significato ai dati della tabella. La chiave surrogata nel DBMS è solitamente un numero intero. Una chiave surrogata è un valore generato subito prima che il record venga inserito in una tabella.

Fnome Cognome Ora di inizio Fine
Anne fabbro 09:00 18:00
Giacca Francis 08:00 17:00
Anna McLean 11:00 20:00
indicato Guglielmo 14:00 23:00

Sopra, nell'esempio, sono mostrati gli orari dei turni dei diversi dipendenti. In questo esempio, è necessaria una chiave surrogata per identificare in modo univoco ciascun dipendente.

Chiavi surrogate sql sono ammessi quando

  • Nessuna proprietà ha il parametro della chiave primaria.
  • Nella tabella quando la chiave primaria è troppo grande o complicata.

Differenza tra chiave primaria e chiave esterna

Di seguito è riportata la differenza principale tra chiave primaria e chiave esterna:

Chiave primaria chiave esterna
Ti aiuta a identificare in modo univoco un record nella tabella. È un campo nella tabella che costituisce la chiave primaria di un'altra tabella.
La chiave primaria non accetta mai valori null. Una chiave esterna può accettare più valori null.
La chiave primaria è un indice cluster e i dati nella tabella DBMS sono organizzati fisicamente nella sequenza dell'indice cluster. Una chiave esterna non può creare automaticamente un indice, in cluster o non in cluster. Tuttavia, puoi creare manualmente un indice sulla chiave esterna.
Puoi avere la singola chiave primaria in una tabella. Puoi avere più chiavi esterne in una tabella.

Sintesi

  • Cos'è la chiave in DBMS: Una chiave in DBMS è un attributo o un insieme di attributi che ti aiuta a identificare una riga (tupla) in una relazione (tabella)
  • Chiavi RDBMS consentono di stabilire una relazione e identificare la relazione tra tabelle
  • Otto tipi di chiave nel DBMS sono Super, Primaria, Candidata, Alternativa, Estera, Composta, Composita e Chiave surrogata.
  • Una super chiave è un gruppo di chiavi singole o multiple che identifica le righe in una tabella.
  • Una colonna o un gruppo di colonne in una tabella che ci aiuta a identificare in modo univoco ogni riga di quella tabella è chiamata chiave primaria
  • Tutte le diverse chiavi nel DBMS che non sono chiavi primarie sono chiamate chiavi alternative
  • Una super chiave senza attributi ripetuti è chiamata chiave candidata
  • Una chiave composta è una chiave composta da numerosi campi che consentono di riconoscere in modo univoco un record specifico
  • Una chiave che ha più attributi per identificare in modo univoco le righe in una tabella è chiamata chiave composita
  • Una chiave artificiale che mira a identificare in modo univoco ciascun record è chiamata chiave surrogata
  • La chiave primaria non accetta mai valori null mentre una chiave esterna può accettare più valori null.