Junior
Kā ārējais atslēga ietekmē datu integritāti datu bāzē?
sobes.tech AI
Atbilde no AI
Ārējā atslēga (foreign key) nodrošina datu atsauces integritāti, garantējot, ka vienas tabulas (bērnu tabulas) kolonnas vērtības atbilst citas tabulas (vecāku tabulas) kolonnas vērtībām.
Ietekme uz datu integritāti:
- Aizliedz ierakstu pievienošanu bērnu tabulā ar neeksistējošu vērtību atbilstošajā vecāku tabulas kolonnā. Mēģinājums ievietot rindu, kas atsaucas uz neeksistējošu vecāku ierakstu, izraisīs kļūdu.
- Ierobežo ierakstu dzēšanu no vecāku tabulas, uz kurām atsaucas ieraksti bērnu tabulā. Dzēšanas uzvedība ir atkarīga no iestatītās darbības (
ON DELETE):RESTRICT(noklusējums): Aizliedz dzēšanu.CASCADE: Dzēš atkarīgos ierakstus bērnu tabulā.SET NULL: Uzstāda NULL vērtību atbilstošajā bērnu tabulas kolonnā (ja kolonna to atļauj).NO ACTION: Līdzīgi kāRESTRICTar standarta pārbaudi, bet var atšķirties izpildes laikā.
- Ierobežo ierakstu atjaunināšanu vecāku tabulā. Uzvedība atjaunināšanas gadījumā ir atkarīga no iestatītās darbības (
ON UPDATE):RESTRICT(noklusējums): Aizliedz atjaunināšanu.CASCADE: Atjaunina atbilstošo vērtību atkarīgajos ierakstos bērnu tabulā.SET NULL: Uzstāda NULL vērtību atbilstošajā bērnu tabulas kolonnā (ja kolonna to atļauj).NO ACTION: Līdzīgi kāRESTRICTar standarta pārbaudi, bet var atšķirties izpildes laikā.
Ārējā atslēga palīdz novērst "karājošu" ierakstu parādīšanos un garantē, ka saites starp tabulām ir korektas.