Verschil tussen Super Key en Candidate Key

Schrijver: Laura McKinney
Datum Van Creatie: 1 April 2021
Updatedatum: 13 Kunnen 2024
Anonim
Candidate Key vs Primary Key: Definition and Differences
Video: Candidate Key vs Primary Key: Definition and Differences

Inhoud


Sleutels zijn de essentiële elementen van elke relationele database. Het identificeert elke tupel in een relatie uniek. Sleutels worden ook gebruikt om de relatie tussen de tabellen in een schema te bepalen. In dit artikel bespreken we twee basissleutels van elke database die supersleutel en kandidaatsleutel is. Elke kandidaatsleutel is een supersleutel, maar elke supersleutel kan al dan niet een kandidaatsleutel zijn. Er zijn nog vele andere onderscheidende factoren tussen supersleutel en kandidaatsleutel, die ik kort heb besproken in de onderstaande vergelijkingstabel.

  1. Vergelijkingstabel
  2. Definitie
  3. Belangrijkste verschillen
  4. Gevolgtrekking

Vergelijkingstabel

Basis voor vergelijkingSupersleutelKandidaatsleutel
basis-Een enkel kenmerk of een set kenmerken die alle kenmerken in een relatie op unieke wijze identificeert, is super key.Een juiste subset van een supersleutel, die ook een supersleutel is, is een kandidaatssleutel.
De een in de anderHet is niet verplicht dat alle supersleutels kandidaatsleutels zijn.Alle kandidaatsleutels zijn supersleutels.
SelectieDe set supersleutels vormt de basis voor de selectie van kandidaatsleutels.De set kandidaatsleutels vormen de basis voor de selectie van een enkele primaire sleutel.
tellenEr zijn relatief meer supersleutels in een relatie.Er zijn relatief minder kandidaatsleutels in een relatie.


Definitie van Super key

EEN super sleutel is een basis- sleutel van elke relatie. Het wordt gedefinieerd als een sleutel die alle andere attributen in een relatie kan identificeren. Supersleutel kan een enkel attribuut of een set attributen zijn. Twee entiteiten hebben niet dezelfde waarden voor de attributen waaruit een supersleutel bestaat. Er is minstens één of meer die één supersleutel in een relatie.

Een minimale supersleutel wordt ook wel kandidaatsleutel genoemd. We kunnen dus zeggen dat sommige van de supersleutels worden geverifieerd als kandidaatsleutel. We zullen later zien hoe een superkey wordt gecontroleerd om een ​​kandidaatssleutel te worden.

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


Met behulp van sleutel, AB we kunnen de rest van de attributen van de tabel identificeren, d.w.z. CDEF. Op dezelfde manier met behulp van toetsen CD, ABD, DF, en DEF we kunnen de resterende attributen van de tabel R identificeren. Dit zijn dus allemaal supersleutels.

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

Definitie van de kandidaatssleutel

EEN super sleutel dat is een behoorlijke deelverzameling van een andere supersleutel van dezelfde relatie die a wordt genoemd minimale supersleutel.  De minimale supersleutel wordt genoemd Kandidaat sleutel. Net als de supersleutel identificeert een kandidaatssleutel ook elke tuple in een tabel uniek. Het kenmerk van een kandidaatsleutel kan accepteren NUL waarde.

Een van de kandidaatsleutels wordt gekozen als primaire sleutel door DBA. Op voorwaarde dat de sleutelkenmerkwaarden uniek moeten zijn en geen NULL bevatten. De kenmerken van de Kandidaatsleutel worden genoemd hoofdkenmerken.

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

Supersleutel AB is een behoorlijke subset van supersleutel ABD. Dus, wanneer een minimale supersleutel AB alleen, is in staat om alle attributen in een tabel te identificeren, dan hebben we geen grotere sleutel nodig ABD. Vandaar super sleutel AB is een kandidaatssleutel zolang ABD zal alleen super key zijn.
Evenzo een supersleutel DF is ook een goede subset van supersleutel DEF. Dus wanneer DF is alleen in staat alle attributen in een relatie te identificeren, waarom hebben we dat nodig? DEF. Vandaar super sleutel DF wordt een kandidaatssleutel terwijl DEF is slechts een supersleutel.

De supersleutel CD is geen echte subset van een andere supersleutel. Dus we kunnen zeggen CD is een minimale supersleutel die alle attributen in een relatie identificeert. Vandaar, CD is een kandidaatssleutel.

Terwijl sleutel CB en D zijn dus geen supersleutel, ze kunnen zelfs niet de kandidaatssleutel zijn. Als u bovenstaande tabel bekijkt, kunt u concluderen dat elke kandidaatsleutel een supersleutel is, maar het omgekeerde is niet waar.

  1. Een enkel attribuut of een set attributen die alle attributen van een bepaalde relatie uniek kunnen identificeren, wordt Super key genoemd. Aan de andere kant wordt een supersleutel die een juiste subset is van een andere supersleutel kandidaatsleutel genoemd.
  2. Alle kandidaatsleutels zijn supersleutels, maar het omgekeerde is niet waar.
  3. De set supersleutels wordt geverifieerd om kandidaatsleutels te vinden, terwijl de set van de kandidaatsleutels wordt geverifieerd om een ​​enkele primaire sleutel te selecteren.
  4. Supersleutels zijn relatief meer in aantal dan kandidaatsleutels.

Gevolgtrekking:

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