[ erkan @ 26.04.2009. 11:35 ] @
Pozdrav svima,

radim na nekakvom proejktu u gdje bih trebao, izmjedju ostalog,
tabelama u bazi predstaviti i hijerarhiju neke kompanije, koja moze brojati hiljade ljudi.
Poenta je da svakom uposleniku u hijerarhiji odredim range pozicija u hijerarhiji kojima je
uposlenik nadredjeni jer bi mi to znatno olaksalo pretrazivanje.

Znaci, svakom uposleniku se dodjeli pozicija (pocev od vrha to je pozicija 1) i to je ujedno
lijeva granica (u tom range-u pozicija). Iduci nanize u hijerarhiji pozicija se povecava za jedan.
Na taj nacin se definise pozcija i lijeva granica. Kada se zavrsi sa lijevom stranom idemo nazad.
Vracajuci se prema nazad definise se desna granica tako da nakon cijelog procesa dodjele poizcija
za svakog uposlenika je definisana lijeva i desna granica pozicija koje predstavljaju range pozcija
kojima je uposelnik nadjredjeni.

U slici dole, prvi (pozicija 1, direktor) je nadredjeni svim poizcijama izmedju 1 i 24, dakle, svima.
Onaj sa pozicijom 2 je nadredjeni svima sa pozicijama u range-u izmedju 2 i 7 (sto, prema slici
predstavljaju pozicije 3 i 5) itd. (Slika je moj rucni rad pa ne zamjerite :) mozda je malo golema)



Problem mi se javlja kada treba nekoga dodati u hijerarhiji, nekog novog uposlenika,
npr .
dodati novog guposlenika ispod uposlenika 2 a u nivou uposlenika 3 i 5?
Tada bih morao mjenjati svima pozicije i sve nanovo racunati i updateovati u bazi...
Ima li neko mozda prijedlog rjesenja kako bi se ovo moglo organizovati?
Ili, da mozda uvedem nekako float umjesto integera, u tom slucaju ne bih morao da mjenjam trenutne pozicije
ali mi se ideja rada sa float ne svidja.
[ Getsbi @ 26.04.2009. 11:59 ] @
Mislim da ti treba jedna tabela sa minimum kolonom radnik i kolonom nadređeni. A može i left i right pozicije. Ažuriranje ne treba da te brine. Abeceda ima dovoljno slova da obezbedi tvoj zahtev od 24 nivoa. Ako se apetiti povećaju tu je kombinacija od AA.......ZZ........ Kao u Excelovim radnim listovima.

Pogledaj kako je to Joe Celko rešio.
[ erkan @ 26.04.2009. 14:09 ] @
to bi moglo biti rjesenje,
imas li link do detaljnog pojasnjenja vezano za screenshot koji si poslao?
[ Getsbi @ 26.04.2009. 16:05 ] @
Samo do knjige.
http://www.amazon.com/Hierarch...nagement-Systems/dp/1558609202
http://www.science-direct.com/science/book/9781558609204
[ erkan @ 27.04.2009. 11:00 ] @
super, hvala ti, nasao sam tekstove:

http://www.dbmsmag.com/9604d06.html
http://www.dbmsmag.com/9603d06.html
http://www.ibase.ru/devinfo/DBMSTrees/9605d06.html

a i knjigu ;)