@Biske: Ideja koju si izneo nije ni nova ni nepoznata. To se zove 'one true lookup table', u prevodu, 'tabela za sve i svasta'. Ideja je vrlo privlacna, ali nazalost veoma pogresna, ako se zeli odraditi u relacionom okruzenju. Ne brini, nisi nista lose uradio, to nekako prirodno prvo pada na pamet. Malo je onih i sa debelim iskustvom koji nisu pokusavali da tako rese probleme koje zeli da resi postavljac teme. I ja sam se opakao na tome, ne samo jednom.. Znaci, nii nista lose rekao, svi smo to radili, laze ko kaze da nije.
Upravo sam uradio Goodle 'one true lookup table' i dobio 5,150,000 results (0.10 seconds) . Bilo koji clanak kaze manje vise isto, zasto je ideja losa.
Gde je resenje? Na zalost, nema ga u relacionim bazama. Djoka je objasnio kako se to radi, i tu prepoznajes XML strukturu. Savrseno za hijerarhije, ide lepo uz objektno programiranje. Gde je problem? Nema problema, ako se XML deo nece menjati. Ako se dopuste promene po volji, moze se desiti da isti entitet bude opisan jednim skupom atributa ili stavki, pa se to kasnije promeni, jer se nesto peomenilo u realnosti. Hoce li se ovim promeniti opisi za robu koja je prodata pre tri meseca?
XML nema sve ono sto ima tabela u relacionoj bazi - constraints, CHECK, PK, FK i slicno. Opet, relaciona tabela u ovom slucaju ne moze da odradi posao koji se trazi. Resenje je verovatno negde na sredini. Pazi, govorili smo ovde o opisu entiteta u zavisnosti od tipizacije ili kategorizacije, gde XML dolazi u pomoc. Ostatak sistema za 'elektronsku prodaju' sasvim lepo se uklapa u relacioni model - narudzbenice, stavke na narudzbenicama (koje predstavlajju entitete koje smo opisali u XML), naplata i ostalo.
Ukratko, jedna neuzorana livada, na kojoj iam sta da se radi. Ne-elektronsko poslovanje je u sustini poslovni model koji postoji vec 500 godina, od pojave papirnog novca i knjigovodstva, pa naovamo. Kupac je video robu, opipao, pa ako mu se dopala, platio i odneo kuci (ili mu je isporcena, pa je tek onda platio). Taj se model nije manjao poslednjih 500 godina. Zato su razvijene procedure, standardi, postupci koji se na razlikuju mnogo od zemlje do zemlje. Zato mi svi kobajagi znamo mnogo o tome. No, situacija se promenila i sada treba pronaci resenje za novu situaciju, jer generalno resenje za novu situaciju jos uvek ne postoji. XML je prvi korak, sa svim prednostima i manama, trenutno boljeg nacina nema.