Forskjellen mellom primær og kandidatnøkkel

Forfatter: Laura McKinney
Opprettelsesdato: 1 April 2021
Oppdater Dato: 17 Kan 2024
Anonim
Forskjellen mellom primær og kandidatnøkkel - Teknologi
Forskjellen mellom primær og kandidatnøkkel - Teknologi

Innhold


Nøkler er attributtet, eller et sett med attributter som brukes til å få tilgang til tupler fra et bord, eller de brukes også til å konstruere et forhold mellom to tabeller. I denne artikkelen skal vi diskutere Primær- og kandidatnøkkel og forskjellene mellom dem. Både primær- og kandidatnøkkel identifiserer unikt en tupel i en relasjon eller tabell. Men det viktigste poenget som skiller dem er at det bare kan være et primærnøkkel i en relasjon. Imidlertid kan det være mer enn ett kandidatnøkkel i en relasjon.

Det er noen flere forskjeller mellom Primær og Kandidatnøkkel som jeg vil diskutere ved hjelp av sammenligningstabellen vist nedenfor.

  1. Sammenligningstabell
  2. Definisjon
  3. Viktige forskjeller
  4. Konklusjon

Sammenligningstabell

Grunnlag for sammenligningPrimærnøkkelKandidatnøkkel
grunn~~POS=TRUNCDet kan bare være en hovednøkkel i ethvert forhold.Det kan være mer enn en kandidatnøkkel i et forhold.
NULLIngen attributter for en primærnøkkel kan inneholde NULL-verdi.Attributtet til en kandidatnøkkel kan ha NULL-verdi.
SpesifiserDet er valgfritt å spesifisere en primærnøkkel for ethvert forhold.Det kan ikke være et forhold uten at kandidatnøkkelen er spesifisert.
TrekkPrimærnøkkel beskriver det viktigste attributtet for forholdet.Kandidatnøkler presenterer kandidater som kan kvalifisere seg til Primærnøkkel.
OmvendtEn primærnøkkel er en kandidatnøkkel.Men det er ikke obligatorisk at hver kandidatnøkkel kan være en primærnøkkel.


Definisjon av Primær nøkkel

Primærnøkkel er et attributt eller et sett med attributter som vil identifisere hver enkelt tupel i en relasjon. Det kan bare være en primærnøkkel for hvert forhold. Det må tas vare på at en primærnøkkel skal aldri inneholder en NULL verdi, og den må ha unik verdi for hver tupel i forholdet. Verdiene til attributtet til den primære nøkkelen må være statisk, dvs. verdien av attributtet skal aldri eller sjelden endres.

En av Kandidatnøkler blir kvalifisert til å bli en primær nøkkel. De regler at en kandidatnøkkel må kvalifisere seg for å bli primær er at nøkkelverdien aldri skal være NULL og det må det være unik for alle tupler.


Hvis en relasjon inneholder et attributt som er en primær nøkkel til en annen relasjon, kalles det attributtet fremmed nøkkel.

Det anbefales å finne ut den primære nøkkelen til en relasjon før du introduserer andre attributter for en relasjon, da den primære nøkkelen identifiserer hver tupel unikt. Det er bedre å velge et enkelt attributt eller et lite antall attributter som en primær nøkkel, det gjør forholdshåndtering enkelt.

La oss nå se et eksempel på en primærnøkkel.

Student {ID, fornavn, etternavn, alder, adresse}

Her vil vi først finne ut kandidatnøkler. Jeg har funnet ut av det to kandidatnøkler {ID} og {Fornavn Etternavn} da de unikt identifiserer hver student i Student-forholdet. Nå, her vil jeg velge ID som min viktigste nøkkel fordi det noen ganger kan skje at to studenter kan ha samme for- og etternavn, så det vil være lett å spore en student med hans ID.

Definisjon av kandidatnøkkel

EN kandidatnøkkel er et attributt eller et attributt sett som unikt definerer en tuple i en relasjon. Det er et mer enn en kandidatnøkkel i et forhold. Disse kandidatnøklene er kandidatene som kan kvalifisere seg til å bli en primærnøkkel.

Selv om hver kandidatnøkkel kvalifiserer til å bli en primærnøkkel, kan bare en velges som en primærnøkkel. Reglene en kandidatnøkkel krever for å bli primærnøkkel er attributtverdien til nøkkelen kan aldri være NULL i et hvilket som helst domene av nøkkelen, må det være unik og statisk.

Hvis alle kandidatnøklene kvalifiserer til primærnøkkel, er en erfaren DBA må ta beslutningen om å finne ut den primære nøkkelen. Det kan aldri være et forhold uten kandidatnøkkel.

La oss forstå kandidatnøkkelen med et eksempel. Hvis vi legger til flere attributter til Student-forhold, diskuterte jeg over.

Student {ID, fornavn, etternavn, alder, adresse, DOB, avdelingsnavn}

Her kan jeg finne ut to kandidatnøkler som er {ID}, {Fornavn, etternavn, DOB}. Så du kan forstå at kandidatnøklene er en som identifiserer en tupel i et forhold.

  1. Det grunnleggende poenget som skiller primærnøkkel fra kandidatnøkkel er at det bare kan være en primær for ethvert forhold i et skjema. Imidlertid kan det være flere kandidatnøkler for en enkelt relasjon.
  2. Attributtet under primærnøkkel kan aldri inneholde en NULL-verdi, da hovedfunksjonen til primærnøkkelen er å identifisere en post i forhold. Til og med en primærnøkkel kan brukes som fremmed nøkkel i andre forhold, og derfor må den ikke være NULL slik at referanserelasjon kan finne tuplene i et referert forhold. Kandidatnøkkelen kan være NULL med mindre attributtbegrensningen er spesifisert ikke null.
  3. Det er valgfritt å spesifisere en primærnøkkel, men det kan ikke være et forhold uten kandidatnøkler.
  4. Primærnøkkel beskriver det unike og viktigste attributtet til en relasjon, mens kandidatnøklene gir kandidatene som man kan velge som en primærnøkkel.
  5. Hver primærnøkkel er en kandidatnøkkel, men omvendt er det ikke sant.

Konklusjon:

Det er valgfritt for en relasjon å spesifisere en primærnøkkel. På den annen side, hvis du erklærer et forhold, må kandidatnøklene være til stede i det forholdet for å konstruere en god relasjon.