Příručka k relacím mezi tabulkami

Důležité :  Tento článek je strojově přeložený – přečtěte si toto upozornění. Anglickou verzi tohoto článku pro referenci najdete tady.

Jednou z cíle dobrý návrh databáze je odstranění redundance dat (duplicitních dat). K dosažení cíle, data rozdělíte do mnoha tabulek předmět tak, aby každý fakt reprezentován pouze jednou. Můžete pak poskytnout přístup prostředky vrátit rozdělené informace pohromadě – to uděláte tak, že zaškrtnete společných polí v tabulkách, které se týkají. Tento krok správně, ale musíte pochopit vztahy mezi tabulkami a pak zadejte tyto vztahy v databázi.

Další informace naleznete v článku Základy návrhu databáze.

Tento článek se nezabývá relace ve webové databázi. Webových databázích nepodporují okno relace. Vyhledávací pole umožňuje vytvořit relace ve webové databázi. Další informace naleznete v článku vytvoření databáze pro sdílení na webu.

V tomto článku

Úvod

Typy relací mezi tabulkami

Proč vytvářet relace mezi tabulkami?

Význam referenční integrity

Zobrazení relací mezi tabulkami

Vytvoření relace mezi tabulkami

Odstranění relace mezi tabulkami

Změna relace mezi tabulkami

Vynucení referenční integrity

Úvod

Po vytvoření tabulky pro jednotlivé předměty v databázi, je nutné zadat aplikace Access s prostředky k opětovnému tyto informace pohromadě v případě potřeby. Můžete to udělat tak, že zaškrtnete společných polí v tabulkách, které se týkají a tím, že definujete relací mezi tabulkami. Můžete pak vytvořit dotazů, formulářů a sestav, které se zobrazí informace z několika tabulek v celém dokumentu. Například formulář ukazuje tato část obsahuje informace z několika tabulek:

Formulář Objednávky zobrazující související informace z pěti tabulek najednou

1. Informace v tomto formuláři pocházejí z tabulky Zákazníci...

2. ...z tabulky Objednávky...

3. ...z tabulky Výrobky...

4. ...a z tabulky Rozpis objednávek.

Jméno zákazníka v poli Pro fakturaci je načteno z tabulky Zákazníci, kód a datum objednávky z tabulky Objednávky, název výrobku z tabulky Výrobky a jednotková cena a množství z tabulky Rozpis objednávek. Tyto tabulky jsou různými způsoby vzájemně propojeny, aby z nich bylo možné načítat informace do formuláře.

V předchozím příkladu musí být pole v jednotlivých tabulkách koordinována, aby zobrazovala informace o téže objednávce. Této koordinace se dosahuje pomocí relací mezi tabulkami. Relace mezi tabulkami pracují na základě porovnání dat v klíčových polích (často v polích se stejným názvem v obou tabulkách). Ve většině případů se jedná o pole primárního klíče jedné tabulky, které poskytuje jedinečný identifikátor každého záznamu, a pole cizího klíče druhé tabulky. Tak mohou být například vytvořením relace mezi poli Kód v tabulkách Zaměstnanci a Objednávky spojeni zaměstnanci s objednávkami, za které odpovídají.

Číslo zaměstnance použité jako primární klíč v tabulce Zaměstnanci a jako cizí klíč v tabulce Objednávky

1. Pole Kód je obsaženo v obou tabulkách – jako primární klíč...

2. ...a jako cizí klíč.

Začátek stránky

Typy relací mezi tabulkami

Existují tři typy relací mezi tabulkami.

  • Relace typu 1:N

    Zvažte objednávky sledování databázi obsahující tabulku Zákazníci a objednávky. Zákazník může vytvořit libovolný počet objednávek. To znamená, že pro zákazníka v tabulce Zákazníci můžete existovat mnoho objednávek v tabulce objednávky. Vztah mezi tabulky Zákazníci a objednávky je proto-n relace.

    Znázornit-n relace v návrhu databáze prohlédněte primární klíč na straně "1" relace a přidat jako další pole do tabulky na straně "n" relace. V tomto případě například přidat nové pole – pole ID z tabulky Zákazníci – do tabulky objednávky a nazvěte ji ID zákazníka. Access pak můžete čísla ID zákazníka v tabulce objednávky vyhledejte správné zákazníka pro každou objednávku.

  • Relace typu M:N

    Zvažte vytvoření relace mezi tabulkou produkty a tabulku objednávky. Jeden pořadí může obsahovat víc produktů. Na druhé straně jednotlivým produktům mohou zobrazovat na mnoha objednávky. Proto pro každý záznam v tabulce objednávky může existovat více záznamů v tabulce produkty. Kromě toho pro každý záznam v tabulce produkty může existovat více záznamů v tabulce objednávky. Tento typ relace se nazývá n: n: n, protože pro každý produkt může existovat více objednávkách a pro každou objednávku může být mnoho produktů. Všimněte si, že zjišťování existující-n relace mezi tabulkami, je důležité zvážit obě strany relace.

    Chcete-li vyjádřit relaci typu M:N, je nutné vytvořit třetí tabulku, která se často nazývá spojená tabulka, jež rozdělí relaci typu M:N na dvě relace typu 1:N. Primární klíč z těchto dvou tabulek vložíte do třetí tabulky. Výsledkem je, že třetí tabulka zaznamená každý výskyt nebo instanci relace. V relaci M:N jsou například tabulky Objednávky a Výrobky a tato relace je definována vytvořením dvou relací 1:N s tabulkou Rozpis objednávek. V každé objednávce může být uvedeno více výrobků a každý výrobek může být uveden ve více objednávkách.

  • Relace typu 1:1

    V relaci každý záznam v první tabulce může mít jenom jeden záznam ve druhé tabulce a každý záznam ve druhé tabulce může mít jenom jeden záznam v první tabulce. Tento typ relace není běžné, protože nejčastěji informace související s tímto způsobem jsou uložené ve stejné tabulce. Relaci může použít k rozdělení tabulku s mnoho polí, oddělení části tabulky z důvodů zabezpečení a ukládání informací, které se týká jen podmnožinu hlavní tabulku. Při určování relace, obou tabulek sdílejí jejich společného pole.

Začátek stránky

Proč vytvářet relace mezi tabulkami?

Relace mezi tabulkami můžete vytvořit explicitně pomocí okna relace, nebo když přetáhnete nějaké pole z podokna Seznam polí. Aplikace Access použije relací mezi tabulkami vědět, jak chcete spojit tabulky, když potřebujete je použít v databázového objektu. Existuje několik důvodů, proč byste měli před vytvořením jiných databázových objektů, jako jsou formuláře, dotazy a vytvořit relace mezi tabulkami.

  • Relace mezi tabulkami informují návrhy dotazů.

    Pracovat se záznamy z více tabulek, je často nutné vytvořit dotaz, který propojuje tabulky. Dotaz funguje tak, že odpovídajících hodnot ve pole primárního klíče první tabulky s polem cizího klíče v druhé tabulce. Například vrátit řádky, které seznam všech objednávek pro jednotlivé zákazníky, vytvářet dotazu, který propojuje tabulky Zákazníci s tabulkou objednávky podle pole ID zákazníka. V okně relace můžete ručně zadat pole, která chcete připojit. Ale pokud už máte relace mezi tabulkami definované přístup poskytuje výchozí spojení na základě existující relace. Kromě toho pokud používáte některou z Průvodce dotazem, aplikace Access použije informace, které shromažďuje z relací mezi tabulkami, že jste již definovali nadefinovali se informovaní možnostmi a předem nastavení vlastností příslušných výchozích hodnot.

  • Relace mezi tabulkami informují návrhy formulářů a sestav.

    Při návrhu formuláře nebo sestavy aplikace Access použije informace, které shromažďuje z relací mezi tabulkami, že jste již definovali nadefinovali se informovaní možnostmi a předem nastavení vlastností příslušných výchozích hodnot.

  • Relace mezi tabulkami jsou základnou, na které můžete vynucovat referenční integritu a zabránit tak vytváření osiřelých záznamů v databázi. Osiřelým záznamem se rozumí záznam s referencí na neexistující záznam – například záznam objednávky, který odkazuje na neexistující záznam zákazníka.

    Při návrhu databáze rozdělíte informace do tabulek, z nichž každá obsahuje primární klíč. Potom přidejte cizích klíčů souvisejících tabulkách, které odkazují na primární klíče. Tyto cizích klíčů párování primární klíč základem relací mezi tabulkami a dotazy více tabulek. Je důležité, proto, že tyto cizích klíčů odkazy primární klíč zachová synchronizaci. Referenční integrita zajistit, reference synchronní a závisí na relací mezi tabulkami.

Začátek stránky

Význam referenční integrity

Při návrhu databáze rozdělíte informace do mnoha tabulek minimalizovat redundance dat podle předmětu. Potom poskytnutí přístupu prostředky, podle kterého chcete přenést data zpět slučuje vložením společných polí do několika souvisejících tabulek. Znázornit-n relace například prohlédněte primární klíč v tabulce "1" a přidat ho jako další pole do tabulky "n". Vrátit data dohromady, aplikace Access má hodnotu v tabulce "n" a vyhledá odpovídající hodnoty v tabulce "1". Tímto způsobem odkazovat na hodnoty v tabulce "n" odpovídající hodnoty v tabulce "1".

Řekněme, že mezi tabulkami Přepravci a Objednávky máte relaci typu 1:N a chcete odstranit jednoho přepravce. Pokud pro tohoto přepravce existují objednávky v tabulce Objednávky, stanou se z těchto objednávek po odstranění záznamu přepravce osiřelé záznamy. Budou nadále obsahovat kód přepravce, ale ten nebude platný, protože záznam, na který odkazuje, již nebude existovat.

Účelem referenční integrity je zabránit vzniku osiřelých záznamů a udržovat reference synchronní, aby k této hypotetické situaci nikdy nedošlo.

Vynucení referenční integrity povolením pro relace mezi tabulkami (viz vynucení referenční integrity podrobné pokyny). Po vynucení aplikace Access odmítne jakoukoli operaci, která by porušovat referenční integritu pro tuto relaci tabulky. To znamená, že aplikace Access odmítne aktualizace, které mění cíl odkazu a odstranění umožňující odebrání cíl odkazu. Je však možné, že dokonale platnou potřebu změnit primární klíč pro přepravce, který má objednávek v tabulce objednávky. Pro tento případ skutečně důležité je určený pro přístup k automatické aktualizaci všechny ovlivněné řádky v rámci jedné operaci. Tak, Access zaručuje, že aktualizace zcela dokončena tak, aby databázi není doleva ve stavu nekonzistentní s některými řádky aktualizovanými a některé není. Z tohoto důvodu Access podporuje možnost kaskádová aktualizace souvisejících polí. Po vynucení referenční integrity a vyberte možnost kaskádová aktualizace souvisejících polí a pak aktualizujte primární klíč, Access automaticky aktualizovat všechna pole, které odkazují na primární klíč.

Je také možné může být platná potřeba odstranit řádek a všechny související záznamy – například přepravce záznamu a všech souvisejících objednávek tohoto dopravce. Z tohoto důvodu Access podporuje možnost kaskádové odstranění souvisejících záznamů. Po vynucení referenční integrity a vyberte možnost kaskádové odstranění souvisejících záznamů a potom odstranění záznamu na straně primárního klíče relace, aplikace Access automaticky odstraní všechny záznamy, které odkazují na primární klíč.

Začátek stránky

Zobrazení relací mezi tabulkami

Zobrazení relací mezi tabulkami, klikněte na tlačítko relace na kartě Databázové nástroje. Otevře okno relace a zobrazením všech existujících relací. Pokud zatím byla definována bez relací mezi tabulkami a otevřete okno Relace poprvé, Access vás vyzve k přidání tabulky nebo dotazu do okna.

Otevření okna Relace

  1. Na kartě Soubor klikněte na možnost Otevřít.

  2. V dialogovém okně Otevřít vyberte a otevřete databázi.

  3. Na kartě Databázové nástroje klikněte ve skupině Relace na Relace.

  4. Pokud databáze obsahuje relace, zobrazí se okno relace. Pokud databáze neobsahuje žádné relace a otevřete okno Relace poprvé, zobrazí se dialogové okno Zobrazit tabulku. Klikněte na Zavřít zavřete dialogová okna.

  5. Na kartě Návrh ve skupině Relace klikněte na položku Všechny relace.

    Zobrazí se všechny definované relace v databázi. Poznámka: skrytými tabulkami (tabulek, pro které skryté zaškrtávací políčko v dialogových oknech vlastností v tabulce je vybraná) a jejich vztahů se nezobrazí, pokud je zaškrtnuté políčko Zobrazit skryté objekty v dialogovém okně Možnosti navigace.

Relaci mezi tabulkami vyjadřuje čára relace mezi tabulkami v okně Relace. Relace, ve které není vynucována referenční integrita, je zobrazena jako tenká čára mezi obvyklými poli podporujícími relaci. Vyberete-li relaci kliknutím na její čáru, zvětší se tloušťka čáry. Pokud pro tuto relaci vynucujete referenční integritu, bude čára na obou koncích silnější. Navíc se nad silnou částí čáry na jedné straně relace zobrazí číslo 1 a nad silnou částí čáry na druhé straně se zobrazí symbol nekonečna (?).

Když je okno Relace aktivní, můžete na pásu karet vybrat následující příkazy:

Na kartě Návrh ve skupině Nástroje:

  • Upravit relace:    Otevře dialogové okno Upravit relace. Po výběru čáry relace můžete kliknutím na tlačítko Upravit relace změnit relaci tabulky. Na čáru relace můžete také poklikat.

  • Vymazat rozložení:    Odebere všechny tabulky a relace ze zobrazení v okně Relace. Tento příkaz tabulky a relace pouze skryje – neodstraní je.

  • Sestava relací:    Vytvoří sestavu zobrazující tabulky a relace v databázi. V sestavě budou zobrazeny pouze ty tabulky a relace, které nejsou v okně Relace skryty.

Na kartě Návrh ve skupině Relace:

  • Zobrazit tabulku:    Otevře dialogové okno Zobrazit tabulku, ve kterém můžete vybrat tabulky a dotazy pro zobrazení v okně Relace.

  • Skrýt tabulku:    Skryje vybranou tabulku v okně Relace.

  • Přímé relace:    Zobrazí všechny relace a související tabulky pro vybranou tabulku v okně Relace, pokud již nejsou zobrazeny.

  • Všechny relace    Zobrazí v okně Relace všechny relace a související tabulky v databázi. Skryté tabulky (tabulky, u nichž je zaškrtnuto políčko Skryté v dialogovém okně Vlastnosti tabulky) a jejich relace se nezobrazí, dokud nebude zaškrtnuto políčko Zobrazit skryté objekty v dialogovém okně Možnosti navigace.

  • Zavřít:    Zavře okno Relace. Pokud jste provedli jakékoli změny v rozložení okna Relace, budete dotázáni, zda chcete tyto změny uložit.

Začátek stránky

Vytvoření relace mezi tabulkami

Relaci mezi tabulkami můžete vytvořit v okně Relace nebo přetažením pole či datového listu z podokna Seznam polí. Při vytvoření relace mezi tabulkami nemusí mít společná pole stejné názvy, i když se často stává, že je mají. Tato pole však musí mít stejný datový typ. Pokud je pole primárního klíče polem Automatické číslo, může být pole cizího klíče také číselným polem v případě, že je vlastnost .Velikostpole v obou polích stejná. Můžete například porovnat pole Automatické číslo a Číslo v případě, že je vlastnost .Velikostpole obou polí Dlouhé celé číslo. Když jsou obě společná pole číselnými poli, musí mít stejné nastavení vlastnosti .Velikost pole.

Vytvoření relace tabulky pomocí okna Relace

  1. Na kartě Soubor klikněte na možnost Otevřít.

  2. V dialogovém okně Otevřít vyberte a otevřete databázi.

  3. Na kartě Databázové nástroje klikněte ve skupině Relace na položku Relace.

  4. Pokud jste dosud nedefinovali žádnou relaci, automaticky se zobrazí dialogové okno Zobrazit tabulku. Jestliže se toto okno nezobrazí, klikněte na kartě Návrh ve skupině Relace na tlačítko Zobrazit tabulku.

Dialogové okno Zobrazit tabulku zobrazuje všechny tabulky a dotazy v databázi. Chcete-li zobrazit pouze tabulky, klikněte na kartu Tabulky. Chcete-li zobrazit pouze dotazy, klikněte na kartu Dotazy. Chcete-li zobrazit tabulky i dotazy, klikněte na kartu Oboje.

  1. Vyberte jednu nebo více tabulek či dotazů a klikněte na tlačítko Přidat. Po přidání tabulek a dotazů do okna Relace klikněte na tlačítko Zavřít.

  2. Přetáhněte pole (zpravidla primární klíč) z jedné tabulky do společného pole (cizí klíč) v druhé tabulce. Pokud chcete přetáhnout více polí zároveň, stiskněte a podržte klávesu CTRL apostupně klikněte na všechna požadovaná pole. Poté je přetáhněte.

Zobrazí se dialogové okno Upravit relace.

  1. Ověřte, zda jsou zobrazenými názvy polí společná pole relace. Pokud není název pole správný, klikněte na něj a ze seznamu vyberte nové pole.

Pokud chcete vynutit referenční integritu pro tuto relaci, zaškrtněte políčko Zajistit referenční integritu. Další informace o referenční integritu najdete v článku Význam referenční Integrity a oddíly Zajistit referenční integritu .

  1. Klikněte na tlačítko Vytvořit.

    Mezi dvěma tabulkami je zakreslena čára relace. Pokud jste zaškrtnuli políčko Zajistit referenční integritu, bude čára na obou koncích silnější. Navíc, pokud zaškrtnete pouze políčko Zajistit referenční integritu, zobrazí se nad silnější částí na jedné straně čáry relace hodnota 1 a nad silnější částí na druhé straně znak nekonečna (?).

    Poznámky : 

    • Chcete-li vytvořit relaci    Obě pole (obvykle primární klíč a cizí klíče) musí mít jedinečný index. To znamená, že vlastnost Indexovat pro tato pole by měl být nastavený na hodnotu Ano (bez duplicity). Máte obě pole jedinečný index, Access vytvoří relaci.

    • Vytvoření relace 1: n    Pole na straně "1" (obvykle primární klíč) relace musí mít jedinečný index. To znamená, že vlastnost Indexovat pro toto pole měla být nastavena na hodnotu Ano (bez duplicity). Pole na stranu "n" měli není mít jedinečný index. Můžete mít index, ale musí povolit duplicity. To znamená, že vlastnost Indexovat pro toto pole měla být nastavena na hodnotu Nenebo Ano (duplicita povolena). Jedno pole má jedinečný index a druhý nemá, aplikace Access vytvoří-n relace.

Vytvoření relace tabulky pomocí podokna Seznam polí

Přidání pole do existující tabulky, který je otevřen v zobrazení Datový list přetažením z podokna Seznam polí. Podokno Seznam polí se zobrazenými poli k dispozici v souvisejících tabulkách spolu s poli k dispozici v jiných tabulkách. Při přetažení pole z "jiné" (bez relace) tabulku a pak ukončete Průvodce vyhledáváním, se automaticky vytvoří nový-n relace mezi tabulkami v podokně Seznam polí a tabulky, do kterého můžete přetáhnout pole. Tuto relaci vytvořené v aplikaci Access, není vynucení referenční integrity ve výchozím nastavení. Pokud chcete vynutit referenční integritu, musíte upravit relaci. Viz část Změna relace mezi tabulkami Další informace.

Otevření tabulky v zobrazení Datový list

  1. Na kartě Soubor klikněte na možnost Otevřít.

  2. V dialogovém okně Otevřít vyberte a otevřete databázi.

  3. V navigačním podokně klikněte pravým tlačítkem myši na tabulku, do které chcete přidat pole a pro kterou chcete vytvořit relaci, a klikněte na tlačítko Otevřít.

Otevření podokna Seznam polí

  • Stiskněte kombinaci kláves ALT+F8.

    Zobrazí se podokno Seznam polí.

Seznam polí podokno se zobrazí všechny ostatní tabulky v databázi, seskupené do kategorií. Při práci s tabulkou v zobrazení Datový list, zobrazí se pole jedním ze dvou kategorie v podokně Seznam polí: pole dostupná v souvisejících tabulek a polí k dispozici v jiných tabulkách. První kategorie obsahuje všechny tabulky, které mají vztah s tabulkou, kterou právě pracujete. Druhá kategorie obsahuje seznam všech tabulek, se kterými váš tabulka nemá relace.

Kliknete-li v podokně úloh Seznam polí na znaménko plus (+) vedle názvu tabulky, zobrazí se seznam všech polí dostupných v této tabulce. Chcete-li pole připojit k tabulce, přetáhněte požadované pole z podokna úloh Seznam polí do tabulky v zobrazení Datový list.

Přidání pole a vytvoření relace v podokně Seznam polí

  1. V podokně Seznam polí klikněte v části Pole dostupná v jiných tabulkách na symbol plus (+) vedle názvu tabulky. Tím zobrazíte seznam polí v dané tabulce.

  2. Přetáhněte požadované pole z podokna Seznam polí do tabulky otevřené v zobrazení Datový list.

  3. Jakmile se objeví čára označující místo pro vložení, uvolněte tlačítko myši, a vložte tak pole na příslušnou pozici.

    Spustí se Průvodce vyhledáváním.

  4. Postupujte podle pokynů Průvodce vyhledáváním.

    Pole se zobrazí v tabulce v zobrazení Datový list.

Při přetažení pole z "jiné" (bez relace) tabulku a pak ukončete Průvodce vyhledáváním, se automaticky vytvoří nový-n relace mezi tabulkami v Seznamu polí a tabulky, do kterého můžete přetáhnout pole. Tento vztah vytvořené v aplikaci Access, není vynucení referenční integrity ve výchozím nastavení. Pokud chcete vynutit referenční integritu, musíte upravit relaci. Viz část Změna relace mezi tabulkami Další informace.

Začátek stránky

Odstranění relace mezi tabulkami

Pokud chcete odebrat relace mezi tabulkami, je potřeba odstranit na čáru relace v okně relace. Opatrně umístěte kurzor tak, aby ukazoval na čáru relace a pak klikněte na řádek. Čára relace se zobrazí silněji, pokud je vybrána. S vybranou čáru relace stiskněte klávesu DELETE. Všimněte si, že odeberete relace, taky odeberete podpory referenční integritu pro tuto relaci, pokud je povoleno. Aplikace Access jako výsledek, už automaticky zabrání vytvoření osiřelých záznamů na straně "n" relace.

  1. Na kartě Databázové nástroje klikněte ve skupině Relace na Relace.

Zobrazí se okno relace. Pokud jste ještě definovány žádné relace a tím svoji práci ukládáte poprvé otevřete okno relace, zobrazí se dialogové okno Zobrazit tabulku. Pokud se zobrazí dialogové okno, klikněte na Zavřít.

  • Na kartě Návrh ve skupině Relace klikněte na položku Všechny relace.

Zobrazí se všechny tabulky s relacemi, znázorněnými čarami relace.

  1. Klikněte na čáru relace, kterou chcete odstranit. Čára relace se při výběru zobrazuje silněji.

  2. Stiskněte klávesu DELETE.

    – nebo –

Klikněte na relaci pravým tlačítkem myši a poté klikněte na příkaz Odstranit.

  1. Access může zobrazit zprávu Opravdu chcete trvale odstranit vybranou relaci z databáze?. Pokud se zobrazí tato zpráva s potvrzením, klikněte na tlačítko Ano.

Poznámka : Pokud některou z tabulek použitých v relaci tabulky využívá například jiná osoba nebo proces nebo se používá v otevřeném databázovém objektu (například formuláři), nebudete tuto relaci moci odstranit. Před odebráním relace je třeba nejprve zavřít všechny otevřené objekty, které tyto tabulky využívají.

Začátek stránky

Změna relace mezi tabulkami

Relaci tabulky můžete změnit výběrem tabulky v okně Relace a její následnou úpravou. Opatrně umístěte ukazatel myši tak, aby ukazoval na čáru relace, a pak čáru kliknutím vyberte. Čára relace se při výběru zobrazuje silněji. Poklikejte na vybranou čáru relace nebo klikněte na tlačítko Upravit relace ve skupině Nástroje na kartě Návrh. Zobrazí se dialogové okno Upravit relace.

Proveďte požadované změny v dialogovém okně Upravit relace

  1. Na kartě Databázové nástroje klikněte ve skupině Relace na Relace.

Zobrazí se okno relace. Pokud jste ještě definovány žádné relace a tím svoji práci ukládáte poprvé otevíráte okno relace, zobrazí se dialogové okno Zobrazit tabulku. Pokud se zobrazí dialogové okno, klikněte na Zavřít.

  • Na kartě Návrh ve skupině Relace klikněte na položku Všechny relace.

  • Zobrazí jsou všechny tabulky s relacemi a znázorněnými čarami relace.

  • Klikněte na čáru relace, kterou chcete změnit. Čára relace se při výběru zobrazuje silněji.

  • Poklikejte na čáru relace.

  • Proveďte požadované změny a klikněte na tlačítko OK.

    Dialogové okno Upravit relace umožňuje změnit relace mezi tabulkami. Konkrétně můžete změnit tabulky nebo dotazy na obou stranách relace nebo pole na obou stranách. Můžete také nastavit typ spojení nebo vynucení referenční integrity a vyberte možnost kaskádové. Další informace o typu spojení a jak ji nastavit naleznete v části Nastavení typu spojení. Další informace o tom, jak vynutit referenční integritu a vyberte možnost kaskádové naleznete v části vynucení referenční integrity.

Nastavení typu spojení

Když definujete relace mezi tabulkami, skutečnosti týkající se relace informují návrhy dotazů. Třeba když definujete relaci mezi dvěma tabulkami a následně vytvořit dotaz, který využívá tyto tabulky, aplikace Access automaticky vybere výchozí odpovídající pole na základě zadaných v relaci polí. Tyto hodnoty výchozího nastavení můžete přepsat v dotazu, ale hodnoty zadané vztahem se často správné. Porovnání a seskupení dat z víc než jedné tabulky je něco provedete často ve všech kromě nejjednodušší databází, a proto výchozí nastavení vytvářením relací může být čas ukládání a skutečným.

Dotaz s více tabulkami kombinuje informace z několika tabulek porovnáním hodnot ve společných polích. Operace, při které porovnání a kombinování probíhá, se označuje jako spojení. Předpokládejme například, že chcete zobrazit objednávky zákazníka. Vytvoříte dotaz, který spojuje tabulku Zákazníci s tabulkou Objednávky v poli Kód zákazníka. Výsledek dotazu obsahuje informace o zákazníkovi a objednávce pouze pro ty řádky, v nichž byla nalezena odpovídající položka.

Jednou z hodnoty, které můžete použít u konkrétních vztahů je typ spojení. Typ spojení, bude Access záznamy, které chcete zahrnout do výsledků dotazu. Zvažte například znovu dotazu, který propojuje tabulky Zákazníci a objednávkách na pole, které představují ID zákazníka. Pomocí výchozího typu spojení (jen na vnitřní spojení), vrátí dotaz pouze řádky zákazníka a objednávky, kde jsou stejné běžné pole (označovaná taky jako spojených polí).

Předpokládejme však, že chcete zahrnout všechny zákazníky – i takové, kteří dosud nezadali objednávky. K tomu je třeba změnit typ spojení z vnitřního na takzvané levé vnější. Levé vnější spojení vrátí všechny řádky v tabulce vlevo relace a pouze odpovídající řádky z tabulky vpravo. Pravé vnější spojení vrátí všechny řádky vpravo a pouze odpovídající řádky vlevo.

Poznámka : V tomto případě vypovídají hodnoty vlevo a vpravo o pozicích tabulek v dialogovém okně Upravit relace, nikoli v okně Relace.

Měli byste vždy popřemýšlet o tom, jaký výsledek od dotazu, který propojuje tabulky v této relaci, očekáváte a podle toho nastavit typ spojení.

Nastavení typu spojení

  1. V dialogovém okně Upravit relace klikněte na tlačítko Typ spojení.

    Zobrazí se dialogové okno Vlastnosti spojení.

  2. Klikněte na přepínač a potom na tlačítko OK.

V následující tabulce (pomocí tabulky Zákazníci a objednávky) ukazuje tři možnosti, které se zobrazí v dialogovém okně Vlastnosti spojení, typ spojení, které používají, a jestli všechny řádky nebo odpovídající řádky jsou však započítávány pro každou tabulku.

Přepínač

Relační spojení

Levá tabulka

Pravá tabulka

1. Zahrnout pouze řádky, v nichž jsou spojená pole z obou tabulek shodná

Vnitřní spojení

Odpovídající řádky

Odpovídající řádky

2. Zahrnout všechny záznamy z tabulky Zákazníci a z tabulky Objednávky pouze ty záznamy, ve kterých jsou spojená pole shodná

Levé vnější spojení

Všechny řádky

Odpovídající řádky

3. Zahrnout všechny záznamy z tabulky Objednávky a z tabulky Zákazníci pouze ty záznamy, ve kterých jsou spojená pole shodná

Pravé vnější spojení

Odpovídající řádky

Všechny řádky

Pokud zvolíte možnost 2 nebo 3, zobrazí se v řádku relace šipka. Ta ukazuje na stranu relace, která znázorňuje pouze odpovídající řádky.

Změny v dialogovém okně Vlastnosti spojení

  1. Na kartě Databázové nástroje klikněte ve skupině Relace na Relace.

Zobrazí se okno relace. Pokud jste ještě definovány žádné relace a tím svoji práci ukládáte poprvé otevřete okno relace, zobrazí se dialogové okno Zobrazit tabulku. Pokud se zobrazí dialogové okno, klikněte na Zavřít.

  • Na kartě Návrh ve skupině Relace klikněte na položku Všechny relace.

    Zobrazí se všechny tabulky s relacemi a znázorněnými čarami relace.

  • Klikněte na čáru relace, kterou chcete změnit. Čára relace se při výběru zobrazuje silněji.

  • Poklikejte na čáru relace.

Zobrazí se dialogové okno Upravit relace.

  1. Klikněte na tlačítko Typ spojení

  2. V dialogovém okně Vlastnosti spojení klikněte na přepínač a potom klikněte na tlačítko OK.

  3. Proveďte další změny relace a klikněte na tlačítko OK.

Začátek stránky

Vynucení referenční integrity

Účelem referenční integrity je zabránit osiřelých záznamů a udržovat reference synchronizují a nemáte žádné záznamy, které odkazují na jiné záznamy, které už existuje. Vynucení referenční integrity povolením pro relace mezi tabulkami. Po vynucení aplikace Access odmítne jakoukoli operaci, která by porušovat referenční integritu pro tuto relaci tabulky. Aplikace Access odmítne aktualizace, které mění cíl odkazu a odstranění umožňující odebrání cíl odkazu. Mít taky přístup šířit referenční aktualizace a odstranění tak, aby všechny související řádky se změní podle toho, najdete v části Nastavení kaskádových možností.

Zapnutí nebo vypnutí referenční integrity

  1. V okně Relace klikněte na čáru relace, kterou chcete změnit. Čára relace se při výběru zobrazuje silněji.

  2. Poklikejte na čáru relace.

Zobrazí se dialogové okno Upravit relace.

  1. Zaškrtněte políčko Zajistit referenční integritu.

  2. Proveďte další změny relace a klikněte na tlačítko OK.

Po vynucení referenční integrity platí následující pravidla:

  • Do pole cizího klíče relační tabulky nelze zadat hodnotu, pokud tato hodnota neexistuje v poli primárního klíče primární tabulky – tím by došlo k vytvoření osiřelých záznamů.

  • Z primární tabulky nelze odstranit záznamy, které mají odpovídající protějšky v tabulce související. V tabulce Zaměstnanci například nelze odstranit záznam, ke kterému existují odpovídající objednávky v tabulce Objednávky. Můžete však odstranit primární záznam a všechny odpovídající záznamy v jedné operaci zaškrtnutím políčka Kaskádové odstranění souvisejících polí.

  • Pokud to chcete vytvořit osiřelých záznamů, nelze změnit hodnot primárních klíčů v primární tabulky. Například nemůžete změníte pořadí čísla v tabulce objednávky Pokud jsou přiřazené k toto pořadí v tabulce Rozpis objednávek řádkové položky. Ale můžete aktualizovat primární záznam a všech souvisejících záznamů v jednom kroku zaškrtnutím políčka Kaskádová aktualizace souvisejících polí.

    Poznámky : Pokud se vám nedaří povolit referenční integritu, uvědomte si, že k jejímu vynucení jsou požadovány následující podmínky:

    • Společné pole z primární tabulky musí být primárním klíčem nebo musí mít jedinečný index.

    • Společná pole musí mít stejný datový typ. Jediná výjimka je, že pole Automatické číslo může být spojené s polem Číslo, jehož vlastnost .Velikostpole má nastavení Dlouhé celé číslo.

    • Obou tabulek musí existovat ve stejné databázi aplikace Access. Referenční integrity musí být propojených tabulek. Ale pokud zdrojové tabulky jsou ve formátu aplikace Access, můžete otevřít databázi, ve kterém jsou uloženy a povolit referenční integritu.

Nastavení kaskádových možností

Může nastat situace, ve kterém máte platný potřeba změnit hodnotu na straně "1" relace. V takovém případě musíte mít přístup k automaticky aktualizovat všechny ovlivněné řádky v rámci jedné operaci. Tímto způsobem aktualizace dokončení celý tak, aby databázi není zůstane v nekonzistentní stavu – s některými řádky aktualizovanými a některé není. Access umožňuje tomu nedocházelo podporou možnost kaskádová aktualizace souvisejících polí. Po vynucení referenční integrity a vyberte možnost kaskádová aktualizace souvisejících polí a pak aktualizujte primární klíč, Access automaticky aktualizovat všechna pole, které odkazují na primární klíč.

Bude možná potřeba odstranit řádek a všechny související záznamy – například přepravce záznamu a všech souvisejících objednávek tohoto dopravce. Z tohoto důvodu Access podporuje možnost kaskádové odstranění souvisejících záznamů. Po vynucení referenční integrity a vyberte možnost kaskádové odstranění souvisejících záznamů, aplikace Access automaticky odstraní všechny záznamy, které odkazují primární klíč, když odstraníte záznam, který obsahuje primární klíč.

Vypnutí nebo zapnutí kaskádových aktualizací či odstranění

  1. V okně Relace klikněte na čáru relace, kterou chcete změnit. Čára relace se při výběru zobrazuje silněji.

  2. Poklikejte na čáru relace.

Zobrazí se dialogové okno Upravit relace.

  1. Zaškrtněte políčko Zajistit referenční integritu.

  2. Zaškrtněte políčko Kaskádová aktualizace souvisejících polí nebo Kaskádové odstranění souvisejících záznamů, případně obě tato políčka.

  3. Proveďte další změny relace a klikněte na tlačítko OK.

Poznámka : Jestliže je primárním klíčem pole typu Automatické číslo, nebude mít zaškrtnutí políčka Kaskádová aktualizace souvisejících polí žádný vliv, protože hodnotu v poli typu Automatické číslo nelze změnit.

Začátek stránky

Poznámka : Upozornění ke strojovému překladu: Tento článek přeložil počítačový systém bez zásahu člověka. Společnost Microsoft nabízí tyto strojové překlady proto, aby umožnila uživatelům, kteří nemluví anglicky, získat informace o produktech, službách a technologiích této společnosti. Protože je tento článek strojově přeložený, může obsahovat slovní, syntaktické nebo gramatické chyby.

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×