Raccomandato, 2024

Scelta Del Redattore

Differenza tra chiave super e chiave candidata

Le chiavi sono gli elementi essenziali di qualsiasi database relazionale. Identifica ciascuna tupla in una relazione in modo univoco. Le chiavi vengono anche utilizzate per stabilire la relazione tra le tabelle in uno schema. In questo articolo, discuteremo due chiavi di base di qualsiasi database che è chiave super e chiave candidato. Ogni chiave candidata è una super-chiave, ma ogni chiave super può essere o non essere una chiave candidata. Ci sono molti altri fattori distintivi tra la chiave super e la chiave candidata, che ho brevemente discusso nella tabella di confronto qui sotto.

Grafico comparativo

Base per il confrontoSuper KeyChiave candidata
Di baseUn singolo attributo o un insieme di attributi che identifica in modo univoco tutti gli attributi in una relazione è una super chiave.Un sottoinsieme appropriato di una super-chiave, che è anche una super-chiave, è una chiave candidata.
Uno in altroNon è obbligatorio che tutte le super chiavi siano chiavi del candidato.Tutte le chiavi candidate sono super chiavi.
SelezioneIl set di super tasti costituisce la base per la selezione delle chiavi candidate.Il set di chiavi candidate costituisce la base per la selezione di una singola chiave primaria.
ContareCi sono relativamente più super chiavi in ​​una relazione.Ci sono relativamente meno chiavi candidate in una relazione.

Definizione di Super chiave

Una chiave super è una chiave base di qualsiasi relazione. È definito come una chiave in grado di identificare tutti gli altri attributi in una relazione . La chiave super può essere un singolo attributo o un insieme di attributi. Due entità non hanno gli stessi valori per gli attributi che compongono una super-chiave. C'è almeno una o più delle super chiavi in ​​una relazione.

Un super tasto minimo è anche chiamato chiave candidato. Quindi possiamo dire che alcune delle super chiavi vengono verificate per essere una chiave candidata. Vedremo in seguito come viene controllato un superkey per diventare una chiave candidata.

Prendiamo una relazione R (A, B, C, D, E, F); abbiamo le seguenti dipendenze per una relazione R, e abbiamo controllato ciascuna per essere una super chiave.

Usando la chiave, AB siamo in grado di identificare il resto degli attributi della tabella, ad es. CDEF . Allo stesso modo, usando i tasti CD, ABD, DF e DEF possiamo identificare gli attributi rimanenti della tabella R. Quindi tutti questi sono super chiavi.

Ma usando una chiave CB possiamo trovare solo i valori per gli attributi D e F, non possiamo trovare il valore per gli attributi A ed E. Quindi, CB non è una super chiave. Lo stesso è il caso con la chiave D non possiamo trovare i valori di tutti gli attributi in una tabella usando la chiave D. Quindi, D non è una super-chiave.

Definizione di Candidate Key

Una super-chiave che è un sottoinsieme appropriato di un'altra super-chiave della stessa relazione è chiamata una super-chiave minima . Il super tasto minimo si chiama chiave Candidato . Come la chiave super, anche una chiave candidata identifica in modo univoco ogni tupla in una tabella. L'attributo di una chiave candidata può accettare il valore NULL .

Una delle chiavi candidate viene scelta come chiave primaria da DBA . A condizione che i valori degli attributi chiave siano univoci e non contengano NULL. Gli attributi della chiave Candidate sono chiamati attributi primi .

Nell'esempio sopra, abbiamo trovato le chiavi Super per la relazione R. Ora, controlliamo tutte le super chiavi per essere la chiave Candidato.

Super chiave AB è un sottoinsieme appropriato di super tasto ABD . Quindi, quando un super-tasto minimo AB da solo, è in grado di identificare tutti gli attributi in una tabella, quindi non abbiamo bisogno di una chiave ABD più grande. Quindi, la super-chiave AB è una chiave candidata mentre ABD sarà solo super-chiave.
Allo stesso modo, un super key DF è anche un sottoinsieme appropriato di super-chiave DEF . Quindi, quando DF è il solo in grado di identificare tutti gli attributi in una relazione, perché abbiamo bisogno del DEF . Quindi, super key DF diventa una chiave candidata mentre DEF è solo una super-chiave.

Il super-key CD non è un sottoinsieme appropriato di nessun altro super-tasto. Quindi, possiamo dire che il CD è una super-chiave minima che identifica tutti gli attributi in una relazione. Quindi, CD è una chiave candidata.

Mentre le chiavi CB e D non sono super chiave, quindi non possono essere nemmeno la chiave del candidato. Visualizzando la tabella sopra puoi concludere che ogni chiave candidata è una super-chiave ma l'inverso non è vero.

Differenze chiave tra chiave super e chiave candidata

  1. Un singolo attributo o un insieme di attributi che possono identificare in modo univoco tutti gli attributi di una particolare relazione è chiamato Super chiave. D'altra parte, una chiave super che è un sottoinsieme appropriato di un altro super tasto è chiamata chiave candidata.
  2. Tutte le chiavi candidate sono super chiavi ma l'inverso non è vero.
  3. L'insieme di super chiavi viene verificato per trovare le chiavi candidate mentre, l'insieme delle chiavi candidate viene verificato per selezionare una singola chiave primaria.
  4. Le super chiavi sono comparativamente più numerate delle chiavi candidate.

Conclusione:

La super chiave è una chiave base di qualsiasi relazione. Devono essere tracciati prima di riconoscere altri tasti per la relazione mentre formano la base per altre chiavi. La chiave candidata è importante in quanto aiuta a riconoscere la chiave più importante di ogni relazione che è una chiave primaria.

Top