Soovitatav, 2023

Toimetaja Valik

Erinevus esmase ja kandidaatvõti vahel

Klahvid on atribuut või atribuutide kogum, mida kasutatakse tabelite tuplite kasutamiseks, või neid kasutatakse ka kahe tabeli vahelise suhte loomiseks. Käesolevas artiklis arutame peamist ja kandidaatvõti ning nende vahelisi erinevusi. Nii Esmane kui Kandidaat Key identifitseerivad unikaalselt suhet või tabelit. Kuid kõige olulisem punkt, mis neid eristab, on see, et suhetes võib olla ainult üks primaarne võti . Suhtes võib siiski olla rohkem kui üks kandidaatvõti .

Esmase ja kandidaatvõti vahel on veel rohkem erinevusi, mida ma allpool esitatud võrdluskaardi abil arutan.

Võrdluskaart

Võrdluse alusEsmane võtiKandidaatide võti
PõhilineIgas suhtes võib olla ainult üks esmane võti.Suhtes võib olla rohkem kui üks võti.
NULLEsmane võtme atribuut ei tohi sisaldada NULL väärtust.Kandidaatvõtme atribuudil võib olla NULL väärtus.
TäpsustageEsmase võtme määramine mis tahes seosele on vabatahtlik.Ei saa olla mingit seost ilma määratud kandidaatvõtmeta.
FunktsioonEsmane võti kirjeldab suhte kõige olulisemat atribuuti.Kandidaatide võtmed esitavad kandidaate, kes võivad kvalifitseeruda esmase võtme saamiseks.
VastupidiEsmane võti on kandidaatide võti.Kuid see ei ole kohustuslik, et iga kandidaatvõti võib olla esmane võti.

Esmane võtme määratlus

Esmane võti on atribuut või atribuutide kogum, mis identifitseerivad iga numbri unikaalselt. Iga suhte jaoks võib olla ainult üks primaarvõti. Tuleb hoolitseda selle eest, et esmane võti ei tohiks kunagi sisaldada NULL- väärtust ja see peab omama iga seeria kordumatut väärtust. Primaarse võtme atribuudi / s väärtused peavad olema staatilised, st atribuudi väärtus ei tohiks kunagi või harva muutuda.

Üks kandidaatide võtmetest on kvalifitseeritud esmase võtme saamiseks. Eeskirjad, mida kandidaatvõti peab saama esmasteks muutmiseks, on see, et võtmeväärtus ei tohiks kunagi olla NULL ja see peab olema kõigi numbritega ainulaadne .

Kui suhe sisaldab atribuuti, mis on mõne teise suhte esmane võti, siis nimetatakse seda atribuuti võõrvõti .

Enne teiste seoste atribuutide kasutuselevõtmist on soovitatav välja selgitada suhte esmane võti, kuna primaarvõti identifitseerib iga numbri unikaalselt. Parem on valida esmane võti ühe atribuudi või väikese hulga atribuutide abil, mis muudab suhtlemise lihtsaks.

Vaatame nüüd esmase võtme näite.

 Õpilane {ID, eesnimi, viimase_nimi, vanus, aadress} 

Siin leiame kõigepealt kandidaatide võtmed. Ma olen välja selgitanud kaks kandidaatide võtit {ID} ja {First_name, Last_name}, sest nad identifitseerivad iga õpilase õpilassuhtes unikaalselt. Nüüd, ma valin ID- d minu esmase võtmeks, sest mõnikord võib juhtuda, et kahel õpilasel võib olla sama ees- ja perekonnanimi, seega on üliõpilasel lihtne ID-ga jälgida.

Kandidaatvõtme mõiste

Kandidaatide võti on atribuut või atribuutide kogum, mis üheselt defineerib suhet. Suhtes on rohkem kui üks kandidaatvõti. Need kandidaatide võtmed on kandidaadid, kes saavad kvalifitseeruda esmase võtmeks.

Kuigi iga kandidaatide võti on primaarseks võtmeks kvalifitseeruv, saab esmase võtmena valida ainult ühe. Reeglid, mida kandidaatide võtmeks peamine võtmeks vajatakse, on võtme atribuutiväärtus, mis ei saa kunagi olla ükskõik millises võtme domeenis NULL, see peab olema unikaalne ja staatiline .

Kui kõik kandidaatide võtmed vastavad esmase võtme tingimustele, peab kogenud DBA tegema otsuse esmase võtme väljaselgitamiseks. Ei saa olla mingit suhet ilma kandidaadi võtmeta.

Mõistagem näiteks kandidaatide võtit. Kui lisame õpilaste seosele veel mõned atribuudid, siis ma arutasin eespool.

 Õpilane {ID, eesnimi, viimase_nimi, vanus, aadress, DOB, osakonna_nimi} 

Siin saan aru saada kahest kandidaatvõtmest, mis on {ID}, {First_name, Last_name, DOB} . Nii saate aru, et kandidaatide võtmed on sellised, mis üheselt identifitseerivad seose suhet.

Peamised erinevused esmase ja kandidaatvõti vahel

  1. Põhipunkt, mis eristab esmast võtit kandidaatvõtmest, on see, et skeemi mis tahes seost võib olla ainult üks primaarne. Siiski võib ühe suhe jaoks olla mitu kandidaatvõtit.
  2. Primaarse võtme atribuut ei tohi kunagi sisaldada NULL-väärtust, kuna primaarvõti peamine funktsioon on rekordi unikaalne identifitseerimine. Isegi primaarset võtit võib kasutada võõra võtmena teistes suhetes ja seega ei tohi see olla NULL, nii et viitamise seos võib leida korrelatsioonid viidetesse. Kandidaatvõti võib olla NULL, kui atribuudi piirang ei ole määratud nulliks.
  3. Esmase võtme määramine on vabatahtlik, kuid ei saa olla suhet ilma kandidaatide võtmeteta.
  4. Esmane võti kirjeldab suhte unikaalset ja kõige olulisemat atribuuti, kusjuures kandidaatvõtmed pakuvad kandidaatidele, mille hulgast saab valida esmase võtme.
  5. Iga esmane võti on kandidaatvõti, kuid vastupidi, see ei ole tõsi.

Järeldus:

Esmase võtme määramise puhul on see valikuline. Teisest küljest, kui deklareerite suhted, peavad head suhted üles ehitama selles suhtluses kandidaatide võtmed.

Top