Junior
Kuidas mõjutab välisvõti andmebaasi andmete terviklikkust?
sobes.tech AI
Vastus AI-lt
Võõrvõti (foreign key) tagab andmete viitamise terviklikkuse, tagades, et ühe tabeli (alam-tabeli) veeru väärtused vastavad teise tabeli (ema-tabeli) veeru väärtustele.
Andmete terviklikkusele mõju:
- Keelab kirje lisamise alam-tabelisse, mille vastav veerg ema-tabelis on mittesobiv. Katse sisestada rida, mis viitab mittesobivale ema-kirjele, põhjustab vea.
- Piirab kirje kustutamist ema-tabelist, millele viitavad kirjed alam-tabelis. Kustutamise käitumine sõltub seatud tegevusest (
ON DELETE):RESTRICT(vaikimisi): Keelab kustutamise.CASCADE: Kustutab sõltuvad kirjed alam-tabelis.SET NULL: Seab vastavasse veergu NULL väärtuse (kui veerg seda lubab).NO ACTION: SarnaseltRESTRICT-ile standardkontrolli ajal, kuid võib erineda täitmise ajal.
- Piirab kirje uuendamist ema-tabelis. Uuendamise käitumine sõltub seatud tegevusest (
ON UPDATE):RESTRICT(vaikimisi): Keelab uuendamise.CASCADE: Uuendab vastavat väärtust sõltuvates kirjetes alam-tabelis.SET NULL: Seab vastavasse veergu NULL väärtuse (kui veerg seda lubab).NO ACTION: SarnaseltRESTRICT-ile standardkontrolli ajal, kuid võib erineda täitmise ajal.
Võõrvõti aitab vältida "ripakaid" kirjeid ja tagab, et tabelite vahelised seosed jäävad korrektsed.