Tabeliseoste juhend

Tabeliseoste juhend

NB! :  See artikkel on masintõlgitud, vaadake lahtiütlust. Selle artikli ingliskeelse versiooni leiate aadressilt (viiteks).

Üks hea andmebaasikujunduse eesmärke on eemaldada andmete liiasus (duplikaatandmed). Selle eesmärgi saavutamiseks tuleb jagada andmed mitmeks teemapõhiseks tabeliks nii, et iga fakt on esitatud ainult üks kord. Seejärel tuleb võimaldada Accessil jagatud teave uuesti kokku koguda – selleks tuleb seada seotud tabelite jaoks ühised väljad. Selle õigesti tegemiseks peate esmalt siiski mõistma oma tabelite vahelisi seoseid ja seejärel määrama need seosed oma andmebaasis.

Selle artikli teemad

Sissejuhatus

Tabeliseoste tüübid

Milleks luua tabeliseoseid?

Viitamistervikluse olemus

Tabeliseoste kuvamine

Tabeliseose loomine

Tabeliseose kustutamine

Tabeliseose muutmine

Viitamistervikluse jõustamine

Sissejuhatus

Kui olete loonud oma andmebaasi iga teema jaoks tabeli, peate võimaldama Accessil see teave vajadusel uuesti kokku koguda. Selleks tuleb luua seotud tabelites ühised väljad ja määratleda oma tabelite vahelised seosed. Seejärel saate luua päringuid, vorme ja aruandeid, mis kuvavad korraga mitme tabeli teabe. Näiteks siin kuvatud vorm sisaldab mitmest tabelist pärit teavet:

Tellimusevorm, kus on kuvatud korraga viie tabeli seotud teave

1. Selle vormi teave pärineb tabelist Kliendid...

2. ...tabelist Tellimused...

3. ...tabelist Tooted...

4. ...ja tabelist Tellimuse üksikasjad.

Välja Arve adressaat nimi laaditakse alla tabelist Kliendid, väärtused Tellimuse ID ja Tellimuse kuupäev pärinevad tabelist Tellimused, tootenimi pärineb tabelist Tooted ning väärtused Ühiku hind ja Kogus pärinevad tabelist Tellimuse üksikasjad. Need tabelid on üksteisega lingitud mitmel viisil, et tuua vormile iga tabeli teave.

Ülaltoodud näite tabelite välju tuleb sobitada nii, et neis kuvataks teave sama tellimuse kohta. Sellist sobitamist saab teha tabeliseoste abil. Tabeliseos toimib võtmeväljadel andmete vastendamise teel  – võtmeväli on sageli mõlemas tabelis sama nimega. Enamasti on vastendatavad väljad ühe tabeli primaarvõti, mis kujutab endast iga kirje kordumatut identifikaatorit, ning teise tabeli võõrvõti. Näiteks saab töötajaid seostada tellimustega, mille eest nad vastutavad, luues tabelite Töötajad ja Tellimused väljade Töötaja ID vahelise tabeliseose.

Töötaja ID, mida kasutatakse tabelis Töötajad primaarvõtmena ning tabelis Tellimused võõrvõtmena.

1. Töötaja ID kuvatakse mõlemas tabelis  – primaarvõtme...

2. ...ja võõrvõtmena.

Lehe algusse

Tabeliseoste tüübid

On kolme tüüpi Accessi tabeli seosed.

  • Üks-mitmele seos

    Kasutagem näitena tellimuste jälitamise andmebaasi, mis sisaldab tabelit Kliendid ja tabelit Tellimused. Klient võib esitada suvalise arvu tellimusi. Neid jälitatakse iga tabelis Kliendid esindatud kliendi puhul, tabelis Tellimused võib olla palju tellimusi. Tabeli Kliendid ja tabeli Tellimused vahel on üks-mitmele seos.

    Andmebaasikujunduses üks-mitmele seose loomiseks võtke seose "üks"-poolelt primaarvõti ja lisage see lisavälja või -väljadena seose "mitmele"-poolel asuvasse tabelisse. Käesoleval juhul lisate näiteks uue välja – tabeli Kliendid välja ID – tabelisse Tellimused ja panete sellele nime Kliendi ID. Seejärel saab Access kasutada tabeli Tellimused kliendi ID-d iga tellimuse puhul õige kliendi leidmiseks.

  • Mitu-mitmele seos

    Vaatleme nüüd tabeli Tooted ja tabeli Tellimused vahelist seost. Üks tellimus võib sisaldada mitut toodet. Teisest küljest võidakse üks toode kuvada ka paljudes tellimustes. Seetõttu võib tabeli Tellimused iga kirje kohta olla tabelis Tooted mitu kirjet. Lisaks võib tabeli Tooted iga kirje kohta olla tabelis Tellimused mitu kirjet. Seda seost nimetatakse mitu-mitmele seoseks. Arvestage, et tabelitevaheliste mitu-mitmele seoste tuvastamiseks peate arvestama seose mõlema poolega.

    Mitu-mitmele seose loomiseks peate looma kolmanda tabeli (mida nimetatakse sageli sõlmtabeliks), mis jaotab mitu-mitmele seose kaheks üks-mitmele seoseks. Lisage mõlema tabeli primaarvõti kolmandasse tabelisse. Selle tulemusena salvestatakse seose iga esinemisjuht või eksemplar kolmandasse tabelisse. Näiteks tabeli Tellimused ja tabeli Tooted vahel on mitu-mitmele seos, mis määratletakse tabelisse Tellimuse üksikasjad kahe üks-mitmele seose loomise teel. Ühe tellimuse kohta võib olla mitu toodet ning iga toode võib esineda mitmes tellimuses.

  • Üks-ühele seos

    Üks-ühele seose puhul võib igal esimese tabeli kirjel olla teises tabelis ainult üks vastav kirje ning igal teise tabeli kirjel võib olla esimeses tabelis ainult üks vastav kirje. See seos pole eriti levinud, kuna enamasti salvestatakse sel viisil seotud teave samasse tabelisse. Üks-ühele seost võite kasutada mitme väljaga tabeli jagamiseks, turvalisust silmas pidades mõne tabeliosa isoleerimiseks või ainult põhitabeli alamhulgale rakenduva teabe salvestamiseks. Sellise seose tuvastamisel peab mõlemal tabelil olema ühine üldväli.

Lehe algusse

Milleks luua tabeliseoseid?

Tabeliseoseid saate luua otse akna Seosed kaudu või lohistades välja paanilt Väljaloend. Access kasutab tabeliseoseid selleks, et otsustada, kuidas liita tabeleid, kui peate kasutama neid andmebaasiobjektis. On mitu põhjust, miks peaksite enne muude andmebaasiobjektide (nt vormide, päringute ja aruannete) loomist looma tabeliseosed.

  • Tabeliseosed teavitavad päringukujundusi

    Mitme tabeli kirjetega töötamiseks peate sageli looma päringu, mis need tabelid liidab. Päring vastendab esimese tabeli primaarvõtme välja väärtused teise tabeli võõrvõtme väljaga. Näiteks iga kliendi kõigi tellimustega ridade tagastamiseks koostage päring, mis liidab välja Kliendi ID põhjal tabeli Kliendid ja tabeli Tellimused. Aknas Seosed saate liidetavad väljad käsitsi määrata. Kui teil aga on juba tabelitevaheline seos määratletud, pakub Access olemasoleva tabeliseose põhjal vaikeliitmise. Kui kasutate ühte päringuviisarditest, kasutab Access määratletud tabeliseostest kogutud teavet, et pakkuda teile teadlikke valikuid ning eeltäita atribuudisätted sobivate vaikeväärtustega.

  • Tabeliseosed teavitavad teie vormi- ja aruandekujundusi

    Vormi või aruande kujundamisel kasutab Access määratletud tabeliseostest kogutud teavet, et pakkuda teile teadlikke valikuid ning eeltäita atribuudisätted sobivate vaikeväärtustega.

  • Tabeliseoste alusel saate jõustada viitamistervikluse, et vältida oma andmebaasis orbkirjeid. Orbkirje on kirje, mis viitab mõnele olematule kirjele – nt tellimusekirje, mis viitab olematule kliendikirjele.

    Andmebaasi kujundamisel jaotate oma teabe tabelitesse, millel on igaühel oma primaarvõti. Seejärel lisate neile primaarvõtmetele viitavatesse seotud tabelitesse võõrvõtmed. Need võõrvõtme ja primaarvõtme paarid moodustavad tabeliseoste ja mitme tabeli päringute aluse. On oluline, et need võõrvõtme ja primaarvõtme viited oleksid sünkroonitud. Tabeliseostest sõltumatu viitamisterviklus aitab tagada viidete sünkroonsuse.

Lehe algusse

Viitamistervikluse olemus

Andmebaasi kujundamisel jaotate oma andmebaasiteabe paljudesse teemapõhistesse tabelitesse, et minimeerida andmete liiasust. Seejärel annate Accessile vahendid, mille abil andmed uuesti koguda, paigutades üldväljad seotud tabelitesse. Näiteks üks-mitmele seose loomiseks võtke "üks"-poole tabelist primaarvõti ja lisage see lisaväljana "mitmele"-poole tabelisse. Andmete uuestikogumiseks võtab Access "mitmele"-poole tabeli väärtuse ja otsib "üks"-poole tabelist vastava väärtuse. Nii viitavad "mitmele"-poole tabeli väärtused "üks"-poole tabeli vastavatele väärtustele.

Oletame, et teil on tabelite Ekspediitorid ja Tellimused vahel üks-mitmele seos ning soovite mõne ekspediitori kustutada. Kui ekspediitoril, kelle soovite kustutada, on tabelis Tellimused mõni tellimus, siis need tellimused muutuvad selle ekspediitori kirje kustutamisel nn orbudeks. Need tellimused sisaldavad endiselt ekspediitori ID-d, kuid see ID ei kehti enam, kuna selle aluseks olevat kirjet pole enam olemas.

Viitamistervikluse eesmärk on takistada orbude teket ning säilitada viidete sünkroonsus, et sellist hüpoteetilist olukorda kunagi ei tekiks.

Viitamistervikluse jõustamiseks lubage see tabeliseose puhul (üksikasjalike juhiste saamiseks lugege teemat Viitamistervikluse jõustamine). Pärast viitamistervikluse jõustamist hülgab Access kõik toimingud, mis kahjustavad tabeli seose viitamisterviklust. See tähendab, et Access hülgab mõlemad värskendused, mis muudavad viite sihtmärki, ning kustutamistoimingud, mis eemaldavad viite sihtmärgi. Võimalik, et teil on tõesti vaja muuta sellise ekspediitori primaarvõtit, kellel on tabelis Tellimused mõni tellimus. Sel juhul on vaja, et Access värskendaks ühe toimingu käigus automaatselt kõik mõjutatud read. Nii tagab Access selle, et värskendamine viiakse täielikult lõpule ning teie andmebaas ei jää vastuolulisse olekusse, kus mõni rida on värskendatud ning mõni rida mitte. Seetõttu toetab Access seostuvate väljade suvandit Kaskaadvärskenda seostuvad väljad. Kui jõustate viitamistervikluse ja valite suvandi Kaskaadvärskenda seostuvad väljad ning seejärel värskendate primaarvõtme, värskendab Access automaatselt kõik primaarvõtmele viitavad väljad.

Võimalik, et peate tõesti kustutama mõne rea ja kõik sellega seotud kirjed – näiteks ekspediitori kirje ja kõik selle ekspediitori seotud kirjed. Seetõttu toetab Access suvandit Kaskaadkustuta seostuvad kirjed. Kui jõustate viitamistervikluse ning valite suvandi Kaskaadkustuta seostuvad kirjed ja seejärel kustutate seose primaarvõtme poolel mõne kirje, kustutab Access automaatselt sellele primaarvõtmele viitavad väljad.

Lehe algusse

Tabeliseoste kuvamine

Tabeliseoste kuvamiseks klõpsake vahekaardi Andmebaasi tööriistad nuppu Seosed. Avaneb aken Seosed, kus kuvatakse kõik olemasolevad seosed. Kui ühtegi tabeliseost pole veel määratletud ning avate akna Seosed esimest korda, palub Access teil lisada sellesse aknasse mõne tabeli või päringu.

Akna Seosed avamine

  1. Klõpsake menüüd Fail ja seejärel nuppu Ava.

  2. Valige ja avage andmebaas.

  3. Klõpsake menüü Andmebaasiriistad jaotises Seosed nuppu Seosed.

    Kui andmebaas sisaldab seoseid, kuvatakse aken Seosed. Kui andmebaas ei sisalda ühtegi seost ning avate akna Seosed esimest korda, kuvatakse dialoogiboks Tabeli kuvamine. Dialoogiboksi sulgemiseks klõpsake nuppu Sule
    .

  4. Klõpsake menüü Kujundus jaotises Seosed nuppu Kõik seosed.

    Kuvatakse kõik teie andmebaasi määratletud seosed. Arvestage, et peidetud tabeleid (tabeleid, mille puhul on dialoogiboksis Atribuudid märgitud ruut Peidetud) ning nende seoseid ei kuvata, välja arvatud juhul, kui dialoogiboksis Navigeerimissuvandid on märgitud ruut Kuva peidetud objektid.

Tabeliseost tähistab seosejoont, mis kuvatakse akna Seosed tabelite vahel. Seos, mis ei jõusta viitamisterviklust, kuvatakse seda seost toetavate üldväljade vahel peene joonena. Kui valite seose selle joont klõpsates, siis muutub joon paksemaks, näitamaks, et see on valitud. Kui jõustate seose viitamistervikluse, kuvatakse see joone otsad paksemana. Lisaks kuvatakse seose ühel poolel joone paksema osa kohal arv 1 ning teisel poolel joone paksema osa kohal lõpmatuse sümbol (8).

Kui aken Seosed on aktiivne, saate valida järgmiste lindi käskude seast soovitud käsu.

Vahekaardi Kujundus jaotis Tööriistad:

  • Redigeeri seoseid.    Avab dialoogiboksi Seoste redigeerimine. Seoserea valimisel saate klõpsata käsku Redigeeri seoseid, et muuta tabeliseost. Võite seoserida ka topeltklõpsata.

  • Tühjenda küljend.    Eemaldab aknast Seosed kõik tabelid ja seosed. Arvestage, et see käsk ainult peidab tabelid ja seosed, mitte ei kustuta neid.

  • Seoste aruanne.    Loob aruande, kus kuvatakse teie andmebaasi tabelid ja seosed. Aruandes kuvatakse ainult need tabelid ja aruanded, mis pole aknas Seosed peidetud.

Vahekaardi Kujundus jaotis Seosed:

  • Kuva tabel.    Avab dialoogiboksi Tabeli kuvamine, et saaksite valida aknas Seosed kuvamiseks tabeleid ja päringuid.

  • Peida tabel.    Peidab aknas Seosed valitud tabeli.

  • Otseseosed.    Kuvab aknas Seosed kõik valitud tabeli seosed ja seotud tabelid, kui need pole veel kuvatud.

  • Kõik seosed.    Kuvab aknas Seosed teie andmebaasi kõik seosed ja seotud tabelid. Arvestage, et peidetud tabeleid (tabeleid, mille puhul dialoogiboksi Tabeli kuvamine ruut Peidetud on märgitud) ja nende seoseid ei kuvata, välja arvatud juhul, kui dialoogiboksis Navigeerimissuvandid on märgitud ruut Kuva peidetud objektid.

  • Sule.    Suleb akna Seosed. Kui muutsite akna Seosed paigutust, siis küsitakse, kas soovite need muudatused salvestada.

Lehe algusse

Tabeliseose loomine

Tabeliseose saate luua aknas Seosed või lohistades paanilt Väljaloend välja andmelehele. Tabelitevahelise seose loomisel ei pea üldväljadel olema samad nimed, kuigi sageli on. Nendel väljadel peab olema pigem sama andmetüüp. Kui primaarvõtme väli on automaatnumbri väli, võib võõrvõtme väli olla siiski arvuväli, kui mõlema välja atribuut Välja suurus on sama. Näiteks saate vastendada automaatnumbri- ja arvuvälja, kui mõlema välja atribuut Välja suurus on Pikk täisarv. Kui mõlemad üldväljad on arvuväljad, peab neil olema sama atribuudisäte Välja suurus.

Tabeliseose loomine akna Seosed abil

  1. Klõpsake menüüd Fail ja seejärel nuppu Ava.

  2. Valige ja avage andmebaas.

  3. Klõpsake menüü Andmebaasiriistad jaotises Seosed nuppu Seosed.

  4. Kui te pole veel ühtegi seost määratlenud, kuvatakse automaatselt dialoogiboks Tabeli kuvamine. Kui seda ei kuvata, klõpsake menüü Kujundus jaotises Seosed nuppu Kuva tabel.

    Dialoogiboksis Tabeli kuvamine kuvatakse kõik andmebaasi tabelid ja päringud. Ainult tabelite kuvamiseks klõpsake raadionuppu Tabelid. Ainult päringute kuvamiseks klõpsake raadionuppu Päringud. Mõlema tabeli ja päringu kuvamiseks klõpsake raadionuppu Mõlemad.

  5. Valige üks või mitu tabelit või päringut ning seejärel klõpsake nuppu Lisa. Kui olete aknasse Seosed tabelite ja päringute lisamise lõpetanud, klõpsake nuppu Sule.

  6. Lohistage ühe tabeli väli (tavaliselt primaarvõti) teise tabeli ühisele väljale (võõrvõti). Mitme välja lohistamiseks vajutage juhtklahvi (CTRL), klõpsake soovitud välju ja seejärel lohistage need.

    Kuvatakse dialoogiboks Seoste redigeerimine.

  7. Kontrollige, kas kuvatud väljanimed on selle seose üldväljad. Kui väljanimi on vale, klõpsake seda väljanime ja valige loendist uus väli.

    Seose viitamistervikluse jõustamiseks märkige ruut Jõusta viitamisterviklus. Viitamistervikluse kohta lisateabe saamiseks lugege jaotisi Viitamistervikluse olemus ja Viitamistervikluse jõustamine.

  8. Klõpsake nuppu Loo.

    Kahe tabeli vahel luuakse seosejoon. Kui märkisite ruudu Jõusta viitamisterviklus, kuvatakse selle joone mõlemad otsad paksemana. Ainult ruudu Jõusta viitamisterviklus märkimisel kuvatakse seose ühel poolel joone paksu osa kohal arv 1 ning teisel poolel joone paksu osa kohal lõpmatuse sümbol (8).

    Märkmed : 

    • Üks-ühele-seose loomine.    Mõlemal üldväljal (tavaliselt primaarvõtme ja võõrvõtme väljadel) peab olema kordumatu indeks. See tähendab, et nende väljade atribuudi Indekseeritud väärtuseks tuleb seada Jah (duplikaadid keelatud). Kui mõlemal väljal on kordumatu indeks, loob Access üks-ühele seose.

    • Üks-mitmele seose loomine.    Seose "üks"-poole (tavaliselt primaarvõtme) väljal peab olema kordumatu indeks. See tähendab, et selle välja atribuudi Indekseeritud väärtuseks tuleb seada Jah (duplikaadid keelatud). "Mitmele"-poole väljal ei tohiks olla kordumatu indeks. "mitmele"-poolel oleval väljal võib olla indeks, kuid see peab lubama duplikaate. See tähendab, et selle välja atribuudi Indekseeritud väärtuseks tuleks seada Ei või Jah (duplikaadid lubatud). Kui ühel väljal on kordumatu indeks ja teisel mitte, loob Access üks-mitmele seose.

Tabeliseose loomine väljaloendi paani abil

Saate lisada välja andmelehevaates avatud olemasolevasse tabelisse, lohistades selle paanilt Väljaloend. Paanil Väljaloend kuvatakse seotud tabelites ja muudes tabelites saadaolevad väljad. Kui lohistate välja nn muust (seostamata) tabelist ning seejärel läbite otsinguviisardi, luuakse paani Väljaloend tabeli ja sihttabeli vahel automaatselt uus üks-mitmele seos. See Accessi loodud seos ei jõusta viitamisterviklust vaikimisi. Selle jõustamiseks peate seda seost redigeerima. Lisateabe saamiseks lugege jaotist Tabeliseose muutmine.

Tabeli avamine andmelehevaates

  1. Klõpsake menüü Fail nuppu Ava.

  2. Valige dialoogiboksis Avamine andmebaas ja avage see.

  3. Paremklõpsake navigeerimispaanil tabelit, kuhu soovite lisada välja ja luua seose, ning seejärel klõpsake nuppu Ava.

Väljaloendi paani avamine

  • Vajutage klahvikombinatsiooni ALT+F8.

    Kuvatakse paan Väljaloend.

Paanil Väljaloend kuvatakse kategooriate kaupa kõik muud andmebaasi tabelid. Kui töötate tabeliga andmelehevaates, kuvab Access paanil Väljaloend väljad kahte kategooriasse jaotatuna: Seotud tabelites saadaolevad väljad ja Muudes tabelites saadaolevad väljad. Esimeses kategoorias on loetletud kõik tabelid, millel on seos tabeliga, millega praegu töötate. Teises kategoorias on loetletud kõik tabelid, millega teie tabelil seost pole.

Kui klõpsate paanil Väljaloend tabeli nime kõrval olevat plussmärki (+), kuvatakse kõigi selles tabelis saadaolevate väljade loend. Tabelisse välja lisamiseks lohistage andmelehevaates soovitud väli paanilt Väljaloend tabelisse.

Väljaloendi paanil välja lisamine ja seose loomine

  1. Klõpsake paanil Väljaloend jaotises Muudes tabelites saadaolevad väljad tabelinime kõrval olevat plussmärki (+), et kuvada selle tabeli väljade loend.

  2. Lohistage soovitud väli paanilt Väljaloend andmelehevaates avatud tabelisse.

  3. Järjerea ilmumisel kukutage väli oma kohale.

    Käivitatakse Otsinguviisard.

  4. Otsinguviisardi lõpuleviimiseks järgige kuvatavaid juhiseid.

    Väli kuvatakse andmelehevaates avatud tabelis.

Kui lohistate välja muust (sidumata) tabelist ja seejärel täidate otsinguviisardi, luuakse automaatselt üks-mitmele seos paani Väljaloend ja tabeli, kuhu välja lohistasite, vahele. See Accessi loodud seos ei jõusta viitamisterviklust vaikimisi. Viitamistervikluse jõustamiseks tuleb seost redigeerida. Lisateabe saamiseks lugege jaotist Tabeliseose muutmine.

Lehe algusse

Tabeliseose kustutamine

Tabeliseose eemaldamiseks peate kustutama aknast Seosed vastava seosejoone. Viige kursor ettevaatlikult nii, et see osutab seosejoonele, ja seejärel klõpsake joont. Seosejoone valimisel kuvatakse see paksemana. Kui seosejoon on valitud, vajutage kustutusklahvi (DELETE). Arvestage, et seose eemaldamisel eemaldate ka selle seose viitamistervikluse toe, kui see on lubatud. Selle tulemusena ei takista Access enam automaatselt seose "mitmele"-poolel orbkirjete loomist.

  1. Klõpsake menüü Andmebaasiriistad jaotises Seosed nuppu Seosed.

    Kuvatakse aken Seosed. Kui te pole veel ühtegi seost määratlenud, kuvatakse akna Seosed esmakordsel avamisel dialoogiboks Tabeli kuvamine. Selle dialoogiboksi kuvamisel klõpsake nuppu Sule.

  2. Klõpsake menüü Kujundus jaotises Seosed nuppu Kõik seosed.

    Kuvatakse kõik seostega tabelid ja nende seosejooned.

  3. Klõpsake kustutatava seose seosejoont. Seosejoone valimisel kuvatakse valitud rida paksemana.

  4. Vajutage kustutusklahvi (DELETE)

    –või–

paremklõpsake ja seejärel klõpsake käsku Kustuta.

  • Access võib kuvada teate Kas soovite kindlasti valitud seose andmebaasist jäädavalt kustutada?. Kui selline kinnitusteade kuvatakse, klõpsake nuppu Jah.

Märkus. : Kui kumbagi tabeliseosesse kuuluvat tabelit ei kasuta ükski teine isik ega toiming või avatud andmebaasiobjekt (nt vorm), ei saa te seda seost kustutada. Enne seose eemaldamist peate sulgema kõik neid tabeleid kasutavad avatud objektid.

Lehe algusse

Tabeliseose muutmine

Tabeliseose muutmiseks valige see aknas Seosed ja seejärel redigeerige seda. Viige kursor ettevaatlikult nii, et see osutab seosejoonele, ja seejärel klõpsake joont selle valimiseks. Seosejoon kuvatakse paksemana, kui see on valitud. Kui seosejoon on valitud, topeltklõpsake seda või klõpsake vahekaardi Kujundus jaotise Tööriistad suvandit Redigeeri seoseid. Kuvatakse dialoogiboks Seoste redigeerimine.

Tehke dialoogiboksis Seoste redigeerimine soovitud muudatused.

  1. Klõpsake menüü Andmebaasiriistad jaotises Seosed nuppu Seosed.

    Kuvatakse aken Seosed. Kui te pole veel ühtegi seost määratlenud, kuvatakse akna Seosed esmakordsel avamisel dialoogiboks Tabeli kuvamine. Selle dialoogiboksi kuvamisel klõpsake nuppu Sule.

  2. Klõpsake menüü Kujundus jaotises Seosed nuppu Kõik seosed.

    Kuvatakse kõik seostega tabelid ja nende seosejooned.

  3. Klõpsake muudetava seose seosejoont. Kui seosejoon on valitud, kuvatakse see paksemana.

  4. Topeltklõpsake seosejoont.

  5. Tehke soovitud muudatused ja klõpsake nuppu OK.

    Dialoogiboksis Seoste redigeerimine saate muuta tabeliseoseid. Täpsemalt öeldes saate muuta seose mõlema poole tabeleid, päringuid või välju. Saate seada ka liitmistüübi või jõustada viitamistervikluse ning valida kaskaadsuvandi. Liitmistüüpide ja nende seadmise kohta saate lisateavet teemast Liitmistüübi seadmine. Viitamistervikluse jõustamise ja kaskaadsuvandi valimise kohta saate lisateavet teemast Viitamistervikluse jõustamine.

Liitmistüübi seadmine

Tabeliseose määratlemisel saavad teie päringukujundused teavet seose kohta käivatest faktidest. Näiteks kui määratlete kahe tabeli vahelise seose ning seejärel loote päringu, mis neid tabeleid kasutab, valib Access automaatselt seoses määratud väljade põhjal vaikimisi vastenduvad väljad. Saate need päringu algsed vaikeväärtused alistada, kuid seose esitatud väärtused osutuvad sageli õigeteks. Kuna vastendate ja kogute mitme tabeli andmeid sageli keerukates andmebaasides, võib seoste loomise kaudu vaikeväärtuste seadmine olla aegasäästev ja mõistlik.

Mitmeväljaline päring kombineerib andmeid mitmest tabelist, vastendades üldväljadel olevad väärtused. Seda vastendamise ja kombineerimise toimingut nimetatakse liitmiseks. Oletame näiteks, et tahate kuvada klientide tellimusi. Selleks loote päringu, mis ühendab tabeli Kliendid ja tabeli Tellimused väljal Kliendi ID. Päringutulem sisaldab ainult nende ridade kliendi- ja tellimuseteavet, millel leiti vastavus.

Üks väärtus, mille saate igale seosele määrata, on liitmistüüp. Liitmistüüp ütleb Accessile, millised kirjed päringutulemisse kaasata. Näiteks võtame päringu, mis liidab tabeli Kliendid ning tabeli Tellimused üldväljadel, mis tähistavad kliendi ID-d. Vaikeliitmistüübi (mida nimetatakse sisemiseks liitmiseks) kasutamisel tagastab päring ainult väljad Klient ning väljad Tellimus, kui üldväljad (mida nimetatakse ka liidetud väljadeks) on võrdsed.

Oletame, et soovite kaasata kõik kliendid – isegi need, kes pole veel ühtegi tellimust esitanud. Selleks peate muutma liitmistüübi sisemisest ühendamisest vasakpoolseks väliseks ühendamiseks. Vasakpoolne väline ühendamine tagastab kõik seose vasakpoolse osa tabeli read ning paremast osast ainult kattuvad read. Parempoolne väline ühendamine tagastab kõik paremal asuvad read ning vasakult ainult kattuvad read.

Märkus. : Käesoleval juhul viitavad "vasak" ja "parem" tabelite asendile dialoogiboksis Seoste redigeerimine, mitte aknas Seosed.

Peaksite mõtlema, milliseid tulemeid soovite kõige sagedamini selle seosega ühendatud tabelite päringutest saada, ning seadma liitmistüübi vastavalt sellele.

Liitmistüübi seadmine

  1. Klõpsake dialoogiboksis Seoste redigeerimine nuppu Liitmistüüp.

    Kuvatakse dialoogiboks Ühendamisatribuudid.

  2. Klõpsake soovitud atribuuti ja klõpsake siis nuppu OK.

Järgmises tabelis kuvatakse (tabelite Kliendid ja Tellimused abil) dialoogiboksis Liitmisatribuudid kolm valikut, kasutatav ühendus ning kas kaasatud on iga tabeli kõik read või vastendatud read.

Valik

Liitmistüüp

Vasakpoolne tabel

Parempoolne tabel

1. Kaasa read ainult juhul, kui mõlema tabeli ühendatud väljad on võrdsed.

Sisemine ühendamine

Vastendatud read

Vastendatud read

2. Kaasa KÕIK kirjed tabelist Kliendid ja ainult need kirjed tabelist Tellimused, mille ühendatud väljad on võrdsed.

Vasakpoolne väline ühendamine

Kõik read

Vastendatud read

3. Kaasa KÕIK kirjed tabelist Tellimused ja ainult need kirjed tabelist Kliendid, mille ühendatud väljad on võrdsed.

Parempoolne väline ühendamine

Vastendatud read

Kõik read

Kui valite suvandi 2 või 3, kuvatakse seosejoonel nool. See nool osutab seose sellele poolele, mille korral kuvatakse ainult vastendatud read.

Muudatuste tegemine dialoogiboksis Atribuutide ühendamine

  1. Klõpsake menüü Andmebaasiriistad jaotises Seosed nuppu Seosed.

    Kuvatakse aken Seosed. Kui te pole veel ühtegi seost määratlenud, kuvatakse akna Seosed esmakordsel avamisel dialoogiboks Tabeli kuvamine. Selle dialoogiboksi kuvamisel klõpsake nuppu Sule.

  2. Klõpsake menüü Kujundus jaotises Seosed nuppu Kõik seosed.

    Kuvatakse kõik seostega tabelid ja nende seosejooned

  3. Klõpsake muudetava seose seosejoont. Kui seosejoon on valitud, kuvatakse see paksemana.

  4. Topeltklõpsake seosejoont.

    Kuvatakse dialoogiboks Seoste redigeerimine.

  5. Klõpsake nuppu Liitmistüüp.

  6. Klõpsake dialoogiboksis Ühendamisatribuudid soovitud suvandit ning klõpsake siis nuppu OK.

  7. Soovi korral tehke seoses täiendavad muudatused ja seejärel klõpsake nuppu OK.

Lehe algusse

Viitamistervikluse jõustamine

Viitamistervikluse kasutamise eesmärk on takistada orbkirjete loomist ning hoida viited sünkroonituna, et ei viidataks kirjetele, mida pole enam olemas. Viitamistervikluse jõustamiseks lubage see vastava tabeliseose puhul. Kui viitamisterviklus on jõustatud, hülgab Access kõik toimingud, mis rikuks selle tabeliseose viitamisterviklust. Access hülgab värskendused, mis muudavad viite sihtmärki, ning kustutamised, mis eemaldavad viite sihtmärgi. Et Access levitaks viitamisvärskendusi ja kustutamisi nii, et kõik seotud read muudetaks vastavalt sellele, lugege jaotist Kaskaadsuvandite seadmine.

Viitamistervikluse sisse- või väljalülitamine

  1. Klõpsake aknas Seosed muudetava seose seosejoont. Seosejoone valimisel kuvatakse valitud rida paksemana.

  2. Topeltklõpsake seosejoont.

Kuvatakse dialoogiboks Seoste redigeerimine.

  1. Märkige ruut Jõusta viitamisterviklus.

  2. Soovi korral tehke seoses täiendavad muudatused ja seejärel klõpsake nuppu OK.

Pärast viitamistervikluse jõustamist rakendatakse järgmised reeglid.

  • Seostatud tabeli võõrvõtme väljale ei saa sisestada sellist väärtust, mida pole primaartabeli primaarvõtme väljal. Vastasel korral luuakse orbkirje.

  • Kirjet ei saa primaartabelist kustutada, kui seostatud tabelis on sellega vastendatud kirjeid. Näiteks ei saa tabelist Töötajad kustutada sellise töötaja kirjet, kellele on tabelis Tellimused määratud mõni tellimus. Soovi korral saate ühe toiminguga kustutada primaarkirje ja kõik sellega seotud kirjed, märkides ruudu Kaskaadkustuta seostuvad kirjed.

  • Te ei saa muuta primaartabelis primaarvõtme väärtust, kui selle tulemusena tekiksid orbkirjed. Näiteks ei saa te muuta tabelis Tellimused tellimusenumbrit, kui sellele tellimusele on tabelis Tellimuse üksikasjad määratud reaüksused. Saate värskendada ühe toiminguga primaarkirje ja kõik seotud kirjed, märkides ruudu Kaskaadvärskenda seostuvad väljad.

    Märkmed : Kui teil on viitamistervikluse lubamisega raskusi, arvestage, et selle jõustamiseks peavad olema täidetud järgmised tingimused.

    • Primaartabeli ühine väli peab olema primaarvõti või sellel peab olema kordumatu indeks.

    • Ühistel väljadel peab olema sama andmetüüp. Ainsa erandina võib automaatnummerduse väli olla seotud sellise numbriväljaga, mille atribuudi Välja suurus säte on Pikk täisarv.

    • Mõlemad tabelid peavad samas Accessi andmebaasis olemas olema. Lingitud tabelite puhul ei saa viitamisterviklust jõustada. Kui aga lähtetabelid on Accessi vormingus, saate avada andmebaasi, kuhu need on salvestatud, ning lubada viitamistervikluse selles andmebaasis.

Kaskaadsuvandite seadmine

Teil võib tekkida olukord, kus on vaja muuta seose "üks"-poole väärtust. Sel juhul peab Access automaatselt värskendama ühe toimingu käigus kõik mõjutatud read. Nii viiakse värskendamine täielikult lõpule ning teie andmebaas ei jää vastuolulisse olekusse – kus mõni rida on värskendatud ja mõni rida mitte. Access aitab teil seda probleemi vältida, toetades suvandit Kaskaadvärskenda seostuvad väljad. Kui jõustate viitamistervikluse ning valite suvandi Kaskaadvärskenda seostuvad väljad ning seejärel värskendate primaarvõtme, värskendab Access automaatselt kõik sellele primaarvõtmele viitavad väljad.

Samuti võib tekkida olukord, kus peate kustutama mõne rea ja kõik sellega seotud kirjed – näiteks ekspediitorikirje ja kõik selle ekspediitoriga seotud tellimused. Seetõttu toetab Access suvandit Kaskaadkustuta seostuvad kirjed. Kui jõustate viitamistervikluse ning valite suvandi Kaskaadkustuta seostuvad kirjed, kustutab Access automaatselt kõik kirjed, mis viitavad primaarvõtit sisaldava kirje kustutamisel primaarvõtmele.

Kaskaadvärskendamise ja/või kaskaadkustutamise sisse- või väljalülitamine

  1. Klõpsake aknas Seosed muudetava seose seosejoont. Seosejoone valimisel kuvatakse valitud rida paksemana.

  2. Topeltklõpsake seosejoont.

Kuvatakse dialoogiboks Seoste redigeerimine.

  1. Märkige ruut Jõusta viitamisterviklus.

  2. Märkige ruut Kaskaadvärskenda seostuvad väljad või Kaskaadkustuta seostuvad kirjed.

  3. Soovi korral tehke seoses täiendavad muudatused ja seejärel klõpsake nuppu OK.

Märkus. : Kui primaarvõti on automaatnumbri väli, siis pole ruudu Kaskaadvärskenda seostuvad väljad märkimisel mingit mõju, kuna te ei saa automaatnumbri välja väärtust muuta.

Lehe algusse

Märkus. : Masintõlke lahtiütlus. Selle artikli tõlkis arvutisüsteem ilma inimese sekkumiseta. Microsoft pakub selliseid masintõlkeid, et inglise keelt mittekõnelevad kasutajad saaksid vaadata sisu Microsofti toodete, teenuste ja tehnoloogiate kohta. Kuna artikkel on masintõlgitud, võib see sisaldada sõnavara-, süntaksi- või grammatikavigu.

Täiendage oma oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liituge Office Insideri programmiga

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×