View Single Post
Staro 13.03.2012., 09:25   #9
doublev
the letter
Moj komp
 
doublev's Avatar
 
Datum registracije: Sep 2005
Lokacija: 127.0.0.1
Postovi: 794
Rješavati loš design sa SELECT DISTINCT je nešto najgluplje što možeš napraviti.

SELECT DISTINCT ima svojih koristi. Ovo nije jedna od njih.

Ako je tablica Posao šifarnik tj. katalog poslova, onda je riješenje sa još jednom tablicom.
Nju nazoveš StavkeNaloga. Tako se to radi. Točka.
Jedno pitanje: Kako ćeš u ovom slučaju handleati promjenu cijene? Ispravno bi bilo dodati novu stavku u tablicu Posao jer bi inače promjenom stavke izmijenio sve povezane naloge. Drugo riješenje je da u tablicu StavkeNaloga dodaš cijenu a tu kolonu izbaciš iz tablice Posao.

Ako Posao nije šifarnik već se u nju dodaje linija svaki puta kada se neki posao obavi tj. kada se radi novi nalog, onda treba obrnuti uloge. Nalog je master tablica, Posao detail i u nju dodaš kolonu SifraNaloga a iz Naloga izbacis SifraPosla.
__________________
Exception up = new Exception("Illegal operation.");
throw up;
doublev je offline   Reply With Quote