«« ( Date ) »» // «« ( Thread ) »» // ri5sab - 2005

Re: Ref. integritet - erwin

by Dexy
utorak, 22. novembar 2005 - 19:20.

RESTRICT vs. NO ACTION:

ko sto si reko - restict zabranjuje brisanje / izmenu a no action dozvoljava
to brisanje / izmenu a strana tabela ce da ga iskulira ko da se nije ni
desilo tj. ostace strani kljuc koji je ne oznacava u ni jedan red u
primarnoj tabeli (ili ako strani kljuc nije unique u primarnoj tabeli onda
moze i da oznacava neke redove, ali ce sigurno izgubiti vezu sa tim jednim
koji se pobrisao / izmenio). To je po SQLu.

Sad lako mozes da se zajebes pa stavis ogranicenje na stranu tabelu i onda
racimo ako je CASCADE da ubacujes novi primarni kljuc sa promenom stranog
kljuca sto je havarija, tako da pazi gde stavljas te integritete (child ili
parent) (child ==strana, parent==primarna). Uglavnom ti trebaju RI na parent
a child svi da budu NO ACTION.

NONE je valjda isto sto i NO ACTION (kod mene ERwin 4.0 nema NO ACTION
uopste, koristim NONE i radi kako treba (vidi se kad generises SQL kod))


Pri definiciji referencijalnog integriteta u ErWin-u, koja je
razlika izmedju opcija: NONE, NO ACTION i RESTRICT ?

Znam da je restrict zabranjeno brisanje/izmena ako primarni kljuc
postoji u stranoj tabeli, ali sta su onda ostala dva?