
Sammenligningstabel
Grundlag for sammenligning | Super Key | Kandidatnøgle |
---|---|---|
Grundlæggende | En 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 andre | Det er ikke obligatorisk at alle supernøgler er kandidatnøgler. | Alle kandidatnøgler er supernøgler. |
Udvælgelse | Sæ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ælle | Der 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.

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
- 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.
- Alle kandidatnøgler er supernøgler, men den inverse er ikke sandt.
- 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.
- 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.