Video: Začínáme s relacemi mezi tabulkami

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 napříč tabulkami. K tomu je potřeba nejprve vytvořit relace mezi tabulkami. Potom vložte Access do práce na kombinová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é žádné relace mezi tabulkami, Access vás vyzve k přidání tabulky nebo dotazu. Abyste mohli přidat relaci, potřebujete aspoň dvě tabulky. V ideálním případě nejprve sestavíte všechny tabulky. Další informace najdete v tématech Vytvoření relací pomocí Průvodce vyhledáváním a Vytvoření relací pomocí podokna Relace.

Principy zobrazení Relace

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

Relace se zobrazují podle čar nakreslených mezi nadřazenými a podřízenými poli. Čáry a symboly ukazují, jak mezi tabulkami souvisí:

  • Silná spojovací čára znamená, že vynucujete integritu referenčních dat. To je dobré. Udržuje vaše data synchronizovaná.
  • Číslo 1 na našem obrázku označuje, že v této tabulce může být pouze jeden odpovídající záznam. V zde zobrazené tabulce Objednávky odpovídá každé objednávce pouze jeden záznam.
  • Symbol ∞ označuje, že mnoho záznamů může obsahovat stejné ID. V zde zobrazené tabulce Podrobnosti objednávky se objednávka (označená id objednávky) může zobrazit více než jednou, protože stejná objednávka může obsahovat více produktů.

Typy relací mezi tabulkami

Mezi tabulkami existují tři typy relací:

  • 1:1. Když se každá položka v každé tabulce zobrazí jenom jednou. Každý zaměstnanec může například používat jenom jedno firemní auto. Další informace najdete v tématu Vytvoření relací 1:1.
  • 1:N. Když jedna položka v jedné tabulce může mít relaci s více položkami v jiné tabulce. Každá nákupní objednávka může například obsahovat více produktů.
  • M:N. Když jedna nebo více položek v jedné tabulce může mít relaci s jednou nebo více položkami v jiné tabulce. Každá objednávka může mít například více produktů a každý produkt se může objevit na 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 jedné z tabulek. Vzpomeňte si, že primární klíč je jedinečný identifikátor (často číselný) pro každý záznam. Pokud chcete ukázat, že informace ve dvou různých tabulkách souvisejí, obvykle vytvoříte relaci pomocí primárního klíče z jedné z tabulek.

Například v relaci zobrazené tady má každá osoba v tabulce Kontakty ID, což je primární klíč (označený symbolem klíče vedle něj). Toto ID se také zobrazí v poli Vlastník v tabulce Prostředky. Pokud chcete poslat e-mail osobě přidružené k prostředku, získejte hodnotu z pole Email Adresa. Uděláte to tak, že vyhledáte hodnotu v poli Vlastník tabulky Asset a pak vyhledáte id v tabulce Kontakty. Číslo 1 na jednom konci spojovací čáry a symbol ∞ na druhém konci značí, že se jedná o relaci 1:N, takže jeden kontakt může být přidružený k mnoha prostředkům.

Relace typu 1:N

Úprava relace

Pokud upravujete existující databázi nebo jste databázi vytvořili ze šablony, můžete upravit existující relace tak, aby vyhovovaly vašim potřebám.

Poznámka

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

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

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

    Tip:

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

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

    Úprava existující relace mezi tabulkami

    Tabulka/dotaz je nadřazená tabulka na levé straně (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 zobrazení Relace nezobrazují v tomto pořadí, jejich umístění v dialogovém okně označuje směr čáry, která je spojuje a relaci. To je důležité, pokud se například jedná o relaci 1:N, protože značí, že tabulka na levé straně je jedna (nadřazená tabulka) a tabulka na pravé straně 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 se pole ID v tabulce Zákazníci připojuje k poli ID zákazníka v tabulce Objednávky.

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

    Vynucení referenční integrity Pokud chcete zabránit neplatným datům a zachovat synchronizované odkazy napříč relacemi mezi tabulkami, vyberte tuto možnost.
    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.
    Vynucování referenční integrity někdy nedává smysl. Předpokládejme například, že máte vztah 1:N mezi dopravci a objednávkami. Odstraníte dopravce a tento dopravce se mapuje na objednávky v tabulce Objednávky. Tyto objednávky se stanou osamocené, 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ích polí Pokud chcete zajistit, aby se data v souvisejících polích aktualizovala ve všech souvisejících tabulkách, vyberte tuto možnost.
    Předpokládejme například, že chcete jednoduše změnit ID dopravce. Nastavení této možnosti zajistí, že se ID odesílatele aktualizuje – nejen v tabulce Odesílatel, ale také v dalších tabulkách, které jsou k ní připojeny, které také obsahují ID odesílatele, například v tabulce Objednávky.
    Kaskádové odstranění souvisejících záznamů Rozhodnutí vybrat tuto možnost závisí na tom, jestli potřebujete zachovat záznamy v některých tabulkách, i když je možné je z jiných tabulek odstranit.
    Předpokládejme například, že odstraníte dopravce. Pokud je tato možnost vybraná, Access odstraní všechny záznamy ve všech tabulkách, které odkazují na DANÉ ID odesílatele, včetně všech objednávek (v tabulce Objednávky) expedovaných daným dopravcem. Tuto možnost vyberete jenom v případě, že jste si jistí, že chcete odstranit historii objednávek.
  6. Pokud chcete změnit relaci mezi tabulkami z vnitřního spojení na vnější spojení, 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 nejprve zavřít spolu se všemi otevřenými objekty, které je použí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 požadovanou relaci nevidíte, vyberte na kartě Návrh ve skupině Relacemožnost Všechny relace.

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

Poznámka

Když odeberete relaci, odeberete také podporu referenční integrity pro tuto relaci, pokud existuje. V důsledku toho už Access nebude bránit změnám, které vedou k osiřelým záznamům na straně N relace 1:N.

Chcete se dozvědět víc?

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