Aanbevolen, 2024

Editor'S Choice

Verschil tussen superkey en kandidaat-sleutel

Sleutels zijn de essentiële elementen van elke relationele database. Het identificeert elk tuple in een relatie op unieke wijze. Sleutels worden ook gebruikt om de relatie tussen de tabellen in een schema vast te stellen. In dit artikel bespreken we twee basissleutels van elke database die de supersleutel en kandidaat-sleutel is. Elke kandidaat-sleutel is een supersleutel, maar elke supersleutel kan al dan niet een kandidaat-sleutel zijn. Er zijn veel andere onderscheidende factoren tussen de supertoets en de kandidaat-sleutel, die ik kort heb besproken in de onderstaande vergelijkingstabel.

Vergelijkingstabel

Basis voor vergelijkingSuper sleutelKandidaat sleutel
basis-Een enkel attribuut of een set attributen die op unieke wijze alle attributen in een relatie identificeert, is supersleutel.Een juiste subset van een supersleutel, die ook een supersleutel is, is een kandidaatsleutel.
De een in de andereHet is niet verplicht dat alle supersleutels kandidaat-sleutels zijn.Alle kandidaat-toetsen zijn super toetsen.
SelectieDe set supertoetsen vormt de basis voor de selectie van kandidaat-toetsen.De set kandidaat-sleutels vormt de basis voor selectie van één enkele primaire sleutel.
tellenEr zijn relatief meer supersleutels in een relatie.Er zijn relatief minder kandidaatsleutels in een relatie.

Definitie van Super-toets

Een supersleutel is een basissleutel van elke relatie. Het wordt gedefinieerd als een sleutel die alle andere attributen in een relatie kan identificeren . Supersleutel kan een enkel kenmerk of een reeks kenmerken zijn. Twee entiteiten hebben niet dezelfde waarden voor de kenmerken waaruit een supersleutel bestaat. Er zijn minstens één of meer die één super sleutels in een relatie.

Een minimale super sleutel wordt ook kandidaat-sleutel genoemd. Dus we kunnen zeggen dat enkele van de super sleutels worden geverifieerd omdat ze een kandidaat-sleutel zijn. We zullen later zien hoe een superkey wordt gecontroleerd om een ​​kandidaat-sleutel te worden.

Laten we een relatie nemen R (A, B, C, D, E, F); we hebben de volgende afhankelijkheden voor een relatie R, en we hebben elk gecontroleerd of het een supersleutel is.

Met behulp van de sleutel, AB kunnen we de rest van de attributen van de tabel identificeren, dwz CDEF . Evenzo kunnen we met de toetsen CD, ABD, DF en DEF resterende attributen van tabel R identificeren. Dit zijn dus allemaal supertoetsen.

Maar met behulp van een sleutel- CB kunnen we alleen waarden vinden voor attribuut D en F, we kunnen de waarde voor attributen A en E niet vinden. Vandaar dat CB geen supersleutel is. Hetzelfde is het geval met sleutel D, we kunnen de waarden van alle attributen in een tabel niet vinden met sleutel D. Dus D is geen supersleutel.

Definitie van kandidaat-sleutel

Een supersleutel die een juiste subset van een andere supersleutel van dezelfde relatie is, wordt een minimale super-sleutel genoemd . De minimale super sleutel wordt de sleutel Kandidaat genoemd. Net als een supersleutel identificeert een kandidaatsleutel ook elk tuple in een tabel op unieke wijze. Het attribuut van een kandidaatsleutel kan de NULL- waarde accepteren.

Een van de kandidaat-toetsen wordt door DBA als primaire sleutel gekozen. Op voorwaarde dat de belangrijkste attribuutwaarden uniek zijn en geen NULL bevatten. De kenmerken van de Kandidaatsleutel worden prime-kenmerken genoemd .

In het bovenstaande voorbeeld hebben we de Super-toetsen gevonden voor relatie R. Laten we nu alle super-toetsen controleren op Kandidaat-sleutel.

Supersleutel AB is een juiste subset van supersleutel ABD . Dus als een minimale super sleutel AB alleen in staat is om alle attributen in een tabel te identificeren, dan hebben we geen grotere sleutel ABD nodig . Vandaar dat supersleutel AB een kandidaat-sleutel is, terwijl ABD alleen superkey zal zijn.
Evenzo is een supersleutel DF ook een juiste subset van de super sleutel DEF . Dus, wanneer DF alleen in staat is om alle attributen in een relatie te identificeren, waarom hebben we DEF nodig. Vandaar dat supersleutel DF een kandidaat-sleutel wordt, terwijl DEF slechts een supersleutel is.

De super sleutel- CD is geen juiste subset van een andere super-sleutel. Dus, we kunnen zeggen dat CD een minimale super sleutel is die alle attributen in een relatie identificeert. Vandaar dat CD een kandidaat-sleutel is.

Waar sleutel CB en D niet super-sleutel zijn, kunnen ze zelfs geen kandidaat-sleutel zijn. Als u bovenstaande tabel bekijkt, kunt u concluderen dat elke kandidaatsleutel een supersleutel is, maar de inverse is niet waar.

Belangrijkste verschillen tussen de super sleutel en de kandidaat-sleutel

  1. Een enkel attribuut of een set attributen die op unieke wijze alle attributen van een bepaalde relatie kan identificeren, wordt de Super-toets genoemd. Aan de andere kant wordt een supersleutel die een juiste subset van een andere supersleutel is, de kandidaat-sleutel genoemd.
  2. Alle kandidaat-toetsen zijn supertoetsen, maar de inverse is niet waar.
  3. De set supertoetsen wordt geverifieerd om kandidaatsleutels te vinden terwijl de set van de kandidaatsleutels wordt geverifieerd om één enkele primaire sleutel te selecteren.
  4. Supersleutels zijn relatief meer in aantal dan kandidaatsleutels.

Conclusie:

Supersleutel is een basissleutel van elke relatie. Ze moeten eerst worden geplot voordat ze andere sleutels voor de relatie herkennen, omdat ze de basis vormen voor andere sleutels. Kandidaat sleutel is belangrijk omdat het helpt bij het herkennen van de belangrijkste sleutel van elke relatie die een primaire sleutel is.

Top