Una chiave candidate è una chiave che identifica in modo univoco le righe di una tabella. Qualsiasi delle chiavi candidate identificate può essere utilizzata come chiave primaria della tabella.Le chiavi candidate che non fanno parte della chiave primaria sono chiamate chiavi alternative. Si può descrivere una chiave candidata come una super chiave che contiene solo il numero minimo di colonne necessarie per determinare l’unicità.
Gli attributi primi sono gli attributi della chiave candidata che definisce l’unicità (ad esempio: numero SSN in un database dei dipendenti)
Una chiave primaria è una colonna in una tabella i cui valori identificano in modo univoco le righe nella tabella. La chiave primaria viene scelta da questo elenco di candidati in base al suo valore percepito per l’azienda come identificatore.
Un valore della chiave primaria:
- Deve identificare in modo univoco la riga;
- non può avere valori NULL;
- Non deve cambiare nel tempo;
- e deve essere il più breve possibile.
Se la chiave primaria è una combinazione di più colonne, viene chiamata come chiave composita.
Per comprendere la differenza tra chiave primaria e attributi primi, si dovrebbe prima sapere cos’è una chiave super e candidate.
Super Key: qualsiasi attributo/combinazione di attributi la cui chiusura, sulla base di determinate dipendenze funzionali, determina che la relazione completa è una Super Key. (Una relazione potrebbe avere più di una super keys)
Ad esempio in relationR(A,B,C,D); date le dipendenze funzionali come:
ABC>D
AB->CD
A->BCD
D>ABC
di Seguito sono super tasti
ABC; perché la sua chiusura dà il rapporto completo cioè, (ABC)->ABCD
AB; perché è più vicino dà anche il rapporto completo cioè, (AB)->ABCD
A; perché è di chiusura dà anche il rapporto completo cioè, (A)->ABCD
D; perché è di chiusura dà anche il rapporto completo cioè, (D)->ABCD
Candidato Chiave: super tasto di cui sottoinsieme proprio non è un tasto super è aCandidate Chiave. (Una relazione potrebbe avere più chiavi candidate)
Quindi, nell’esempio sopra, A e D sono le uniche chiavi candidate.
Chiave primaria: qualsiasi chiave candidata (può o non può essere minima) che viene scelta dal progettista del database per identificare il record è una chiave primaria. (Una relazione può avere solo una chiave primaria / (chiave primaria composita: chiave primaria composta da più colonne))
Nell’esempio sopra, A (diciamo) è la chiave primaria.
Attributi primi: un attributo presente in una qualsiasi delle chiavi candidate è un attributo primo.
Quindi, nell’esempio sopra, A e D sono attributi primi.
Le chiavi primarie possono essere costituite da un singolo attributo o da più attributi in combinazione.Ad esempio
name login emailBob catlover Jason doglover
Il login sarebbe la chiave primaria e l’attributo sarà il catlover / doglover tutto ciò che viene attribuito in quella chiave