Vyskúšajte si to!
Výkon relačnej databázy spočíva v kombinovaní údajov v tabuľkách. Ak to chcete urobiť, musíte najprv vytvoriť vzťahy medzi tabuľkami. Potom vložte Access do práce na kombinovaní údajov 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 nedefinovali ž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 môžete najprv vytvoriť všetky tabuľky. Ďalšie informácie nájdete v téme Vytvorenie vzťahov pomocou Sprievodcu vyhľadávaním a Vytvorenie vzťahov pomocou tably Vzťahy.
Vysvetlenie zobrazenia Vzťahy
Riadky v zobrazení Vzťahy označujú pripojenia medzi tabuľkami. Na nasledujúcom obrázku je tabuľka na ľavej strane nadradenou tabuľkou. Tabuľka na pravej strane 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 zhodu údajov.
Čiary a symboly vám ukážu, ako tabuľky súvisia:
- Hrubá spojovacia čiara znamená vynucovanie referenčnej integrity údajov. To je dobré, to je dobre. Udržiava vaše údaje synchronizované.
- Na našom obrázku číslo 1 znamená, že v tejto tabuľke môže byť len jeden zodpovedajúci záznam. V tabuľke Objednávky zobrazenej na tomto mieste zodpovedá každej objednávke iba jeden záznam.
- Symbol ∞ označuje, že mnoho záznamov môže obsahovať rovnaké ID. V tabuľke Podrobnosti objednávok zobrazenej na tomto mieste sa objednávka (označená ID objednávky) môže zobraziť viackrát, pretože rovnaká objednávka môže zahŕňať viacero produktov.
Typy vzťahov medzi tabuľkami
Medzi tabuľkami existujú tri typy vzťahov:
- One-to-one. Keď sa každá položka v každej tabuľke zobrazí iba raz. Každý zamestnanec môže mať napríklad na používanie len jedno firemné auto. Ďalšie informácie nájdete v téme Vytvorenie vzťahov "one-to-one".
- One-to-many. 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á nákupná objednávka môže napríklad obsahovať viaceré produkty.
- Many-to-many. Ak jedna alebo viacero položiek v jednej tabuľke môže 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ť v mnohých objednávkach. Ďalšie informácie nájdete v téme Vytvorenie vzťahov typu many-to-many.
Vzťahy typu One-to-many
Jedným z najčastejší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 hlavný kľúč v jednej z tabuliek. Pripomíname, že primárny kľúč je jedinečný identifikátor (často numerický) pre každý záznam. Ak chcete ukázať, že informácie v dvoch rôznych tabuľkách navzájom súvisia, zvyčajne vytvoríte vzťah pomocou primárneho kľúča z jednej z tabuliek.
Vo vzťahu zobrazenom na tomto mieste má napríklad každá osoba v tabuľke Kontakty ID, čo je hlavný 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 odoslať e-mail osobe priradenej k majetku, 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 toto ID v tabuľke Kontakty. Číslo 1 na jednom konci spojovnice 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.
Úprava vzťahu
Ak upravujete existujúcu databázu alebo ste vytvorili databázu zo šablóny, existujúce vzťahy môžete upraviť podľa svojich potrieb.
Poznámka
Ak sa používajú tabuľky, s ktorými chcete pracovať, musíte ich najprv zavrieť spolu s otvorenými objektmi, ktoré ich používajú.
Vyberte položkuVzťahydatabázových nástrojov>.
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.
Na karte Návrh vyberte položku Upraviť vzťahy.
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 Objednávky).
Aj v prípade, že sa tabuľky nezobrazia v tomto poradí v zobrazení Vzťahy, ich umiestnenie v dialógovom okne označuje smer čiary, ktorá ich spája, a vzťah. To je dôležité, ak ide napríklad o vzťah "one-to-many", pretože to znamená, že tabuľka na ľavej strane je tá (nadradená tabuľka) a tabuľka na pravej strane je many (podriadená tabuľka).Ak chcete zmeniť polia, ktoré spájajú tabuľky, vyberte iné pole pod každou zobrazenou tabuľkou. V tomto príklade sa pole IDENTIFIKÁCIA v tabuľke Zákazníci pripojí k poľu IDENTIFIKÁCIA zákazníka v tabuľke Objednávky.
Zmeňte spôsob, akým Access synchronizuje údaje medzi tabuľkami.
Zabezpečiť referenčnú integritu Ak chcete zabrániť neplatným údajom a zachovať synchronizáciu odkazov v rámci vzťahov 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 vynucovanie referenčnej integrity nedáva zmysel. Predpokladajme napríklad, že máte vzťah "one-to-many" medzi špeditérmi a objednávkami. Odstránite špeditéera a tento špeditér sa primapuje k objednávkam v tabuľke Objednávky. Tieto objednávky sa stanú sirotami, čo znamená, že stále obsahujú ID špeditéta, 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 skontrolovať, či sa údaje v súvisiacich poliach aktualizujú vo všetkých súvisiacich tabuľkách, vyberte túto možnosť.
Predpokladajme napríklad, že chcete jednoducho zmeniť IDENTIFIKÁCIU špeditéera. Nastavením tejto možnosti sa zabezpečí, že ID špeditéera sa aktualizuje nielen v tabuľke Špeditér, ale aj v iných tabuľkách, ktoré sú k nemu pripojené a ktoré obsahujú aj toto ID špeditéera, ako je napríklad tabuľka Objednávky.Kaskádové odstránenie súvisiacich záznamov Rozhodnutie vybrať túto možnosť závisí od toho, či je potrebné uchovať záznamy v niektorých tabuľkách aj napriek tomu, že sa môžu odstrániť z iných tabuliek.
Predpokladajme napríklad, že odstránite špeditéera. Ak je vybratá táto možnosť, Access odstráni všetky záznamy vo všetkých tabuľkách, ktoré odkazujú na id špeditéera, vrátane všetkých objednávok (v tabuľke Objednávky), ktoré tento špeditér dodal. Túto možnosť vyberiete len vtedy, ak ste si istí, že chcete odstrániť históriu objednávok.Ak chcete zmeniť vzťah medzi tabuľkami z vnútorného spojenia na vonkajšie spojenie, vyberte tlačidlo Typ spojenia . Ďalšie informácie nájdete v téme Vytvorenie dotazov s vonkajšími spojeniami.
Odstránenie vzťahu tabuliek
Poznámka
Ak sa používajú tabuľky, s ktorými chcete pracovať, musíte ich najprv zavrieť spolu s otvorenými objektmi, ktoré ich používajú.
Odstránenie vzťahu tabuliek:
Vyberte položkuVzťahydatabázových nástrojov>.
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.
Vyberte kláves Delete. Ak sa zobrazí výzva na overenie 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 existuje). V dôsledku toho už Access nebude brániť zmenám, ktoré vedú k osamoteným záznamom na strane "many" vzťahu "one-to-many".