Pirminis raktas yra laukas arba laukų rinkinys, kuriame pateikiamos unikalios visoje lentelėje vertės. Rakto vertes galima nurodyti visiems įrašams, nes kiekvienas įrašas turi skirtingą rakto vertę. Kiekvienoje lentelėje gali būti tik vienas pirminis raktas. „Access “ gali automatiškai sukurti pirminio rakto lauką už jus, kai sukuriate lentelę, arba galite nurodyti laukus, kuriuos norite naudoti kaip pirminį raktą. Šiame straipsnyje aiškinama, kaip ir kodėl naudojami pirminiai raktai.
Norėdami nustatyti pirminį lentelės raktą, atidarykite lentelės rodinį Dizainas. Pažymėkite norimą naudoti lauką (arba laukus), tada juostelėje spustelėkite Pirminis raktas.
Pastaba: Šis straipsnis taikomas tik naudojant „Access“ kompiuterio duomenų bazes. „Access“ automatiškai tvarko pirminius naujų lentelių raktus „Access“ žiniatinklio programėlėse ir žiniatinklio duomenų bazėse. Šiuos automatinius pirminius raktus galite pakeisti, tačiau to daryti nerekomenduojame.
Šiame straipsnyje
Pirminių raktų programoje „Access“ apžvalga
"Access" naudoja pirminių raktų laukus, kad greitai susietų kelių lentelių duomenis ir prasmingai sujungtų duomenis. Galite įtraukti pirminio rakto laukus į kitas lenteles, kad galėtumėte grąžinti nuorodą į lentelę, kuri yra pirminio rakto šaltinis. Šiose kitose lentelėse laukai vadinami išoriniais raktais. Pavyzdžiui, lentelės Klientai laukas Kliento ID taip pat gali būti rodomas lentelėje Užsakymai. Lentelėje Klientai tai yra pirminis raktas. Lentelėje Užsakymai jis vadinamas išoriniu raktu. Tiesiog nurodytas išorinis raktas yra kitos lentelės pirminis raktas. Daugiau informacijos žr. Duomenų bazės kūrimo pagrindai.
1. Pirminis raktas
2. Išorinis raktas
Jei perkeliate esamus duomenis į duomenų bazę, galbūt jau turite lauką, kurį galite naudoti kaip pirminį raktą. Dažnai unikalus identifikatorius, pvz., ID numeris arba serijos numeris ar kodas, yra naudojamas kaip lentelės pirminis raktas. Pavyzdžiui, turite lentelę Klientai, kurioje kiekvienas klientas turi unikalų kliento ID numerį. Kliento ID laukas yra pirminis raktas.
„Access“ automatiškai sukuria pirminio rakto rodyklę, taip paspartinant užklausas ir kitas operacijas. „Access“ taip pat užtikrina, kad kiekvienas įrašas pirminio rakto lauke turėtų reikšmę ir, kad ji visada būtų unikali.
Kai sukuriate naują lentelę duomenų lapo rodinyje, programa „Access“ automatiškai sukuria pirminį raktą ir priskiria jam ID lauko pavadinimą ir duomenų tipą „AutoNumber“.
Kaip sukurti gerą pirminį raktą?
Geras pirminis raktas pasižymi keliomis savybėmis:
-
Jis unikaliai identifikuoja kiekvieną eilutę
-
Jis niekada nebūna tuščias ar neapibrėžtas – jame visada yra vertė
-
Jame esanti vertė retai (idealiu atveju – niekada) keičiasi
Jei nežinote, ar raktas geras, sukurkite „AutoNumber“ lauką, kurį naudosite kaip raktą. „AutoNumber“ automatiškai sugeneruoja savo reikšmę, kai pirmą kartą įrašomas įrašas. Taigi „AutoNumber“ laukas atitinka visas tris gero pirminio rakto charakteristikas. Daugiau informacijos apie „AutoNumber“ lauko įtraukimą žr. straipsnį „AutoNumber“ lauko kaip pirminio rakto įtraukimas.
„AutoNumber“ laukas būna geras pirminis raktas.
Blogų pirminių raktų pavyzdžiai
Bet koks laukas, kuriame nėra vienos ar kelių gero rakto savybių, yra blogas pirminio rakto pasirinkimas. Štai keli laukų pavyzdžiai, kurie būtų prasti pirminiai lentelės Kontaktai raktai, ir priežastys, dėl kurių jie netinka.
Prastas pirminio rakto |
Priežastis |
---|---|
Asmens vardas |
Gali nebūti patikimai unikalus, be to, gali keistis |
Telefono numeris |
Gali keistis. |
El. pašto adresas |
Gali keistis. |
Pašto indeksas |
Daugiau nei vienas asmuo gali naudoti tą patį pašto kodą |
Faktų ir skaičių derinys |
Faktų dalis gali keistis, todėl iškiltų priežiūros problemų. Jie gali sukelti sumaištį, jei faktų dalis kartojama kaip atskiras laukas. Pavyzdžiui, derinys, apimantis miestą ir numerį (pvz., VILNIUS0579), yra blogas pasirinkimas, jei miestas taip pat yra išsaugotas kaip laukas. |
Socialinio draudimo numeriai |
|
Raktų kūrimas: kelių laukų naudojimas kaip pirminio rakto
Kai kuriais atvejais kaip pirminį raktą galite naudoti vieną arba daugiau lentelės laukų. Pavyzdžiui, lentelėje Užsakymų išsami informacija, kurioje saugomi užsakymų eilučių elementai, pirminis raktas gali būti sudarytas iš dviejų laukų: Užsakymo ID ir Produkto ID. Raktas, kuris sudaromas iš daugiau nei vieno lauko, vadinamas sudėtiniu raktu.
Pirminio rakto nustatymas naudojant „Access“ turimus laukus
Kad pirminis raktas gerai veiktų, laukas turi unikaliai identifikuoti kiekvieną eilutę, jame niekada negali būti tuščios ar neapibrėžtos (null) reikšmės ir retai kada (geriausia – niekada) keistųsi. Norėdami nustatyti pirminį raktą:
-
Atidarykite duomenų bazę, kurią norite keisti.
-
Naršymo srityje dešiniuoju pelės mygtuku spustelėkite lentelę, kurioje norite nustatyti pirminį raktą, tada laikinajame meniu spustelėkite Dizaino rodinys.
Patarimas: Jei nematote naršymo srities, paspauskite klavišą F11, ir ji atsidarys.
-
Pažymėkite lauką ar laukus, kuriuos naudosite kaip pirminį raktą.
Norėdami pažymėti vieną lauką, spustelėkite norimo lauko eilutės parinkiklį.
Norėdami pažymėti kelis laukus, kad sukurtumėte sudėtinį raktą, laikykite nuspaudę klavišą CTRL ir spustelėkite kiekvieno lauko eilutės parinkiklį.
-
Skirtuko Lentelės dizainas grupėje Įrankiai spustelėkite Pirminis raktas.
Rakto indikatorius pridedamas lauko ar laukų, kuriuos nurodėte kaip pirminį raktą, kairėje pusėje.
Pirminio rakto šalinimas „Access“
Pašalinus pirminį raktą, laukas ar laukai, kurie anksčiau buvo pirminiai raktai, nebeteiks pirminės įrašų identifikavimo funkcijos.
Pašalinę pirminį raktą, nepanaikinsite lentelės laukų, tačiau pašalinsite pirminiam raktui sukurtą rodyklę.
-
Prieš šalindami pirminį raktą, turite įsitikinti, kad jis nėra jokių lentelės ryšių dalis. Jei bandysite šalinti pirminį raktą, kuris yra vieno ar kelių ryšių dalis, programa „Access“ perspės jus, kad iš pradžių turite panaikinti ryšį.
Norėdami panaikinti lentelės ryšius, atlikite šiuos veiksmus:-
Jei lentelių ryšyje dalyvaujančios lentelės atidarytos – uždarykite jas. Lentelių ryšio negalėsite panaikinti atidarytose lentelėse.
-
Skirtuko Duomenų bazės įrankiai grupėje Ryšiai spustelėkite Ryšiai.
-
Pasirinkite Įtraukti lentelių.
-
Spustelėkite norimo naikinti lentelės ryšio eilutę (pažymėjus eilutę, ji tampa paryškinta), tada paspauskite klavišą DELETE.
-
Skirtuko Ryšių dizainas grupėje Ryšiai spustelėkite Uždaryti.
-
-
Panaikinę ryšius, naršymo srityje dešiniuoju pelės mygtuku spustelėkite lentelę, iš kurios norite šalinti pirminį raktą, tada spustelėkite Dizaino rodinys.
Patarimas: Jei nematote naršymo juostos, paspauskite klavišą F11, ir ji atsidarys.
-
Spustelėkite dabartinio pirminio rakto eilutės parinkiklį.
Jeigu pirminį raktą sudaro vienas laukas, spustelėkite to lauko eilutės parinkiklį.
Jeigu pirminis raktas sudarytas iš kelių laukų, spustelėkite bet kurio lauko, esančio pirminiame rakte, eilutės parinkiklį.
-
Skirtuko Lentelės dizainas grupėje Įrankiai spustelėkite Pirminis raktas.
Rakto indikatorius pašalinamas iš lauko arba laukų, kuriuos anksčiau nurodėte kaip pirminį raktą.
Pastaba: Jei naują lentelę įrašote nenustatydami pirminio rakto, programa „Access“ paragina jį sukurti. Pasirinkus Taip, programa „Access“ sukuria ID lauką, kurio duomenų tipas yra „AutoNumber“, kad kiekvienam įrašui būtų suteikta unikali reikšmė. Jei jūsų lentelėje jau yra laukas „AutoNumber“, programa „Access“ naudoja jį kaip pirminį raktą.
Pirminio rakto keitimas „Access“
Jei nuspręstumėte keisti lentelės pirminį raktą, galite tai padaryti atlikdami šiuos veiksmus:
-
Naudodamiesi skyriuje Pirminio rakto šalinimas pateiktomis instrukcijomis, pašalinkite esamą pirminį raktą.
-
Naudodamiesi skyriuje Pirminio rakto nustatymas pateiktomis instrukcijomis, nustatykite pirminį raktą.
Papildoma informacija
Daugiau informacijos apie duomenų bazės kūrimą ir atitinkamo pirminio rakto pasirinkimą, žr. straipsnius: