Proovige järele!
Relational-andmebaasi võimsus seisneb andmete kombineerimises tabelites. Selleks peate esmalt looma tabelitevahelised seosed. Seejärel pange Access tööle andmete kombineerimiseks päringutes, vormides ja aruannetes.
Kõigi andmebaasi jaoks määratletud olemasolevate seoste avamiseks avage Accessi mall, avage vahekaart Andmebaasiriistad ja valige Seosed.
Märkus.: Kui avate tühja andmebaasi või pole tabeliseost määratlenud, palub Access teil tabeli või päringu lisada. Seose lisamiseks on vaja vähemalt kahte tabelit. Ideaaljuhul tuleb esmalt koostada kõik tabelid. Lisateavet leiate teemast Seoste loomine otsinguviisardiga ja Seoste loomine paaniga Seosed.
Seoste vaate mõistmine
Seosevaate read tähistavad tabelitevahelisi ühendusi. Järgmisel pildil on vasakul tabel ematabel. Paremal asub tabel, mis on tütartabel. Nendevaheline joon ühendab väljad (sel juhul tellimuse ID ja toote ID), mida kasutatakse andmete vastendamiseks.
Jooned ja sümbolid näitavad, kuidas tabelid on seotud.
-
Jäme ühendusjoon tähendab, et jõustate viitamisandmete terviklust. See on tore. See hoiab teie andmed sünkroonis.
-
Meie joonisel näitab arv 1, et selles tabelis võib olla ainult üks vastendatud kirje. Siin kuvatud tabelis Tellimused vastab igale tellimusele ainult üks kirje.
-
Sümbol ∞, et paljud kirjed võivad sisaldada sama ID-d. Siin esitatud tabelis Tellimuse üksikasjad võidakse tellimus (selle tellimuse ID-ga tähistatud) kuvada rohkem kui üks kord, kuna sama järjestus võib sisaldada mitut toodet.
Tabelitevaheliste seoste tüübid
Tabelite vahel on kolme tüüpi seoseid.
-
Üks-ühele. Kui iga tabeli üksus kuvatakse ainult üks kord. Näiteks võib igal töötajal olla kasutamiseks ainult üks ettevõtte auto. Lisateavet leiate teemast Üks-ühele seoste loomine.
-
Üks-mitmele. Kui ühe tabeli üksusel võib olla seos teise tabeli mitme üksusega. Näiteks võib iga ostutellimus sisaldada mitut toodet.
-
Mitu-mitmele. Kui ühe või mitme üksusega ühes tabelis võib olla seos mõne muu tabeli üksusega. Näiteks võib igal tellimusel olla mitu toodet ja iga toode võidakse kuvada mitmel tellimusel. Lisateavet leiate teemast Mitmele seose loomine.
Seosed üks-mitmele
Üks kõige levinumaid seoseid hästi kujundatud andmebaaside tabelite vahel on üks-mitmele seos.
Tabelitevahelised seosed sõltuvad tavaliselt ühes tabelis olevast primaarvõtmest. Tuletage meelde, et primaarvõti on iga kirje kordumatu identifikaator (sageli arv). Selleks et näidata, et kahe erineva tabeli teave on seotud, loote seose tavaliselt ühest tabelist primaarvõtme abil.
Siin kuvatud seoses on näiteks igal tabelis Kontaktid kujutatud isikul ID, mis on primaarvõti (tähistatud selle kõrval kuvatava võtmetähise abil). See ID kuvatakse ka tabeli Varad väljal Omanik. Varaga seotud isikule meilisõnumi saatmine, hankige väärtus väljalt Meiliaadress. Selleks otsige väärtus tabeli Vara väljalt Omanik ja seejärel otsige seda ID-d tabelist Kontaktid. Ühendusjoone ühes otsas on number 1 ja teise ∞ sümbol ∞, et see on üks-mitmele seos, seega võib üks kontakt olla seotud paljude varadega.
Seose redigeerimine
Kui muudate olemasolevat andmebaasi või lõite andmebaasi malli põhjal, saate olemasolevaid seoseid vastavalt oma vajadustele redigeerida.
Märkus.: Kui tabelid, mille abil soovite töötada, on kasutusel, peate need esmalt sulgema koos avatud objektidega, mis neid kasutavad.
-
Valige Andmebaasiriistad >Seosed.
-
Valige rida, mis ühendab kahte seotud tabelit.
Näpunäide.: Kui soovitud seost ei näe, valige menüü Kujundus jaotises Seosed väärtus Kõik seosed.
-
Valige menüü Kujundus käsk Redigeeri seoseid.
Tabel/päring on vasakpoolne ematabel (selles näites kliendid).
Seotud tabel/päring on tütartabel (selles näites Tellimused).
Isegi kui tabeleid ei kuvata vaates Seosed selles järjestuses, näitab nende paigutus dialoogiboksis nende ja seose vahelise joone suunda. See on oluline näiteks juhul, kui see on üks-mitmele seos, kuna see näitab, et vasakul on tabel (ematabel) ja paremal on mitu tabelit (tütartabel).
-
Tabeleid ühendavate väljade muutmiseks valige iga tabeli all mõni muu väli. Selles näites loob tabeli Kliendid väli ID ühenduse tabeli Tellimused väljaga Kliendi ID.
-
Saate muuta seda, kuidas Access teie andmeid tabelite vahel sünkroonib.
Viitamistervikluse jõustamine
Kehtetute andmete vältimiseks ja tabelitevahelistes seostes viidete sünkroonimiseks valige see.
Oletagem näiteks, et teil on üks-ühele seos tabelite Töötajad ja Töötajate eelised vahel. Kui töötaja lahkub ettevõttest ja eemaldate need tabelist Töötajad, eemaldatakse ka seotud töötajakirje tabelis Töötaja eelised.
Vahel pole viitamistervikluse jõustamisel mõtet. Oletagem näiteks, et teil on üks-mitmele seos saatjate ja tellimuste vahel. Kustutate saatja ja see saatja vastendab tellimused tabelis Tellimused. Need tellimused muutuvad orbideks, mis tähendab, et need sisaldavad endiselt saatja ID-d, kuid ID ei kehti enam, kuna kirjet, mida see viitab, pole enam olemas.
Kaskaadvärskendus seostuvad väljad
Kui soovite veenduda, et seotud väljade andmeid värskendatakse kõigis seotud tabelites, valige see.
Oletagem näiteks, et soovite lihtsalt muuta saatja ID-d. Selle suvandi seadmine tagab, et saatja ID-d värskendatakse mitte ainult tabelis Saatja, vaid ka muudes sellega ühendatud tabelites, mis sisaldavad ka seda saatja ID-d (nt tabelit Tellimused).
Kaskaadkustuta seostuvad kirjed
Selle valiku tegemise otsus sõltub sellest, kas teil on vaja mõnes tabelis kirjeid säilitada, kuigi need võidakse muudest tabelitest kustutada.
Oletagem näiteks, et kustutate saatja. Kui see suvand on valitud, kustutab Access kõik kirjed kõigis tabelites, mis viidatakse saatja ID-le, sh kõik selle saatja tarnitud tellimused (tabelis Tellimused). Selle suvandi saate valida ainult siis, kui olete kindel, et soovite oma tellimuste ajaloo kustutada.
-
Tabelite vahelise seose muutmiseks sisemisest ühendusest väliseks ühendamiseks valige nupp Ühenda tüüp. Lisateavet leiate teemast Päringute loomine välised ühendused.
Tabeliseose kustutamine
Märkus.: Kui tabelid, mille abil soovite töötada, on kasutusel, peate need esmalt sulgema koos avatud objektidega, mis neid kasutavad.
Tabeliseose eemaldamiseks:
-
Valige Andmebaasiriistad >Seosed.
-
Valige rida, mis ühendab kahte seotud tabelit.
Näpunäide.: Kui soovitud seost ei näe, valige menüü Kujundus jaotises Seosed väärtus Kõik seosed.
-
Valige kustutusklahv. Kui teil palutakse kinnitada, et soovite seose kustutada, valige Jah.
Märkus.: Seose eemaldamisel eemaldate ka seose viitamistervikluse toe (kui see on olemas). Seetõttu ei takista Access enam muudatusi, mis võivad põhjustada ühe-mitmele-seose mitmes pooles orbkirjeid.