[ chupo1 @ 05.06.2014. 12:35 ] @
Pozdrav, radim aplikaciju za veleprodaju i malo sam zapeo na jednom dijelu. Ukratko ću opisati koncept, da bi lakše shvatili o čemu se radi. Imam tri dijela:PNI(prodaja/nabava/interno), KID(knjiga izlaznih dokumenata), GK(glavna knjiga). Kada neko napravi dokument u PNI i izda fiskalni račun moguće je njegovo knjiženje u GK i prenos u KID. Svaki dokument u PNI i KID ima jedno polje gdje se unosi oznaka dokumenta(npr. "1/6-14"). Potrebno mi je da to bude jedinstveno, tj. prilikom unosa u PNI, ako već postoji u KID red sa tom oznakom, ne smije se dozvoliti unos i obrnuto.

Zakačio sam model koji bih koristio, ali nisam siguran da li je baš ok, možda se to može i bolje uraditi?

Objašnjenje modela: krovna tabela je tblIzlaz gdje idu svi izlazni dokumenti, bilo da su pravljeni u PNI ili KID(to obezbjeđuje da polje iDokument bude jedinstveno za sve izlazne dokumente). Ako je dokument napravljen u PNI dijelu prilikom knjiženja popunimo tblIzlazKID tabelu(to je ostatak podataka za KID). Molio bih za neki savjet ili sugestiju od strane iskusnijih kolega? Tu sam, ako treba još nešto objasniti.

[ captPicard @ 10.06.2014. 14:14 ] @
Čemu ti služi iID i tblIzlaz? Ovako na prvi pogled mi to izgleda ok, osim tog dijela sa iID-ovima (ima ih i u drugim tablicama).
[ chupo1 @ 11.06.2014. 11:00 ] @
Pokušao sam napraviti supertype/subtype pattern. To rješenje nije baš ispravno, u tabeli tblIzlazKID treba izbaciti ikidIzlazID, a u tabeli tblIzlazPNI treba izbaciti ipniIzlazID. Nakon toga PK iz tabele tblIzlaz(iID) je ujedno i FK i PK u tabelama tblIzlazKID(ikidID) i tblIzlazPNI(ipniID), takozvani distributed keys princip.