Video: Vytváření relací M:N

Platí pro
Access pro Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Vyzkoušejte to!

Co je to relace M:N?

Relace M:N jsou nejčastěji používané relace mezi tabulkami. Poskytují důležité informace, například které zákazníky kontaktovali vaši prodejci a jaké produkty jsou v zákaznických objednávkách.

Relace M:N existuje, když jedna nebo více položek v jedné tabulce může mít relaci k jedné nebo více položkám v jiné tabulce. Příklady:

  • Tabulka Objednávky obsahuje objednávky od více zákazníků (kteří jsou uvedeni v tabulce Zákazníci), přičemž zákazník může zadat více objednávek.
  • Tabulka Produkty obsahuje jednotlivé prodávané produkty, které jsou součástí mnoha objednávek v tabulce Objednávky.
  • Jedna objednávka může obsahovat jednu instanci (nebo více než jednu instanci) konkrétního produktu a/nebo jednu instanci (nebo více než jednu instanci) více produktů.

Například objednávka zákaznice Elizabeth Andersenové s číslem 1012 může obsahovat po jednom produktu 12 a 15 a po pěti produktech 30.

Vytváření relací M:N

Relace M:N vytvoříte jinak než 1:1 nebo 1:N. U těchto relací jednoduše propojíte příslušná pole čárou. Pokud chcete vytvořit relace M:N, musíte vytvořit novou tabulku, která propojí zbývající dvě. Tato nová tabulka se nazývá přechodná tabulka (nebo někdy propojovací nebo spojovací tabulka).

Ve výše popsaném scénáři vytvoříte tabulku Rozpis objednávek se záznamy, které pro každou položku dané objednávky obsahují ID z tabulky Objednávka a ID z tabulky Výrobky. Primární klíč pro tuto tabulku vytvoříte pomocí kombinovaných klíčů z obou tabulek.

V našem scénáři se číslo objednávky Elizabeth Andersen 1012 skládá z produktů 12, 15 a 30. To znamená, že naše položky Podrobnosti objednávky vypadají takto:

ID objednávky Product ID
1012 12
1012 15
1012 30

Alžběta si objednala po jednom z produktů 12 a 15 a pět produktů 30. Nemůžeme přidat další řádek s čísly 1012 a 30, protože ID objednávky a ID produktu dohromady tvoří primární klíč a primární klíče musí být jedinečné. Místo toho přidáme do tabulky Rozpis objednávek pole Množství.

ID objednávky Product ID Mnozstvi
1012 12 1
1012 15 1
1012 30 5

Vytvoření přechodné tabulky

  1. Vyberte Vytvořit>tabulku.
  2. Vyberte Uložita uložit .
  3. Do pole Název tabulky zadejte popisný název. Abyste naznačili její účel, můžete do názvu tabulky zahrnout spoj nebo mezilehlý obsah.

Vytváření polí v přechodné tabulce

Jako první sloupec tabulky Access automaticky přidá pole ID. Změňte toto pole tak, aby odpovídalo ID první tabulky v relaci M:N. Pokud je například první tabulka tabulka Objednávky s názvem Kód objednávky a jejím primárním klíčem je číslo, změňte název pole ID v nové tabulce na ID objednávky a jako datový typ použijte Číslo.

  1. V zobrazení Datový list vyberte záhlaví sloupce ID a zadejte nový název pole.
  2. Vyberte pole, které jste právě přejmenovali.
  3. Na kartě Pole tabulky v části Datový typ vyberte datový typ, který odpovídá poli v původní tabulce, třeba Číslo nebo Krátký text.
  4. Vyberte Kliknutím přidat a pak vyberte datový typ, který odpovídá primárnímu klíči v druhé tabulce. Do záhlaví sloupce, které už je vybrané, zadejte název pole primárního klíče z druhé tabulky, například Kód výrobku.
  5. Pokud potřebujete sledovat jakékoli další informace o těchto záznamech, například množství položky, vytvořte další pole.

Kombinování polí s primárními identifikátory

Teď, když máte pole obsahující identifikátory ze dvou tabulek, které chcete spojit, vytvořte ve zprostředkující tabulce primární klíč založený na těchto identifikátorech.

  1. V návrhovém zobrazení otevřete přechodnou tabulku.
  2. Vyberte oba řádky obsahující ID. (Pokud jste postupovali podle předchozích pokynů, jsou toto první dva řádky.)
  3. VybertePrimární klíčnávrhu> tabulky.
    Vedle obou polí ID se zobrazí ikony klíčů.
    Snímek obrazovky primárního klíče v tabulce

Propojením tří tabulek vytvoříte relaci M:N

Chcete-li dokončit relaci M:N, vytvořte relaci 1:N mezi polem primárního klíče v každé tabulce a odpovídajícím polem ve zprostředkující tabulce. Podrobnosti o tom, jak to udělat, najdete v tématu Začínáme s relacemi mezi tabulkami.

Až skončíte, měly by vztahy vypadat nějak takto:

Snímek obrazovky s propojeními mezi třemi databázovými tabulkami

Chcete se dozvědět víc?

Začínáme s relacemi tabulek

Vytvoření, úprava a odstranění relace