Põhi- ja kandidaatvõtme erinevus

Autor: Laura McKinney
Loomise Kuupäev: 1 Aprill 2021
Värskenduse Kuupäev: 13 Mai 2024
Anonim
Põhi- ja kandidaatvõtme erinevus - Tehnoloogia
Põhi- ja kandidaatvõtme erinevus - Tehnoloogia

Sisu


Klahvid on atribuut või atribuutide komplekt, mida kasutatakse tabeli tüüpide juurde pääsemiseks või mida kasutatakse ka kahe tabeli vahelise suhte loomiseks. Selles artiklis käsitleme alg- ja kandidaatvõtit ning nendevahelisi erinevusi. Nii esmane kui ka kandidaatvõti tuvastavad kordumatult seose või tabeli tüübi. Kuid kõige olulisem punkt, mis neid eristab, on see, et neid võib olla ainult üks primaarvõti suhtes. Kuid neid võib olla mitu kandidaadi võti suhtes.

Põhi- ja kandidaatvõtme vahel on veel mõned erinevused, mida arutlen allpool toodud võrdlusdiagrammi abil.

  1. Võrdlusdiagramm
  2. Definitsioon
  3. Peamised erinevused
  4. Järeldus

Võrdlusdiagramm

Võrdluse alusEsmane võtiKandidaadi võti
PõhilineIgasuguses suhtes võib olla ainult üks esmane võti.Suhtes võib olla mitu kandidaatvõtit.
NULLÜkski primaarvõtme atribuut ei tohi sisaldada väärtust NULL.Kandidaadi võtme atribuudil võib olla NULL väärtus.
TäpsustagePrimaarvõtme määramine mis tahes seose jaoks on valikuline.Suhet ei saa olla, kui pole täpsustatud kandidaatvõtit.
FunktsioonPrimaarvõti kirjeldab suhte olulisimat atribuuti.Kandidaatide võtmed esitavad kandidaadid, kes saavad esmase võtme.
VastupidiEsmane võti on kandidaatvõtmeks.Kuid ei ole kohustuslik, et iga kandidaatvõtme võib olla esmane võti.


Primaarvõtme määratlus

Esmane võti on atribuut või atribuutide kogum, mis identifitseerib korduse kõik kord. Seal saab olla ainult üks esmane võti iga suhte jaoks. Peab olema ettevaatlik, et esmane võti peaks mitte kunagi sisaldavad a NULL väärtus ja sellel peab olema ainulaadne väärtus suhetes iga tüübi jaoks. Primaarvõtme atribuudi / väärtuste väärtused peavad olema staatiline, st atribuudi väärtust ei tohiks kunagi või harva muuta.

Üks neist Kandidaatide võtmed saab kvalifikatsiooni esmaseks võtmeks saamiseks. reeglid see, et kandidaatvõti peab saama esmaseks muutumiseks, on see, et võtmeväärtus ei tohiks kunagi olla NULL ja see peab olema ainulaadne kõigi tüüpide jaoks.


Kui seos sisaldab atribuuti, mis on mõne muu seose esmane võti, siis nimetatakse seda atribuuti võõras võti.

Enne suhte muude atribuutide tutvustamist on soovitatav välja selgitada seose primaarvõti, kuna esmane võti tuvastab iga kepi kordumatult. Parem on valida esmase võtmena üks atribuut või väike arv atribuute, mis muudab suhte käsitlemise lihtsaks.

Vaatame nüüd primaarvõtme näidet.

Õpilase {ID, eesnimi, perekonnanimi, vanus, aadress}

Siin mõtleme kõigepealt välja kandidaatide võtmed. Olen välja mõelnud kaks kandidaatide võtmed {ID} ja {Eesnimi Perekonnanimi} kuna need tuvastavad õpilase suhetes iga õpilase üheselt. Nüüd, siin ma valin ID minu peamiseks võtmeks, kuna mõnikord võib juhtuda, et kahel õpilasel võivad olla samad ees- ja perekonnanimed, nii et on lihtne õpilast tema ID.

Kandidaadi võtme määratlus

A kandidaadi võti on atribuut või atribuutide komplekt, mis määravad ainulaadselt suhte tüübi. On olemas rohkem kui üks kandidaadi võti suhtes. Need kandidaatide võtmed on kandidaadid, kes võivad saada peamiseks võtmeks.

Ehkki iga kandidaatvõtit kvalifitseeritakse esmaseks võtmeks, saab primaarvõtmeks valida ainult ühe. Reeglid, mida kandidaatvõtmelt esmaseks võtmeks saamiseks tuleb kasutada, on võtme atribuudi väärtus, mis kunagi ei saa olla NULL võtme mis tahes domeenis peab see olema ainulaadne ja staatiline.

Kui kõik kandidaatvõtmed vastavad primaarvõtmele, siis kogenud DBA peab tegema otsuse primaarvõtme väljamõtlemiseks. Ilma kandidaatvõtmeta ei saa kunagi suhet olla.

Mõistagem kandidaadi võtit näitega. Kui lisame õpilassuhtele veel mõned atribuudid, arutasin ma eespool.

Õpilase {ID, eesnimi, perekonnanimi, vanus, aadress, DOB, osakonna_nimi}

Siin ma saan aru kaks kandidaatide võtmed, mis on {ID}, {Eesnimi, Perekonnanimi, DOB}. Nii et saate aru, kandidaatide võtmed on need, mis tuvastavad ainulaadselt suhte tüübi.

  1. Põhipunkt, mis eristab peamist võtit kandidaatvõtmest, on see, et skeemi mis tahes seose jaoks võib olla ainult üks primaarne. Kuid ühe suhte jaoks võib olla mitu kandidaatvõtit.
  2. Primaarvõtme atribuut ei tohi kunagi sisaldada väärtust NULL, kuna primaarvõtme põhifunktsioon on kirje kordumatu identifitseerimine seoses. Isegi primaarvõtit võib võõras võtmena kasutada muudes suhetes ja seetõttu ei tohi see olla NULL, nii et viiterelatsioon võib leida viidatud seose tüübid. Kandidaadivõtmeks võib olla NULL, kui pole täpsustatud atribuudi piirangut.
  3. Primaarvõtme määramine on valikuline, kuid ilma kandidaatvõtmeteta ei saa seost olla.
  4. Esmane võti kirjeldab seose ainulaadset ja kõige olulisemat atribuuti, samas kui kandidaatide võtmed pakuvad kandidaate, kelle hulgast ühe saab valida peamiseks võtmeks.
  5. Iga primaarvõti on kandidaatvõti, kuid vastupidi, see pole tõsi.

Järeldus:

Primaarvõtme määramine on suhte jaoks valikuline. Teisest küljest, kui deklareerite suhet, peavad hea seose loomiseks kandidaadivõtmed selles suhtes olema.