Sprievodca vzťahmi tabuliek

Sprievodca vzťahmi tabuliek

Dôležité : Tento článok je strojovo preložený, prečítajte si vyhlásenie. Anglickú verziu tohto článku nájdete tu a môžete ju použiť ako referenciu.

Jedným z cieľov dobrého návrhu databázy je odstrániť nadbytočné údaje (duplicitné údaje). Ak chcete dosiahnuť tento cieľ, rozdeľte údaje do viacerých tematických tabuliek tak, aby všetky fakty boli vyjadrené len raz. Potom poskytnite programu Access prostriedky, pomocou ktorých sa majú rozdelené informácie opäť spojiť . Urobíte to tak, že do tabuliek, ktoré navzájom súvisia, umiestnite spoločné polia. Ak chcete vykonať tento krok správne, musíte najskôr porozumieť vzťahom medzi tabuľkami a potom presne určiť tieto vzťahy v databáze.

Obsah tohto článku

Úvod

Typy vzťahov tabuliek

Dôvody na vytváranie vzťahov tabuliek

Vysvetlenie referenčnej integrity

Zobrazenie vzťahov tabuliek

Vytvorenie vzťahu medzi tabuľkami

Odstránenie vzťahu medzi tabuľkami

Zmena vzťahu tabuliek

Presadzovanie referenčnej integrity

Úvod

Po vytvorení tabuľky pre každú tému v databáze musíte programu Access poskytnúť prostriedky, pomocou ktorých sa tieto informácie znova podľa potreby spoja. Dosiahnete to tak, že do navzájom súvisiacich tabuliek vložíte spoločné polia a určíte vzťahy medzi tabuľkami. Potom môžete vytvoriť dotazy, formuláre a zostavy, ktoré zobrazia informácie z niekoľkých tabuliek súčasne. Napríklad formulár, ktorý je uvedený nižšie, obsahuje informácie získané z niekoľkých tabuliek:

Objednávkový formulár, ktorý zobrazuje súvisiace informácie z piatich tabuliek súčasne

1. Informácie v tomto formulári pochádzajú z tabuľky Zákazníci...

2. ...tabuľky Objednávky...

3. ...tabuľky Produkty...

4. ...a tabuľky Podrobnosti objednávok...

Meno zákazníka v poli Príjemca je vybraté z tabuľky Zákazníci, hodnoty identifikácie objednávky a dátumu objednávky pochádzajú z tabuľky Objednávky, názov produktu pochádza z tabuľky Produkty a hodnoty jednotkovej ceny a množstva pochádzajú z tabuľky Podrobnosti objednávok. Tieto tabuľky sú navzájom prepojené mnohými spôsobmi tak, aby boli informácie z každej tabuľky prenesené do formulára.

V predchádzajúcom príklade musia byť polia v tabuľkách koordinované, aby uvádzali informácie o tej istej objednávke. Táto koordinácia sa dosiahne pomocou vzťahov tabuliek. Vzťah tabuliek funguje na základe priradenia údajov v poliach kľúčov, pričom často ide o pole s tým istým názvom v obidvoch tabuľkách. Vo väčšine prípadov predstavujú tieto priradené polia primárny kľúč v jednej tabuľke, ktorý poskytuje jedinečný identifikátor pre každý záznam, a cudzí kľúč v druhej tabuľke. Zamestnanci môžu byť napríklad priradení k objednávkam, za ktoré sú zodpovední, pomocou vytvorenia vzťahu tabuliek medzi poľami identifikácie zamestnancov v tabuľke Zamestnanci a tabuľke Objednávky.

Identifikácia zamestnanca použitá ako primárny kľúč v tabuľke Zamestnanci a cudzí kľúč v tabuľke Objednávky.

1. Identifikácia zamestnanca sa zobrazuje v oboch tabuľkách – ako primárny kľúč...

2. ... a ako cudzí kľúč.

Na začiatok stránky

Typy vzťahov tabuliek

Existujú tri typy vzťahov tabuliek v programe Access.

  • Vzťah „one-to-many“

    Použiť môžeme napríklad databázu sledovania objednávok, ktorá obsahuje tabuľku Zákazníci a tabuľku Objednávky. Zákazník môže zadať ľubovoľný počet objednávok. Z toho vyplýva, že každý zákazník uvedený v tabuľke Zákazníci môže mať veľa objednávok uvedených v tabuľke Objednávky. Vzťah medzi tabuľkou Zákazníci a tabuľkou Objednávky je preto „one-to-many“.

    Ak chcete v návrhu databázy vyjadriť vzťah „one-to-many“, použite primárny kľúč na strane „one“ tohto vzťahu a pridajte ho v danom vzťahu ako ďalšie pole alebo polia do tabuľky na strane „many“. V tomto prípade napríklad pridáte nové pole  (pole Identifikácia z tabuľky Zákazníci) do tabuľky Objednávky a pomenujete ho Identifikácia zákazníka. V programe Access potom môžete použiť na vyhľadanie správneho zákazníka pre každú objednávku číslo v poli Identifikácia zákazníka v tabuľke Objednávky.

  • Vzťah „many-to-many“

    Pozrime sa teraz na vzťah medzi tabuľkou Produkty a tabuľkou Objednávky. Jedna objednávka môže obsahovať viac ako jeden produkt. Na druhej strane, jeden produkt sa môže zobraziť na mnohých objednávkach. Preto pre každý záznam v tabuľke Objednávky môže existovať veľa záznamov v tabuľke Produkty. Okrem toho, pre každý záznam v tabuľke Produkty môže existovať veľa záznamov v tabuľke Objednávky. Tento vzťah sa nazýva „many-to-many“. Nezabúdajte, že ak chcete zistiť medzi tabuľkami existujúci vzťah „many-to many“, je dôležité vziať do úvahy obidve strany vzťahu.

    Ak chcete vyjadriť vzťah „many-to-many“, musíte vytvoriť tretiu tabuľku (často nazývaná spojovacia tabuľka), ktorá rozloží vzťah „many-to-many“ na dva vzťahy „one-to-many“. Do tretej tabuľky vložíte hlavný kľúč z obidvoch tabuliek. Výsledkom toho bude, že tretia tabuľka zaznamená každý výskyt alebo inštanciu tohto vzťahu. Tabuľky Objednávky a Produkty môžu mať napríklad vzťah „many-to-many“, ktorý je určený vytvorením dvoch vzťahov „one-to-many“ v tabuľke Podrobnosti objednávok. Jedna objednávka môže mať veľa produktov a každý produkt sa môže zobraziť na viacerých objednávkach.

  • Vzťah „one-to-one“

    Vo vzťahu „one-to-one“ môže mať každý záznam v prvej tabuľke len jeden zodpovedajúci záznam v druhej tabuľke a každý záznam v druhej tabuľke môže mať len jeden zodpovedajúci záznam v prvej tabuľke. Tento vzťah nie je bežný, pretože najčastejšie sú informácie spojené týmto spôsobom uložené v tej istej tabuľke. Vzťah „one-to-one“ môžete použiť na rozdelenie tabuľky s mnohými poľami s cieľom oddelenia časti tabuľky z bezpečnostných dôvodov alebo uloženia informácií, ktoré sa týkajú iba podmnožiny hlavnej tabuľky. Keď určíte takýto vzťah, obidve tabuľky musia obsahovať spoločné pole.

Na začiatok stránky

Dôvody na vytváranie vzťahov tabuliek

Vzťahy tabuliek môžete vytvoriť explicitne pomocou okna Vzťahy alebo presunutím poľa z tably Zoznam polí. Program Access používa vzťahy medzi tabuľkami na určenie spôsobu spájania tabuliek, keď ich je potrebné použiť v objekte databázy. Existuje niekoľko dôvodov na vytvorenie vzťahov medzi tabuľkami pred vytvorením ďalších objektov databázy, ako sú napríklad formuláre, dotazy a zostavy.

  • Vzťahy tabuliek sú podkladom pre návrhy dotazov

    Ak chcete pracovať so záznamami z viacerých tabuliek, často musíte vytvoriť dotaz, ktorý spája tieto tabuľky. Dotaz priraďuje hodnoty v poli hlavného kľúča prvej tabuľky poľu cudzieho kľúča v druhej tabuľke. Ak chcete napríklad prejsť na riadky zoznamu všetkých objednávok pre všetkých zákazníkov, vytvoríte dotaz, ktorý spojí tabuľku Zákazníci s tabuľkou Objednávky na základe identifikačného poľa zákazníka. V okne Vzťahy môžete manuálne určiť polia, ktoré sa majú spojiť. Ak však už máte určené vzťahy tabuliek, program Access poskytne predvolené spojenie na základe existujúceho vzťahu tabuliek. Okrem toho, ak použijete jedného zo sprievodcov dotazom, program Access použije informácie, ktoré získa zo vzťahov tabuliek, ktoré ste už určili, aby vás informoval o možnostiach a vopred vyplnil nastavenie vlastností príslušnými predvolenými hodnotami.

  • Vzťahy tabuliek sú podkladom pre návrhy formulárov a zostáv

    Keď navrhujete formulár alebo zostavu, program Access používa informácie získané zo vzťahov tabuliek, ktoré ste už určili, aby vás informoval o možnostiach a vopred vyplnil nastavenie vlastností príslušnými predvolenými hodnotami.

  • Vzťahy tabuliek sú základom zabezpečenia referenčnej integrity na zabránenie výskytu záznamov bez párov v databáze. Záznam bez páru je záznam, ktorý odkazuje na ďalší záznam, ktorý neexistuje (napríklad záznam objednávky, ktorý odkazuje na záznam zákazníka, ktorý neexistuje).

    Keď navrhujete databázu, rozdelíte informácie do tabuliek, z ktorých každá má hlavný kľúč. Potom pridáte cudzie kľúče do súvisiacich tabuliek, ktoré odkazujú na tieto hlavné kľúče. Tieto páry hlavných a cudzích kľúčov tvoria základ vzťahov tabuliek a dotazov pre viaceré tabuľky. Je dôležité, aby tieto odkazy hlavných a cudzích kľúčov zostali synchronizované. Referenčná integrita, ktorá je závislá od vzťahov v tabuľkách, pomáha zabezpečiť synchronizáciu odkazov.

Na začiatok stránky

Vysvetlenie referenčnej integrity

Keď navrhujete databázu, rozdelíte informácie v databáze do mnohých tematických tabuliek, čím sa minimalizujú nadbytočné údaje. Potom poskytnete programu Access prostriedky, pomocou ktorých má údaje spojiť, a to tak, že do súvisiacich tabuliek umiestnite spoločné polia. Ak chcete napríklad vyjadriť vzťah „one-to-many“, zoberiete hlavný kľúč z tabuľky „one“ a pridáte ho ako ďalšie pole do tabuľky „many“. Aby sa údaje opäť spojili, program Access vyberie hodnotu v tabuľke „many“ a vyhľadá zodpovedajúcu hodnotu v tabuľke „one“. Týmto spôsobom hodnoty v tabuľke „many“ odkazujú na zodpovedajúce hodnoty v tabuľke „one“.

Predpokladajme, že máte vzťah „one-to-many“ medzi tabuľkou Špeditéri a tabuľkou Objednávky a chcete odstrániť špeditéra. Ak špeditér, ktorého chcete odstrániť, má objednávky v tabuľke Objednávky, tieto objednávky sa stanú záznamami bez párov, keď odstránite záznam špeditéra. Objednávky budú stále obsahovať identifikáciu špeditéra, ale identifikácia už nebude viac platná, pretože záznam, na ktorý odkazuje, už neexistuje.

Cieľom referenčnej integrity je zabrániť výskytu záznamov bez párov a zachovať synchronizáciu odkazov, aby sa táto hypotetická situácia vôbec nevyskytla.

Referenčnú integritu zabezpečíte tak, že ju povolíte pre vzťah tabuliek (podrobné pokyny nájdete v téme Zabezpečenie referenčnej integrity). Po nastavení presadzovania referenčnej integrity sa v programe Access zamietne každá operácia, ktorá by porušila referenčnú integritu pre tento vzťah medzi tabuľkami. To znamená, že v programe Access sa zamietnu aktualizácie, ktoré menia cieľ odkazu, ako aj odstránenia položiek, ktoré odstraňujú cieľ odkazu. Môže sa však stať, že budete mať úplne opodstatnenú požiadavku na zmenu hlavného kľúča pre špeditéra, ktorý má objednávky v tabuľke Objednávky. V takýchto prípadoch naozaj potrebujete, aby sa v programe Access automaticky aktualizovali všetky ovplyvnené riadky ako súčasť jednej operácie. Týmto spôsobom sa v programe Access zabezpečí úplné dokončenie aktualizácie tak, aby databáza nezostala v nekonzistentnom stave, v ktorom nie sú aktualizované všetky zodpovedajúce riadky. Z tohto dôvodu je v programe Access podporovaná možnosť Kaskádová aktualizácia súvisiacich polí. Keď presadzujete referenčnú integritu a vyberiete možnosť Kaskádová aktualizácia súvisiacich polí a potom aktualizujete hlavný kľúč, v programe Access sa budú automaticky aktualizovať všetky polia, ktoré odkazujú na hlavný kľúč.

Môže sa tiež stať, že budete mať opodstatnenú požiadavku na odstránenie riadka a všetkých súvisiacich záznamov , ako napríklad záznam o špeditérovi a všetky súvisiace objednávky pre tohto špeditéra. Z tohto dôvodu je v programe Access podporovaná možnosť Kaskádové odstránenie súvisiacich záznamov. Keď presadzujete referenčnú integritu a vyberiete možnosť Kaskádové odstránenie súvisiacich záznamov a potom odstránite záznam na strane hlavného kľúča tohto vzťahu, v programe Access sa automaticky odstránia všetky záznamy, ktoré odkazujú na hlavný kľúč.

Na začiatok stránky

Zobrazenie vzťahov tabuliek

Ak chcete zobraziť vzťahy tabuliek, kliknite na karte Databázové nástroje na položku Vzťahy. Otvorí sa okno Vzťahy a zobrazia sa existujúce vzťahy. Ak ešte neboli určené žiadne vzťahy tabuliek a okno Vzťahy otvárate prvýkrát, program Access zobrazí výzvu na pridanie tabuľky alebo dotazu do okna.

Otvorenie okna Vzťahy

  1. Kliknite na ponuku Súbor a potom na príkaz Otvoriť.

  2. Vyberte a otvorte databázu.

  3. Na karteDatabázové nástroje v skupine Vzťahy kliknite na položku Vzťahy.

    Ak databáza obsahuje vzťahy, zobrazí sa okno Vzťahy. Ak databáza neobsahuje žiadne vzťahy a otvárate okno Vzťahy prvýkrát, zobrazí sa dialógové okno Zobrazenie tabuľky. Ak chcete zavrieť dialógové okno, kliknite na tlačidlo Zavrieť.

  4. Na karte Návrh v skupine Vzťahy kliknite na položku Všetky vzťahy.

    Zobrazia sa všetky vzťahy definované vo vašej databáze. Nezabúdajte, že skryté tabuľky (tabuľky, ktoré majú začiarknuté políčko Skryté v okne Vlastnosti) a ich vzťahy sa zobrazia až po začiarknutí políčka Zobraziť skryté objekty v dialógovom okne Možnosti navigácie.

Čiara nakreslená medzi tabuľkami v okne Vzťahy predstavuje vzťah tabuliek. Vzťah, ktorý nie je v súlade s referenčnou integritou, sa zobrazí ako tenká čiara medzi spoločnými poľami, ktoré sú podkladom pre vzťah. Keď vyberiete vzťah kliknutím na jeho čiaru, čiara zhrubne, čo signalizuje, že je vybratá. Ak presadzujete referenčnú integritu pre tento vzťah, čiara sa zobrazí ako hrubšia na obidvoch koncoch. Okrem toho sa nad hrubou časťou čiary na jednej strane vzťahu zobrazí číslica 1 a nad hrubou časťou čiary na druhej strane sa zobrazí symbol nekonečna ().

Keď je okno Vzťahy aktívne, na páse s nástrojmi môžete vybrať nasledujúce príkazy:

Na karte Návrh v skupine Nástroje:

  • Upraviť vzťahy    . Otvorí dialógové okno Úprava vzťahov . Keď vyberiete čiaru vzťahu, môžete kliknúť na položku Upraviť vzťahy, ak chcete zmeniť vzťah tabuliek. Môžete tiež dvakrát kliknúť na čiaru vzťahu.

  • Zrušiť rozloženie    . Vymaže všetky tabuľky a vzťahy zo zobrazenia v okne Vzťahy. Nezabúdajte, že tento príkaz iba skryje tabuľky a vzťahy – neodstráni ich.

  • Zostava vzťahov    . Vytvorí zostavu, ktorá zobrazí tabuľky a vzťahy v databáze. Zostava zobrazí iba tabuľky a vzťahy, ktoré nie sú skryté v okne Vzťahy.

Na karte Návrh v skupine Vzťahy:

  • Zobraziť tabuľku    . Otvorí dialógové okno Zobrazenie tabuľky, aby ste mohli vybrať tabuľky a dotazy na zobrazenie v okne Vzťahy.

  • Skryť tabuľku    . Skryje vybratú tabuľku v okne Vzťahy.

  • Priame vzťahy    . Zobrazí všetky vzťahy a súvisiace tabuľky pre vybratú tabuľku v okne Vzťahy, ak nie sú už zobrazené.

  • Všetky vzťahy    . Zobrazí všetky vzťahy a súvisiace tabuľky v databáze v okne Vzťahy. Nezabúdajte, že skryté tabuľky (tabuľky, ktoré majú začiarknuté políčko Skryté vo svojom okne Vlastnosti) a ich vzťahy sa zobrazia až po výbere možnosti Zobraziť skryté objekty v dialógovom okne Možnosti navigácie.

  • Zavrieť    . Zavrie okno Vzťahy. Ak ste urobili akékoľvek zmeny v rozložení okna Vzťahy, zobrazí sa výzva, či chcete uložiť tieto zmeny.

Na začiatok stránky

Vytvorenie vzťahu medzi tabuľkami

Vzťah tabuliek môžete vytvoriť pomocou okna Vzťahy alebo presunutím poľa do údajového hárka z tably Zoznam polí. Keď vytvoríte vzťah medzi tabuľkami, spoločné polia nemusia mať rovnaké názvy, hoci ich často majú. Tieto polia však musia mať ten istý typ údajov. Ak je primárny kľúč poľom s automatickým číslovaním, cudzí kľúč môže byť číselným poľom, ak je vlastnosť VeľkosťPoľa obidvoch polí rovnaká. Môžete napríklad priradiť pole s automatickým číslovaním k číselnému poľu, ak má vlastnosť VeľkosťPoľa oboch polí hodnotu Dlhé celé číslo. Keď sú obe spoločné polia číselnými poľami, musia mať rovnaké nastavenie vlastnosti VeľkosťPoľa.

Vytvorenie vzťahu tabuliek pomocou okna Vzťahy

  1. Kliknite na ponuku Súbor a potom na príkaz Otvoriť.

  2. Vyberte a otvorte databázu.

  3. Prejdite na kartu Databázové nástroje a v skupine Vzťahy kliknite na položku Vzťahy.

  4. Ak ste ešte neurčili žiadne vzťahy, automaticky sa zobrazí dialógové okno Zobrazenie tabuľky. Ak sa nezobrazí, kliknite na položku Zobrazenie tabuľky na karte Návrh v skupine Vzťahy.

    Dialógové okno Zobrazenie tabuľky zobrazí všetky tabuľky a dotazy v databáze. Ak chcete zobraziť len tabuľky, kliknite na položku Tabuľky. Ak chcete zobraziť len dotazy, kliknite na položku Dotazy. Ak chcete zobraziť aj tabuľky aj dotazy, kliknite na položku Obe.

  5. Vyberte jednu alebo viac tabuliek alebo dotazov a potom kliknite na tlačidlo Pridať. Po dokončení pridávania tabuliek a dotazov do okna Vzťahy kliknite na tlačidlo Zavrieť.

  6. Presuňte pole (väčšinou hlavný kľúč) z jednej tabuľky do aktuálneho poľa (cudzí kľúč) v druhej tabuľke. Ak chcete presunúť viac polí, stlačte kláves CTRL, kliknite na všetky polia a potom ich presuňte.

    Zobrazí sa dialógové okno Úprava vzťahov.

  7. Skontrolujte, či zobrazené názvy polí sú aktuálnymi poľami vzťahu. Ak je názov poľa nesprávny, kliknite na názov poľa a vyberte nové pole zo zoznamu.

    Ak chcete pre tento vzťah zabezpečiť referenčnú integritu, začiarknite políčko Zabezpečiť referenčnú integritu. Ďalšie informácie o referenčnej integrite nájdete v častiach Vysvetlenie referenčnej integrity a Zabezpečenie referenčnej integrity.

  8. Kliknite na položku Vytvoriť.

    Medzi oboma tabuľkami sa vykreslí čiara vzťahu. Ak ste začiarkli políčko Zabezpečiť referenčnú integritu, čiara sa zobrazí hrubšia na oboch koncoch. Ak ste začiarkli políčko Zabezpečiť referenčnú integritu, nad hrubou časťou čiary na jednej strane vzťahu sa zobrazí číslica 1 a nad hrubou časťou čiary na druhej strane sa zobrazí symbol nekonečna ().

    Poznámky : 

    • Vytvorenie vzťahu „one-to-one“    Obidve spoločné polia (zvyčajne polia hlavného kľúča a cudzieho kľúča) musia mať jedinečný index. To znamená, že vlastnosť poľa Indexované by mala byť pre tieto polia nastavená na hodnotu Áno (bez duplicít). Ak majú obidve polia jedinečný index, program Access vytvorí vzťah „one-to-one“.

    • Vytvorenie vzťahu „one-to-many“    Pole na strane „one“ tohto vzťahu (obvykle hlavný kľúč) musí mať jedinečný index. To znamená, že vlastnosť poľa Indexované by mala byť pre toto pole nastavená na hodnotu Áno (bez duplicít). Pole na strane „many“ by nemalo mať jedinečný index. Pole na strane „many“ môže mať index, ale musí povoľovať duplicity. To znamená, že vlastnosť poľa Indexované by pre toto pole mala byť nastavená na hodnotu Žiadne alebo Áno (duplicity povolené). Keď má jedno pole jedinečný index a druhé nemá, program Access vytvorí vzťah „one-to-many“.

Vytvorenie vzťahu medzi tabuľkami použitím tably Zoznam polí

Do existujúcej tabuľky, ktorá je otvorená v údajovom zobrazení, môžete pridať pole tak, že ho myšou presuniete z tably Zoznam polí. Na table Zoznam polí sa zobrazujú polia, ktoré sú k dispozícii v súvisiacich tabuľkách, ako aj v iných tabuľkách. Keď presuniete pole z „inej“ (nesúvisiacej) tabuľky a Sprievodca vyhľadávaním dokončí prácu, medzi tabuľkou na table Zoznam polí a tabuľkou, do ktorej ste myšou presunuli pole, sa automaticky vytvorí nový vzťah „one-to-many“. Tento vzťah vytvorený programom Access predvolene nezabezpečuje referenčnú integritu. Ak chcete zabezpečiť referenčnú integritu, musíte vzťah upraviť. Ďalšie informácie nájdete v časti Zmena vzťahu tabuliek.

Otvorenie tabuľky v údajovom zobrazení

  1. Na karte Súbor kliknite na položku Otvoriť.

  2. V dialógovom okne Otvorenie vyberte databázu a otvorte ju.

  3. Na navigačnej table kliknite pravým tlačidlom myši na tabuľku, do ktorej chcete pridať pole a pre ktorú chcete vytvoriť vzťah, a potom kliknite na položku Otvoriť.

Otvorenie tably Zoznam polí

  • Stlačte kombináciu klávesov ALT + F8.

    Zobrazí sa tabla Zoznam polí.

Tabla Zoznam polí zobrazí všetky ďalšie tabuľky v databáze zoskupené do kategórií. Keď pracujete s tabuľkou v údajovom zobrazení, program Access zobrazí polia v obidvoch kategóriách na table Zoznam polí: Polia dostupné v súvisiacich tabuľkách a Polia dostupné v iných tabuľkách. V prvej kategórii je uvedený zoznam všetkých tabuliek, ktoré majú vzťah s tabuľkou, s ktorou aktuálne pracujete. V druhej kategórii je uvedený zoznam všetkých tabuliek, s ktorými táto tabuľka nemá vzťah.

Keď na table Zoznam polí kliknete na znamienko plus (+) vedľa názvu tabuľky, zobrazí sa zoznam všetkých polí, ktoré sú v tejto tabuľke k dispozícii. Ak chcete pridať pole do svojej tabuľky, presuňte požadované pole myšou z tably Zoznam polí do tabuľky v údajovom zobrazení.

Pridanie poľa a vytvorenie vzťahu z tably Zoznam polí

  1. Na table Zoznam polí prejdite do časti Polia dostupné v iných tabuľkách a kliknutím na znamienko plus (+) vedľa názvu tabuľky zobrazte zoznam polí v tejto tabuľke.

  2. Presuňte požadované pole myšou z tably Zoznam polí do tabuľky, ktorá je otvorená v údajovom zobrazení.

  3. Po zobrazení vkladacieho riadka vložte pole na toto miesto.

    Spustí sa Sprievodca vyhľadávaním.

  4. Dokončite prácu s nástrojom Sprievodca vyhľadávaním podľa zobrazených pokynov.

    Pole sa zobrazí v tabuľke v údajovom zobrazení.

Keď myšou presuniete pole z inej (nesúvisiacej) tabuľky a potom dokončíte prácu so Sprievodcom vyhľadávaním, medzi tabuľkou na table Zoznam polí a tabuľkou, do ktorej ste myšou presunuli toto pole, sa automaticky vytvorí nový vzťah „one-to-many“. Tento vzťah, vytvorený programom Access, predvolene nezabezpečuje referenčnú integritu. Ak chcete zabezpečiť referenčnú integritu, musíte vzťah upraviť. Ďalšie informácie nájdete v časti Zmena vzťahu tabuliek.

Na začiatok stránky

Odstránenie vzťahu tabuliek

Ak chcete odstrániť vzťah tabuliek, musíte odstrániť čiaru vzťahu v okne Vzťahy. Opatrne umiestnite kurzor tak, aby ukazoval na čiaru vzťahu, a potom kliknite na čiaru. Vybratá čiara vzťahu sa zobrazuje ako hrubšia. Keď je čiara vzťahu vybratá, stlačte kláves DELETE. Nezabúdajte, že keď odstránite vzťah, odstránite tiež podporu referenčnej integrity pre daný vzťah (ak je povolená). V dôsledku toho program Access už nebude v tomto vzťahu na strane „many“ automaticky zabraňovať vytvoreniu záznamov bez párov.

  1. Na karte Nástroje databázy v skupine Vzťahy kliknite na položku Vzťahy.

    Zobrazí sa okno Vzťahy. Ak ste ešte nedefinovali žiadne vzťahy a otvárate okno Vzťahy po prvýkrát, zobrazí sa dialógové okno Zobrazenie tabuľky. Ak sa zobrazí toto dialógové okno, kliknite na tlačidlo Zavrieť.

  2. Na karte Návrh v skupine Vzťahy kliknite na položku Všetky vzťahy.

    Zobrazia sa všetky tabuľky, ktoré majú vzťahy, a zobrazia sa aj čiary vzťahov.

  3. Kliknite na čiaru vzťahu pre vzťah, ktorý chcete odstrániť. Vybratá čiara vzťahu sa zobrazuje ako hrubšia.

  4. Stlačte kláves DELETE.

    alebo

Kliknite pravým tlačidlom myši a potom kliknite na položku Odstrániť.

  • Program Access môže zobraziť hlásenie Naozaj chcete natrvalo odstrániť vybratý vzťah z databázy?. Ak sa zobrazí toto potvrdzujúce hlásenie, kliknite na tlačidlo Áno.

Poznámka : Ak jednu z tabuliek, použitých vo vzťahu tabuliek, práve používa napríklad iná osoba alebo proces, alebo je táto tabuľka v otvorenom objekte databázy (ako je napríklad formulár), nebudete môcť odstrániť vzťah. Pred odstránením vzťahu musíte najskôr zavrieť všetky otvorené objekty, ktoré používajú tieto tabuľky.

Na začiatok stránky

Zmena vzťahu tabuliek

Vzťah tabuľky zmeníte tým, že ho vyberiete v okne Vzťahy a upravíte ho. Opatrne umiestnite kurzor tak, aby ukazoval na čiaru vzťahu, a potom kliknite na čiaru, aby ste ju vybrali. Vybratá čiara vzťahu sa zobrazuje ako hrubšia. Keď vyberiete čiaru vzťahu, dvakrát na ňu kliknite alebo kliknite na položku Upraviť vzťahy v skupine Nástroje na karte Návrh. Zobrazí sa dialógové okno Úprava vzťahov.

Vykonanie zmien v dialógovom okne Úprava vzťahov

  1. Na karte Nástroje databázy v skupine Vzťahy kliknite na položku Vzťahy.

    Zobrazí sa okno Vzťahy. Ak ste ešte nedefinovali žiadne vzťahy a otvárate okno Vzťahy po prvýkrát, zobrazí sa dialógové okno Zobrazenie tabuľky. Ak sa zobrazí toto dialógové okno, kliknite na tlačidlo Zavrieť.

  2. Na karte Návrh v skupine Vzťahy kliknite na položku Všetky vzťahy.

    Zobrazia sa všetky tabuľky, ktoré majú vzťahy, a zobrazia sa aj čiary vzťahov.

  3. Kliknite na čiaru vzťahu pre vzťah, ktorý chcete zmeniť. Vybratá čiara vzťahu sa zobrazuje ako hrubšia.

  4. Dvakrát kliknite na čiaru vzťahu.

  5. Vykonajte zmeny a kliknite na tlačidlo OK.

    V dialógovom okne Úprava vzťahov môžete vykonávať zmeny vo vzťahoch medzi tabuľkami. Môžete vymeniť tabuľku alebo dotaz na niektorej strane vzťahu alebo môžete vymeniť polia. Môžete tiež nastaviť typ spojenia, zabezpečiť referenčnú integritu a vybrať možnosť kaskádovania. Ďalšie informácie o type spojenia a o tom, ako ho nastaviť, nájdete v časti Nastavenie typu spojenia. Ďalšie informácie o tom, ako presadzovať referenčnú integritu a vybrať možnosť kaskádovania, nájdete v časti Zabezpečenie referenčnej integrity.

Nastavenie typu spojenia

Keď určujete vzťah tabuliek, podkladom pre návrhy dotazov sú fakty o vzťahu. Ak napríklad určujete vzťah medzi dvomi tabuľkami a potom vytvoríte dotaz, ktorý používa tieto tabuľky, program Access automaticky vyberie predvolené zodpovedajúce polia na základe polí určených vo vzťahu. Tieto počiatočné predvolené hodnoty môžete v dotaze prepísať, ale hodnoty dosadené vzťahom sú obvykle správne. Pretože priraďovanie a spájanie údajov z viacerých tabuliek je činnosťou, ktorú budete okrem najjednoduchších databáz robiť často, nastavenie predvolených hodnôt vytvorením vzťahov je výhodné a šetrí čas.

Dotaz pre viaceré tabuľky kombinuje informácie z viacerých tabuliek priradením hodnôt v spoločných poliach. Operácia, ktorá vykonáva priradenie a kombinovanie, sa nazýva spájanie. Predpokladajme, že chcete napríklad zobraziť objednávky zákazníkov. Vytvoríte dotaz, ktorý spája tabuľku Zákazníci s tabuľkou Objednávky pomocou poľa Identifikácia zákazníka. Výsledok dotazu obsahuje údaje o zákazníkovi a objednávke iba pre tie riadky, kde sa zistil zodpovedajúci výskyt.

Jedna z hodnôt, ktoré môžete určiť pre každý vzťah, je typ spojenia. Typ spojenia poskytne programu Access informáciu, ktoré záznamy má zahrnúť do výsledku dotazu. Uvažujme opäť napríklad o dotaze, ktorý spája tabuľku Zákazníci s tabuľkou Objednávky v spoločných poliach, ktoré predstavujú identifikáciu zákazníka. Pomocou predvoleného typu spojenia (ktoré sa nazýva vnútorné spojenie) dotaz vráti iba riadky tabuľky Zákazníci a riadky tabuľky Objednávky, kedy sa spoločné polia (nazývajú sa aj spojené polia) rovnajú.

Predpokladajme však, že chcete zahrnúť všetkých zákazníkov, dokonca aj tých, ktorí ešte nezadali žiadne objednávky. Ak chcete vykonať túto operáciu, musíte zmeniť typ spojenia z vnútorného na typ, ktorý sa nazýva vonkajšie spojenie zľava. Vonkajšie spojenie zľava vráti všetky riadky z tabuľky na ľavej strane vzťahu a iba tie riadky, ktoré sú im priradené v tabuľke na pravej strane. Vonkajšie spojenie sprava vráti všetky riadky na pravej strane vzťahu a iba tie riadky, ktoré sú im priradené na ľavej strane vzťahu.

Poznámka : V tomto prípade sa výrazy „ľavý“ a „pravý“ vzťahujú na umiestnenie tabuliek v dialógovom okne Úprava vzťahov, nie v okne Vzťahy.

Mali by ste si premyslieť, ktoré výsledky budete potrebovať najčastejšie z dotazu, ktorý spája tabuľky v tomto vzťahu, a potom nastaviť podľa toho typ spojenia.

Nastavenie typu spojenia

  1. V dialógovom okne Úprava vzťahov kliknite na položku Typ spojenia.

    Zobrazí sa dialógové okno Spojenie – vlastnosti.

  2. Kliknite na požadovanú možnosť a potom kliknite na tlačidlo OK.

Nasledujúca tabuľka (používa tabuľky Zákazníci a Objednávky) uvádza tri možnosti, ktoré sú zobrazené v dialógovom okne Vlastnosti spojenia, typ používaného spojenia a skutočnosť, či sú v každej tabuľke zahrnuté všetky riadky alebo zodpovedajúce riadky.

Voľba

Relačné spojenie

Ľavá tabuľka

Pravá tabuľka

1. Zahrnúť iba riadky, v ktorých sú spojené polia z obidvoch tabuliek rovnaké.

Vnútorné spojenie

Zhodné riadky

Zhodné riadky

2. Zahrnúť VŠETKY záznamy z tabuľky Zákazníci a iba tie záznamy z tabuľky Objednávky, v ktorých sú spojené polia rovnaké.

Vonkajšie spojenie zľava

Všetky riadky

Zhodné riadky

3. Zahrnúť VŠETKY záznamy z tabuľky Objednávky a z tabuľky Zákazníci iba tie záznamy, v ktorých sú spojené polia rovnaké.

Vonkajšie spojenie sprava

Zhodné riadky

Všetky riadky

Keď vyberiete druhú alebo tretiu možnosť, zobrazí sa na čiare vzťahu šípka. Táto šípka ukazuje na tú stranu vzťahu, ktorá zobrazuje iba zhodné riadky.

Vykonanie zmien v dialógovom okne Spojenie – vlastnosti

  1. Na karte Nástroje databázy v skupine Vzťahy kliknite na položku Vzťahy.

    Zobrazí sa okno Vzťahy. Ak ste ešte nedefinovali žiadne vzťahy a otvárate okno Vzťahy po prvýkrát, zobrazí sa dialógové okno Zobrazenie tabuľky. Ak sa zobrazí toto dialógové okno, kliknite na tlačidlo Zavrieť.

  2. Na karte Návrh v skupine Vzťahy kliknite na položku Všetky vzťahy.

    Zobrazia sa všetky tabuľky, ktoré majú vzťahy, a zobrazia sa aj čiary vzťahov.

  3. Kliknite na čiaru vzťahu pre vzťah, ktorý chcete zmeniť. Vybratá čiara vzťahu sa zobrazuje ako hrubšia.

  4. Dvakrát kliknite na čiaru vzťahu.

    Zobrazí sa dialógové okno Úprava vzťahov.

  5. Kliknite na položku Typ spojenia.

  6. V dialógovom okne Spojenie – vlastnosti vyberte niektorú z možností a potom kliknite na tlačidlo OK.

  7. Vykonajte všetky ostatné zmeny vzťahu a potom kliknite na tlačidlo OK.

Na začiatok stránky

Zabezpečenie referenčnej integrity

Cieľom použitia referenčnej integrity je zabrániť vytvoreniu záznamov bez párov a zachovať synchronizáciu odkazov tak, aby neexistovali záznamy, ktoré odkazujú na neexistujúce záznamy. Referenčnú integritu zabezpečíte tak, že ju povolíte pre vzťahy medzi tabuľkami. Po nastavení presadzovania referenčnej integrity sa v programe Access zamietne každá operácia, ktorá by porušila referenčnú integritu pre tento vzťah tabuliek. V programe Access sa zamietnu aktualizácie, ktoré menia cieľ odkazu, ako aj odstránenia, ktoré odstraňujú cieľ odkazu. Ak chcete, aby sa v programe Access vopred vyplnili referenčné aktualizácie a odstránenia tak, aby sa všetky súvisiace riadky podľa toho zmenili, pozrite si časť Nastavenie možností kaskádovania.

Zapnutie alebo vypnutie referenčnej integrity

  1. V okne Vzťahy kliknite na čiaru vzťahu, ktorý chcete zmeniť. Vybratá čiara vzťahu sa zobrazuje ako hrubšia.

  2. Dvakrát kliknite na čiaru vzťahu.

Zobrazí sa dialógové okno Úprava vzťahov.

  1. Začiarknite políčko Zabezpečiť referenčnú integritu.

  2. Vykonajte všetky ostatné zmeny vzťahu a potom kliknite na tlačidlo OK.

Po zabezpečení referenčnej integrity platia nasledujúce pravidlá:

  • Do poľa cudzieho kľúča v súvisiacej tabuľke nemôžete zadať hodnotu, ak rovnaká hodnota neexistuje v poli primárneho kľúča v primárnej tabuľke. To by spôsobilo vznik osamotených záznamov.

  • Z hlavnej tabuľky nie je možné odstrániť záznam, ak v súvisiacej tabuľke existujú zhodné záznamy. Nie je možné napríklad odstrániť záznam zamestnanca z tabuľky Zamestnanci, ak má tento zamestnanec priradené objednávky v tabuľke Objednávky. Ak začiarknete políčko Kaskádové odstránenie súvisiacich záznamov môžete jednou operáciou odstrániť hlavný záznam a všetky súvisiace záznamy.

  • Hodnotu hlavného kľúča v hlavnej tabuľke nemôžete zmeniť, inak by sa vytvorili záznamy bez párov. Nemôžete napríklad v tabuľke Objednávky zmeniť číslo objednávky, ak existujú riadkové položky v tabuľke Podrobnosti objednávky priradené tejto objednávke. Začiarknutím políčka Kaskádová aktualizácia súvisiacich polí môžete pomocou jednej operácie aktualizovať hlavný záznam a všetky súvisiace záznamy.

    Poznámky : Ak máte problémy s povolením referenčnej integrity, nezabúdajte, že na zabezpečenie referenčnej integrity je potrebné splniť nasledujúce podmienky:

    • Spoločné pole z hlavnej tabuľky musí byť primárnym kľúčom alebo musí mať jedinečný index.

    • Spoločné polia musia mať rovnaký typ údajov. Jedinou výnimkou je možnosť spojiť pole automatického číslovania s číselným poľom, ktoré má pre vlastnosť VeľkosťPoľa nastavenú hodnotu Dlhé celé číslo.

    • Obidve tabuľky musia existovať v tej istej databáze programu Access. Referenčná integrita sa nemôže zabezpečiť na prepojených tabuľkách. Ak sú však zdrojové tabuľky vo formáte programu Access, môžete otvoriť databázu, v ktorej sú uložené, a povoliť referenčnú integritu v danej databáze.

Nastavenie možností kaskádovania

Môže sa vyskytnúť situácia, kedy budete mať opodstatnenú požiadavku zmeniť hodnotu vo vzťahu na strane „one“. V takom prípade je potrebné, aby sa v programe Access automaticky aktualizovali všetky ovplyvnené riadky ako súčasť jednej operácie. Týmto spôsobom sa aktualizácia dokončí úplne, takže databáza nie je ponechaná v nekonzistentnom stave , v ktorom niektoré riadky sú aktualizované a iné nie. V programe Access je možné predísť tomuto problému podporou možnosti Kaskádová aktualizácia súvisiacich polí. Keď presadíte referenčnú integritu a vyberiete možnosť Kaskádová aktualizácia súvisiacich polí a potom aktualizujete hlavný kľúč, v programe Access sa budú automaticky aktualizovať všetky polia, ktoré odkazujú na hlavný kľúč.

Okrem toho môže byť niekedy potrebné odstrániť určitý riadok a všetky súvisiace záznamy , napríklad záznam o špeditérovi a všetky súvisiace objednávky pre tohto špeditéra. Z tohto dôvodu je v programe Access podporovaná možnosť Kaskádové odstránenie súvisiacich záznamov. Keď presadíte referenčnú integritu a vyberiete možnosť Kaskádové odstránenie súvisiacich záznamov, v programe Access sa pri odstránení záznamov obsahujúcich hlavný kľúč automaticky odstránia všetky záznamy, ktoré odkazujú na hlavný kľúč.

Zapnutie alebo vypnutie kaskádovej aktualizácie a kaskádového odstránenia

  1. V okne Vzťahy kliknite na čiaru vzťahu, ktorý chcete zmeniť. Vybratá čiara vzťahu sa zobrazuje ako hrubšia.

  2. Dvakrát kliknite na čiaru vzťahu.

Zobrazí sa dialógové okno Úprava vzťahov.

  1. Začiarknite políčko Zabezpečiť referenčnú integritu.

  2. Začiarknite políčko Kaskádová aktualizácia súvisiacich polí, políčko Kaskádové odstránenie súvisiacich záznamov alebo obidve políčka.

  3. Vykonajte všetky ostatné zmeny vzťahu a potom kliknite na tlačidlo OK.

Poznámka : Ak je hlavný kľúč poľom s automatickým číslovaním, začiarknutie políčka Kaskádová aktualizácia súvisiacich polí nebude mať žiadny účinok, pretože hodnotu v poli s automatickým číslovaním nemožno zmeniť.

Na začiatok stránky

Poznámka : Vyhlásenie týkajúce sa strojového prekladu: Tento článok bol preložený počítačovým systémom bez zásahu človeka. Poskytovaním týchto strojových prekladov umožňuje spoločnosť Microsoft aj používateľom, ktorí nehovoria po anglicky, využívať obsah o produktoch, službách a technológiách spoločnosti Microsoft. Článok bol preložený strojovo, môže preto obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky.

Rozšírte svoje zručnosti
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pridajte sa k insiderom pre Office

Boli tieto informácie užitočné?

Ďakujeme za vaše pripomienky!

Ďakujeme vám za pripomienky. Pravdepodobne vám pomôže, ak vás spojíme s pracovníkom podpory pre Office.

×