Anbefalet, 2024

Redaktørens Valg

Forskel mellem supernøgle og kandidatnøgle

Nøgler er de væsentlige elementer i enhver relationel database. Det identificerer hver tuple i en relation unikt. Taster bruges også til at etablere forholdet mellem tabellerne i et skema. I denne artikel vil vi diskutere to grundlæggende nøgler til enhver database, der er supernøgle og kandidatnøgle. Hver kandidatnøgle er en supernøgle, men hver supernøgle kan eller ikke være en kandidatnøgle. Der er mange andre kendingsfaktorer mellem supernøgle og kandidatnøgle, som jeg kort har diskuteret i sammenligningstabellen nedenfor.

Sammenligningstabel

Grundlag for sammenligningSuper KeyKandidatnøgle
GrundlæggendeEn enkelt attribut eller et sæt attributter, som unikt identificerer alle attributter i en relation, er supernøgle.En ordentlig delmængde af en supernøgle, som også er en supernøgle, er en kandidatnøgle.
En i andreDet er ikke obligatorisk at alle supernøgler er kandidatnøgler.Alle kandidatnøgler er supernøgler.
UdvælgelseSættet med supernøgler danner basis for udvælgelse af kandidatnøgler.Sætet af kandidatnøgler udgør basen for udvælgelse af en enkelt primærnøgle.
TælleDer er forholdsvis flere supernøgler i en relation.Der er forholdsvis færre kandidatnøgler i en relation.

Definition af supernøgle

En supernøgle er en grundlæggende nøgle til enhver relation. Det defineres som en nøgle, der kan identificere alle andre attributter i en relation . Supernøgle kan være en enkelt attribut eller et sæt attributter. To enheder har ikke de samme værdier for de attributter, der udgør en supernøgle. Der er mindst en eller flere som en super nøgler i en relation.

En minimal supernøgle kaldes også kandidatnøgle. Så vi kan sige, at nogle af supernøglerne bliver verificeret for at være en kandidatnøgle. Vi vil se senere hvordan en superkey er markeret for at blive en kandidatnøgle.

Lad os tage et forhold R (A, B, C, D, E, F); vi har følgende afhængigheder for en relation R, og vi har tjekket hver for at være supernøgle.

Ved hjælp af nøgle, AB kan vi identificere resten af ​​attributterne af tabellen, dvs CDEF . På samme måde kan vi ved hjælp af tasterne CD, ABD, DF og DEF identificere de resterende attributter i tabellen R. Så alle disse er supernøgler.

Men ved brug af en nøgle CB kan vi kun finde værdier for attribut D og F, vi kan ikke finde værdien for attributter A og E. Derfor er CB ikke en supernøgle. Det samme er tilfældet med nøgle D, vi kan ikke finde værdierne af alle attributter i en tabel ved hjælp af nøgle D. Så D er ikke en supernøgle.

Definition af kandidatnøgle

En supernøgle, der er en ordentlig delmængde af en anden supernøgle af samme relation, hedder en minimal supernøgle . Den minimale supernøgle hedder kandidatnøgle . Ligesom supernøgle identificerer en kandidatnøgle også hver tuple i et bord unikt. En kandidatnøgles attribut kan acceptere NULL- værdi.

En af kandidatnøglerne vælges som primær nøgle af DBA . Forudsat at de vigtigste attributværdier skal være unikke og ikke indeholde NULL. Attributterne til kandidatnøglen kaldes primære attributter .

I ovenstående eksempel har vi fundet supernøglerne for relation R. Nu skal vi kontrollere alle supernøglerne for at være kandidatnøgle.

Supernøgle AB er en ordentlig delmængde af supernøgle ABD . Så når en minimal supernøgle AB alene er i stand til at identificere alle attributter i et bord, har vi ikke brug for større nøgle ABD . Derfor er supernøgle AB en kandidatnøgle, mens ABD kun vil være supernøgle.
Tilsvarende er en supernøgle- DF også en ordentlig delmængde af supernøgle- DEF . Så når DF er alene i stand til at identificere alle attributter i en relation, hvorfor har vi brug for DEF . Dermed bliver supernøgle DF en kandidatnøgle, mens DEF kun er en supernøgle.

Supernøgle- cd'en er ikke en ordentlig undergruppe af nogen anden supernøgle. Så vi kan sige, at CD er en minimal supernøgle, der identificerer alle attributter i en relation. Derfor er cd en kandidatnøgle.

Mens centrale CB og D ikke er supernøgle, så kan de ikke være kandidatnøglen selv. Se ovenstående tabel kan du konkludere, at hver kandidatnøgle er en supernøgle, men den inverse er ikke sand.

Nøgleforskelle mellem supernøgle og kandidatnøgle

  1. En enkelt attribut eller et sæt attributter, som unikt kan identificere alle attributter af et bestemt forhold kaldes Super-tast. På den anden side kaldes en supernøgle, der er en ordentlig undergruppe af en anden supernøgle, kandidatnøgle.
  2. Alle kandidatnøgler er supernøgler, men den inverse er ikke sandt.
  3. Sættet med supernøgler er verificeret for at finde kandidatnøgler, mens sæt af kandidatnøglerne er verificeret for at vælge en enkelt primærnøgle.
  4. Supernøgler er forholdsvis mere i antal end kandidatnøgler.

Konklusion:

Supernøgle er en grundlæggende nøgle til enhver relation. De skal være plottet først, inden de genkender andre nøgler til forholdet, da de danner basis for andre nøgler. Kandidatnøglen er vigtig, da den hjælper med at genkende den vigtigste nøgle i enhver relation, der er en primær nøgle.

Top