Differenza tra chiave primaria e chiave candidata

Autore: Laura McKinney
Data Della Creazione: 1 Aprile 2021
Data Di Aggiornamento: 4 Maggio 2024
Anonim
Chiave primaria e chiave candidata
Video: Chiave primaria e chiave candidata

Contenuto


Le chiavi sono l'attributo o un insieme di attributi che vengono utilizzati per accedere alle tuple da una tabella o utilizzati anche per costruire una relazione tra due tabelle. In questo articolo discuteremo la chiave primaria e candidata e le differenze tra di loro. Sia Chiave primaria che Candidata identifica in modo univoco una tupla in una relazione o tabella. Ma il punto più importante che li differenzia è che può essercene solo uno chiave primaria in una relazione. Tuttavia, può essercene più di uno chiave candidata in una relazione.

Ci sono alcune differenze tra chiave primaria e chiave di cui parlerò con l'aiuto della tabella comparativa mostrata di seguito.

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

Tabella di comparazione

Base per il confrontoChiave primariaChiave del candidato
Di basePuò esserci una sola chiave primaria in ogni relazione.Può esserci più di una chiave candidata in una relazione.
NULLONessun attributo di una chiave primaria può contenere un valore NULL.L'attributo di una chiave candidata può avere un valore NULL.
SpecificareÈ facoltativo specificare una chiave primaria per qualsiasi relazione.Non può esserci una relazione senza la chiave candidata specificata.
caratteristicaLa chiave primaria descrive l'attributo più importante per la relazione.Le chiavi candidate presentano candidati idonei alla chiave primaria.
Vice versaUna chiave primaria è una chiave candidata.Ma non è obbligatorio che ogni chiave candidata possa essere una chiave primaria.


Definizione di chiave primaria

Chiave primaria è un attributo o un insieme di attributi che identificherà in modo univoco ogni tupla in una relazione. Ci può essere solo uno chiave primaria per ogni relazione. Bisogna fare attenzione che una chiave primaria dovrebbe mai contenere a NULLO valore e deve avere il valore unico valore per ogni tupla nella relazione. I valori degli attributi della chiave primaria devono essere statico, cioè il valore dell'attributo non dovrebbe mai o raramente cambiare.

Uno di Chiavi candidate si qualifica per diventare una chiave primaria. Il regole che una chiave candidata deve essere qualificata per diventare primaria è che il valore della chiave non dovrebbe mai essere NULLO e deve essere unico per tutte le tuple.

Se una relazione contiene un attributo che è una chiave primaria di un'altra relazione, tale attributo viene chiamato chiave esterna.


Si consiglia di capire la chiave primaria di una relazione prima di introdurre altri attributi di una relazione poiché la chiave primaria identifica ciascuna tupla in modo univoco. È meglio scegliere un singolo attributo o un piccolo numero di attributi come chiave primaria per semplificare la gestione delle relazioni.

Ora vediamo un esempio di chiave primaria.

Studente {ID, Nome, Cognome, Età, Indirizzo}

Qui scopriremo prima le chiavi candidate. Ho capito Due chiavi candidate {ID} e {Nome e cognome} poiché identificheranno in modo univoco ogni studente nella relazione Studente. Ora, qui sceglierò ID come chiave primaria perché a volte può capitare che due studenti abbiano lo stesso nome e cognome, quindi sarà facile rintracciare uno studente con il suo ID.

Definizione di Candidate Key

UN chiave candidata è un attributo o un insieme di attributi che definiscono in modo univoco una tupla in una relazione. C'è un essere più di una chiave candidata in una relazione. Queste chiavi candidate sono i candidati che possono qualificarsi per diventare una chiave primaria.

Sebbene ogni chiave candidata si qualifichi per diventare una chiave primaria, solo una può essere scelta come chiave primaria. Le regole che una chiave candidata richiede per diventare chiave primaria sono il valore dell'attributo della chiave che non può mai essere NULLO in qualsiasi dominio della chiave, deve essere unico e statico.

Se tutte le chiavi candidate si qualificano per la chiave primaria, allora un esperto DBA deve prendere la decisione di capire la chiave primaria. Non può mai esserci una relazione senza chiave candidata.

Cerchiamo di capire la chiave del candidato con un esempio. Se aggiungiamo altri attributi alla relazione degli studenti, ho discusso sopra.

Studente {ID, Nome, Cognome, Età, Indirizzo, DOB, Nome reparto}

Qui posso capire Due chiavi candidate che sono {ID}, {Nome, Cognome, DOB}. Quindi puoi capire che le chiavi candidate sono quelle che identificano in modo univoco una tupla in una relazione.

  1. Il punto fondamentale che differenzia la chiave primaria dalla chiave candidata è che può esserci solo una primaria per qualsiasi relazione in uno schema. Tuttavia, possono esserci più chiavi candidate per una singola relazione.
  2. L'attributo nella chiave primaria non può mai contenere un valore NULL poiché la funzione principale della chiave primaria è identificare in modo univoco un record in relazione. Anche una chiave primaria può essere utilizzata come chiave esterna in un'altra relazione, e quindi non deve essere NULL in modo che la relazione di riferimento possa trovare le tuple in una relazione di riferimento. La chiave candidata può essere NULL a meno che il vincolo dell'attributo non sia specificato non nullo.
  3. È facoltativo specificare una chiave primaria, ma non può esserci una relazione senza chiavi candidate.
  4. La chiave primaria descrive l'attributo univoco e più importante di una relazione, mentre le chiavi candidate forniscono i candidati tra i quali uno può essere selezionato come chiave primaria.
  5. Ogni chiave primaria è una chiave candidata, ma viceversa non è vera.

Conclusione:

È facoltativo per una relazione specificare una chiave primaria. D'altra parte, se stai dichiarando una relazione, le chiavi candidate devono essere presenti in quella relazione per costruire una buona relazione.