Primārā atslēga vs kandidāta atslēga
Lai gan primārā atslēga ir atlasīta no kandidātu atslēgām, pastāv atšķirība starp primāro atslēgu un pārējām kandidātu atslēgām, kas tiks detalizēti aplūkotas šajā rakstā. Datu bāzes projektēšana ir viena no vissvarīgākajām darbībām, kas jāveic, uzturot un uzglabājot datus. Šajā projektēšanas procesā ir jāizveido dažādas tabulas ar daudzām attiecībām. Lai piekļūtu šīm tabulām datu bāzē, mūsdienu datu bāzes projektēšanas valodās, piemēram, MYSQL, MSAccess, SQLite uc, tiek izmantoti dažāda veida taustiņi. No šīm atslēgām datu bāzes projektēšanas praksē ir kļuvušas būtiskas kandidātu atslēgas un primārās atslēgas.
Kas ir kandidāta atslēga?
Kandidāta atslēga ir viena kolonna vai kolonnu kopa datu bāzes tabulā, ko var izmantot, lai unikāli identificētu jebkuru datu bāzes ierakstu, neatsaucoties uz citiem datiem. Katrā datu bāzes tabulā var būt viena vai vairākas kandidātu atslēgas. Kandidātu atslēgu komplektu var izveidot, izmantojot funkcionālās atkarības. Kandidāta atslēgā ir dažas svarīgas iezīmes. Viņi ir;
• kandidātu atslēgām domēnā jābūt unikālām, un tajās nedrīkst būt NULL vērtību.
• kandidāta atslēgai nekad nevajadzētu mainīties, un tai jābūt vienādai ar noteiktu vienības gadījumu.
Kandidāta atslēgas galvenais mērķis ir palīdzēt vienā tabulā identificēt vienu rindu no miljoniem rindu. Katra kandidāta atslēga ir kvalificēta kļūt par primāro atslēgu. Tomēr no visām kandidātu atslēgām vissvarīgākā un īpašākā kandidāta atslēga kļūs par tabulas galveno atslēgu, un tā ir labākā starp kandidātu atslēgām.
Kas ir primārā atslēga?
Primārā atslēga ir labākā tabulas kandidāta atslēga, ko izmanto, lai unikāli identificētu tabulā glabātos ierakstus. Veidojot jaunu tabulu datu bāzē, mums tiek lūgts izvēlēties primāro atslēgu. Tāpēc tabulas primārās atslēgas izvēle ir vissvarīgākais lēmums, kas jāpieņem datu bāzes dizainerim. Vissvarīgākais ierobežojums, kas jāņem vērā, lemjot par primāro atslēgu, ir tas, ka atlasītajā tabulas kolonnā jābūt tikai unikālām vērtībām un tajā nedrīkst būt NULL vērtības. Dažas no galvenajām atslēgām, kuras parasti izmanto, veidojot tabulas, ir sociālā nodrošinājuma numurs (SSN), ID un valsts identifikācijas kartes numurs (NIC).
Programmētājam vajadzētu atcerēties rūpīgi izvēlēties primāro atslēgu, jo to ir grūti mainīt. Tāpēc, pēc programmētāju domām, primārās atslēgas izveides labākā prakse ir izmantot iekšēji ģenerētu primāro atslēgu, piemēram, ieraksta ID, ko izveidojis MS Access datu tips AutoNumber. Ja mēģināsim ievietot ierakstu tabulā ar primāro atslēgu, kas dublē esošu ierakstu, ievietošana neizdosies. Primārās atslēgas vērtībai nevajadzētu pastāvīgi mainīties, tāpēc svarīgāk ir saglabāt statisko primāro atslēgu.
Primārā atslēga ir labākā kandidāta atslēga.
Kāda ir atšķirība starp primāro atslēgu un kandidāta atslēgu?
• Kandidāta atslēga ir kolonna, kas kvalificējas kā unikāla, savukārt galvenā atslēga ir kolonna, kas unikāli identificē ierakstu.
• Tabula bez kandidātu atslēgām neatspoguļo nekādas saistības.
• Datu bāzē var būt daudz tabulas kandidātu atslēgu, taču tabulai jābūt tikai vienai galvenajai atslēgai.
• Kaut arī galvenā atslēga ir viena no kandidāta atslēgām, dažreiz tā ir vienīgā kandidāta atslēga.
• Kad galvenā atslēga ir atlasīta, pārējās kandidāta atslēgas kļūst par unikālām atslēgām.
• Praktiski kandidāta atslēga var saturēt NULL vērtības, lai gan tā pašlaik nesatur nevienu vērtību. Tāpēc kandidāta atslēga nav kvalificēta primārajai atslēgai, jo primārajā atslēgā nedrīkst būt NULL vērtības.
• Var būt arī iespējams, ka kandidātu atslēgās, kas šobrīd ir unikālas, var būt vērtību dublikāti, kas diskvalificē kandidāta atslēgu kļūt par primāro atslēgu.
Kopsavilkums:
Primārā atslēga pret kandidāta atslēgu
Kandidāta atslēga un primārā atslēga ir būtiskas atslēgas, kuras tiek izmantotas, veidojot datu bāzes, lai unikāli identificētu ierakstā esošos datus un izveidotu sakarus starp datu bāzes tabulām. Tabulā jābūt tikai vienai primārajai atslēgai, un tajā var būt vairākas kandidātu atslēgas. Mūsdienās lielākā daļa datu bāzu spēj automātiski ģenerēt savu primāro atslēgu. Tāpēc primārā atslēga un kandidātu atslēgas sniedz lielu atbalstu datu bāzes pārvaldības sistēmām.
Attēli Pieklājība: