Office
Přihlásit se

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

Poznámka: Snažíme se pro vás co nejrychleji zajistit aktuální obsah nápovědy ve vašem jazyce. Tato stránka byla přeložena automaticky a může obsahovat gramatické chyby nebo nepřesnosti. Naším cílem je to, aby pro vás byl její obsah užitečný. Mohli byste nám prosím dát ve spodní části této stránky vědět, jestli vám informace v článku pomohly? Pokud byste se rádi podívali na jeho anglickou verzi, najdete ji 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. Potom poskytnete Microsoft Office Access 2007 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 Office Access 2007.

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 Office Access 2007 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 relace 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. Používáte relaci rozdělit řadu tabulky, izolovat část tabulky z bezpečnostních důvodů a ukládání informací, které se týká jen podmnožinu hlavní tabulky. Při určování relace, obě tabulky 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í. Office Access 2007 používá relací mezi tabulkami na téma Jak se 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, makra a sestavy 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é Office Access 2007 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 Office Access 2007 osobní informace 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 zadat Office Access 2007 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ává odpovídající hodnotu 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 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 platné potřeba 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. Klikněte na tlačítko Microsoft Office Obrázek tlačítka a pak klikněte na 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ě Zobrazit či skrýt 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. Skrytými tabulkami (tabulky, 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 Navigace Možnosti dialogové okno.

    Další informace o možnosti Zobrazit skryté objekty naleznete v článku Průvodce do navigačního podokna.

Okno Relace

1. na primární klíč

2. Tento řádek představuje relace

3. na cizí klíč

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 vybrat následující příkazy na pásu karet, část Fluent systému Microsoft Office:

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šechny relace a související tabulky v databázi v okně relace. Poznámka: skrytými tabulkami (tabulky, pro které skryté zaškrtávací políčko v dialogových oknech vlastností v tabulce je vybraná) a jejich vztahů se nezobrazí, pokud není vybrána zobrazit skryté tabulky v dialogovém okně Možnosti navigace.

    Další informace o možnosti Zobrazit skryté tabulky naleznete v článku Průvodce do navigačního podokna.

  • 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. Klikněte na tlačítko Microsoft Office Obrázek tlačítka a pak klikněte na 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ě Zobrazit či skrýt na 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.

  5. 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.

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

    Zobrazí se dialogové okno Upravit relace.

  7. 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.

    Chcete-li vynutit referenční integritu pro tuto relaci, zaškrtněte políčko Zajistit referenční integritu. Další informace o referenční integritě najdete v částech Význam referenční integrity a Vynucení referenční integrity

  8. 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 (?).

Přetažení pole z tabulky do odpovídajícího pole v jiné tabulce

Poznámky: 

  • Vytvoření relace 1:1:    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í

V Office Access 2007 můžete přidat 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. 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.

Otevření tabulky v zobrazení Datový list

  1. Klikněte na tlačítko Microsoft Office Obrázek tlačítka a pak klikněte na 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 na tabulku, do kterého chcete přidat pole a vytvoření relace a v místní nabídce klikněte na Zobrazení Datový list.

Otevření podokna Seznam polí

  • Na kartě datový list ve skupině polí a sloupce klikněte na tlačítko Přidat existující pole.

    Obrázek pásu karet

    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. Na kartě datový list ve skupině polí a sloupce klikněte na tlačítko Přidat existující pole.

    Obrázek pásu karet

    Zobrazí se podokno Seznam polí.

  2. V kategorii Pole dostupná v jiných tabulkách klikněte na znaménko plus (+) vedle názvu tabulky. Zobrazí se seznam polí.

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

  4. 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.

  5. 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 při výběru zobrazí silněji. 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. Klikněte na tlačítko Microsoft Office Obrázek tlačítka a pak klikněte na 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ě Zobrazit či skrýt na Relace.

Zobrazí se okno Relace.

Pokud jste dosud nedefinovali žádné relace a otevíráte okno Relace poprvé, otevře se dialogové okno Zobrazit tabulku. Pokud se otevře, klikněte na tlačítko Zavřít.

  1. 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.

  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.

  3. 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.

Změny v dialogovém okně Upravit relace

  1. Klikněte na tlačítko Microsoft Office Obrázek tlačítka a pak klikněte na 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ě Zobrazit či skrýt na Relace.

Zobrazí se okno Relace.

Pokud jste dosud nedefinovali žádné relace a otevíráte okno Relace poprvé, otevře se dialogové okno Zobrazit tabulku. Pokud se otevře, klikněte na tlačítko Zavřít.

  1. 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. Poznámka: skrytými tabulkami (tabulky, pro které skryté zaškrtávací políčko v dialogových oknech vlastností v tabulce je vybraná) a jejich vztahů se nezobrazí, pokud není vybrána zobrazit skryté objekty v dialogovém okně Možnosti navigace.

Další informace o možnosti Zobrazit skryté objekty naleznete v článku Průvodce do navigačního podokna.

  1. 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.

    – nebo –

    Na kartě Návrh klikněte ve skupině Nástroje na položku Upravit relace.

    Zobrazí se dialogové okno Upravit relace.

    Dialog Upravit relace

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

    V dialogovém okně Upravit relace můžete změnit relaci mezi tabulkami. Konkrétně můžete změnit tabulky nebo dotazy na některé ze stran relace nebo pole na některé straně. Můžete také zobrazit typ spojení nebo vynutit referenční integritu a zvolit kaskádovou možnost. Další informace o typu spojení a jeho nastavení najdete v části Nastavení typu spojení. Další informace o vynucení referenční integrity a výběru kaskádové možnosti najdete 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ávky tabulky 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. Klikněte na tlačítko Microsoft Office Obrázek tlačítka a pak klikněte na 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ě Zobrazit či skrýt na Relace.

Zobrazí se okno Relace.

Pokud jste dosud nedefinovali žádné relace a otevíráte okno Relace poprvé, otevře se dialogové okno Zobrazit tabulku. Pokud se otevře, klikněte na tlačítko Zavřít.

  1. 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. Poznámka: skrytými tabulkami (tabulky, pro které skryté zaškrtávací políčko v dialogových oknech vlastností v tabulce je vybraná) a jejich vztahů se nezobrazí, pokud není vybrána zobrazit skryté objekty v dialogovém okně Možnosti navigace.

Další informace o možnosti Zobrazit skryté objekty naleznete v článku Průvodce do navigačního podokna.

  1. 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.

    – nebo –

    Na kartě Návrh klikněte ve skupině Nástroje na položku Upravit relace.

    Zobrazí se dialogové okno Upravit relace.

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

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

    Dialogové okno Vlastnosti spojení

  5. 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. Klikněte na tlačítko Microsoft Office Obrázek tlačítka a pak klikněte na 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ě Zobrazit či skrýt na Relace.

Zobrazí se okno Relace.

Pokud jste dosud nedefinovali žádné relace a otevíráte okno Relace poprvé, otevře se dialogové okno Zobrazit tabulku. Pokud se otevře, klikněte na tlačítko Zavřít.

  1. 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. Poznámka: skrytými tabulkami (tabulky, pro které skryté zaškrtávací políčko v dialogových oknech vlastností v tabulce je vybraná) a jejich vztahů se nezobrazí, pokud není vybrána zobrazit skryté objekty v dialogovém okně Možnosti navigace.

Další informace o možnosti Zobrazit skryté objekty naleznete v článku Průvodce do navigačního podokna.

  1. 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.

    – nebo –

    Na kartě Návrh klikněte ve skupině Nástroje na položku Upravit relace.

    Zobrazí se dialogové okno Upravit relace.

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

  4. 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. Můžete však 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íč.

Budete taky muset odstranit řádek a všech souvisejících záznamů – 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. Klikněte na tlačítko Microsoft Office Obrázek tlačítka a pak klikněte na 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ě Zobrazit či skrýt na Relace.

Zobrazí se okno Relace.

Pokud jste dosud nedefinovali žádné relace a otevíráte okno Relace poprvé, otevře se dialogové okno Zobrazit tabulku. Pokud se otevře, klikněte na tlačítko Zavřít.

  1. 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. Poznámka: skrytými tabulkami (tabulky, pro které skryté zaškrtávací políčko v dialogových oknech vlastností v tabulce je vybraná) a jejich vztahů se nezobrazí, pokud není vybrána zobrazit skryté objekty v dialogovém okně Možnosti navigace.

Další informace o možnosti Zobrazit skryté objekty příručce do navigačního podokna.

  1. 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.

    – nebo –

    Na kartě Návrh klikněte ve skupině Nástroje na položku Upravit relace.

    Zobrazí se dialogové okno Upravit relace.

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

  4. 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.

  5. 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

Rozšiřte své dovednosti s Office
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.

×