en kandidatnøgle er en nøgle, der entydigt identificerer rækker i en tabel. Enhver af de identificerede kandidatnøgler kan bruges som tabellens primære nøgle.Kandidatnøgler, der ikke er en del af den primære nøgle, kaldes alternative nøgler. Man kan beskrive en kandidatnøgle som en supernøgle, der kun indeholder det mindste antal kolonner, der er nødvendige for at bestemme unikhed.
primære attributter er attributterne for kandidatnøglen, som definerer entydigheden (f.eks.: SSN-nummer i en medarbejderdatabase)
en primær nøgle er en kolonne i en tabel, hvis værdier entydigt identificerer rækkerne i tabellen. Den primære nøgle vælges fra denne liste over kandidater baseret på dens opfattede værdi for virksomheden som en identifikator.
en primær nøgleværdi:
- skal entydigt identificere rækken;
- kan ikke have NULL værdier;
- bør ikke ændre sig over tid;
- og bør være så kort som muligt.
hvis den primære nøgle er en kombination af mere end en kolonne, kaldes den som sammensat nøgle.
for at forstå forskellen primær nøgle og prime attributter, bør man først vide, hvad der er en super og kandidat nøgle.
Supernøgle: enhver attribut / kombination af attributter, hvis lukning på grundlag af givne funktionelle afhængigheder bestemmer, at den komplette relation er en Supernøgle. (En relation kunne have mere end en supernøgle)
For eksempel i relationR (A, B, C, D); givet de funktionelle afhængigheder som:
ABC->D
AB->CD
A->BCD
D->ABC
følgende er supertasterne
ABC; fordi dens lukning giver det komplette forhold, dvs. (ABC)->ABCD
AB; fordi det er tættere giver også det komplette forhold, dvs. (AB)->ABCD
A; fordi det er lukning giver også det komplette forhold, dvs. (A)->ABCD
D; fordi det er lukning giver også det komplette forhold, dvs. (d)->ABCD
kandidatnøgle: enhver supernøgle, hvis korrekte delmængde ikke er en SUPERNØGLE, er ACANDIDATE key. (En relation kunne have mere end en kandidatnøgle)
så i eksemplet ovenfor er A og D de eneste kandidatnøgler.
primær nøgle: enhver kandidatnøgle (måske eller måske ikke minimal), som databasedesigneren vælger at identificere post, er en primær nøgle. (En relation kan kun have en primær nøgle/(sammensat primær nøgle: primær nøgle, der består af mere end en kolonne))
i eksemplet ovenfor er A (lad os sige) den primære nøgle.
Prime attributter: en attribut, der er til stede i nogen af kandidatnøglerne, er en prime-attribut.
så i eksemplet ovenfor er A og D primære attributter.
primære nøgler kan bestå af en enkelt attribut eller flere attributter i kombination.For eksempel
name login emailBob catlover Jason doglover
login ville være den primære nøgle, og attributten vil være catlover/doglover alt, hvad der tilskrives i den nøgle