Junior
Ako cudzí kľúč ovplyvňuje integritu údajov v databáze?
sobes.tech AI
Odpoveď od AI
Cudzí kľúč (foreign key) zabezpečuje referenčnú integritu údajov tým, že garantuje, že hodnoty v stĺpci jednej tabuľky (deti tabuľky) zodpovedajú hodnotám v stĺpci inej tabuľky (rodičovskej tabuľky).
Vplyv na integritu údajov:
- Zakazuje pridanie záznamov do deti tabuľky s neexistujúcou hodnotou v príslušnom stĺpci rodičovskej tabuľky. Pokus o vloženie riadku, ktorý odkazuje na neexistujúci záznam rodiča, spôsobí chybu.
- Obmedzuje mazanie záznamov z rodičovskej tabuľky, na ktoré odkazujú záznamy v deti tabuľke. Správanie pri pokuse o mazanie závisí od nastaveného (
ON DELETE):RESTRICT(predvolené): Zakazuje mazanie.CASCADE: Vymaže závislé záznamy v deti tabuľke.SET NULL: Nastaví hodnotu NULL v príslušnom stĺpci deti tabuľky (ak stĺpec umožňuje NULL).NO ACTION: Podobne akoRESTRICTpri štandardnej kontrole, ale môže sa líšiť počas vykonávania.
- Obmedzuje aktualizáciu záznamov v rodičovskej tabuľke. Správanie pri aktualizácii závisí aj od nastaveného (
ON UPDATE):RESTRICT(predvolené): Zakazuje aktualizáciu.CASCADE: Aktualizuje zodpovedajúcu hodnotu v závislých záznamoch v deti tabuľke.SET NULL: Nastaví hodnotu NULL v príslušnom stĺpci deti tabuľky (ak stĺpec umožňuje NULL).NO ACTION: Podobne akoRESTRICTpri štandardnej kontrole, ale môže sa líšiť počas vykonávania.
Cudzí kľúč pomáha predchádzať vzniku "sirotčích" záznamov a zabezpečuje, že vzťahy medzi tabuľkami zostávajú správne.