Junior
Kako strani ključ utiče na integritet podataka u bazi?
sobes.tech АИ
Одговор од АИ
Strani ključ (foreign key) osigurava referencijalni integritet podataka, garantujući da vrednosti u koloni jedne tabele (tabela deteta) odgovaraju vrednostima u koloni druge tabele (tabela roditelja).
Uticaj na integritet podataka:
- Zabranjuje dodavanje zapisa u tabelu deteta sa nepostojećom vrednošću u odgovarajućoj koloni tabele roditelja. Pokušaj umetanja reda koji se odnosi na nepostojeći zapis roditelja izazvaće grešku.
- Ograničava brisanje zapisa iz tabele roditelja na koje se odnose zapisi u tabeli deteta. Ponašanje pri brisanju zavisi od podešene akcije (
ON DELETE):RESTRICT(podrazumevano): Zabranjuje brisanje.CASCADE: Briše zavisne zapise u tabeli deteta.SET NULL: Postavlja vrednost NULL u odgovarajuću kolonu tabele deteta (ako kolona to dozvoljava).NO ACTION: SličnoRESTRICTpri standardnoj provere, ali može da se razlikuje tokom izvršenja.
- Ograničava ažuriranje zapisa u tabeli roditelja. Ponašanje pri ažuriranju takođe zavisi od podešene akcije (
ON UPDATE):RESTRICT(podrazumevano): Zabranjuje ažuriranje.CASCADE: Ažurira odgovarajuću vrednost u zavisnim zapisima u tabeli deteta.SET NULL: Postavlja vrednost NULL u odgovarajuću kolonu tabele deteta (ako kolona to dozvoljava).NO ACTION: SličnoRESTRICTpri standardnoj provere, ali može da se razlikuje tokom izvršenja.
Strani ključ pomaže da se spreči pojavljivanje "sirotastih" zapisa i garantuje da ostanu ispravne veze između tabela.