Skirtumas tarp pagrindinio ir kandidato raktų

Autorius: Laura McKinney
Kūrybos Data: 1 Balandis 2021
Atnaujinimo Data: 7 Gegužė 2024
Anonim
Mano darbas – stebėti mišką ir čia vyksta kažkas keisto.
Video.: Mano darbas – stebėti mišką ir čia vyksta kažkas keisto.

Turinys


Raktai yra atributas arba atributų rinkinys, naudojamas prieigai prie lentelių pateikčių, arba jie taip pat naudojami santykiams tarp dviejų lentelių sukurti. Šiame straipsnyje aptarsime pirminį ir kandidato raktą bei jų skirtumus. Tiek pirminis, tiek kandidatinis raktas unikaliai identifikuoja ryšį ar lentelę. Svarbiausias dalykas, išskiriantis juos, yra tai, kad gali būti tik vienas pirminis raktas santykyje. Tačiau jų gali būti daugiau nei vienas kandidato raktas santykyje.

Yra dar keletas skirtumų tarp pirminio ir kandidato raktų, kuriuos aptarsiu naudodamas palyginimo lentelę, pateiktą žemiau.

  1. Palyginimo diagrama
  2. Apibrėžimas
  3. Pagrindiniai skirtumai
  4. Išvada

Palyginimo diagrama

Palyginimo pagrindasPirminis raktasKandidato raktas
PagrindinisBet kokiuose santykiuose gali būti tik vienas pagrindinis raktas.Ryšyje gali būti daugiau nei vienas raktas kandidatas.
NULLNei viename pagrindinio rakto atribute negali būti NULL vertės.Rakto kandidatas atributas gali turėti NULL reikšmę.
NurodykiteNeprivaloma nurodyti bet kokio ryšio pagrindinio rakto.Ryšys negali būti nurodytas nenurodžius kandidato rakto.
FunkcijaPagrindinis raktas apibūdina svarbiausią ryšio požymį.Pagrindiniai raktai pateikia kandidatus, kurie gali pretenduoti į pagrindinį raktą.
PriešingaiPagrindinis raktas yra raktas kandidatas.Tačiau neprivaloma, kad kiekvienas raktas kandidatas gali būti pagrindinis.


Pirminio rakto apibrėžimas

Pirminis raktas yra atributas arba atributų rinkinys, kuris unikaliai atpažins kiekvieną santykio elementą. Gali būti tik vienas pirminis kiekvieno santykio raktas. Reikia pasirūpinti, kad pirminis raktas turėtų niekada yra a NULL vertės, ir ji turi turėti Unikalus kiekvieno santykinio paketo vertė. Pagrindinio rakto atributo (-ų) vertės turi būti statinisy., atributo vertė niekada neturėtų keistis arba retai.

Vienas iš Kandidatų raktai įgyjama kvalifikacija tapti pagrindiniu raktu. taisykles kad raktas kandidatas turi tapti pagrindiniu, yra tas, kad raktas niekada neturėtų būti NULL ir turi būti Unikalus visoms kutelėms.

Jei santykyje yra atributas, kuris yra pagrindinis kito ryšio raktas, tada jis vadinamas svetimas raktas.


Patartina išsiaiškinti pagrindinį santykio raktą prieš įvedant kitus santykio atributus, nes pagrindinis raktas identifikuoja kiekvieną elementą unikaliai. Kaip pirminį raktą geriau pasirinkti vieną atributą arba nedidelį atributų skaičių, nes tai palengvina ryšių palaikymą.

Dabar pažiūrėkime pirminio rakto pavyzdį.

Mokinio {ID, vardas_pavardė, pavardė, amžius, adresas}

Čia pirmiausia išsiaiškinsime kandidatų raktus. Aš išsiaiškinau du kandidato raktai {ID} ir {Vardas Pavardė} nes jie unikaliai atpažins kiekvieną studentą santykyje su studentu. Dabar aš čia pasirinksiu ID mano pagrindinis raktas, nes kartais gali nutikti taip, kad du studentai turi tuos pačius vardus ir pavardes, todėl bus lengva atsekti studentą su jo ID.

Kandidato rakto apibrėžimas

A kandidato raktas yra atributas arba atributo rinkinys, kuris vienareikšmiškai nusako ryšį. Ten būti daugiau nei vienas kandidato raktas santykyje. Šie raktai kandidatai yra kandidatai, kurie gali tapti pagrindiniu raktu.

Nors kiekvienas raktas kandidatas gali tapti pagrindiniu raktu, jį galima pasirinkti tik vieną. Taisyklės, kurių raktas kandidatas turi tapti pagrindiniu raktu, yra rakto atributo vertė, kuri niekada negali būti NULL bet kurioje rakto srityje jis privalo būti Unikalus ir statinis.

Jei visi raktai kandidatai atitinka pagrindinį raktą, tai patyręs DBA turi priimti sprendimą išsiaiškinti pagrindinį raktą. Niekada negali būti ryšių be kandidato rakto.

Supraskime pagrindinį kandidato pavyzdį. Jei prie studentų santykio pridėsime dar keletą atributų, aptariau aukščiau.

Studentas {ID, vardas_pavardė, pavardė, amžius, adresas, DOB, skyriaus_pavadinimas}

Čia aš galiu išsiaiškinti du kandidatų raktai, kurie yra {ID}, {Vardas, Pavardė, DOB}. Taigi jūs galite suprasti, kokie kandidatų klavišai vienareikšmiškai identifikuoja esmę santykyje.

  1. Pagrindinis dalykas, išskiriantis pirminį raktą nuo kandidato, yra tas, kad bet kuriame schemos ryšyje gali būti tik vienas pirminis. Tačiau vienam ryšiui gali būti keli raktai kandidatai.
  2. Po pagrindinio rakto atributu niekada negali būti NULL vertės, nes pagrindinė pirminio rakto funkcija yra unikaliai identifikuoti įrašą. Net pirminis raktas gali būti naudojamas kaip svetimas raktas kituose santykiuose, todėl jis neturi būti NULL, kad nuorodinis ryšys galėtų rasti nurodyto santykio strėles. Kandidato raktas gali būti NULL, nebent nurodytas atributo apribojimas nėra niekinis.
  3. Nebūtina nurodyti pirminio rakto, tačiau ryšio be kandidatų negali būti.
  4. Pagrindinis raktas apibūdina unikalų ir svarbiausią santykio požymį, tuo tarpu kandidato raktai suteikia kandidatams, iš kurių vieną galima pasirinkti kaip pagrindinį raktą.
  5. Kiekvienas pagrindinis raktas yra kandidatas, bet atvirkščiai, netiesa.

Išvada:

Ryšiui neprivaloma nurodyti pirminio rakto. Kita vertus, jei jūs deklaruojate santykį, norint sukurti gerą santykį, kandidatų raktai turi būti tame santykyje.