Objednávka odkazuje na zákazníka, fakturačná položka na faktúru a servisný záznam na zariadenie. Ak sa tieto väzby nekontrolujú, databáza časom obsahuje osirelé záznamy, ktoré sa nedajú spoľahlivo vysvetliť ani opraviť.
Čo referenčná integrita rieši
Predstavte si tabuľku Zákazníci s jedinečným identifikátorom a tabuľku Objednávky, ktorá tento identifikátor používa. Vzťah jeden k viacerým znamená, že jeden zákazník môže mať viac objednávok, ale každá objednávka musí odkazovať na existujúceho zákazníka. Access pri zapnutej integrite nepovolí objednávku s neznámym identifikátorom ani vymazanie zákazníka, na ktorého objednávky stále odkazujú.
Samotná čiara medzi tabuľkami nestačí. Integritu treba pri úprave vzťahu výslovne zapnúť. Polia na oboch stranách musia mať kompatibilný typ údajov a nadradené pole musí byť jedinečné, spravidla primárny kľúč.
Najprv vyčistite existujúce údaje
Nájdite objednávky, ktorých identifikátor zákazníka neexistuje v nadradenej tabuľke. Každý prípad opravte alebo zdokumentovane odstráňte.
Číslo a text sa nedajú bezpečne zviazať len preto, že na obrazovke vyzerajú rovnako. Zjednoťte typ aj význam poľa.
Pracujte s kópiou databázy a vytvorte vyhľadávací dotaz, ktorý ukáže nezhodné záznamy. Hromadné opravy nerobte naslepo. Identifikátor môže byť síce formálne chybný, ale účtovne dôležitý; pred zásahom preto určte, odkiaľ sa má správna hodnota doplniť.
Bezpečný postup nastavenia
- Zálohujte databázový súbor a zabezpečte, aby ostatní používatelia práve nezapisovali údaje.
- Skontrolujte primárny kľúč nadradenej tabuľky a cudzie kľúče v podradenej tabuľke.
- Otvorte okno vzťahov, pridajte obe tabuľky a prepojte zodpovedajúce polia.
- Zapnite referenčnú integritu a potvrďte, že Access zobrazí stranu „jeden“ aj stranu „viac“.
- V skúšobnej kópii overte pridanie platného aj neplatného záznamu, zmenu kľúča a pokus o odstránenie rodiča.
Kedy použiť kaskádové možnosti
Kaskádová aktualizácia môže automaticky preniesť zmenu kľúča do súvisiacich záznamov. Pri stabilných automatických identifikátoroch sa však primárny kľúč bežne nemení. Kaskádové odstránenie je ešte citlivejšie: vymazanie jedného nadradeného záznamu môže odstrániť všetky naviazané riadky. Pri faktúrach, audite alebo servisnej histórii je často bezpečnejšie odstránenie zakázať a používať stav „neaktívny“.
Kontrola po nasadení
- Formuláre ponúkajú iba platné nadradené záznamy.
- Import odmietne alebo zachytí neznáme identifikátory.
- Odstránenie dôležitého záznamu má jasné pravidlo a zálohu.
- Vzťahy sú zdokumentované rovnakými názvami ako polia v databáze.
Integrita pri importe a formulároch
Referenčné pravidlá chránia tabuľky aj vtedy, keď údaje prichádzajú z importu, nie iba z formulára. Import preto najprv spustite do dočasnej tabuľky, porovnajte cudzie kľúče so zoznamom platných nadradených záznamov a až potom pridajte riadky do produkčných tabuliek. Vo formulároch používajte výberové polia, ktoré zobrazia zrozumiteľný názov, ale uložia stabilný identifikátor. Používateľ tak nemusí prepisovať kód ručne a databáza dostane hodnotu, ktorú dokáže overiť. Chybové hlásenie pri porušení integrity preložte do zrozumiteľnej inštrukcie: uveďte, ktorý súvisiaci záznam chýba a kde ho možno bezpečne vytvoriť.
Súvisiace návody a produkt
Rozdelená databáza v Access 2024Spoľahlivejšia tímová práca s oddelenými údajmi
Overenie vstupných údajov v ExceliČistejší zdroj pred importom do databázy
Čistá inštalácia Office 2024Prevencia konfliktu so staršou verziou balíka