Taulukoiden yhteyksien opas
Applies ToAccess for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Eräs hyvän tietokantasuunnittelun tavoitteista on poistaa tarpeettomat tiedot (kaksoiskappaleet). Voit toteuttaa tämän jakamalla tiedot moneen aihekohtaiseen taulukkoon, jolloin jokainen tieto esitetään vain kerran. Sen jälkeen annat Accessille keinon yhdistää tiedot uudelleen: voit tehdä tämän sijoittamalla toisiinsa liittyviin taulukoihin yhteisiä kenttiä. Jotta osaisit tehdä tämän vaiheen oikein, sinun täytyy kuitenkin ymmärtää taulukoiden väliset yhteydet ja määrittää ne tietokantaan.

Sisältö

Johdanto

Kun olet luonut tietokantaan taulukon jokaista aihetta varten, anna Access -ohjelmalle keino yhdistää nämä tiedot uudelleen tarvittaessa. Voit tehdä sen sijoittamalla yhteisiä kenttiä toisiinsa liittyviin taulukoihin ja määrittämällä taulukoiden välille yhteyksiä. Sen jälkeen voit luoda kyselyjä, lomakkeita ja raportteja, jotka näyttävät tietoja useista taulukoista samalla kertaa. Esimerkiksi tässä esitetty lomake sisältää useista taulukoista haettuja tietoja:

Tilaukset-lomake, joka näyttää liittyviä tietoja viidestä taulukosta samalla kertaa

1. Tämän lomakkeen tiedot ovat Asiakkaat-taulukosta...

2. ...Tilaukset-taulukosta...

3. ...Tuotteet-taulukosta...

4. ...ja Tilaustiedot-taulukosta.

Asiakkaan nimi haetaan Laskun maksaja -ruutuun Asiakkaat-taulukosta, tilaustunnuksen ja tilauspäivän arvot tulevat Tilaukset-taulukosta, tuotteen nimi Tuotteet-taulukosta sekä yksikköhinnan ja määrän arvot Tilaustiedot-taulukosta. Nämä taulukot on linkitetty toisiinsa useilla tavoilla, jotta niiden tiedot saadaan tuotua lomakkeeseen.

Edellisessä esimerkissä taulukoiden kentät täytyy järjestää siten, että ne näyttävät samaan tilaukseen liittyvät tiedot. Tämä toteutetaan taulukkoyhteyksillä. Taulukkoyhteys perustuu avainkentissä, yleensä taulukoiden samannimisissä kentissä, olevien toisiaan vastaavien tietojen löytämiseen. Yleensä nämä toisiaan vastaavat kentät ovat toisen taulukon perusavain, joka määrittää jokaiselle tietueelle yksilöllisen tunnisteen, sekä toisen taulukon viiteavain. Esimerkiksi työntekijät voidaan yhdistää tilauksiin, joista he ovat vastuussa, luomalla yhteys Työntekijät- ja Tilaukset-taulukoiden Työntekijän tunnus -kenttien välille.

Työntekijät-taulukossa perusavaimena ja Tilaukset-taulukossa viiteavaimena käytetty Työntekijän tunnus -kenttä.

1. Työntekijän tunnus on molemmissa taulukoissa perusavaimena...

2. ...ja viiteavaimena.

Sivun alkuun

Taulukoiden väliset yhteystyypit

Taulukoilla on Accessissa kolmentyyppisiä yhteyksiä.

  • Yksi-moneen-yhteys

    Tarkastellaan tilaustenseurantatietokantaa, joka sisältää Asiakkaat-taulukon ja Tilaukset-taulukon. Asiakas voi tehdä haluamansa määrän tilauksia. Siitä seuraa, että Tilaukset-taulukossa voi olla useita tuotteita yhtä Asiakkaat-taulukon asiakasta kohti. Asiakkaat-taulukon ja Tilaukset-taulukon välinen yhteys on siten yksi-moneen-yhteys.

    Voit esittää yksi-moneen-yhteyden tietokannan rakenteessa ottamalla perusavaimen yhteyden yksi-puolelta ja lisäämällä sen lisäkenttänä tai -kenttinä taulukkoon yhteyden monta-puolelle. Tässä tapauksessa voit esimerkiksi lisätä uuden kentän, eli tunnuksen kentän Asiakkaat-taulukosta Tilaukset-taulukkoon ja antaa sen nimeksi Asiakastunnus. Access voi sen jälkeen etsiä jokaisen tilauksen oikean asiakkaan Tilaukset-taulukossa olevalla asiakastunnusnumerolla.

  • Monta-moneen-yhteys

    Tarkastellaan Tuotteet-taulukon ja Tilaukset-taulukon välistä yhteyttä. Yksi tilaus saattaa sisältää useita tuotteita. Toisaalta taas yksi tuote voi esiintyä monessa tilauksessa. Siten Tilaukset-taulukon jokaista tietuetta kohti voi olla useita tietueita Tuotteet-taulukossa. Lisäksi Tuotteet-taulukon jokaista tietuetta kohti voi olla useita tietueita Tilaukset-taulukossa. Tällaista yhteyttä kutsutaan monta-moneen-yhteydeksi. Huomaa, että taulukoiden välisten monta-moneen-yhteyden havaitseminen edellyttää yhteyden molempien puolien huomioon ottamista.

    Monta-moneen-yhteyden esittämistä varten on luotava kolmas taulukko, joka jakaa monta-moneen-yhteyden kahdeksi yksi-moneen-yhteydeksi. Perusavain lisätään kummastakin taulukosta kolmanteen taulukkoon. Tämän seurauksena kolmas taulukko kirjaa yhteyden jokaisen esiintymän. Esimerkiksi Tilaukset- ja Tuotteet-taulukoiden välillä on monta-moneen-yhteys, joka on määritetty luomalla kaksi yksi-moneen-yhteyttä Tilaustiedot-taulukkoon. Yhdessä tilauksessa voi olla useita tuotteita, ja jokainen tuote voi olla useissa tilauksissa.

  • Yksi-yhteen-yhteys

    Yksi-yhteen-yhteydessä ensimmäisen taulukon jokaista tietuetta voi vastata vain yksi tietue toisessa taulukossa, ja jokaista toisen taulukon tietuetta voi vastata vain yksi tietue ensimmäisessä taulukossa. Tällainen yhteys ei ole yleinen, koska yleensä tällä tavalla yhdistetyt tiedot ovat samassa taulukossa. Yksi-yhteen-yhteyttä voidaan käyttää, kun halutaan jakaa taulukko, jossa on monta kenttää, eristää osa taulukosta tietoturvan takia tai tallentaa tietoja, jotka koskevat vain päätaulukon alijoukkoa. Kun havaitset tällaisen yhteyden, kummallakin taulukolla on oltava yhteinen kenttä.

Sivun alkuun

Miksi taulukkoyhteyksiä luodaan?

Taulukoiden yhteydet voidaan luoda Yhteydet-ikkunassa tai vetämällä kenttä Kenttäluettelo-ruudusta. Access päättelee taulukoiden yhteyksien perusteella, kuinka taulukot liitetään, kun niitä on käytettävä tietokantaobjektissa. On useita syitä sille, miksi taulukoiden yhteydet pitäisi luoda ennen muiden tietokantaobjektien, kuten lomakkeiden, kyselyjen ja raporttien, luomista.

  • Taulukoiden yhteydet antavat tietoja kyselyjen suunnittelua varten

    Kun halutaan käsitellä useamman kuin yhden taulukon tietueita, yleensä on luotava taulukot liittävä kysely. Kysely toimii etsimällä ensimmäisen taulukon perusavainkentän arvoja vastaavan toisen taulukon viiteavainkentän. Jos haluat esimerkiksi palauttaa rivit, joilla on lueteltu jokaisen asiakkaan kaikki tilaukset, muodosta kysely, joka liittää Asiakkaat-taulukon Tilaukset-taulukkoon Asiakastunnus-kentän perusteella. Voit määrittää liitettävät kentät manuaalisesti Yhteydet-ikkunassa. Jos kuitenkin olet jo määrittänyt taulukoiden välille yhteyden, Access antaa oletusliitoksen olemassa olevan taulukoiden yhteyden perusteella. Lisäksi jos käytät jotakin ohjatuista kyselyistä, Access esittää vaihtoehtoja ja täyttää ominaisuuksien asetukset ennalta sopivilla oletusarvoilla käyttämällä tietoja, jotka se kerää määrittämistäsi taulukoiden yhteyksistä.

  • Taulukoiden yhteydet antavat tietoja lomakkeiden ja raporttien suunnittelua varten

    Kun suunnittelet lomaketta tai raporttia Access esittää vaihtoehtoja ja täyttää ominaisuuksien asetukset ennalta sopivilla oletusarvoilla käyttämällä tietoja, jotka se kerää määrittämistäsi taulukoiden yhteyksistä.

  • Taulukoiden yhteydet ovat perusta, johon voit pakottaa viite-eheyden ja estää yhteydettömät tietueet tietokannassa. Yhteydetön tietue on sellaiseen tietueeseen viittaava tietue, jota ei ole olemassa. Se voi olla esimerkiksi tilaustietue, joka viittaa olemattomaan asiakastilaukseen.

    Kun tietokanta suunnitellaan, tiedot jaetaan taulukoihin, joista jokaisella on perusavain. Sen jälkeen liittyviin taulukoihin lisätään viiteavaimet, jotka viittaavat näihin perusavaimiin. Nämä viiteavainten ja perusavaimen parit muodostavat taulukoiden yhteyksien ja useita taulukoita käyttävien kyselyjen perustan. Tästä syystä on tärkeää, että viiteavainten ja perusavaimen viittaukset pysyvät synkronoituina. Viite-eheyden avulla varmistetaan, että viittaukset pysyvät synkronoituina, ja viite-eheys on riippuvainen taulukoiden yhteyksistä.

Sivun alkuun

Viite-eheyden perusteet

Kun tietokanta suunnitellaan, tiedot jaetaan useisiin aihekohtaisiin taulukoihin, jotta vältyttäisiin tarpeettomilta tiedoilta. Sen jälkeen sijoittamalla yhteisiä kenttiä toisiinsa liittyviin taulukoihin Access-ohjelmalle annetaan keino, jolla se voi jälleen yhdistää tiedot. Jos haluat esimerkiksi esittää yksi-moneen-yhteyden, otat perusavaimen yksi-puolen taulukosta ja lisäät sen lisäkenttänä monta-puolen taulukkoon. Access yhdistää tiedot ottamalla arvon monta-puolen taulukosta ja etsimällä vastaavan arvon yksi-puolen taulukosta. Näin monta-puolen taulukon arvot viittaavat vastaaviin arvoihin yksi-puolen taulukossa.

Oletetaan, että Lähettäjät- ja Tilaukset-taulukoiden välillä on yksi-moneen-yhteys, ja haluat poistaa lähettäjän. Jos lähettäjällä, jonka haluat poistaa, on tilauksia Tilaukset-taulukossa, näistä tilauksista tulee orpoja, kun lähettäjän tietue poistetaan. Tilaukset sisältävät kuitenkin edelleen lähettäjän tunnuksen, mutta tunnus ei ole enää voimassa, koska tietuetta, johon se viittaa, ei enää ole.

Viite-eheyden tarkoituksena on estää orvot ja pitää viittaukset synkronoituina, jotta tällaista hypoteettista tilannetta ei koskaan esiintyisi.

Viite-eheys säilytetään ottamalla se käyttöön taulukon yhteyttä varten. Sen jälkeen Access hylkää toiminnon, joka rikkoisi viite-eheyttä kyseisen taulukon yhteyden osalta. Tämä tarkoittaa sitä, että Access hylkää sekä päivitykset, jotka muuttavat viittauksen kohdetta, että poistot, jotka poistavat viittauksen kohteen. On kuitenkin mahdollista, että sellaisen lähettäjän perusavainta, jolla on tilauksia Tilaukset-taulukossa, täytyy muuttaa. Tällaisissa tapauksissa Accessin on automaattisesti päivitettävä osana yhtä toimintoa rivit, joihin poisto vaikuttaa. Näin Access varmistaa, että päivitys tapahtuu kokonaan eikä tietokantaan jää ristiriitoja, jotka aiheutuisivat siitä, että osa riveistä on päivitetty ja osaa ei ole. Tästä syystä Access tukee Johdannaispäivitykseen liittyviä kenttiä -vaihtoehtoa. Kun valitset viite-eheyden säilyttämisen ja valitset Kenttien johdannaispäivitys -asetuksen sekä päivität sen jälkeen perusavaimen, Access päivittää automaattisesti kaikki ne kentät, jotka viittaavat perusavaimeen.

On myös mahdollista, että rivi ja kaikki siihen liittyvät tietueet täytyy poistaa, haluttaessa poistaa esimerkiksi lähettäjän tietue ja kaikki kyseiseen lähettäjään liittyvät tilaukset. Tästä syystä Access tukee Tietueiden johdannaispoisto -asetusta. Kun valitset viite-eheyden säilyttämisen ja valitset Tietueiden johdannaispoisto -asetuksen sekä poistat tietueen yhteyden perusavaimen puolelta, Access poistaa automaattisesti kaikki perusavaimeen viittaavat tietueet.

Sivun alkuun

Taulukon yhteyksien tarkasteleminen

Voit tarkastella taulukon yhteyksiä valitsemalla Tietokantatyökalut-välilehdessä Yhteydet. Yhteydet-ikkuna avautuu, ja siinä näkyvät olemassa olevat yhteydet. Jos taulukon yhteyksiä ei ole vielä määritetty ja avaat Yhteydet-ikkunan ensimmäistä kertaa, Access pyytää lisäämään ikkunaan taulukon tai kyselyn.

Yhteydet-ikkunan avaaminen

  1. Valitse Tiedosto, valitse Avaa ja valitse sitten tietokanta ja avaa se.

  2. Valitse Tietokantatyökalut-välilehden Yhteydet-ryhmästä Yhteydet.

  3. Valitse Yhteyksien rakennenäkymä -välilehden Yhteydet-ryhmästäKaikki yhteydet.Tämä näyttää kaikki tietokannan määritetyt yhteydet. Huomaa, että piilotetut taulukot (taulukot, joiden Piilotettu-valintaruutu on valittuna taulukon Ominaisuudet-valintaikkunassa) ja niiden yhteydet eivät näy, ellei Näytä piilotetut objektit -valintaruutu ole valittuna Siirtymisasetukset-valintaikkunassa.

Taulukon yhteys esitetään taulukoiden väliin piirretyllä yhteysviivalla Yhteydet-ikkunassa. Yhteys, joka ei säilytä viite-eheyttä, näkyy yhteyttä tukevien yhteisten kenttien välissä olevana ohuena viivana. Kun valitset yhteyden napsauttamalla sen viivaa, viiva paksunee sen merkiksi, että se on valittu. Jos säilytät viite-eheyden tätä yhteyttä varten, viiva näyttää paksummalta kummassakin päässä. Lisäksi yhteyden toisella puolella viivan paksun pään yläpuolella näkyy numero 1 ja toisella puolella viivan paksun pään yläpuolella näkyy äärettömän symboli ().

Kun Yhteydet-ikkuna on aktiivinen, seuraavat komennot ovat käytettävissä valintanauhassa:

Yhteyksien rakennenäkymä -välilehden Työkalut-ryhmässä:

  • Muokkaa yhteyksiä Avaa Muokkaa yhteyksiä -valintaikkunan. Kun valitset yhteysviivan, voit muuttaa taulukon yhteyttä valitsemalla Muokkaa yhteyksiä. Voit myös kaksoisnapsauttaa yhteysviivaa.

  • Tyhjennä asettelu Poistaa kaikki taulukot ja yhteydet Yhteydet-ikkunan näytöstä. Huomaa, että tämä komento ainoastaan piilottaa taulukot ja yhteydet; se ei poista niitä kokonaan.

  • Yhteysraportti Luo raportin, joka näyttää tietokannassa olevat taulukot ja yhteydet. Raportissa näkyvät vain ne taulukot ja yhteydet, joita ei ole piilotettu Yhteydet-ikkunassa.

Yhteyksien rakennenäkymä -välilehden Yhteydet-ryhmässä:

  • Taulukoiden lisääminen    Ottaa taulukoiden valinnan näkyviin Yhteydet-ikkunassa.

  • Piilota taulukko Piilottaa valitun taulukon Yhteydet-ikkunassa.

  • Suorat yhteydet Näyttää kaikki valitun taulukon yhteydet ja yhteydessä olevat taulukot Yhteydet-ikkunassa, jos ne eivät ole vielä näkyvissä.

  • Kaikki yhteydet Näyttää kaikki tietokannassa olevat yhteydet ja yhteydessä olevat taulukot Yhteydet-ikkunassa. Huomaa, että piilotettuja taulukoita (taulukoita, joita varten on valittu Piilotettu-valintaruutu taulukon Ominaisuudet-valintaikkunassa) ja niiden yhteyksiä ei näytetä, ellei Näytä piilotetut objektit ole valittuna Siirtymisasetukset-valintaikkunassa.

  • Sulje Sulkee Yhteydet-ikkunan. Jos teit muutoksia Yhteydet-ikkunan asetteluun, ohjelma kysyy, haluatko tallentaa tekemäsi muutokset.

Sivun alkuun

Tarvitsetko lisäohjeita?

Haluatko lisää vaihtoehtoja?

Tutustu tilausetuihin, selaa harjoituskursseja, opi suojaamaan laitteesi ja paljon muuta.

Osallistumalla yhteisöihin voit kysyä kysymyksiä ja vastata niihin, antaa palautetta sekä kuulla lisää asiantuntijoilta, joilla on runsaasti tietoa.