A kandidaat sleutel is een onderdeel van een sleutel die bekend staat als Supersleutel ( besproken in de vorige sectie ), waarbij de supersleutel de superset is van al die attributen die een tabel op unieke wijze kunnen identificeren.
Hier zullen we het hebben over de kandidaatsleutel, de rol ervan en het gebruik ervan. We zullen ook enkele voorbeelden bekijken die ons het concept van een kandidaatsleutel beter zullen laten begrijpen.
wat is clusteren
Wat is een kandidaatsleutel
Een kandidaatsleutel is een subset van een supersleutelset waarbij de sleutel die geen redundant attribuut bevat, niets anders is dan a Kandidaat sleutel . Om de kandidaatsleutels uit de set supersleutels te selecteren, moeten we naar de supersleutelset kijken.
Rol van een kandidaatsleutel
De rol van een kandidaatsleutel is het uniek identificeren van een tabelrij of -kolom. Bovendien mag de waarde van een kandidaatsleutel niet Null zijn. De beschrijving van een kandidaatsleutel is 'geen redundante attributen' en een 'minimale representatie van een tuple', aldus de experts.
Hoe een kandidaatsleutel verschilt van een primaire sleutel
Hoewel het doel van zowel de kandidaat als de primaire sleutel hetzelfde is, namelijk het uniek identificeren van de tupels, en ze verschillen ook van elkaar. De reden hiervoor is dat we in een tabel één of meer dan één kandidaatsleutel kunnen hebben, maar dat we slechts één primaire sleutel voor een tabel kunnen maken. Op basis van het aantal verkregen kandidaat-sleutels kunnen we dus de juiste primaire sleutel identificeren. Als er echter slechts één kandidaatsleutel in een tabel aanwezig is, kan deze voor beide sleutelbeperkingen in aanmerking worden genomen.
Voorbeeld van kandidaatsleutel
Laten we eens kijken naar hetzelfde voorbeeld bij de bespreking van Super Key om de werking van een kandidaatsleutel te begrijpen.
html-tags
Wij hebben een WERKNEMER_DETAIL tabel waarin we de volgende attributen hebben:
Emp_SSN: In dit veld wordt het SSN-nummer opgeslagen.
Emp_Id: Een attribuut waarin de waarde van het werknemersidentificatienummer wordt opgeslagen.
string naar int java
Werk_naam: Een attribuut dat de naam opslaat van de werknemer met de opgegeven werknemers-ID.
Emp_e-mailadres: Een attribuut waarin de e-mail-ID van de opgegeven werknemers wordt opgeslagen.
De WERKNEMER_DETAIL Hieronder vindt u een tabel die u zal helpen het beter te begrijpen:
Dus uit de bovenstaande tabel hebben we de hieronder gegeven supersleutels verkregen (besproken in de vorige sectie):
Nu kunnen we uit deze sets supersleutels de kandidaatsleutels concluderen. Om de kandidaatsleutels op te pikken, is de beste manier om de primaire sleutels zo veel mogelijk te analyseren en te vormen. We moeten dus die sets identificeren uit de supersleutelsets die alleen de hele tabel kunnen identificeren, of we kunnen de andere attributen van de tabel zeggen. Het resultaat is dus:
Dit zijn dus de drie verkregen attributen die de andere niet-prime-attributen van de tabel kunnen identificeren. Dit zijn allemaal de kandidaatsleutels waaruit we het meest geschikte attribuut kunnen kiezen dat gemakkelijk alle records van de tabel kan identificeren, die zullen worden beschreven als de primaire sleutel.
Verschil tussen kandidaatsleutel en supersleutel
Uit de bovenstaande discussies kunnen we de volgende verschilpunten halen:
java boolean naar string
Supersleutel | Kandidaat sleutel |
---|---|
Het is de superset van al deze attributen die de tabel op unieke wijze kunnen identificeren. | Het is de subset of het deel van de Super-sleutel. |
Het is helemaal niet verplicht dat alle supersleutels kandidaatsleutels zijn. | Aan de andere kant zijn alle kandidaatsleutels supersleutels. |
Het supersleutelkenmerk kan NULL zijn, wat betekent dat de waarden nul kunnen zijn. | Een attribuut dat een kandidaatsleutel bevat, kan nooit NULL zijn, wat betekent dat de waarden ervan niet null kunnen zijn. |
Alle supersleutels vormden zich om de kandidaatsleutels te verkrijgen. | Op dezelfde manier worden kandidaatsleutels samengesteld om primaire sleutels te creëren. |
Het aantal gevormde supersleutels wordt altijd meer gezien. | Hier zijn kandidaatsleutels minder dan supersleutels. |
De supersleutel is dus de superset, de kandidaatsleutel is de subset en de primaire sleutel is de subsubset van de supersleutel.