ACC2000: Definování relace mezi tabulkami v databázi budou

Překlady článku Překlady článku
ID článku: 304467 - Produkty, které se vztahují k tomuto článku.
Začínajícího: Vyžaduje znalost uživatelského rozhraní v počítačích pro jednoho uživatele.

Tento článek se týká pouze databáze aplikace Microsoft Access (MDB).

Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek popisuje definovat relace v databázi Microsoft Access. Obsahuje následující témata:
  • Co jsou vztahy tabulky
  • Typy relace tabulky
    • Jeden pro přiřazení relace
    • Relace n do přiřazení
    • One-To-One relace

  • Jak definovat relace mezi tabulkami
    • Jak definovat relace jedna k přiřazení nebo One-To-One
    • Jak definovat přiřazení to přiřazení relace

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

Další informace

Co jsou vztahy tabulky

V relační databázi povolit vztahy zabránit redundantní data. Například Pokud navrhujete databáze bude sledovat informace o knihách pravděpodobně tabulky nazvané nadpisy, která ukládá informace o každé knize, jako například knihu? s nadpis, datum publikace a aplikace publisher. Je také informace, které chcete ukládat o vydavatele, například v aplikaci publisher telefonní číslo, adresu a PSČ. Pokud byly všechny tyto informace ukládat v názvy tabulky, vydavatele? pro každý titul aplikace publisher vytiskne by být duplikována s telefonní číslo.

Lepším řešením je ukládat informace aplikace publisher pouze jednou do samostatné tabulky Vydavatelé. V tabulce Tituly odkazuje položka v tabulce vydavatelů by potom umístit ukazatel.

Chcete-li se ujistit, že data není synchronizována, můžete vynutit referenční integritu mezi tabulkami úvodní a vydavatelů. Referenční integrity relace zajistit informace v jedné tabulce odpovídá informace v jiném. Každý název v tabulce Tituly musí být například přidružena k určité aplikace publisher v tabulce vydavatelů. Název nemůže být přidána do databáze pro vydavatele neexistuje v databázi.

Typy relace tabulky

Vztah funguje porovnáním dat sloupců klíče, obvykle sloupců se stejným názvem v obou tabulkách. Ve většině případů vztah odpovídá primárního klíče z jedné tabulky jedinečný identifikátor poskytuje pro každý řádek s položkou v cizí klíč v tabulce. Například prodeje mohou být přidruženy konkrétní názvy prodaných vytvořením relace mezi title_id sloupec v tabulce Tituly (primární klíč) a sloupec title_id v tabulce prodeje (cizí klíč).

Existují tři typy relací mezi tabulkami. Typ vztahu, který je vytvořen závisí na definici související sloupce.

Jeden pro přiřazení relace

N na vztah je nejběžnější typ vztahu. Tento typ relace v řádku v tabulce a 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í vztah n na: každý aplikace publisher vytváří mnoho titulů, ale každý titul pochází od vydavatele pouze jeden.

Pokud pouze jedno související sloupce je primárním klíčem nebo má jedinečné omezení, je vytvořen vztah n.

V aplikaci Access je strana primárního klíče v relaci n na označuje symbolem klíče. Strana cizího klíče v relaci se označuje symbolem nekonečna.

Relace n do přiřazení

Ve vztahu n n řádek v tabulce A může mít mnoho odpovídající řádky v tabulce B a naopak. Vytvoření relace pomocí definice třetí tabulky nazývané spojená tabulka, jejíž primární klíč se skládá z cizí klíče z tabulky A a tabulky B. V tabulce Autoři a tabulce Tituly mít vztah n n, který je definován vztah n na z každého z těchto tabulek do tabulky TitleAuthors. Primární klíč tabulky TitleAuthors je kombinace au_id sloupec (tabulku Autoři? s primární klíč) a sloupec title_id (tabulce Tituly? primárního klíče s).

One-To-One relace

V relaci 1: 1 řádek v tabulce A mohou mít více než jeden odpovídající řádek v tabulce B a naopak. Pokud oba související sloupce jsou primární klíče nebo jedinečné omezení mají je vytvořen vztah 1: 1.

Tento typ relace není obvyklý, protože většina takto souvisejících informací by všechny v jedné tabulce. Můžete použít k relaci:
  • Rozdělení tabulky mnoho sloupců.
  • Oddělení části tabulky z důvodů zabezpečení.
  • Ukládat data, která je krátkodobý a mohl být jednoduše odstraněním tabulky snadno odstranit.
  • Ukládání informací, která se týká pouze podmnožinu hlavní tabulky.
V aplikaci Access je strana primárního klíče v relaci 1: 1 označuje symbolem klíče. Strana cizího klíče se rovněž označuje symbolem klíče.

Jak definovat relace mezi tabulkami

Při vytvoření relace mezi tabulkami související pole nemají mít stejné názvy. Související pole však musí mít stejný datový typ není pole primárního klíče je pole Automatické číslo. Pole AutoNumber s polem číslo může odpovídat, pouze pokud je vlastnost Velikost pole obou odpovídající pole stejné. Například můžete vybrat stejné pole AutoNumber a pole číslo Pokud je vlastnost Velikost pole obě pole Long Integer. I když jsou obě pole odpovídající polí typu číslo, musí mít stejné nastavení vlastnosti Velikost pole.

Jak definovat relace jedna k přiřazení nebo One-To-One

Vytvořit jeden n nebo vztah 1: 1, postupujte takto:
  1. Zavřete všechny otevřené tabulky. Nelze vytvořit nebo změnit relace mezi otevřenými tabulkami.
  2. Stisknutím klávesy F11 přejděte do okna databáze.
  3. V nabídce Nástroje klepněte na tlačítko relace.
  4. Pokud jste dosud nedefinovali žádné relace v databázi, je automaticky zobrazen v dialogovém okně Zobrazit tabulku. Pokud chcete přidat tabulky, které chcete vytvořit relaci, ale není zobrazeno dialogové okno Zobrazit tabulku, klepněte na nabídku relace na tlačítko Zobrazit tabulku.
  5. Poklepejte na názvy tabulek, které chcete vytvořit relaci a potom zavřete dialogové okno Zobrazit tabulku. Chcete-li vytvořit vztah mezi tabulkou a samotný, přidejte tuto tabulku dvakrát.
  6. Přetáhněte pole, které chcete vztahují z jedné tabulky související pole v tabulce. Chcete-li přetáhnout více polí, stiskněte klávesu CTRL, klepněte na každé pole a potom přetáhněte.

    Ve většině případů se z jedné tabulky (často se stejným názvem) podobné pole nazývá cizí klíč v tabulce přetáhněte pole primárního klíče (která je zobrazena tučně).
  7. Zobrazí se dialogové okno Upravit relace. Zkontrolujte, zda jsou správné názvy polí zobrazena ve dvou sloupcích. Je možné změnit podle potřeby.

    V případě potřeby nastavte možnosti relace. Pokud potřebujete informace o určité položce v dialogovém okně Upravit relace, klepněte na tlačítko otazník a potom klepněte na položku. Tyto možnosti budou vysvětleny dále v tomto článku se podrobně.
  8. Klepněte na tlačítko vytvořit vytvořte vztah.
  9. Opakujte kroky 5 až 8 pro každou dvojici tabulek, které chcete vytvořit relaci.

    Při zavřete dialogové okno Upravit relace se zobrazí dotaz, pokud chcete uložit rozložení. Zda uložit rozložení nebo není, vztahy, které vytvoříte, jsou uložena v databázi.

    Poznámka: V dotazech stejně jako tabulky můžete vytvářet relace. S dotazy není však vynucena referenční integrita.

Jak definovat přiřazení to přiřazení relace

Chcete-li vytvořit vztah n n, postupujte takto:
  1. Vytvořte dvě tabulky, které budou mít vztah n n.
  2. Vytvořte třetí tabulku nazývané spojovací tabulka a potom přidejte nové pole tabulky spojovací se stejnými definicemi jako pole primárního klíče z každé z dalších dvou tabulek. Spojovací tabulky pole primárního klíče fungovat jako cizí klíče. Spojená tabulka přidáním dalších polí, stejně jako ostatní tabulky.
  3. Spojovací tabulky nastavte primární klíč zahrnout pole primárního klíče z dalších dvou tabulek. Například v tabulce spojovací TitleAuthors, primární klíč by být tvořen pole ČísloObjednávky a ČísloVýrobku.

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

      Chcete-li vybrat více polí, podržte klávesu CTRL a klepněte na volič řádku každého pole.
    3. Na panelu nástrojů klepněte na tlačítko Primární klíč.

      Poznámka: Pokud chcete, aby pořadí polí v primárním klíči tvořeném více poli lišit od pořadí těchto polí v tabulce, klepněte na panelu nástrojů zobrazte dialogové okno indexy a uspořádat názvy polí pro index s názvem PrimaryKeyindexy.
  4. Definovat n na vztah mezi dvěma tabulkami primární a spojovací tabulkou.

Referenční integrity

Referenční integrity je systém pravidel, použije se k zajištění vztahy mezi záznamy v souvisejících tabulkách jsou platné a že náhodnému odstranění nebo změně související data. Můžete nastavit referenční integrity, když jsou splněny následující podmínky:
  • Odpovídající pole z primární tabulky je primárním klíčem nebo má jedinečný index.
  • Související pole mají stejný typ dat. Existují dvě výjimky. Pole AutoNumber může být související pole číslo s nastavení vlastnosti velikost Long Integer a pole Automatické číslo se nastavení vlastnosti velikost identifikátor replikace může být související pole číslo s nastavení vlastnosti velikost Replication ID.
  • Obě tabulky patří do stejné databáze. Pokud jsou propojené tabulky, musí být tabulky ve formátu aplikace a musíte otevřít databázi, ve kterém jsou uloženy nastavit referenční integrity. Referenční integritu nelze vynutit u propojených tabulek z databází v jiných formátech.
Při použití referenční integrity platí následující pravidla:

  • Do pole cizího klíče v související tabulce neexistuje primárního klíče primární tabulky nelze zadat hodnotu. Hodnota Null můžete však zadat cizího klíče v určující záznamy spolu nesouvisí. Například nemůže mít objednávky, která je přiřazena odběratele neexistuje, ale máte pořadí, které je přiřazen k nikdo zadáním hodnoty Null v poli KódZákazníka.
  • Z primární tabulky nelze odstranit záznam, pokud existují odpovídající záznamy v související tabulce. Existují objednávky přiřazené zaměstnanci v tabulce Objednávky například nelze odstranit záznam zaměstnance z tabulky Zaměstnanci.
  • Hodnotu primárního klíče primární tabulky nelze změnit, pokud danému záznamu existují související záznamy. Nelze například změnit ID zaměstnance v tabulce Zaměstnanci, pokud existují objednávky přiřazené zaměstnance v tabulce objednávky.

Kaskádové aktualizace a odstranění

U relace nastavena referenční integrita můžete určit, zda chcete k automatické aktualizace v kaskádě nebo kaskádové odstranění souvisejících záznamů. Nastavit tyto možnosti odstranění a aktualizace operací, které by jinak byly odepřeny povolena pravidla referenční integrity. Při odstranění záznamů nebo změně hodnot primárního klíče primární tabulky Microsoft provedeny potřebné změny související tabulky k zachování referenční integrity.

Pokud klepnutím zaškrtněte políčko Aktualizace souvisejících polí v kaskádě při definování relace kdykoli změnit primární klíč záznamu v primární tabulce bude automaticky aktualizuje primární klíč na novou hodnotu všechny související záznamy. Například pokud změníte číslo zákazníka tabulky Zákazníci, pole KódZákazníka v tabulce objednávky je automaticky aktualizován pro každou jednotlivou objednávky tohoto zákazníka, takže vztah není přerušeno. Bude uspořádá aktualizace sebe bez zobrazování žádné zprávy.

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

Pokud zaškrtnete políčko Odstranění souvisejících polí v kaskádě při definování relace, kdykoli odstranit záznamy v primární tabulce aplikace Microsoft Access automaticky odstraní všechny související záznamy v související tabulce. Například pokud odstraníte záznam zákazníka z tabulky Zákazníci, objednávky pro všechny odběratele jsou automaticky odstraněny z tabulky objednávky (to zahrnuje záznamy v tabulce Rozpis související záznamy objednávek). Odstranit záznamy z formuláře nebo datového listu s zaškrtnuto políčko Odstranění souvisejících polí v kaskádě, budou upozorní, že budou odstraněny také související záznamy. Však při odstranění záznamů pomocí odstraňovacího dotazu budou automaticky odstraní záznamy v souvisejících tabulkách bez zobrazení upozornění.

Typy spojení

Existují tři typy spojení následovně:

Možnost 1 definuje vnitřní spojení. Vnitřní spojení je spojení, kde jsou záznamy ze dvou tabulek kombinovány ve výsledcích dotazu pouze pokud hodnoty ve spojených polích splňují zadanou podmínku. V dotazu výchozí spojení je vnitřní spojení 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 ve které všechny záznamy z levé strany operace LEFT JOIN v příkazu SQL dotazu jsou přidány do výsledků dotazu i v případě, že neexistují žádné odpovídající hodnoty ve spojeném poli z tabulky vpravo.

Možnost 3 definuje pravé vnější spojení. Pravé vnější spojení je spojení v které všechny záznamy z pravé strany operace RIGHT JOIN v příkazu SQL dotazu jsou přidány do výsledků dotazu i v případě, že neexistují žádné odpovídající hodnoty spojené pole z tabulky vlevo.

Odkazy

Další informace o relacích v aplikaci Access klepněte na téma "Creating a navržení tabulky" na stránce nápovědy Access 2000 následující web:
Microsoft Access 2000 Help
Další informace o relacích v aplikaci Access v nabídce Nápověda klepněte na příkaz Nápověda pro Microsoft Access, zadejte Vytvořit nebo upravit relace v Pomocníkovi Office nebo průvodce a klepněte na tlačítko Hledat zobrazte vrácená témata.

Vlastnosti

ID článku: 304467 - Poslední aktualizace: 29. června 2004 - Revize: 2.1
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Access 2000 Standard Edition
Klíčová slova: 
kbmt kbhowto KB304467 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:304467

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com