Differenza tra Super Key e Candidate Key

Autore: Laura McKinney
Data Della Creazione: 1 Aprile 2021
Data Di Aggiornamento: 15 Maggio 2024
Anonim
Concept of Keys in DBMS - Super, Primary, Candidate, Foreign Key, etc
Video: Concept of Keys in DBMS - Super, Primary, Candidate, Foreign Key, etc

Contenuto


Le chiavi sono gli elementi essenziali di qualsiasi database relazionale. Identifica ogni 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 è super chiave e chiave candidata. Ogni chiave candidata è una super chiave ma ogni super chiave può essere o meno una chiave candidata. Ci sono molti altri fattori distintivi tra super chiave e chiave candidata, di cui ho brevemente discusso nella tabella di confronto di seguito.

  1. Tabella di comparazione
  2. Definizione
  3. Differenze chiave
  4. Conclusione

Tabella di comparazione

Base per il confrontoSuper chiaveChiave del candidato
Di baseUn singolo attributo o un insieme di attributi che identifica in modo univoco tutti gli attributi in una relazione è la super chiave.Un sottoinsieme proprio di una super chiave, che è anche una super chiave è una chiave candidata.
Uno nell'altroNon è obbligatorio che tutte le super chiavi siano chiavi candidate.Tutte le chiavi candidate sono super chiavi.
SelezioneL'insieme di super chiavi costituisce la base per la selezione delle chiavi candidate.L'insieme di chiavi candidate costituisce la base per la selezione di una singola chiave primaria.
ContareCi sono comparativamente più super chiavi in ​​una relazione.Vi sono relativamente meno chiavi candidate in una relazione.


Definizione di Super key

UN super chiave è un di base chiave di ogni relazione. È definito come a chiave che può identificare tutti gli altri attributi in una relazione. La super chiave 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ù di una super chiave in una relazione.

Una super chiave minima è anche chiamata chiave candidata. Quindi possiamo dire che alcune delle super chiavi vengono verificate come chiavi candidate. 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 verificato ciascuna per essere 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 valori per attributo D e F, non possiamo trovare il valore per gli attributi UN e E. Quindi, CB non è una chiave super. Lo stesso vale per 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

UN super chiave questo è un sottoinsieme proprio di un'altra super chiave della stessa relazione si chiama a super chiave minima.  Viene chiamata la super chiave minima Chiave del candidato. Come la super chiave, anche una chiave candidata identifica ciascuna tupla in una tabella in modo univoco. L'attributo di una chiave candidata può accettare NULLO valore.

Una delle chiavi candidate viene scelta come chiave primaria da DBA. Fornito, che i valori dell'attributo chiave devono essere univoci e non contengono NULL. Vengono chiamati gli attributi della chiave candidata attributi primi.

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

Super chiave AB è un sottoinsieme corretto di super chiave ABD. Quindi, quando una super chiave minima AB da solo, è in grado di identificare tutti gli attributi in una tabella, quindi non abbiamo bisogno di chiavi più grandi ABD. Quindi, super chiave AB è una chiave candidata mentre ABD sarà solo super chiave.
Allo stesso modo, una chiave super DF è anche un sottoinsieme corretto di superkey DEF. Cosi quando DF è solo in grado di identificare tutti gli attributi in una relazione perché ne abbiamo bisogno DEF. Quindi, super chiave DF diventa una chiave candidata mentre DEF è solo una super chiave.

La super chiave CD non è un sottoinsieme corretto di qualsiasi altra super chiave. Quindi, possiamo dire CD è una super chiave minima che identifica tutti gli attributi in una relazione. Quindi, CD è una chiave candidata.

Considerando che chiave CB e D non sono super chiavi, quindi non possono essere nemmeno le chiavi candidate. Osservando la tabella sopra puoi concludere che ogni chiave candidata è una super chiave ma l'inverso non è vero.

  1. Un singolo attributo o un insieme di attributi in grado di identificare in modo univoco tutti gli attributi di una particolare relazione è chiamato Super chiave. D'altra parte, una super chiave che è un sottoinsieme proprio di un'altra super chiave è chiamata chiave candidata.
  2. Tutte le chiavi candidate sono super chiavi ma l'inverso non è vero.
  3. L'insieme delle 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ù numerose rispetto alle chiavi candidate.

Conclusione:

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