Definování relací mezi tabulkami v databázi aplikace Microsoft Access

ID článku: 304466 - Produkty, které se vztahují k tomuto článku.
Pokud jste firemní zákazník, vyhledat další řešení potíží a studijní materiály na Podpora pro malé podniky .
Začínajícího: Vyžaduje znalost uživatelského rozhraní na jednoho uživatele počítače.

Tento článek se týká pouze databáze aplikace Microsoft Access (MDB nebo ACCDB).
Aplikace Microsoft Access 2000 verzi tohoto článku pro Viz 304467.
Aplikace Microsoft Access 97 verzi tohoto článku pro Viz 304468.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek popisuje, jak definovat vztahy v Databáze aplikace Microsoft Access. Zahrnuje následující témata:
  • Jaké jsou mezi tabulkami
  • Typy relací mezi tabulkami
    • Vztahy 1: N
    • Relace n: N
    • Relace typu 1: 1

  • Definování relací mezi tabulkami
    • Jak definovat: n nebo 1: 1 Vztahy
    • Jak definovat vztahy n: N

  • Referenční integrita
  • Kaskádové aktualizace a odstranění
  • Typy spojení

Další informace

Jaké jsou mezi tabulkami

Vztahy v relační databáze umožňují zabránit redundantní data. Například při návrhu databáze, která bude sledovat informace o knihách, může mít jen nadpisy tabulku, která obsahuje informace o každé knize, jako je například název knihy, publikace, datum a aplikace Publisher. Je také informace, které chcete ukládat o aplikace Publisher, například telefonní číslo vydavatele, adresu a PSČ. Pokud jste byly všechny tyto informace uložit do v tabulce tituly, vydavatel telefonní číslo by duplicitní, pro každý titul, který vydavatele vytiskne.

Lepším řešením je ukládat pouze informace o vydavateli jednou v samostatné tabulce vydavatelů. Pak byste umístili ukazatel na Tabulka Tituly, které odkazuje na položku v tabulce vydavatelů.

Chcete-li Ujistěte se, že vaše data nejsou synchronizována, můžete vynutit referenční integrity mezi tabulkami nadpisy a vydavatelů. Referenční integrita vztahy pomáhají zajistit, že informace v jedné tabulce odpovídají informace v jiný. Například, musí každý název v tabulce tituly přidružené konkrétní aplikace publisher v tabulce vydavatelů. Název nelze přidat databáze pro vydavatele, který neexistuje v databázi.

Typy relací mezi tabulkami

Relace pracují na základě porovnání dat v klíčových sloupců obvykle sloupce se stejným názvem v obou tabulkách. Ve většině případů vztah odpovídá primární klíč z jedné tabulky, které poskytuje jedinečný identifikátor pro Každý řádek s položkou, do pole cizího klíče v druhé tabulce. Například, prodeje mohou být přidruženy k určité názvy prodávaných vytvořením vztah mezi title_id sloupec v tabulce Tituly (primární klíč) a title_id sloupec v Sales tabulka (cizí klíč).

Zde jsou tři typy relací mezi tabulkami. Typ vztahu, je vytvořen závisí na definici souvisejících sloupců.

Vztahy 1: N

Vztah 1: je nejběžnější typ vztah. V tomto typu relace může řádku tabulky A může mít mnoho odpovídající řádky v tabulce B, ale řádek v tabulce B může mít pouze jeden odpovídající řádek v tabulce A. Například vydavatelů a nadpisy tabulek mají 1 n vztah: Každá aplikace publisher vytváří mnoho titulů, ale každý titul pochází z pouze jeden vydavatel.

Vztah 1: n je vytvořena v případě pouze jeden souvisejících sloupců primárního klíče nebo jedinečnosti.

V aplikaci Access je označen stranu primárního klíče vztah 1: symbol klíče. Na straně cizího klíče v relaci se označuje symbolem nekonečna symbol.

Relace n: N

V relaci n: n může řádku tabulky A může mít mnoho odpovídající řádky v tabulce B a naopak. Vytvořit vztah podle definice třetí tabulky nazývané spojená tabulka, jejíž primární klíč se skládá ze cizích klíčů z obou tabulek A a B. tabulky Například v tabulce Autoři a n n vztahu, který je definován v tabulce tituly 1 n vztahu z každé z těchto tabulek tabulky Enemy. Primární klíč tabulky Enemy je kombinací au_id sloupec (primární klíč v tabulce Autoři) a title_id sloupec (názvy primární klíč tabulky).

Relace typu 1: 1

V relaci 1: 1 na řádek v tabulce A může mít více než jeden odpovídající řádek v tabulce B a naopak. Je vztah 1: 1 vytvořena-li obě související sloupce primárního klíče nebo jedinečné omezení.

Tento typ relace není obvyklý protože většina informace související s tímto způsobem by bylo vše v jedné tabulce. Můžete použít relace:
  • Dělení tabulka s mnoho sloupců.
  • Oddělení části tabulky z důvodů zabezpečení.
  • Ukládání dat, který je krátkodobý a lze snadno odstranit prostým odstraněním tabulky.
  • Ukládání informací, které se vztahuje pouze k části hlavní Tabulka.
V aplikaci Access je strana primárního klíče v relaci označena symbolem klíče. Na straně cizího klíče je také označen symbolem klíče.

Definování relací mezi tabulkami

Při vytváření relace mezi tabulkami, souvisejících polí není nutné mít stejné názvy. Související pole však musí mít stejný typ dat, pokud je pole s primárním klíčem pole typu Automatické číslo. Můžete porovnat Pole typu Automatické číslo s polem číslo pouze tehdy, pokud je vlastnost Velikost pole obou odpovídajících polí je stejný. Například, Pokud je vlastnost Velikost pole obou polí dlouhé celé číslo, můžete porovnat pole Automatické číslo a číslo. I když obě odpovídající jsou pole typu číslo, musí mít stejné nastavení vlastnosti Velikost pole .

Jak definovat relace 1:N nebo 1:1

Vytvořit 1 n nebo vztah 1: 1, postupujte podle Tyto kroky:
  1. Zavřete všechny tabulky, které jste otevřeli. Nelze vytvořit nebo Upravte relaci mezi otevřenými tabulkami.
  2. V aplikaci Access 2002 nebo Access 2003 postupujte takto:
    1. Stisknutím klávesy F11 přejděte do okna databáze.
    2. Na Nástroje nabídky, klepněte na tlačítko Vztahy.
    V aplikaci Access 2007 klepněte na tlačítko Vztahy v Zobrazit/skrýt skupina na Databázové nástroje na kartě.
  3. Pokud jste dosud nedefinovali žádné relace ve vašem Zobrazí se automaticky databáze dialogové okno Zobrazit tabulku . Pokud chcete přidat tabulky, které chcete vytvořit relaci, ale není zobrazeno dialogové okno Zobrazit tabulku , klepněte na tlačítko Zobrazit tabulku v nabídce vztahy .
  4. Poklepejte na názvy požadovaných tabulek, které chcete se týkají a pak zavřete dialogové okno Zobrazit tabulku . Chcete-li vytvořit relaci tabulky se sebou samou, Přidejte tuto tabulku dvakrát.
  5. Přetáhněte pole, které chcete z jedné tabulky do související pole v druhé tabulce. Chcete-li přetáhnout více polí zároveň, stiskněte klávesu CTRL, Klepněte na každé pole a přetáhněte je.

    Ve většině případů je přetáhnout pole primárního klíče (který je zobrazen tučným písmem) z jedné tabulky podobných pole (často se stejným názvem) nazývá cizí klíč v jiné tabulce.
  6. Zobrazí se dialogové okno Upravit relace . Zajistit, že názvy polí zobrazeny dva sloupce jsou správné. V případě potřeby je můžete změnit.

    Sada možnosti relace, pokud je to nutné. Pokud potřebujete informace o konkrétní položka v dialogovém okně Upravit relace , klepněte na tlačítko Nápověda a potom klepněte na tlačítko položka. Tyto možnosti budou vysvětleny podrobněji dále v článek.
  7. Klepněte na tlačítko vytvořit vytvořte vztah.
  8. Opakujte kroky 5 až 8 pro každou dvojici tabulek, které Chcete vytvořit vztah.

    Po zavření dialogového okna Upravit relace aplikace Microsoft Access zobrazí dotaz, pokud chcete uložit rozložení. Rozložení, bez ohledu vztahy, které vytvoříte, jsou uloženy v databázi.

    Poznámka: Můžete vytvářet vztahy v dotazy jako tabulky. S dotazy však není zajištěna referenční integrita.

Jak definovat vztahy n: N

Chcete-li vytvořit relaci n: n, postupujte takto:
  1. Vytvořte dvě tabulky, které budou mít n n vztah.
  2. Vytvořte třetí tabulky nazývané spojená tabulka a pak přidejte Chcete-li spojovací tabulky nové pole se stejnými definicemi jako primární klíč pole ze všech spojovaných tabulek. Ve spojovací tabulce primární Funkce polí klíčů jako cizí klíče. Můžete přidat další pole pro spojení Tabulka, stejně jako můžete s jinou tabulkou.
  3. Ve spojovací tabulce primární klíč nastavit zahrnout pole primárního klíče z dalších dvou tabulek. Například v Enemy spojená tabulka primárního klíče by být tvořen ČísloObjednávky a ČísloVýrobku pole.

    Poznámka: Chcete-li vytvořit primární klíč, postupujte takto:
    1. Otevřete tabulku v návrhovém zobrazení.
    2. Vyberte jedno nebo více polí, které chcete definovat jako primární klíč. Chcete-li vybrat jedno pole, klepněte na volič řádku pro požadovanou pole.

      Chcete-li vybrat více polí, stiskněte a podržte klávesu CTRL a poté Klepněte na volič řádku každého pole.
    3. V aplikaci Access 2002 nebo Access 2003 klepněte na tlačítko Primární klíč na panelu nástrojů.

      V aplikaci Access 2007 klepněte na tlačítko Primární klíč v Nástroje skupina na Návrh na kartě.

      Poznámka: Pokud chcete, aby pořadí polí v vícepoložkového primárního PrimaryKeypojmenované názvy polí indexu klíče se liší od pořadí těchto polí v tabulce, klepněte na panelu nástrojů zobrazte dialogové okno indexy a potom změnit pořadí indexů .
  4. Definovat vztah mezi těmito dvěma 1 n primární tabulky a spojovací tabulka.

Referenční integrita

Referenční integrity je systém pravidel, které aplikace Microsoft Access používá k zajištění toho, že vztahy mezi záznamy v souvisejících tabulkách jsou platné, a brání náhodnému odstranění nebo změně souvisejících informací. Můžete nastavit referenční integrita při jsou splněny následující podmínky:
  • Odpovídající pole z primární tabulky je primární klíč nebo má jedinečný index.
  • Odpovídající pole jsou stejného datového typu. Existují dva výjimky. Pole typu Automatické číslo může být pro pole typu číslo s vlastností Velikost pole je nastavena na hodnotu Dlouhé celé číslo, a pole Automatické číslo s nastavením vlastnosti Velikost pole identifikátor replikace může souviset s několika pole vlastnosti Velikost pole na hodnotu Replikační identifikátor.
  • Obě tabulky náleží do stejné databáze aplikace Microsoft Access. Jsou-li tabulky propojené tabulky, musí jít o tabulky v aplikaci Microsoft Access Formát a je třeba otevřít databázi, v níž jsou uloženy, a nastavit referenční integritu. Referenční integritu nelze vynutit pro Spojené tabulky z databáze v jiných formátech.
Při použití referenční integrity platí následující pravidla:

  • Nelze zadat hodnotu do pole cizího klíče související tabulku, která neexistuje v primárním klíči primární tabulky. Však můžete zadat hodnotu Null hodnota cizího klíče v určení, že jde o nesouvisející záznamy. Například nelze mít objednávku, která je přiřazena zákazníkovi, který neexistuje, ale máte také objednávku, která je přiřazena Chcete-li nikdo zadáním hodnoty Null v poli KódZákazníka.
  • Z primární tabulky nelze odstranit záznam, pokud odpovídající existují záznamy v související tabulce. Nelze například odstranit zaměstnance záznam v tabulce Zaměstnanci existují v v tabulce objednávky.
  • Hodnoty primárního klíče primární tabulky nelze změnit Pokud to záznamu existují související záznamy. Nelze například změnit ID zaměstnance v tabulce Zaměstnanci, pokud existují zaměstnance v tabulce objednávky.

Kaskádové aktualizace a odstranění

Pro vztahy, ve kterých je nastavena referenční integrita je můžete určit, zda má aplikace Microsoft Access automaticky aktualizovat související pole v kaskádě nebo kaskádové odstranění souvisejících záznamů. Při nastavení těchto voleb, odstranění a aktualizace jsou operace, které by jinak byly odepřeny pravidla referenční integrity povoleno. Při odstranění záznamů nebo změně hodnot primárního klíče primární tabulky, aplikace Microsoft Access provede nezbytné změny souvisejících tabulkách zachování referenční integrity.

Pokud zaškrtnete políčko Aktualizace souvisejících polí v kaskádě při definování vztahu, který jste kdykoli Změna primárního klíče v záznamu primární tabulky aplikace Microsoft Access automaticky aktualizaci primárního klíče ve všech souvisejících záznamech na novou hodnotu. Například pokud změníte identifikační číslo zákazníka v tabulce Zákazníci Pro každou jednotlivou automaticky aktualizaci pole ČísloZákazníka i v tabulce objednávky Tento zákazník objednává, aby vztah není přerušeno. Aplikace Microsoft Access Uspořádá sebe aktualizace bez zobrazení zprávy.

Poznámka: Jestliže je primárním klíčem v primární tabulce pole typu Automatické číslo Zaškrtnutím políčka Aktualizace souvisejících polí v kaskádě nebude mít žádný vliv, protože nelze změnit Hodnota v poli typu Automatické číslo.

Jestliže při definici relace zaškrtnete políčko Odstranění souvisejících polí v kaskádě , který jste kdykoli odstranit záznamy z primární tabulky aplikace Microsoft Access automaticky odstraní. související záznamy v související tabulce. Například pokud odstranit zákazníka záznam z tabulky Zákazníci, objednávky pro všechny zákazníky jsou automaticky odstranit z tabulky objednávky (i záznamy v tabulce Rozpis objednávek souvisí s tabulkou objednávky). Při odstranění záznamů z formuláře nebo list s zaškrtnuto políčko Odstranění souvisejících polí v kaskádě , aplikace Microsoft Access upozorňuje, že související záznamy mohou být také odstraněny. Jestliže však odstraníte záznamy pomocí odstranění dotaz, aplikace Microsoft Access automaticky odstraní záznamy v souvisejících tabulkách aniž by bylo zobrazeno upozornění.

Typy spojení

Existují tři typy spojení, takto:

Možnost 1 definuje vnitřní spojení. Vnitřní spojení je spojení kde záznamy z dvě tabulky jsou zkombinovány v dotazu výsledky pouze tehdy, pokud hodnoty ve Spojených pole splní zadanou podmínku. V dotazu výchozí spojení je vnitřní spojení, který vybere záznamy, pouze pokud hodnoty ve spojených polích shodují.

Možnost 2 definuje levé vnější spojení. Levé vnější spojení je spojení, u něhož všechny záznamy z levé strany operace LEVÉ spojení v dotazu Příkaz SQL se do výsledků dotazu i v případě, že neexistují žádné odpovídající hodnoty pole z tabulky vpravo.

Možnost 3 definuje pravé vnější spojení. Pravé vnější spojení je spojení, u něhož všechny záznamy z pravé strany operace PRAVÉHO spojení v dotazu Příkaz SQL se do výsledků dotazu i v případě, že neexistují žádné odpovídající hodnoty pole z tabulky vlevo.

Vlastnosti

ID článku: 304466 - Poslední aktualizace: 8. května 2013 - Revize: 11.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
Klíčová slova: 
kbdesign kbdatabase kbhowto kbmt KB304466 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku: 304466

Dejte nám zpětnou vazbu