Obsah:
Definícia - Čo znamená referenčná integrita (RI)?
Referenčná integrita (RI) je koncept relačnej databázy, ktorý uvádza, že vzťahy tabuľky musia byť vždy konzistentné. Inými slovami, akékoľvek pole cudzieho kľúča musí súhlasiť s primárnym kľúčom, na ktorý cudzí kľúč odkazuje. Preto musia byť všetky zmeny v poli primárneho kľúča aplikované na všetky cudzie kľúče alebo vôbec. Rovnaké obmedzenie platí aj pre cudzie kľúče v tom, že všetky aktualizácie (ale nie nevyhnutne odstránenia) sa musia šíriť do primárneho rodičovského kľúča.
Techopedia vysvetľuje referenčnú integritu (RI)
Zoberme si bankovú databázu, ktorá obsahuje dve tabuľky:
- Tabuľka CUSTOMER_MASTER: Obsahuje základné údaje o zákazníkovi / majiteľovi účtu, ako je meno, číslo sociálneho zabezpečenia, adresa a dátum narodenia.
- Tabuľka ACCOUNTS_MASTER: Tu sa ukladajú základné údaje o bankovom účte, ako je typ účtu, dátum vytvorenia účtu, držiteľ účtu a limity výberu.
Na jedinečnú identifikáciu každého zákazníka / držiteľa účtu v tabuľke CUSTOMER_MASTER sa vytvorí stĺpec primárneho kľúča s názvom CUSTOMER_ID.
Na identifikáciu vzťahu zákazníka a bankového účtu v tabuľke ACCOUNTS_MASTER sa musí odkázať na existujúceho zákazníka v tabuľke CUSTOMER_MASTER. Stĺpec CUSTOMER_ID - tiež vytvorený v tabuľke ACCOUNTS_MASTER - je cudzím kľúčom. Tento stĺpec je špeciálny, pretože jeho hodnoty nie sú novo vytvorené. Tieto hodnoty musia skôr odkazovať na existujúce a identické hodnoty v stĺpci primárneho kľúča inej tabuľky, ktorá je stĺpcom CUSTOMER_ID tabuľky CUSTOMER_MASTER.
Referenčná integrita je štandard, ktorý znamená, že akákoľvek hodnota CUSTOMER_ID v tabuľke CUSTOMER_MASTER sa nemôže editovať bez úpravy zodpovedajúcej hodnoty v tabuľke ACCOUNTS_MASTER. Napríklad, ak sa zmení ID zákazníka Andrew Smith v tabuľke CUSTOMER_MASTER, táto zmena sa musí uplatniť aj na tabuľku ACCOUNTS_MASTER, čo umožní prepojeniu informácií o účte Andrew Smith s jeho ID zákazníka.