Bruke relasjoner

Komme i gang med tabellrelasjoner

Nettleseren støtter ikke video. Installer Microsoft Silverlight, Adobe Flash Player eller Internet Explorer 9.

En relasjonsdatabase har sin største styrke i evnen til å kunne kombinere data på tvers av tabeller. Hvis du vil gjøre dette, må du først etablere relasjoner mellom tabellene. Deretter kan du sette Access i arbeid med å kombinere data i spørringer, skjemaer og rapporter.

Hvis du vil se alle eksisterende relasjoner som er definert for en database, kan du åpne en Access-mal, gå til fanen Databaseverktøy og velge Relasjoner.

Merknad: Dersom du åpner en tom database eller ikke har definert noen relasjoner mellom tabeller, vil Access be deg om å legge til en tabell eller spørring. Før du kan legge til en relasjon, må du ha minst to tabeller. Ideelt sett bør du bygge alle tabellene først. Hvis du vil ha mer informasjon, kan du se Opprette relasjoner med oppslagsveiviseren og Opprette relasjoner med relasjonsruten.

Forstå visningen av relasjoner

Linjene i relasjonsvisningen angir forbindelser mellom tabellene. I bildet nedenfor er tabellen til venstre den overordnede tabellen. Tabellen på høyre side er den underordnede tabellen. Linjen mellom dem kobler sammen feltene (i dette tilfellet ordre-ID og produkt-ID) som brukes til å knytte data sammen.

Relasjoner vises som linjer mellom felt for overordnet og underordnet.

Linjer og symboler viser deg hvordan tabellene er forbundet med hverandre:

  • En tykk koblingslinje betyr at du har tvunget referansedataintegritet. Det er bra. Det sørger for at dataene dine vil være synkronisert.

  • I illustrasjonen vår indikerer tallet 1 at det bare kan være én samsvarende post i den tabellen. I Ordretabellen som vises her, er det bare én post som hører til hver ordre.

  • ∞-symbolet indikerer at mange poster kan inneholde samme ID. I tabellen Ordredetaljer som vises her, kan en ordre (angitt med en ordre-ID) forekomme mer enn én gang, fordi en ordre kan inneholde flere produkter.

Forskjellige relasjonstyper mellom tabeller

Det finnes tre typer relasjoner mellom tabeller:

  • Én-til-én. Når hvert element i hver tabell bare kan forekomme én gang. Hver enkelt ansatt kan for eksempel bare disponere én firmabil. Hvis du vil ha mer informasjon, se Opprette én-til-én-relasjoner.

  • Én-til-mange. Når ett element i en tabell kan ha en relasjon til flere elementer i en annen tabell. Hver innkjøpsordre kan for eksempel inneholde flere produkter.

  • Mange-til-mange. Når ett eller flere elementer i en tabell kan ha en relasjon til ett eller flere elementer i en annen tabell. Hver ordre kan for eksempel ha flere produkter, og hvert produkt kan forekomme i mange ordrer. Hvis du vil vite mer, se Opprette mange-til-mange-relasjoner.

Én-til-mange-relasjoner

En av de vanligste relasjonene mellom tabeller i godt utformede databaser er én-til-mange-relasjonen.

Relasjoner mellom tabeller vil vanligvis være avhengige av primærnøkkelen i én av tabellene. Husk at primærnøkkelen er en unik identifikator (ofte numerisk) for hver post. For å vise at informasjonen i to forskjellige tabeller er relatert, kan du vanligvis opprette en relasjon ved hjelp av primærnøkkelen fra én av tabellene.

I relasjonen som vises her, har for eksempel hver person i Kontakter-tabellen en ID, som er primærnøkkelen (angitt med nøkkelsymbolet ved siden av den). Denne ID-en brukes også i Eier-feltet i tabellen Eiendeler. For å sende en e-post til personen som er knyttet til en gitt eiendel, må du hente verdien fra feltet E-postadresse. Dersom du vil gjøre dette, må du først finne verdien i Eier-feltet i tabellen Eiendeler, og deretter må du søke etter denne ID-en i tabellen Kontakter. Tallet 1 i den ene enden av forbindelseslinjen og ∞-symbolet i den andre enden indikerer at dette er en én-til-mange-relasjon, slik at én kontakt kan være knyttet til mange eiendeler.

Én-til-mange-relasjoner

Redigere en relasjon

Dersom du endrer en eksisterende database, eller du har opprettet databasen fra en mal, kan du redigere de eksisterende relasjonene etter behov.

Merknad: Dersom tabellene du vil arbeide med, er i bruk, må du først lukke dem. Det gjelder også alle åpne objekter som bruker tabellene.

  1. Velg Databaseverktøy > Relasjoner.

  2. Velg linjen som forbinder to relaterte tabeller.

    Tips!: Hvis du ikke ser relasjonen du vil bruke under Utforming-fanen, kan du gå til Relasjoner-gruppen og velge Alle relasjoner.

  3. Velg Rediger relasjoner under Utforming-fanen.

    Redigere en eksisterende relasjon mellom tabeller

    Tabell/spørring er den overordnede tabellen til venstre (i dette eksempelet er det Kunder).

    Relatert tabell/spørring er den underordnede tabellen (i dette eksempelet er det Ordrer).

    Selv om tabellene ikke vises i denne rekkefølgen i Relasjoner-visningen, vil plasseringen deres i dialogboksen angi retningen på linjen som forbinder dem og relasjonen. Dette er viktig hvis det for eksempel er det en én-til-mange-relasjon, fordi det angir at én-tabellen (den overordnede tabellen) er til venstre og tabellen på høyre side er mange-tabellen (den underordnede tabellen).

  4. Dersom du vil endre hvilke felter som kobler sammen tabellene, velger du et av de andre feltene som vises under hver tabell. I dette eksemplet er ID-feltet i tabellen Kunder koblet til feltet Kunde-ID i Ordre-tabellen.

  5. Endre hvordan Access synkroniserer data mellom tabeller.

    Tvungen referanseintegritet

    Velg dette for å forhindre ugyldige data og holde referanser synkronisert på tvers av tabellrelasjoner.

    La oss for eksempel anta at du har en én-til-én-relasjon mellom tabellene Ansatte og Frynsegoder. Dersom en ansatt slutter i firmaet, og du fjerner vedkommende fra Ansatte-tabellen, blir den relaterte ansattposten i tabellen Frynsegoder også fjernet.

    Noen ganger vil det være meningsløst å bruke tvungen referanseintegritet. La oss for eksempel anta at du har en én-til-mange-relasjon mellom Transportører og Ordrer. Du sletter en transportør som er knyttet til ordrer i Ordre-tabellen. Disse ordrene blir da etterlatte og frittstående, det vil si at de fremdeles inneholder en transportør-ID, men ID-en er ikke lenger gyldig fordi posten den viser til ikke finnes lenger.

    Gjennomgripende oppdatering av relaterte felt

    Velg dette alternativet for å sikre at dataene i relaterte felt blir oppdatert i alle de relaterte tabellene.

    Anta for eksempel du bare vil endre ID-en for en transportør. Dersom dette alternativet er valgt, sikres det at Transportør-ID blir oppdatert – ikke bare i Transportør-tabellen, men også i alle andre tabeller som måtte være knyttet til den og som inneholder denne Transportør-ID-en, slik som Ordrer-tabellen.

    Gjennomgripende sletting av relaterte poster

    Beslutningen om å velge dette avhenger av om du vil beholde postene i noen tabeller, selv om de vil bli slettet fra andre tabeller.

    Anta for eksempel du vil slette en transportør. Dersom dette alternativet er valgt, vil Access slette alle poster i alle tabeller som refererer til denne Transportør-ID-en, inkludert alle ordrer (i Ordrer-tabellen) som er sendt med denne transportøren. Du må bare velge dette alternativet dersom du er sikker på at du vil at ordrehistorikken skal slettes.

  6. Velg knappen Koblingstype dersom du vil endre relasjonen mellom tabellene fra en indre kobling til en ytre kobling. Hvis du vil ha mer informasjon, se Opprette spørringer med ytre koblinger.

Slette en tabellrelasjon

Merknad: Dersom tabellene du vil arbeide med, er i bruk, må du først lukke dem. Det gjelder også alle åpne objekter som bruker tabellene.

Fjerne en tabellrelasjon:

  1. Velg Databaseverktøy > Relasjoner.

  2. Velg linjen som forbinder de to relaterte tabellene.

    Tips!: Hvis du ikke ser relasjonen du vil bruke under Utforming-fanen, kan du gå til Relasjoner-gruppen og velge Alle relasjoner.

  3. Velg SLETT. Velg Ja dersom du blir bedt om å bekrefte at du vil slette relasjonen.

Merknad: Dersom du fjerner en relasjon, fjerner du også en eventuell referanseintegritetsstøtte for denne relasjonen. Dermed vil Access ikke lenger beskytte mot endringer som kan medføre etterlatte, frittstående poster på mange-siden i en én-til-mange-relasjon.

Vil du vite mer?

Opprette en relasjon

Slette en relasjon

Excel-opplæring

Outlook-opplæring

Når du har tabeller i databasen, kan du bygge relasjoner mellom dem. Relasjoner er viktig fordi de kobler tabellene tilbake sammen når du deler inn data, og også fordi de har en stor innvirkning på hvordan du utformer spørringer og få svar fra dataene.

En relasjonsdatabase bruker tre typer relasjoner mellom tabellene. Én-til-mange, mange-til-mange og en-til-en.

Relasjonen du bruker, avhenger av dataene. Du har en én-til-mange-relasjon når én enkelt post i én tabell er relatert til én eller flere poster i en annen tabell.

Vår eksempeldatabase har denne typen relasjon. Én kunde kan ha ett eller flere telefonnumre, og hvert telefonnummer er bare relatert til én kunde.

Du har en mange-til-mange-relasjon når én enkelt post i tabell A kan være relatert til én eller flere poster i tabell B, og én enkelt post i tabell B også kan være relatert til én eller flere poster i tabell A.

Du ser vanligvis mange-til-mange-relasjoner i ordresporingsdatabaser, der en ordre kan inneholde mange produkter, og et produkt kan være en del av flere ordrer.

Du ser også denne typen relasjon i student-databaser, hvor mange studenter kan oppta mange klasserom.

Du har en én-til-én-relasjon når én enkelt post i én tabell er relatert til bare én post i en annen tabell. Én enkelt ansatt kan for eksempel kjøre én firmabil. Du vil imidlertid ikke se denne typen veldig ofte fordi én-til-én-relasjoner ikke er så vanlig.

Nå velger vi Databaseverktøy og deretter Relasjoner. Dette åpner Relasjoner-ruten. Du kommer til å bruke dette verktøyet ganske mye.

Dette er der du bygger og administrerer mesteparten av relasjonene dine. Her ser du en vanlig relasjon: to tabeller med en linje mellom dem. Linjen viser at tabellene er relaterte.

Dette er en én-til-mange-relasjon. Det kan du se fordi relasjonslinjen her har et ETT-symbol og et UENDELIG-symbol. Disse symbolene peker på et par viktige konsepter.

For det første er tabellen på ÉN-siden den OVERORDNEDE tabellen, og tabellen på MANGE-siden er en UNDERORDNET tabell.

For det andre kan du tenke deg at de fleste relasjonene har SIDER. I dette tilfellet har du en tabell på ÉN-siden og en tabell på MANGE-siden.

Sider er viktige fordi de påvirker hvordan du utformer spørringer.

La oss velge relasjonslinjen, og deretter går vi til båndet og velger Rediger relasjoner.

Tre relasjonsinnstillinger påvirker dataene og hjelper deg med å bruke relasjoner riktig: Referanseintegritet, gjennomgripende oppdateringer og gjennomgripende slettinger. Slik fungerer de:

Referanseintegritet synkroniserer postene i begge tabellene. Dette er en viktig del av å holde dataene nøyaktige, så du bør nesten alltid angi denne.

Når du har fremtvunget referanseintegritet, kan du ikke legge til et telefonnummer med mindre du har et navn i kundetabellen. Dermed unngår du å opprette det som kalles FRITTSTÅENDE data, som er data uten overordnede poster.

Anta bare for eksempel et salgstall uten noen ordre vedlagt, da ser du hvorfor det er så viktig å angi referanseintegritet.

Innstillingen Gjennomgripende oppdateringer tillater eventuelle endringer på den overordnede siden å gå gjennomgripende gjennom relaterte poster på UNDERORDNET- eller MANGE-siden.

Hvis en kunde for eksempel endrer navnet sitt, trenger du bare å angi endringen i kundetabellen, og alle relaterte poster vil endre seg.

Innstillingen Gjennomgripende sletting kontrollerer om du kan slette data. Hvis du ikke velger dette alternativet, kan du ikke slette data. Hvis du velger dette alternativet, vil Access slette alle relaterte poster når du sletter en post.

Hvis du for eksempel sletter en kunde, slettes også kundens telefonnumre.

Dette kan være nyttig fordi det hindrer frittstående data – telefonnumre uten kunder. På den andre siden må du huske på at bedriftens regler kan hindre deg i å slette data. Bedriftsregler kan spille en stor rolle i databaseutformingen.

Nå vet du om tabellrelasjoner, inkludert arbeid i ruten Access-relasjoner og relasjonsinnstillingene som kan hjelpe deg å arbeide mer effektivt med Access-databasen.

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Office Insiders

Var denne informasjonen nyttig?

Takk for tilbakemeldingen!

Takk for tilbakemeldingen! Det høres ut som det kan være lurt å sette deg i kontakt med én av våre Office-kundestøtteagenter.

×