Proovige järele!
Relatsioonandmebaasi võime seisneb andmete kombineerimises tabelites. Selleks peate esmalt looma tabelitevahelised seosed. Seejärel seadke Access tööle, et kombineerida andmeid päringutes, vormides ja aruannetes.
Kõigi andmebaasi jaoks määratletud olemasolevate seoste vaatamiseks avage Accessi mall, avage menüü Andmebaasiriistad ja valige Seosed.
Märkus.
Kui avate tühja andmebaasi või pole tabeliseoseid määratlenud, palub Access teil lisada tabeli või päringu. Seose lisamiseks on vaja vähemalt kahte tabelit. Ideaalis tuleb kõigepealt koostada kõik tabelid. Lisateavet leiate teemadest Seoste loomine otsinguviisardi abil ja Seoste loomine paanil Seosed.
Vaate Seosed mõistmine
Vaate Seosed jooned tähistavad tabelitevahelisi ühendusi. Järgmisel pildil on vasakpoolne tabel ematabel. Parempoolses tabelis on tütartabel. Nende vaheline joon ühendab väljad (praegusel juhul tellimuse ID ja toote ID), mida kasutatakse andmete vastendamiseks.
Jooned ja sümbolid näitavad, kuidas tabelid on seotud.
- Paks ühendusjoon tähendab, et jõustate viitamisandmete tervikluse. See on tore. See hoiab teie andmed sünkroonis.
- Meie joonisel näitab number 1, et selles tabelis võib olla ainult üks vastav kirje. Siin esitatud tabelis Tellimused vastab igale tellimusele ainult üks kirje.
- ∞ sümbol näitab, et paljud kirjed võivad sisaldada sama ID-t. Siin esitatud tabelis Tellimuse üksikasjad võib tellimus (tellimuse ID-ga tähistatud) ilmuda mitu korda, kuna sama tellimus 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 ainult üks ettevõtte auto, mida kasutada. Lisateavet leiate teemast Üks-ühele seoste loomine.
- Üks-mitmele. Kui ühe tabeli üks üksus võib olla seotud mitme üksusega teises tabelis. Näiteks võib iga ostutellimus sisaldada mitut toodet.
- Mitu-mitmele. Kui ühe tabeli üks või mitu üksust võivad olla seotud ühe või mitme üksusega teises tabelis. Näiteks võib igal tellimusel olla mitu toodet ja iga toode võib olla kuvatud mitmes tellimuses. Lisateavet leiate teemast Mitu-mitmele seoste loomine.
Üks-mitmele seosed
Üks levinumaid seoseid tabelite vahel hästi kujundatud andmebaasides on üks-mitmele seos.
Tabelitevahelised seosed sõltuvad tavaliselt mõne tabeli primaarvõtmest. Tuletame meelde, et primaarvõti on iga kirje ainuidentifikaator (sageli numbriline). Kui soovite näidata, et kahe erineva tabeli teave on seotud, loote tavaliselt seose, kasutades ühest tabelist pärinevat primaarvõtit.
Näiteks siin esitatud seoses on igal tabeli Kontaktid isikul ID, mis on primaarvõti (mida tähistab selle kõrval olev võtme sümbol). See ID kuvatakse ka tabeli Varad väljal Omanik. Varaga seotud isikule meili saatmiseks hankige väärtus väljalt Meiliaadress. Selleks otsige väärtus tabeli Vara väljalt Omanik ja otsige seda ID-d tabelist Kontaktid. Arv 1 ühendusjoone ühes otsas ja ∞ sümbol teises otsas näitavad, et tegemist on üks-mitmele seosega, 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, millega soovite töötada, on kasutusel, peate need esmalt koos kõigi neid kasutavate avatud objektidega sulgema.
Valige Andmebaasiriistade>seosed.
Valige joon, mis ühendab kahte seotud tabelit.
Näpunäide.
Kui soovitud seost ei kuvata, valige menüü Kujundus jaotises Seosed nupp Kõik seosed.
Valige menüüs Kujundus nupp Redigeeri seoseid.
Tabel/päring on vasakus servas olev ematabel (selles näites Kliendid).
Seostuv tabel/päring on tütartabel (selles näites Tellimused).
Isegi kui tabeleid vaates Seosed selles järjestuses ei kuvata, näitab nende paigutamine dialoogiboksis neid ühendava joone ja seose suunda. See on oluline näiteks juhul, kui tegemist on üks-mitmele seosega, kuna see näitab, et vasakul olev tabel on üks (ematabel) ja parempoolne tabel on mitu (tütartabel).Tabeliid ühendavate väljade muutmiseks valige iga kuvatava 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 viisi, kuidas Access teie andmeid tabelite vahel sünkroonib.
Viitamistervikluse jõustamine Sobimatute andmete vältimiseks ja tabeliseoste vaheliste viidete sünkroonimise säilitamiseks valige see suvand.
Oletagem näiteks, et teil on tabelite Töötajad ja Töötajate eelised vahel üks-ühele seos. Kui töötaja lahkub ettevõttest ja eemaldate ta tabelist Töötajad, eemaldatakse ka tabelis Töötajate eelised olev seotud töötajakirje.
Mõnikord pole viitamistervikluse jõustamine loogiline. Oletagem näiteks, et teil on tarnijate ja tellimuste vahel üks-mitmele seos. Te kustutate tarnija ja see tarnija vastendab tabeli Tellimused tellimustega. Need tellimused muutuvad orbteks, mis tähendab, et need sisaldavad endiselt tarnija ID-sid, kuid ID ei kehti enam, kuna kirjet, millele see viitab, pole enam olemas.Kaskaadvärskenduse 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 ekspedieri ID-t. Selle suvandi seadmine tagab, et tarnija ID värskendatakse mitte ainult tabelis Tarnija, vaid ka muudes sellega ühendatud tabelites, mis sisaldavad ka seda tarnija ID-t (nt tabelit Tellimused).Kaskaadkustuga seostuvad kirjed Selle valimise otsus oleneb sellest, kas teil on vaja mõnes tabelis kirjeid säilitada, kuigi need võidakse muudest tabelitest kustutada.
Oletagem näiteks, et kustutate ekspedieri. Kui see suvand on valitud, kustutab Access kõigi tabelite kõik kirjed, mis viitavad ekspediieri ID-le, sh kõik selle ekspedieri tarnitud tellimused (tabelis Tellimused). Selle suvandi saate valida ainult juhul, kui olete kindel, et soovite oma tellimuste ajaloo kustutada.Tabelitevahelise seose muutmiseks sisemisest ühendamisest välise ühendamiseni valige nupp Ühendamistüüp . Lisateavet leiate teemast Päringute loomine välised ühendamised.
Tabeliseose kustutamine
Märkus.
Kui tabelid, millega soovite töötada, on kasutusel, peate need esmalt koos kõigi neid kasutavate avatud objektidega sulgema.
Tabeliseose eemaldamiseks tehke järgmist.
Valige Andmebaasiriistade>seosed.
Valige kahte seotud tabelit ühendav joon.
Näpunäide.
Kui soovitud seost ei kuvata, valige menüü Kujundus jaotises Seosed nupp Kõik seosed.
Valige kustutusklahv (Delete). Kui teil palutakse kinnitada, et soovite seose kustutada, valige Jah.
Märkus.
Seose eemaldamisel eemaldate ka selle seose viitamistervikluse toe (kui see on olemas). Selle tulemusena ei takista Access enam muutusi, mis toovad kaasa orbkirjed üks-mitmele seose mitmele poolele.