MySQL Struktura
Pozdrav svima, skoro sam obratio pažnju na balkanske modove i primetio da za razliku od Engleskih/Španskih/Ruskih – kod nas se MySQL često ne koristi onako kako bi trebalo.
Šta mi se ne sviđa / gde grešite?
Mnogi misle da je poenta MySQL-a samo da “radi” kada prebace svoj mod iz Y_INI-a u SQL (posebno stariji modovi).
E tu grešite. Poenta MySQL-a je da bude **organizovan**, čitljiv, optimizovan i povezan preko **FOREIGN KEY** veza
(ON DELETE CASCADE, ON UPDATE CASCADE).
---
Kako Vi to radite (loš primer):
Uobičajeno vidim baze koje izgledaju ovako:
nešto_rp baza i u jednoj tabeli bukvalno sve:
ID, username, password, email, pol, država, godine, telefon, kartica, admin level, admin pin, gamemaster, i još 70 drugih polja.
Takva tabela je:
– pretrpana
– neorganizovana
– teža za održavanje
– sporija pri upitima
– potpuno nelogična za modernu SQL strukturu
---
Kako bi trebalo da izgleda (ispravan primer):
Nazovete bazu recimo: nesto_db
A unutra kreirate logične, povezane tabele:
player_account
(ID, username, password, mail)
player_character
(pol, država, godine, skin, religija i sve što je DIREKTNO povezano sa likom)
player_inventory
(pizza, sokovi, hrana, itemi…)
Sve ovo treba da bude povezano preko:
FOREIGN KEY (...) REFERENCES player_account(id)
ON DELETE CASCADE
ON UPDATE CASCADE
I umesto 5–7 query-a, koristi se **JOIN**, što znači:
SELECT * FROM player_account
JOIN player_character ON ...
JOIN player_inventory ON ...
WHERE id = ?
→ **1 query**, čisto, brzo, efikasno.
---
Zašto ovako?– Lako za održavanje
– Učitava se samo ono što treba
– SQL već ima svoje logičke uslove
– Ako igrač **nema ranac**, ne treba uopšte učitavati inventory
– Sve je brže, urednije i profesionalnije
– Ovako rade ENG, RU, ES community modovi već godinama
---
Korisni linkovi:You are not allowed to view links.
Register or
Login ili You are not allowed to view links.
Register or
LoginYou are not allowed to view links.
Register or
LoginYou are not allowed to view links.
Register or
Login---
Napomena (matematika + SQL): Sve ovo je suštinski ono što ste učili iz matematike –
**kreiranje unija skupova** (ko nije prespavao časove 😉).
---
P.S. Naučite da koristite “Designer” opciju u PhpMyAdmin-u (poslednja opcija).
Tu najlakše pravite FOREIGN KEY-eve i vizuelno sređujete vezu tabela – što je ovde OBAVEZNO.Dok ne prestanete da gledate samo “front” i ne otvorite svoj “back-end”,
od vas skriptera neće biti ništa ozbiljno.