Pirminis raktas prieš kandidatinį raktą
Nors pirminis raktas pasirenkamas iš galimų raktų, tarp pirminio rakto ir kitų galimų raktų yra tam tikrų skirtumų, kurie bus išsamiai aptariami šiame straipsnyje. Duomenų bazių projektavimas yra viena iš svarbiausių veiklų, kurią reikia atlikti tvarkant ir saugant duomenis. Šio projektavimo proceso metu reikia sukurti skirtingas lenteles su daugybe ryšių. Norint pasiekti šias lenteles duomenų bazėje, šiuolaikinėse duomenų bazių projektavimo kalbose, tokiose kaip MYSQL, MSAccess, SQLite ir kt., naudojami įvairių tipų raktai. Iš šių raktų kandidatiniai raktai ir pirminiai raktai tapo būtini duomenų bazių projektavimo praktikoje.
Kas yra kandidato raktas?
Kandidato raktas yra vienas duomenų bazės lentelės stulpelis arba stulpelių rinkinys, kuris gali būti naudojamas unikaliai identifikuoti bet kurį duomenų bazės įrašą, nesikreipiant į jokius kitus duomenis. Kiekvienoje duomenų bazės lentelėje gali būti vienas arba daugiau nei vienas raktas. Naudojant funkcines priklausomybes galima sukurti kandidatų raktų rinkinį. Kandidato rakte yra keletas svarbių funkcijų. Jie yra;
• kandidatų raktai domene turi būti unikalūs ir juose neturi būti jokių NULL reikšmių.
• kandidato raktas niekada neturėtų keistis ir turi turėti tą pačią reikšmę konkrečiam objekto įvykiui.
Pagrindinis kandidato rakto tikslas yra padėti identifikuoti vieną eilutę iš milijonų didelės lentelės eilučių. Kiekvienas kandidatas raktas yra kvalifikuotas tapti pirminiu raktu. Tačiau iš visų kandidatų raktų svarbiausias ir ypatingiausias kandidato raktas taps pirminiu lentelės raktu ir yra geriausias tarp kandidatų raktų.
Kas yra pirminis raktas?
Pirminis raktas yra geriausias kandidatas į lentelės raktą, kuris naudojamas unikaliai identifikuoti lentelėje saugomus įrašus. Kuriant naują lentelę duomenų bazėje, mūsų prašoma pasirinkti pirminį raktą. Todėl pirminio lentelės rakto pasirinkimas yra pats svarbiausias sprendimas, kurį turėtų priimti duomenų bazės dizaineris. Svarbiausias apribojimas, į kurį reikia atsižvelgti sprendžiant dėl pirminio rakto, yra tas, kad pasirinktame lentelės stulpelyje turi būti tik unikalios reikšmės ir jame neturi būti jokių NULL reikšmių. Kai kurie pirminiai raktai, dažniausiai naudojami kuriant lenteles, yra socialinio draudimo numeris (SSN), ID ir nacionalinės tapatybės kortelės numeris (NIC).
Programuotojas turėtų nepamiršti atidžiai pasirinkti pirminį raktą, nes jį sunku pakeisti. Todėl, pasak programuotojų, geriausia pirminio rakto kūrimo praktika yra naudoti viduje sugeneruotą pirminį raktą, pvz., įrašo ID, sukurtą automatinio numerio duomenų tipo MS Access. Jei bandysime į lentelę įterpti įrašą su pirminiu raktu, kuris dubliuoja esamą įrašą, įterpimas nepavyks. Pirminio rakto reikšmė neturėtų nuolat keistis, todėl svarbiau išlaikyti statinį pirminį raktą.
Pirminis raktas yra geriausias raktas.
Kuo skiriasi pagrindinis raktas ir kandidato raktas?
• Kandidatas raktas yra stulpelis, kuris laikomas unikaliu, o pirminis raktas yra stulpelis, kuris unikaliai identifikuoja įrašą.
• Lentelė be kandidatų raktų neatspindi jokio ryšio.
• Duomenų bazėje gali būti daug galimų lentelės raktų, tačiau turi būti tik vienas pirminis lentelės raktas.
• Nors pirminis raktas yra vienas iš galimų raktų, kartais jis yra vienintelis kandidatas.
• Pasirinkus pirminį raktą, kiti galimi raktai tampa unikaliais raktais.
• Praktiškai kandidatiniame rakte gali būti NULL reikšmių, nors šiuo metu jame nėra jokios reikšmės. Todėl raktas kandidatas nėra tinkamas pirminiam raktui, nes pirminiame rakte neturėtų būti jokių NULL reikšmių.
• Taip pat gali būti, kad kandidatiniuose raktuose, kurie šiuo metu yra unikalūs, gali būti pasikartojančių reikšmių, dėl kurių kandidato raktas netaps pirminiu raktu.
Santrauka:
Pirminis raktas prieš kandidatinį raktą
Kandidato raktas ir pirminis raktas yra esminiai raktai, naudojami kuriant duomenų bazes, siekiant unikaliai identifikuoti duomenis įraše ir užmegzti ryšius tarp duomenų bazės lentelių. Lentelėje turi būti tik vienas pirminis raktas ir gali būti daugiau nei vienas raktas. Šiandien dauguma duomenų bazių gali automatiškai generuoti savo pirminį raktą. Todėl pirminis raktas ir raktai kandidatai suteikia daug paramos duomenų bazių valdymo sistemoms.