O ovome se pisalo mnogo puta, ja cu samo ponoviti neka misljenja sa kojima se slazem.
"Greska" (koju sam i ja napravio kada sam prvi put pravio nesto slicno) je pravljenje polja STANjE, u kojem se cuva kolicina proizvoda u magacinu.
Ovo sto si ti zamislio da napravis je OK, ali zamisli da ti u trenutku dodavanja narudzbenice na stanje nestane struje ili "pukne" baza. Ti mislis da je sve OK, ali se sporna narudzbenica nije dodala na predhodno stanje i tebi se javlja "visak" pri popisu. Dakle, gubi se osnovna namjena programa - davanje tacnih informacija. I nikada neces biti siguran koliko je pouzdan podatak o kolicini odredjenog proizvoda.
Mnogo elegantnije i sigurnije rjesenje je pravljenje query-ja koji bi racunao stanje proizvoda na osnovu narudzbenica (naloga da primi) i otpremnica (naloga da izda).
Opet, problem koji bi se vremenom javio je vrijeme koje bi bilo potrebno za racunanje stanja kada se nakupi veliki broj naloga za primanje i izdavanje. Ovo se, opet, moze rijesiti tako sto bi se u odredjenom vremenskom periodu pravio "prenos po kartici", odnosno da se stanje na odredjeni dan uzme kao ulaz, a da se dotadasnji nalozi za primanje i izdavanje prebace u posebne tabele za arhiviranje. Nadam se da sam razumljiv... :)
"Takozvani praktični ljudi bili bi korisni i zasluživali bi svaku pohvalu i poštovanje kad od te svoje praktičnosti ne bi hteli da naprave smisao života i razlog svoga opstanka, opravdanje za podjarmljivanje i terorisanje svih onih koji su lišeni toga praktičnog smisla, ali zato stvoreni za druge, možda više i bolje podvige."
Ivo Andric