een kandidaatsleutel is een sleutel die rijen in een tabel uniek identificeert. Elk van de geïdentificeerde kandidaatsleutels kan worden gebruikt als primaire sleutel van de tabel.Kandidaatsleutels die geen deel uitmaken van de primaire sleutel worden alternatieve sleutels genoemd. Men kan een kandidaatsleutel beschrijven als een supersleutel die slechts het minimum aantal kolommen bevat dat nodig is om uniciteit te bepalen.
Prime attributen zijn de attributen van de kandidaatsleutel die de uniciteit definieert (bijvoorbeeld: SSN-nummer in een werknemersdatabase)
een primaire sleutel is een kolom in een tabel waarvan de waarden de rijen in de tabel uniek identificeren. De primaire sleutel wordt gekozen uit deze lijst van kandidaten op basis van de waargenomen waarde voor het bedrijf als een identifier.
een primaire sleutelwaarde:
- moet de rij uniek identificeren;
- kan geen nulwaarden hebben;
- mag niet in de loop van de tijd veranderen;
- en moet zo kort mogelijk zijn.
als de primaire sleutel een combinatie van meer dan één kolom is, wordt deze als samengestelde sleutel genoemd.
om het verschil te begrijpen primaire sleutel en prime attributen, moet men eerst weten wat een super en kandidaat sleutel is.
Supersleutel: elk attribuut / combinatie van attributen waarvan de sluiting, op basis van bepaalde functionele afhankelijkheden, bepaalt dat de volledige relatie een Supersleutel is. (Een relatie kan meer dan één supersleutels hebben)
bijvoorbeeld in relationR(A,B, C, D); gegeven de functionele afhankelijkheden als:
ABC->D
AB->CD
A>BCD
D>ABC
de Volgende zijn de super-toetsen
ABC; omdat de sluiting geeft de volledige relatie ofwel, (ABC)->ABCD
AB; omdat het dichter geeft ook de volledige relatie ofwel, (AB)->ABCD
A; want het is de afsluiting geeft ook de volledige relatie ofwel, (A)->ABCD
D; want het is de afsluiting geeft ook de volledige relatie ofwel, (D)->ABCD
Kandidaat-Sleutel: Een super-toets waarvan u de juiste subset is niet een super-toets is aCandidate Toets. (Een relatie kan meer dan één kandidaatsleutel hebben)
dus in het bovenstaande voorbeeld zijn A en D de enige kandidaatsleutel.
primaire sleutel: elke kandidaatsleutel (al dan niet minimaal) die door de database-ontwerper wordt gekozen om record te identificeren, is een primaire sleutel. (Een relatie kan slechts één primaire sleutel hebben/(samengestelde primaire sleutel: primaire sleutel die bestaat uit meer dan één kolom))
in het voorbeeld hierboven is A (laten we zeggen) de primaire sleutel.
Priemattributen: een attribuut dat in een van de kandidaatsleutels aanwezig is, is een priemattribuut.
in het voorbeeld hierboven zijn A en D dus priemattributen.
primaire sleutels kunnen bestaan uit één attribuut of meerdere attributen in combinatie.Bijvoorbeeld
name login emailBob catlover Jason doglover
de login zou de primaire sleutel zijn en het attribuut zal de catlover / doglover zijn alles wat in die sleutel wordt toegeschreven