Primaarvõti on väli või väljade kogum, mille väärtused on kogu tabelis kordumatud. Võtmeväärtuste abil saab viidata tervetele kirjetele, kuna igal kirjel on erinev võtmeväärtus. Igal tabelil saab olla ainult üks primaarvõti. Access saab tabeli loomisel automaatselt luua primaarvõtme välja või määrata primaarvõtmena kasutatavad väljad. Selles artiklis selgitatakse, kuidas ja miks primaarvõtmeid kasutada.
Tabeli primaarvõtme seadmiseks avage tabel kujundusvaates. Valige väli (või väljad), mida soovite kasutada, ja seejärel klõpsake lindil menüüd Primaarvõti.
Märkus.: See artikkel on mõeldud kasutamiseks ainult Access töölauaandmebaasides. Access haldab Access veebirakendustes ja veebiandmebaasides automaatselt uute tabelite primaarvõtmeid. Kuigi neid automaatseid primaarvõtmeid on võimalik alistada, ei soovita me seda teha.
Selle artikli teemad
Access primaarvõtmete ülevaade
Access kasutab primaarvõtmevälju mitme tabeli andmete kiireks seostamiseks ja nende mõtestatud kombineerimiseks. Loodud primaarvõtme välja saate kasutada muudes tabelites primaarvõtme allikaks olevale tabelile viitamiseks. Teistes tabelites kutsutakse neid välju võõrvõtmeteks. Näiteks tabeli Tellijad väli Tellija ID võib olla kasutusel ka tabelis Tellimused. Tabelis Tellijad on see primaarvõti. Tabelis Tellimused nimetatakse seda võõrvõtmeks. Võõrvõti on muu tabeli primaarvõti. Lisateavet leiate teemast Andmebaasikujunduse alused.
1. Primaarvõti
2. Võõrvõti
Kui teisaldate andmeid andmebaasi, võib seal juba olla primaarvõtmega kasutatav väli. Sageli on tabeli primaarvõtmeks kordumatu identifitseerimisnumber, näiteks ID-number, seerianumber või kood. Näiteks võib teil olla klientide tabel, kus igal kliendil on kordumatu kliendi-ID. Primaarvõtmeks on Kliendi-ID väli.
Access loob primaarvõtme jaoks automaatselt indeksi, mis aitab kiirendada päringuid ja muid toiminguid. Access tagab ka, et igal kirjel on primaarvõtme väljal väärtus ja et see on alati kordumatu.
Kui loote andmelehevaates uue tabeli, loob Access teie jaoks automaatselt primaarvõtme ning määrab sellele väljanime "ID" ja andmetüübi Automaatnumber.
Milline on hea primaarvõti?
Primaarvõtmeks sobival väljal võiksid olla järgmised omadused.
-
See määratleb kordumatult iga rea.
-
See pole kunagi tühi ega Null – selles on alati väärtus.
-
Selle väärtused muutuvad harva (ideaalvariandis mitte kunagi).
Kui te ei leia head võtit, looge võtmena kasutamiseks väli Automaatnumber. Väli Automaatnumber genereerib iga kirje esmakordsel salvestamisel enda jaoks automaatselt väärtuse. Seega vastab väli Automaatnumber kõigile kolmele hea primaarvõtme omadusele. Automaatnumbri välja lisamise kohta leiate lisateavet artiklist Automaatnumbri välja lisamine primaarvõtmena.
Väli Automaatnumber on hea primaarvõti.
Näited halbade primaarvõtmete kohta
Iga väli, millel puuduvad primaarvõtmeks sobiva välja omadused on primaarvõtmeks halb valik. Siin on mõned näited väljadest, mis oleks tabeli Kontaktid jaoks halvad primaarvõtmed, koos selgitustega, miks need väljad primaarvõtmeks ei sobi.
|
Halb primaarvõti |
Põhjus |
|---|---|
|
Isiku nimi |
Ei pruugi olla tingimata kordumatu ja võib muutuda. |
|
Telefoninumber |
Võib tõenäoliselt muutuda. |
|
Meiliaadress |
Võib tõenäoliselt muutuda. |
|
Sihtnumber |
Mitmel inimesel võib olla ühine sihtnumber. |
|
Faktide ja numbrite kombinatsioonid |
Faktiosa võib muutuda, mis muudab nende haldamise keerukaks. Võivad põhjustada segadust, kui osa sisust kordub eraldi väljal. Näiteks linna nime ja järjekorranumbri ühendamine (nt TALLINN0579) on halb valik, kuna linn on talletatud eraldi väljana. |
|
Isikukoodid |
|
Koondvõtmed: mitme välja kombinatsiooni kasutamine primaarvõtmena
Vahel soovite kasutada primaarvõtmena tabeli kahte või enamat välja. Näiteks tabel Tellimuse üksikasjad, milles on read tellimuse ühikute jaoks, kasutaks primaarvõtmes kahte välja: Tellimuse ID ja Toote ID. Mitme väljaga võtit nimetatakse liitvõtmeks.
Primaarvõtme seadmine olemasolevate väljade abil Access
Hästi töötava primaarvõtme väli peab iga rea kordumatult tuvastama, ei tohi sisaldada ühtegi tühi- ega nullväärtust ja võib harva muutuda (ideaalsel juhul ei muutu kunagi). Primaarvõtme seadmiseks tehke järgmist.
-
Avage andmebaas, mida soovite muuta.
-
Paremklõpsake navigeerimispaanil tabelit, milles soovite primaarvõtme seada, ja klõpsake kiirmenüüs käsku Kujundusvaade.
Näpunäide.: Kui navigeerimispaani ei ole näha, vajutage selle kuvamiseks klahvi F11.
-
Valige väli või väljad, mida soovite primaarvõtmena kasutada.
Ühe välja valimiseks klõpsake soovitud välja reaselektorit.
Koondvõtme loomise jaoks mitme välja valimiseks vajutage juhtklahvi (CTRL) ja klõpsake siis seda all hoides järjest iga soovitud välja reaselektorit.
-
Klõpsake menüü Tabelikujundus jaotises Tööriistad nuppu Primaarvõti.
Võtme indikaator lisatakse vasakule primaarvõtmena määratletud välja või väljade kõrvale.
Primaarvõtme eemaldamine Access
Kui eemaldate primaarvõtme, pole varem primaarvõtmeks olnud väli või väljad enam kirje tuvastamise peamised vahendid.
Primaarvõtme eemaldamisel ei kustutata välju tabelist, vaid eemaldatakse primaarvõtme jaoks loodud indeks.
-
Enne primaarvõtme eemaldamist peate veenduma, et see ei kuuluks mõnda tabeliseosesse. Kui proovite eemaldada primaarvõtit, mis on osa ühest või mitmest seosest, hoiatab Access, et peate esmalt seosed kustutama.Tabeliseose kustutamiseks tehke järgmist.
-
Kui seosesse kuuluvad tabelid on avatud, sulgege need. Avatud tabelite vahelist seost ei saa kustutada.
-
Klõpsake menüü Andmebaasiriistad jaotises Seosed nuppu Seosed.
-
Valige Add Tables (Lisa tabelid).
-
Klõpsake kustutatavat tabeliseost tähistavat seosejoont (valimise korral muutub joon paksuks) ja seejärel vajutage kustutusklahvi (DELETE).
-
Klõpsake menüü Seoste kujundus jaotises Seosed nuppu Sule.
-
-
Pärast seoste kustutamist paremklõpsake navigeerimispaanil tabelit, millest soovite primaarvõtme eemaldada, ja seejärel klõpsake käsku Kujundusvaade.
Näpunäide.: Kui navigeerimispaani ei ole näha, vajutage selle kuvamiseks klahvi F11.
-
Klõpsake praeguse primaarvõtme reaselektorit.
Kui primaarvõti koosneb ainult ühest väljast, klõpsake selle välja reaselektorit.
Kui primaarvõti koosneb mitmest väljast, klõpsake ühe primaarvõtmesse kuuluva välja reaselektorit.
-
Klõpsake menüü Tabelikujundus jaotises Tööriistad nuppu Primaarvõti.
Varem primaarvõtmeks määratud väljalt või väljadelt eemaldatakse võtme indikaator.
Märkus.: Kui salvestate uue tabeli primaarvõtit määramata, palub Access teil selle luua. Kui valite väärtuse Jah, loob Access ID-välja, mis kasutab iga kirje jaoks kordumatu väärtuse andmiseks andmetüüpi Automaatnumber. Kui tabel juba sisaldab automaatnumbri välja, kasutab Access seda välja primaarvõtmena.
Primaarvõtme muutmine Access
Kui otsustate tabeli primaarvõtit muuta, saate seda teha, läbides järgmised etapid.
-
Eemaldage olemasolev primaarvõti jaotise Primaarvõtme eemaldamine juhiste abil.
-
Seadke primaarvõti jaotise Primaarvõtme seadmine juhiste abil.
Lisateave
Andmebaasidisaini ja asjakohase primaarvõtme valimise kohta leiate teavet järgmistest artiklitest: