Opret mange til mange-relationer

Din browser understøtter ikke video. Installer Microsoft Silverlight, Adobe Flash Player eller Internet Explorer 9.

Hvad er mange til mange-relationer?

Mange til mange-relationer er de mest brugte i tabelrelationer. De giver vigtige oplysninger om, hvilke kunder, dine sælgere har kontaktet, og hvilke produkter, der er bestilt mm.

En mange til mange-relation findes, når et eller flere elementer i én tabel kan have relationer til en eller flere elementer i en anden tabel. Eksempel:

  • Din ordretabel indeholder ordrer fra flere kunder (der er angivet i kundetabellen), og en kunde kan placere mere end én ordre.

  • Produkttabellen indeholder de enkelte produkter, du sælger, som er en del af mange ordrer i ordretabellen.

  • Én ordre kan indeholde én forekomst (eller mere end én forekomst) af et bestemt produkt og/eller én forekomst (eller mere end én forekomst) af flere produkter.

Kunden Elizabeth Andersens ordrenummer 1012 kan f.eks indeholde en af hver af produkterne 12 og 15 og fem af produkt 30.

Opret mange til mange-relationer

Du opretter mange til mange-relationer anderledes end en til en-relationer eller en til mange-relationer. Her forbinder du skal blot de relevante felter med en linje. For at oprette mange til mange-relationer, skal du oprette en ny tabel, du kan forbinde med de to andre. Denne nye tabel kaldes en mellemliggende tabel (eller nogle gange en sammenkædende tabel eller samlingstabel).

I det scenarie, der er beskrevet tidligere, opretter du en tabel med ordredetaljer med poster, der indeholder id fra ordretabellen og produkttabellen, for hvert enkelt produkt i hvilken som helst ordre. Du opretter en primær nøgle til den tabel ved at bruge den kombinerede nøgle fra de to tabeller.

I vores scenarie består Elizabeth Andersens ordrenummer, 1012, af produkterne 12, 15 og 30. Det betyder, at vores poster for ordredetaljer ser således ud:

Ordre-id

Produkt-id

1012

12

1012

15

1012

30

Elizabeth bestilte et af hver af produkterne 12 og 15 og fem af produktet 30. Vi kan ikke tilføje en anden række med 1012 og 30, fordi ordre-id og produkt-id sammen udgør vores primære nøgle, og primære nøgler skal være unikke. I stedet tilføjer vi et antalsfelt til tabellen Ordredetaljer.

Ordre-id

Produkt-id

Antal

1012

12

1

1012

15

1

1012

30

5

Opret en midlertidig tabel

  1. Vælg Opret > Tabel.

  2. Vælg Gem Gem .

  3. Som Tabelnavn, angiv en beskrivende titel. For at angive dens formål, kan du tage samlingstabellen eller mellemliggende med i tabelnavnet.

Opret felter i den mellemliggende tabel

Som den første kolonne i tabellen, tilføjer Access automatisk et id-felt. Rediger feltet til at matche med id'et i den første tabel i din mange til mange-relation. For eksempel, hvis den første ordretabel kaldes Ordre-id, og dens primære nøgle er et tal, så skal du ændre navnet i id-feltet i den nye tabel til Ordre-id, og bruge et Tal til datatypen.

  1. I Dataarkvisning skal du vælge kolonneoverskriften Id og derefter indtaste det nye navn for feltet.

  2. Vælg det felt, du lige har omdøbt.

  3. I fanen Felter under Datatype, skal du vælge en datatype, der svarer til feltet i den oprindelige tabel, f.eks Tal eller Kort tekst.

  4. Vælg Klik for at tilføje, og vælg derefter en datatype, der svarer til den primære nøgle i den anden tabel. I kolonneoverskriften, som allerede er markeret, skriver du navnet på det primære nøglefelt fra den anden tabel, f.eks. Produkt-id.

  5. Hvis du har brug for at spore andre oplysninger om disse poster, f.eks antallet af elementer, skal du oprette flere felter.

Kombiner primære id-felter

Nu, hvor du har felter, der indeholder id'er fra de to tabeller, du vil forbinde, skal du oprette en primær nøgle baseret på disse id'er, i den mellemliggende tabel.

  1. Åbn den midlertidige tabel i Designvisning.

  2. Markér begge rækker, der indeholder id'erne. (Hvis du har fulgt den tidligere procedure, er det de to første rækker).

  3. Vælg Design > Primær nøgle.
    Nøgleikoner vises ud for begge id-felter.

    Skærmbillede af primær nøgle for tabel

Forbind de tre tabeller for at oprette mange til mange-relationen

For at fuldføre mange til mange-relationen, skal du oprette en en til mange-relation mellem det primære nøglefelt i hver tabel samt det tilsvarende felt i den mellemliggende tabel. Du kan se, hvordan du gør dette i Kom i gang med tabelrelationer.

Når du er færdig, bør relationerne se nogenlunde sådan ud:

Skærmbillede af forbindelser mellem tre databasetabeller

Vil du have mere?

Introduktion til tabelrelationer

Oprette en relation

Slette en relation

Kursus i Excel

Kursus i Outlook

Bruge en mange til mange-relation mellem tabeller, når et enkelt element i tabel A kan relateres til mange elementer i tabel B og omvendt. F.eks. kan et produkt forekomme i mange ordrer, og en ordre kan indeholde mange produkter.

I denne demo udvider vi vores database til et grundlæggende ordresporingssystem med tabeller til produkter og ordrer.

Vi kan få mere at vide om samlingstabellen og den sammensatte nøgle og bruge dem med vores andre tabeller til at oprette mange til mange-relationen.

Det første trin til at skabe en mange til mange-relation er at oprette en ny tabel.

Dette kaldes den “midlertidige tabel”, og vi bruger den til at gemme data fra de andre tabeller, der er involveret i relationen.

Den midlertidige tabel kaldes også "sammenkædningstabellen" eller "samlingstabellen".

Det næste, du skal gøre, er at oprette et sæt af en til mange-relationer mellem samlingstabellen og de andre tabeller, der er involveret i relationen.

Som en del heraf skal du identificere begge disse felter som samlingstabellens primære nøgle. Dette bliver den "sammensatte nøgle".

Vi vil bygge samlingstabellen i Designvisning, så vi vælger Opret, Tabeldesign. Her er vores nye, tomme tabel.

Lad os nu åbne produkt- og ordretabellerne

Lad os se på de primære nøgler for begge tabeller. Tabellen Produkter bruger et felt med automatisk nummerering kaldet Produkt-id.

Den primære nøgle for tabellen Ordrer hedder Ordre-id, og det er også et felt med automatisk nummerering.

Nu vender vi tilbage til vores samlingstabel, hvor vi indtaster produkt-id, vælger Tal, indtaster ordre-id og derefter vælger Tal igen.

Nu markerer vi begge felter. For at gøre dette skal du placere markøren i det grå felt ved siden af hvert felt og trække

Når begge felter er markeret, skal du vælge Primær nøgle på båndet. Dette opretter den sammensatte nøgle for samlingstabellen.

At have begge felter i den sammensatte nøgle sikrer, at hver ordre og alt indhold i hver ordre identificeres entydigt.

Tryk på CTRL+S for at gemme samlingstabellen og kalde den Ordredetaljer.

Vi kan nu oprette relationerne. Start med at lukke alle dine åbne tabeller. Vælg Databaseværktøjer, og vælg derefter Relationer.

På fanen Design skal du vælge Vis tabel. Tilføj tabellerne Ordredetaljer, Ordrer og Produkter. Luk så dialogboksen.

Sortér tabellerne, så Ordredetaljer – samlingstabellen – er i midten. Træk feltet Ordre-id fra tabellen Ordrer over til samlingstabellen.

I dialogboksen Rediger relationer skal du vælge Gennemtving referentiel integritet og derefter vælge Opret for at oprette relationen.

Gør det samme med feltet Produkt-id Vælg Gennemtving referentiel integritet, vælg Opret, og det var det.

Tryk på CTRL+S for at gemme ændringerne i dit relationsdiagrams layout.

Du har nu brugt en samlingstabel og en sammensat nøgle med dine eksisterende tabeller til at oprette en mange til mange-relation i Access-databasen.

Del Facebook Facebook Twitter Twitter Mail Mail

Var disse oplysninger nyttige?

Fantastisk! Har du mere feedback?

Hvordan kan vi forbedre det?

Tak for din feedback!

×