Video: Začíname pracovať so vzťahmi tabuliek

Vzťahuje sa na
Access pre Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Vyskúšajte si to!

Sila relačnej databázy spočíva v kombinovaní údajov z rôznych tabuliek. Ak to chcete urobiť, najskôr je potrebné vytvoriť vzťahy medzi tabuľkami. Potom Access začne kombinovať údaje v dotazoch, formulároch a zostavách.

Ak chcete zobraziť všetky existujúce vzťahy definované pre databázu, otvorte accessovú šablónu, prejdite na kartu Databázové nástroje a vyberte položku Vzťahy.

Poznámka

Ak otvoríte prázdnu databázu alebo ste neurčili žiadne vzťahy tabuliek, Access zobrazí výzvu na pridanie tabuľky alebo dotazu. Pred pridaním vzťahu potrebujete aspoň dve tabuľky. V ideálnom prípade vytvoríte najprv všetky tabuľky. Ďalšie informácie nájdete v téme Vytváranie vzťahov pomocou Sprievodcu vyhľadávaním a Vytváranie vzťahov pomocou tably Vzťahy.

Vysvetlenie zobrazenia Vzťahy

Čiary v zobrazení Vzťahy označujú prepojenia medzi tabuľkami. Na nasledujúcom obrázku je tabuľka vľavo nadradená tabuľka. Tabuľka vpravo je podriadená tabuľka. Čiara medzi nimi spája polia (v tomto prípade ID objednávky a ID produktu), ktoré sa používajú na porovnanie údajov.

Vzťahy sa zobrazujú pomocou čiar vykreslených medzi nadradenými a podradenými poľami. Čiary a symboly znázorňujú, ako spolu tabuľky súvisia:

  • Hrubá spojnica znamená, že presadzujete referenčnú integritu údajov. To je dobré. Vaše údaje sú neustále synchronizované.
  • Na našom obrázku číslo 1 označuje, že v tejto tabuľke môže byť iba jeden zodpovedajúci záznam. V tabuľke Objednávky znázornenej tu zodpovedá každej objednávke iba jeden záznam.
  • Symbol ∞ označuje, že mnohé záznamy môžu obsahovať rovnaký identifikátor. V tabuľke Podrobnosti objednávok zobrazenej na tomto mieste sa objednávka (označená jej ID objednávky) môže objaviť viackrát, pretože tá istá objednávka môže obsahovať viacero produktov.

Typy vzťahov medzi tabuľkami

Medzi tabuľkami existujú tri typy vzťahov:

  • Individuálne. Keď sa každá položka v každej tabuľke zobrazí len raz. Každý zamestnanec môže napríklad použiť len jedno služobné auto. Ďalšie informácie nájdete v téme Vytvorenie vzťahov "one-to-one".
  • Jeden k mnohým. Keď jedna položka v jednej tabuľke môže mať vzťah k viacerým položkám v inej tabuľke. Každá objednávka môže napríklad obsahovať viacero produktov.
  • "Many-to-many" kedy môže jedna alebo viaceré položky v jednej tabuľke mať vzťah k jednej alebo viacerým položkám v inej tabuľke. Každá objednávka môže mať napríklad viacero produktov a každý produkt sa môže zobraziť na viacerých objednávkach. Ďalšie informácie nájdete v téme Vytvorenie vzťahov "many-to-many".

Vzťahy "one-to-many"

Jedným z najbežnejších vzťahov medzi tabuľkami v dobre navrhnutých databázach je vzťah "one-to-many".

Vzťahy medzi tabuľkami sa zvyčajne spoliehajú na primárny kľúč v jednej z tabuliek. Pamätajte, že primárny kľúč je jedinečný identifikátor (často číselný) každého záznamu. Ak chcete ukázať, že informácie v dvoch rôznych tabuľkách spolu súvisia, zvyčajne vytvoríte vzťah pomocou primárneho kľúča z jednej z tabuliek.

V tomto vzťahu má napríklad každá osoba v tabuľke Kontakty ID, ktoré predstavuje primárny kľúč (označený symbolom kľúča vedľa neho). Toto ID sa zobrazí aj v poli Vlastník v tabuľke Aktíva. Ak chcete osobe priradenej k majetku odoslať e-mail, získajte hodnotu z poľa E-mailová adresa. Ak to chcete urobiť, vyhľadajte hodnotu v poli Vlastník v tabuľke Majetok a potom vyhľadajte túto identifikáciu v tabuľke Kontakty. Číslo 1 na jednom konci spojnice a symbol ∞ na druhom konci označujú, že ide o vzťah "one-to-many", takže jeden kontakt môže byť priradený k mnohým položkám.

Vzťah „one-to-many“

Úprava vzťahu

Ak upravujete existujúcu databázu alebo ak ste vytvorili databázu zo šablóny, môžete upraviť existujúce vzťahy tak, aby vyhovovali vašim potrebám.

Poznámka

Ak sa tabuľky, s ktorými chcete pracovať, používajú, musíte ich najskôr zavrieť spolu so všetkými otvorenými objektmi, ktoré ich používajú.

  1. Vyberte položku Vzťahy databázových nástrojov>.

  2. Vyberte čiaru, ktorá spája dve súvisiace tabuľky.

    Tip

    Ak sa požadovaný vzťah nezobrazuje, na karte Návrh v skupine Vzťahy vyberte položku Všetky vzťahy.

  3. Na karte Návrh vyberte položku Upraviť vzťahy.

    Úprava existujúceho vzťahu medzi tabuľkami

    Tabuľka alebo dotaz je nadradená tabuľka na ľavej strane (v tomto príklade Zákazníci).
    Súvisiaca tabuľka alebo dotaz je podriadená tabuľka (v tomto príklade tabuľka Objednávky).
    Aj keď sa tabuľky nezobrazia v zobrazení Vzťahy v tomto poradí, ich umiestnenie v dialógovom okne označuje smer čiary, ktorá ich spája so vzťahom. Je to dôležité, ak ide napríklad o vzťah "one-to-many", pretože to znamená, že tabuľka vľavo je tabuľka "one" (nadradená tabuľka) a tabuľka vpravo je tabuľka "many" (podriadená tabuľka).

  4. Ak chcete zmeniť polia, ktoré spájajú tabuľky, vyberte iné pole pod každou zobrazenou tabuľkou. V tomto príklade je pole identifikácie v tabuľke Zákazníci pripojené k poľu identifikácie zákazníka v tabuľke Objednávky.

  5. Zmeňte spôsob, akým Access synchronizuje údaje medzi tabuľkami.

    Zabezpečenie referenčnej integrity Ak chcete zabrániť neplatným údajom a zachovať synchronizáciu odkazov naprieč vzťahmi tabuliek, vyberte túto možnosť.
    Predpokladajme napríklad, že máte vzťah "one-to-one" medzi tabuľkami Zamestnanci a Zamestnanecké výhody. Ak zamestnanec odíde zo spoločnosti a vy ho odstránite z tabuľky Zamestnanci, odstráni sa aj súvisiaci záznam zamestnanca v tabuľke Zamestnanecké výhody.
    Niekedy nedáva vynútenie referenčnej integrity zmysel. Predpokladajme napríklad, že máte vzťah "one-to-many" medzi tabuľkou Špeditéri a tabuľkou Objednávky. Špeditéra môžete odstrániť a tento špeditér sa priradí k objednávkam v tabuľke Objednávky. Tieto objednávky sa stanú osamotenými, čo znamená, že stále obsahujú identifikáciu špeditéra, ale identifikácia už nie je platná, pretože záznam, na ktorý odkazuje, už neexistuje.
    Kaskádová aktualizácia súvisiacich polí Ak chcete zabezpečiť, aby sa údaje v súvisiacich poliach aktualizovali aj vo všetkých súvisiacich tabuľkách, vyberte túto možnosť.
    Predpokladajme napríklad, že chcete jednoducho zmeniť identifikáciu špeditéra. Nastavenie tejto možnosti zabezpečí, že sa ID špeditéra aktualizuje, a to nielen v tabuľke Špeditér, ale aj v iných k nej pripojených tabuľkách, ktoré tiež obsahujú toto ID špeditéra, napríklad tabuľka Objednávky.
    Kaskádové odstránenie súvisiacich záznamov Rozhodnutie o výbere tejto možnosti závisí od toho, či je potrebné uchovať záznamy v niektorých tabuľkách, aj keď môžu byť z iných tabuliek odstránené.
    Predpokladajme napríklad, že odstránite špeditéra. Ak vyberiete túto možnosť, Access odstráni všetky záznamy vo všetkých tabuľkách, ktoré odkazujú na toto ID špeditéra, vrátane všetkých objednávok (v tabuľke Objednávky) dodaných týmto špeditérom. Túto možnosť vyberte len v prípade, ak ste si istí, že chcete históriu objednávok odstrániť.
  6. Ak chcete zmeniť vzťah medzi tabuľkami z vnútorného na vonkajšie spojenie, vyberte tlačidlo Typ spojenia . Ďalšie informácie nájdete v téme Vytváranie dotazov pomocou vonkajších spojení.

Odstránenie vzťahu tabuliek

Poznámka

Ak sa tabuľky, s ktorými chcete pracovať, používajú, musíte ich najskôr zavrieť spolu so všetkými otvorenými objektmi, ktoré ich používajú.

Odstránenie vzťahu tabuliek:

  1. Vyberte položku Vzťahy databázových nástrojov>.

  2. Vyberte čiaru spájajúcu dve súvisiace tabuľky.

    Tip

    Ak sa požadovaný vzťah nezobrazuje, na karte Návrh v skupine Vzťahy vyberte položku Všetky vzťahy.

  3. Vyberte kláves Delete. Ak sa zobrazí výzva na potvrdenie odstránenia vzťahu, vyberte možnosť Áno.

Poznámka

Keď odstránite vzťah, odstránite tiež podporu referenčnej integrity pre daný vzťah (ak nejaká existuje). V dôsledku toho už Access nebude zabraňovať zmenám, ktoré majú za následok vytvorenie záznamov bez párov na strane "many" vzťahu "one-to-many".

Chcete viac?

Vytvorenie, úprava alebo odstránenie vzťahu