[ Leruman @ 26.01.2013. 05:10 ] @
Pozdrav kolegama na forumu.

Radim u slobodno vreme na PHP/MySQL/JS Broser based Rpg igri. Odradio sam neku veoma ranu alfa verziju igre ali sam krenuo u unapredjenju poprilicnog broja stvari. Osnovna stvar na kojoj sada radim je struktura MySQL baze. Cilj mi je da postignem sto vecu felksiblnost u izradi baze ali i da zadrzim neku pristojnu brzinu izvrsenja baze, ako ikad igra zazivi i dobije neki veci broj korisnika.
Na slici u prilogu sam prikaza deo baze za koji imam pitanje.
[att_img]
Dilema je oko povezivanje tabel equipment_link sa ostalim tabelama gde se ti podaci koriste.
Prva varijanta: Tabela equipment je preko tabele equipment_link i vise relacija n-m povezana sa ostalim tabelama.
Durga varijanta bi bila: Tabela equipment_link povezana sa svakom od od tabela preko posebne tabele, kao sto je po definicije relacije n-m iz literature.

Pitanje se odnosi sta bi bilo brze u radu od ove dve varijante? Mislim da bi prva varijanta bila dosta brza, iako krsi neke od pravila definicija baza. Ne znam da li je ovakva praksa dobra. Engide je MyISAM.

edit: Izvinjavam se zbog prevelike slike, imam nekih problema sa uploadom.

[Ovu poruku je menjao Leruman dana 26.01.2013. u 06:24 GMT+1]

[Mod edit: Sređena slika]

[Ovu poruku je menjao Miroslav Jeftić dana 26.01.2013. u 17:40 GMT+1]
[ bjevta @ 28.01.2013. 08:37 ] @
tako kako si predstavio model, normalizovan je do 3-ce normalne forme. e, sad, pitas da li da ga dodatno normalizujes, u 4-tu normalnu formu. odgovor je: ne, ovako je sasvim ok.

trebaji ti odgovarajuci indexi a predlazem koriscenje view-ova za pojedinacne veze. ako treba detalji, reci.
[ bogdan.kecman @ 29.01.2013. 15:13 ] @
ne mozes da gledas samo parcice, kao sto sam kazes prva varijanta moze da bude brza ali zavisi od ostatka baze ... nikad se ne radi denormalizacija pre nego posle, dakle prvo normalizujes, testiras i onda u toku testiranja mozes nesto da denormalizujes .. nikako da denormalizujes u startu (osim ako tacno ne znas sta i zasto radis, ali ako znas onda nemas razlog da pitas :D )