Samo da odgovorim lukeguy i sličnim pametnjakovićima.
Firma za koju radim bazu je tražila izveštaj sa spiskom računa koje je izdala, gde im je bila bitna krajnja cifra. E sad, ta krajnja cifra se računa pomalo komplikovano. U tabelu se upiše osnovna cena, zatim se u odnosu od količine svakog proizvoda u računu odredi popust za taj pojedinačni proizvod na osnovu tabele Popusti, zatim se za svaki proizvod u odnosu na grupu proizvoda odredi PDV, zatim još jedna taksa u zavisnosti da li je klijent domaća ili strana firma i onda izbaci finalna suma kao zbir svih tih parametara.
Ja imam oko 1000 računa na tom izveštaju, dok sve to izračuna prođe jedno 15-20 sekundi. Onda sam odlučio da u tabeli Računi dodam jedno polje koje updateujem kad izmenim račune prema Queryju koji te cene računa. Izveštaj se trenutno otvori. Sad ti kad pogledaš, da li zbog performansi sistema vredi žrtvovati neke principe tu i tamo, moj odgovor je DA! Performanse su meni sveti princip jer je to jedino što klijent vidi. Ja pravim sistem po meri klijenata, ne da bi mi neki drugi programer rekao, e tako treba.
Takođe mi je bitan i integritet podataka, znači uvek imam dva polja, početna i preostala količina i tabelu izdavanje robe. Poredeći ta tri parametra ja mogu da utvrdim prilikom održavanja baze da li se u nekoj operaciji pojavila greška, za čim sam već imao potrebe u pojedinim slučajevima. Ako korisnik hoće da u istoj formi vidi početnu količinu i preostalu, a pritom da može da menja podatke u formi, ja mu kolonu preostala kolicina ne mogu prikazati kao pocetna količina - sum(izdata količina) jer taj query ne bi bio editable.
nikolayu, okačiću rešenje problema sa kodom koji sam malopre postavio, mislim da bi mogao bar malo da se potrudiš oko koda koji ima samo dva tri reda, kako kasnije misliš da pišeš mnogo duži kod?
Ozbiljan i odgovoran mladić