Video: Začínáme s relacemi tabulek

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

Vyzkoušejte to!

Síla relační databáze spočívá v kombinování dat v různých tabulkách. Nejdřív je potřeba vytvořit relace mezi tabulkami. Pak Access využijte ke slučování dat v dotazech, formulářích a sestavách.

Pokud chcete zobrazit všechny existující relace definované pro databázi, otevřete šablonu Accessu, přejděte na kartu Databázové nástroje a vyberte Relace.

Poznámka

Pokud otevřete prázdnou databázi nebo nemáte definované relace mezi tabulkami, zobrazí Access výzvu k přidání tabulky nebo dotazu. K přidání relace potřebujete aspoň dvě tabulky. V ideálním případě vytvořte nejprve všechny tabulky. Další informace najdete v tématech Vytváření relací pomocí Průvodce vyhledáváním a Vytváření relací pomocí podokna relace.

Principy zobrazení Relace

Čáry v zobrazení Relace označují propojení mezi tabulkami. Tabulka na následujícím obrázku je nadřazená tabulka. Tabulka vpravo je podřízená. Čára mezi nimi spojuje pole (v tomto případě ID objednávky a ID produktu), která se používají k párování dat.

Relace jsou znázorněny čarami nakreslenými mezi nadřazenými a podřízenými poli. Čáry a symboly ukazují, jak spolu tabulky souvisí:

  • Silná spojovací čára znamená, že vynucujete referenční integritu dat. To je dobře. Udržuje vaše data synchronizovaná.
  • V našem příkladu číslo 1 označuje, že v dané tabulce může být jenom jeden odpovídající záznam. Ve zde zobrazené tabulce Objednávky odpovídá každé objednávce jenom jeden záznam.
  • Symbol ∞ označuje, že mnoho záznamů může obsahovat stejné ID. V tabulce Podrobnosti objednávky, kterou najdete tady, se může objednávka (označená jejím ID) zobrazovat víckrát, protože stejná objednávka může obsahovat víc produktů.

Typy relací mezi tabulkami

Existují tři typy relací mezi tabulkami:

  • Jedna ku jedné. Každá položka v každé tabulce se vyskytuje pouze jednou. Každý zaměstnanec může mít například k dispozici pouze jedno firemní vozidlo. Další informace naleznete v tématu Vytváření relací 1:1.
  • Jedna ku N. Kdy jedna položka v jedné tabulce může mít relaci k více položkám v jiné tabulce. Každá nákupní objednávka může například obsahovat více produktů.
  • M:N. Když jedna nebo několik položek v jedné tabulce může mít relaci k jedné nebo více položkám v jiné tabulce. Každá objednávka může například obsahovat více produktů a každý produkt se může objevit v mnoha objednávkách. Další informace najdete v tématu Vytváření relací M:N.

Relace 1:N

Jednou z nejběžnějších relací mezi tabulkami v dobře navržených databázích je relace 1:N.

Relace mezi tabulkami obvykle spoléhají na primární klíč v některé z tabulek. Připomeňme, že primární klíč je jedinečný identifikátor (často číselný) každého záznamu. Chcete-li ukázat, že informace ve dvou různých tabulkách spolu souvisí, obvykle vytvoříte relaci pomocí primárního klíče jedné z tabulek.

V relaci, kterou tu vidíte, má například každý člověk v tabulce Kontakty ID, což je primární klíč (označený symbolem klíče vedle něj). Toto ID se zobrazí taky v poli Vlastník v tabulce Aktiva. Pokud chcete poslat e-mail osobě přidružené k aktivu, získejte hodnotu z pole Email Address. Uděláte to tak, že v tabulce Aktiva vyhledáte hodnotu v poli Vlastník a pak toto ID vyhledáte v tabulce Kontakty. Číslo 1 na jednom konci spojovací čáry a symbol ∞ na druhém konci označují, že jde o relaci 1:N, takže jeden kontakt může být spojený s mnoha aktivy.

Relace typu 1:N

Úprava relace

Pokud upravujete existující databázi nebo jste databázi vytvořili ze šablony, můžete existující relace upravit podle vlastních potřeb.

Poznámka

Pokud se tabulky, se kterými chcete pracovat, používají, musíte je nejdřív zavřít spolu se všemi otevřenými objekty, které je využívají.

  1. Vyberte Relace databázových nástrojů>.

  2. Vyberte čáru spojující dvě související tabulky.

    Tip:

    Pokud nevidíte požadovanou relaci, vyberte na kartě Návrh ve skupině Relace položku Všechny relace.

  3. Na kartě Návrh vyberte Upravit relace.

    Úprava existující relace mezi tabulkami

    Tabulka/dotaz je nadřazená tabulka vlevo (v tomto příkladu Zákazníci).
    Související tabulka nebo dotaz je podřízená tabulka (v tomto příkladu Objednávky).
    I když se tabulky v tomto pořadí v zobrazení Relace nezobrazují, jejich umístění v dialogovém okně naznačuje směr čáry, která je a relaci spojuje. To je důležité třeba v případě, že se jedná o relaci 1:N, protože to znamená, že tabulka vlevo je jedna (nadřazená tabulka) a tabulka vpravo je N (podřízená tabulka).

  4. Pokud chcete změnit pole, která spojují tabulky, vyberte pod každou zobrazenou tabulkou jiné pole. V tomto příkladu je pole ID v tabulce Zákazníci propojeno s polem ID zákazníka v tabulce Objednávky.

  5. Změnit způsob, jakým Access synchronizuje data mezi tabulkami.

    Zajištění referenční integrity Tuto možnost vyberte, když chcete zabránit neplatným datům a zachovat synchronizaci odkazů ve všech relacích mezi tabulkami.
    Předpokládejme například, že máte relaci 1:1 mezi tabulkami Zaměstnanci a Zaměstnanecké výhody. Pokud zaměstnanec odejde ze společnosti a vy ho odeberete z tabulky Zaměstnanci, odebere se také související záznam zaměstnance v tabulce Zaměstnanecké výhody.
    Někdy vynucování referenční integrity nedává smysl. Předpokládejme například, že máte relaci 1:N mezi tabulkami Dopravci a Objednávky. Když odstraníte přepravce, ten se namapuje k objednávkám v tabulce Objednávky. Tyto objednávky se stanou osiřelými, což znamená, že stále obsahují ID odesílatele, ale ID již není platné, protože záznam, na který odkazuje, již neexistuje.
    Kaskádová aktualizace Související pole Výběrem této možnosti zajistíte, že se aktualizují data v souvisejících polích ve všech souvisejících tabulkách.
    Předpokládejme například, že chcete jednoduše změnit ID dopravce. Nastavením této možnosti zajistíte aktualizaci ID přepravce, a to nejen v tabulce Přepravce, ale i v dalších tabulkách, které jsou k ní připojené a které také obsahují toto ID přepravce, například v tabulce Objednávky.
    Kaskádové odstranění souvisejících záznamů Rozhodnutí o výběru této možnosti závisí na tom, jestli potřebujete zachovat záznamy v některých tabulkách, i když můžou být odstraněné z jiných tabulek.
    Předpokládejme například, že odstraňujete dopravce. Při výběru této možnosti aplikace Access odstraní všechny záznamy ve všech tabulkách, které na tento identifikátor dopravce odkazují, včetně všech objednávek (v tabulce Objednávky) odeslaných tímto dopravcem. Tuto možnost vyberete jenom v případě, že si jste jistí, že chcete historii objednávek odstranit.
  6. Chcete-li změnit relaci mezi tabulkami z vnitřního spojení na vnější, vyberte tlačítko Typ spojení . Další informace najdete v tématu Vytváření dotazů s vnějšími spojeními.

Odstranění relace mezi tabulkami

Poznámka

Pokud se tabulky, se kterými chcete pracovat, používají, musíte je nejdřív zavřít spolu se všemi otevřenými objekty, které je využívají.

Odebrání relace mezi tabulkami:

  1. Vyberte Relace databázových nástrojů>.

  2. Vyberte čáru spojující dvě související tabulky.

    Tip:

    Pokud nevidíte požadovanou relaci, vyberte na kartě Návrh ve skupině Relace položku Všechny relace.

  3. Vyberte klávesu Delete. Pokud se zobrazí výzva k potvrzení, že chcete relaci odstranit, vyberte Ano.

Poznámka

Při odebrání relace odebíráte také podporu referenční integrity této relace, pokud existuje. Access tak už nebude bránit změnám, jejichž výsledkem jsou osiřelé záznamy na straně N relace 1:N.

Chcete se dozvědět víc?

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