Desi se ponekad da čovek ode kod majstora da poravi auto, a majstor kaže: "Gospodine, moj vam je savet da kupite drugi auto i to po mogućnosti nov."
Evo modela. Od starog nije ostalo skoro ništa. Nadam se da nazivi tabela govore dovoljno.
TblPrijemnica, tblPrijemnicaStavka, tblOtpremnica i tblOtpremnicaStavka su dve vrste dokumenata. Ulazni i Izlazni. Kad za dokumente praviš forme, činiš to sa MasterForm i Subform. Ostalo su sve šifarnici. Oba magacina: tblMagacinRepromaterjala i tblMagacinProizvoda, osim što su šifarnici mogu da posluže i za održavanje stanja količine ako se odlučiš da dokumentima ažuriraš njihove atrubute "kolicina". Za to će ti trebati malo više znanja. U slučaju da odustaneš od te teže varijante, ti obriši količine i jedinice mere iz oba magacina, a do stanja količina dolazićeš upotrebom query-ja nad tabelama dokumenata. Magacini su povezani tabelom tblSastavnica iz prostog razloga što jedan repromaterjal može da bude u više različitih proizvoda, a jedan proizvod može da ima više različitih repromaterjala. TblPartneri nema istu funkciji spajanja kao tblSastavnica što se iz načina vezivanja vidi ako obratiš pažnju na smer veze. Ta tabela je klasični šifarnik koji opslužuje zaglavlja obe vrste dokumenata.
U vezi pitanja:
„Medjutim, sada mi je pala na pamet sledeca situacija: nestane jedne sirovine i ljudi rese da ubace drugu. Sta onda? Da li da prepisem stare vrednosti u posebnu tabelu i dozvolim izmenu sastava proizvoda, ili da im kazem da pisu rucno, pa kod novog unosa steluju. “
Odgovor:
Moje je mišljenje, da ako proizvod promei strukturu, da nije više taj isti proizvod. Trebalo bi uvesti novu šifru u magacinu proizvoda. Na eventualnu opasku: da je to i dalje koncentrat za svinje recimo Ks-500 (izmišljen naziv) samo sa manje aditiva i kako ću da imam više takvih koncentrata; mogu da posavetujem otvaranje tabele tblGrupaProizvoda i spuštanje njegovog primarnog ključa u tblMagacinProizvoda.
Eto. Semestar Projektovanje baze podataka (na Zidarevoj školi Accessa) si za sad preskočio ali učenje Access-a ti ne gine. :-)