SEMINARSKI RAD IZ OBLASTI INTERNETA
- WEB
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
MySQLMySQL
je sistem za upravljanje SQL bazama
podataka. Baza podataka je strukturno povezan skup podataka. BP može
biti bilo šta od obične liste za kupovinu preko popisa slika umetničke
galerije pa sve do goleme količine podataka u korporacijskim mrežama.
Za dodavanje, pristupanje i obrađivanje podataka u BP potreban je sistem
za upravljanje bazama podataka kao što je MySQL. Budući da se kompjuteri
odlično snalaze pri obradi velikih količina podataka, sistemi za upravljanje
bazama podataka igraju centralnu ulogu u računarstvu, kao samostalni alati
ili kao deo drugih aplikacija. MySQL se dobro snalazi i sa relacijskim
bazama podataka. Relacijska baza podataka je baza podataka koja podatke
pohranjuje u odvojene tabele umesto u jednu tabelu. Ovo omogućuje brži
i fleksibilniji rad sa bazama podataka. Tabele su povezane definisanim
relacijama što omogućuje kombinovanje podataka iz nekoliko tabela u slučaju
da postoji zahtev za to. Reč SQL u MySQL znači "Structured Query
Language" (strukturni jezik za pretraživanje) – najčešći standardizovan
jezik za pristupanje bazama podataka. Zašto koristiti MySQL ?Vrlo je brz, pouzdan i lagan za korišćenje. Takođe ima vrlo praktične dodatne opcije razvijene u bliskoj saradnji sa korisnicima. MySQL je originalno razvijan za manipulaciju vrlo velikih baza podataka, mnogo je brži od postojećih rešenja i uspešno se koristi u visoko zahtevnim okruženjima. Pristupačnost, brzina i sigurnost čine MySQL vrlo pogodnim za pristupanje bazama podataka preko Interneta. Ako Vam treba brza, pouzdana i fleksibilna baza podataka, rad sa MySQL-om biće ostvarenje snova bez obzira na primenu. Kako je došlo do pojave MySQL-a ? Ljudi koji su osnovali današnji MySQL-AB su prvobitno želeli da za povezivanje
tabela u njihovim BP koriste mSQL uz pomoć njihovih bržih (ISAM) rutina.
Ali posle iscrpnih testiranja dolaze do zaključka da mSQL jednostavno
nije dovoljno brz niti dovoljno fleksibilan za njihove potrebe. Ovo je
rezultovalo pojavom novog SQL interfejsa za BP sa skoro identičnim API-em
(Application programming interface) kao kod mSQL-a. Kako u osnovi funkcioniše MySQL ?MySQL softver se sastoji od MySQL server-a, nekoliko dodatnih utility programa koji služe za olakšavanje administracije BP, takođe dolaze i dodatni programi koji su potrebni za rad servera. Srce sistema naravno čini MySQL server, on je ustvari “menadžer” sistema BP. Kroz njega prolaze sve instrukcije korisnika koje vrše upravljanje nad bazom podataka. Na primer ako korisnik želi da napravi novu BP poslaće MySQL serveru sledeću poruku “create a new database and call it newdata”. MySQL server će tada u svom folderu napraviti podfolder koji će nositi naziv “newdata”. Ako tu novu bazu želite još da proširite, vođeni prethodnim primerom, poslaćete novu poruku odnosno komandu MySQL serveru sa tačnim odredištima gde želite da se podaci dodaju. Ali pre nego što možemo da komuniciramo sa serverom moramo da pokrenemo isti i da proverimo da li je podešen da očekuje zahteve. U većini slučajeva MySQL server se pokreće zajedno sa računarom i radi neprestano. Ovakav režim rada je tipičan za Web sajtove. Naravno nije obavezno da se server pokreće sa uključivanjem računara uvek postoji mogućnost manuelnog uključivanja kada želite da pristupite vašoj bazi podataka. Kada je pokrenut MySQL server konstantno očekuje poruke koje su upućene njemu. Glavne karakteristike MySQL:Sledeća lista opisuje neke od važnijih karakteristika MySQL-a:
Zašto MySQL umesto neke druge baze podataka ?Previše baza podataka je prisutno na tržištu da bismo ih upoređivali u detalje ali ono što izdvaja MySQL bazu podataka od drugih baza podataka je to što je jeftinija i ima mnogo bolje performanse što će drugi proizvođači teško nadmašiti. Performanse:MySQL je veoma brz program. Oracle, Microsoft i IBM tvrde da prodaju najbrže baze podataka na svetu, što ne mora da znači jer današnji benchmark programi i rezultati mogu dokazati i potvrditi kvalitete koje proizvođač i sponzor garantuju iako se u praksi ne pokazuju tako. Na sajtu MySQL možete da vidite poređenja MySQL baze podataka sa drugim trenutno aktuelnim bazama i možete videti da je MySQL daleko nadmašuje ostale baze u svim pogledima. Benchmark rezultati se mogu naći na: Brzina je oduvek bila glavna odlika MySQL baze podataka. Novi dodaci se stavljaju u MySQL jedino kad se uvere da to neće naškoditi performansama baza podataka. Ovo znači da se novine i dodaci retko i sporo stavljaju u MySQL prilično sporije nego što bi korisnici želeli, ali sve je to za dobrobit korisnika i MySQL, jednostavno želja da program bude brz i bez grešaka. Cena:Cena je nešto što je najlakše porediti. Za mnoge svrhe MySQL je besplatna aplikacija. GPL omogućava korišćenje softvera, pre nego originalnog koda, i distribuciju softvera drugim korisnicima ali pod uslovom da budu privrženi GPL. Pod nekim okolnostima ako želite da redistibuirate MySQL kao deo komercijalnog proizvoda potrebna vam je komercijalna dozvola. Glavno pravilo MySQL centra za distribuciju je "if you are free, so are we; if you are commercial, so are we." Stabilnost:Ljudi koji prave MySQL oduvek su se hvalili da je stabilnost njihovih proizvoda glavna karakteristika i prioritet. Sve verzije MySQL se prave u binarnoj fazi i kao takve se puštaju u rad sa testovima i MySQL test baze. Ovi testovi funkcionalnosti omogućavaju pronalaženje grešaka a greškama koje su već pronašli ne dozvoljavaju da se ponove. Stvaraoci MySQL posebnu pažnju moraju da obrate na pronalaženje i ispravljanje grešaka jer svaki njihov daljni rad bi bio onemogućen ako prethodne greške nisu ispravljene. Lakoća korišćenja:Niakakva komplikovana podešavanja i prosedure nisu potrebne za pokretanje MySQL. MySQL radi kako se kaže pravo iz kutije. Početna podešavanja su nameštena na minimalno korišćenje hard diska i memorije. Ako želimo naprednija podešavanja moraćemo da isključimo početna podešavanja. Da bi nam još olakšali u MySQL paket su stavljeni i primeri nekih funkcija i radova. Karakteristike:Poređenje karakteristika zavisi od toga koja karakteristika nama najviše odgovara. MySQL ima neke karakteristike kao što su potpuno pretraživanje teksta, ponavljanje i podrška za masivne tabele, sve ove opcije ili nedostaju ili su izbačene iz niskobudžetnih ponuđenih programa. Međutim MySQL nedostaju sačuvane procedure i vrste pogleda koji su standardni u visokobudžetnim rešenjima a javljaju se čak i u nekim jeftinijim verzijama. Svesni ovoga stvaraoci MySQL će u narednim rešenjima ovog programa ubaciti data rešenja. Neke od karakteristika koje poseduje MySQL , na primer mogućnost zaključavanja redova, nemaju ni najskuplji programi koji se nalaze na tržištu. Prednosti i mane MySQL-aPrednosti:
Mane:
Prednosti MySQL-a:Brzina:Srce MySQL koda je pisano u potpunosti od nule, a osnovni cilj je bio postizanje što boljih performansi. Ono što je ustvari i dovelo do nastanka MySQL-a je činjenica da je Monty Widenius bio toliko frustiran sporošću drugih programa na tržištu da je odlučio da napiše MySQL. Veliki broj novih korisnika je bilo skeptično i nije verovalo da je MySQL toliko brži od konkurencije, čak su dovodili u pitanje da li je MySQL sposoban da zadovolji i njihove osnovne potrebe. Ljudi iz MySQL-a su predložili da se napravi benchmark program koji će istestirati mogućnosti MySQL-a i pokazati šta sve on ustvari može. Rezultati testova su bili toliko neverovatni da su se novi korisnici bez pogovora odlučivali za MySQL. Veliki broj programa za vođenje sistema baza podataka može da primi između 1000 i 2000 upita u sekundi na uobičajnom x86 hardveru (dual Pentium III 800MHz 1Gb ram). MySQL je sposoban da primi 13000 upita u sekundi na quad Pentium III 700MHz izvlačeći rekord uz pomoć primarnog ključa iz tabele sa milion rekorda. Tako da na pitanje „Da li je MySQL dovoljno brz za moje potrebe?“ odgovor bi „Da, i verovatno mnogo brži od onogo što vam je potrebno.“ Naravno kao i svaki drugi program MySQL moze da bude spor u određenim situacijama, do ovoga može doći na primer ako ne obraćamo pažnju na tačnost komande kada šaljemo upite. Ovo se može izbeći shvatanjem načina rada servera. Pouzdanost:MySQL je stekao reputaciju da može da radi danima, pa čak i mesecima bez interverncije korisnika - nakon osnovnog podešavanja. Naravno povremeno se javljaju problemi ili dolazi do otkrivanje grešaka unutar programa ali to je uobičajno i za bilo koji drugi server baza podataka. Prava je retkost da „padne“ MySQL server, ali kada dođe do toga vrlo lako se vraća u prethodno stanje. Ova reputacija koju je stekao MySQL privukla je pažnju nekolicine ozbiljnih korisnika koji su odlučiji da sa komercionalnih programa pređu na MySQL. Neki od njih su Yahoo! Finance, Cisco, Texas Instruments, the United States Census Bureau, NASA, Novell, Blue World Communications, Motorola i mnogi drugi. Razvojni tim je veoma fokusiran na pouzdanost i stabilnost. Bilo je slučajeva da su nove verzije MySQL-a odgađane zbog minornih grešaka u programu koje su bile otkrivene, ali nisu bile otklonjene. U slučaju otkrivanja veće greške razvoj trenutne verzije bi se obustavio i kretalo bi se od nule, a razvojni tim objavio bi javno izvinjenje svim korisnicima. Mala zahtevnost za sistemskim resursima:MySQL ce maksimalno iskoristiti resurse koje mu date. Naravno sa što više resursa raplaže performanse će biti bolje, ali minimalni resursi neće učiniti MySQL neupotrebljivim kao što se događa se nekim drugim serverima baza podataka. MySQL sasvim korektno radi i na konfiguracijama tipa Pentium 166Mhz i 32Mb RAM-a, ali bilo je iskustava i sa konfiguracijama koje su imale i slabije specifikacije od gore navedene. Minimum RAM memorije koji je dovoljan za pokretanje MySQL-a je između 2 i 3MB-a pa je teoretski moguće pokrenuti MySQL i na sistemima sa 4MB RAM-a. Fleksibilno poboljšavanje performansi:Provereno je u praksi da MySQL veoma dobro skalira performanse na sistemima sa do 4 procesora i do 4GB-a RAM-a i u potpunosti iskorišćava mogućnosti sistemskih resursa. Takođe je utvrđeno da se dobro snalazi sa tabelama koje imaju nekoliko milijardi zapisa. MySQL se bez problema nosi sa čak do 1500 korisnika u isto vreme bez značajnijeg pada performansi. Vrlo je verovatno da krajnji limiti skaliranja performansi MySQL-a uopšte nisu ni utvrđeni. U trenutku pisanja ovog teksta MySQL developeri nisu uspeli da ispitaju hardverske i softverske granice, tako da se najviše oslanjaju na izveštaje njihovih korisnika o ponašanju MySQL-a pod opterećenjem. Ako bi ikad zahtevnost prerasla mogućnosti servera, uvek ostaje mogućnost povezivanja više servera u jedinstven sistem i tako razdeliti opterećenje. Rad na različitim platformama:MySQL ima mogućnost rada na različitim arhitekturama i operativnim sistemima. Operativni sistemi koji se frekventno koriste su Linux, Windows, Solaris i FreeBSD. MySQL takođe radi i na Irix, HP-UX, AIX, SCO, Tru64, OpenBSD, NetBSD, i Mac OS X. Podržava veliku količinu programskih jezika:Kada radite na razvoju aplikacija za upravljanje bazama podataka, jedna od najvećih briga vam je da li će te moći povezati vašu aplikaciju sa serverom baza podataka koristeći određeni programski jezik. I na ovom polju se MySQL izdiže iznad konkurencije pošto programeri sa MySQL-om mogu komunicirati koristeći C/C++, PHP, Perl, Java, Python, TCL, Ruby i Eiffel. ODBCPored velike podrške za programske jezike, MySQL takođe ima podršku za ODBC. Ovo pruža programeru mogućnost da kreira aplikacije koristeći Open Database Coonnectivity (ODBC) standard. Podrška za ODBC takođe pruža mogućnost da se MySQL koristi sa drugim menadžerima baza podataka koji imaju ODBC. Neki od tih aplikacija su Microsoft Acces, Microsoft Excel, Crystal Reports i mnogi drugi. MySQL zahvaljujući ODBC-u može da se koristi u kombinaciji sa Visual Basic-om, Delphi-em, ASP-om (Active Server Pages), ColdFusion-om. BorlandBuilder-om i mnogim drugim razvojnim alatima i okruženjima. Besplatno ili povoljno licenciranje:MySQL se distribuira pod odredbama GPL-a (General Public License) koje su propisali ljudi iz FSF-a (Free Software Foundation). Prema ovoj licenci korisnik može da koristi software potpuno besplatno kako za nekomercionalne svrhe tako i za komercionalne svrhe. Ovo znači da se MySQL distribuira korisnicima potpuno besplatno, osim kada se korisnik odlučuje za MySQL Enterprise za koji je potrebno plaćanje dodatne licence. U slučaju da je licenca potrebna da li iz razloga da organizacija u kojoj se koristi softver ne dozvoljava korišćenje GPL proizvoda ili se korisnik odluči za Enterpise rešenje licenciranje se može zatražiti od MySQL AB-a i to po veoma povoljnim uslovima. Licenca za jedan server iznosi 200$, ali cena drastično pada povećavanjem broja licenci. Licence se izdaju po serveru i ne ograničavaju broj korisnika. Povoljna komercionalna podrška:Za one koji žele da koriste MySQL za zahtevnije poslove veoma je bitna kvalitetna korisnička podrška. Čak i da ne dođe do problema korisnik će se osećati mnogo sigurnije ako bude znao da postoji neko kome se može obratiti ako kojim slučajem do problema dođe. Da ovakve podrške nema korisnicima bi bilo mnogo teže opredeliti se za MySQL. MySQL AB pruža raznoliku podršku po veoma razumnim cenama uključujući i svakodnevnu telefonsku podršku. Cene se kreću od 1500$ za osnovni paket pa sve do 48000$ za delux paket. Pošto na vaša pitanja odgovaraju sami developeri nećete morati da pričate sa nekoliko ljudi pre nego što dobijete odgovore na vaša pitanja. Jaka podrška korisnika:MySQL je više od obične baze podataka, osnivači MySQL-a su se oduvek trudili da zajednici njihovih korisnika daju što više. Korisnici su na to odgovorili lojalnošću i predanošću. Kakvog efekta ovo ima na enterprise korisnika. Najočigledniji efekat je da pored standardne podrške koju pruža MySQL dodatnu podršku može dobiti od ostalih korisnika. Ako bi ste postavili neko pitanje vezano za MySQL na nekom forum ili IRC kanalu koji ima veze sa bazama podataka vrlo je verovatno da će te u vrlo kratkom roku dobiti odgovore. Za raliku od klasične podrške za tačnost ovih odgovora MySQL AB ne garantuje ali i korisničkim komunama se mogu naći veliki eksperti koji daju odlične savete. Ovakav vid podrške možete uporediti sa pecanjem, ako znate da pecate možete dobiti besplatnu ribu iz jezera, ako ne znate pecati ili vam se jednostavno ne ide do jezera uvek možete otići u prodavnicu i kupiti ribu. Još jedna od dobrih strana korisničkih komuna je činjenica da vrlo lako možete naći eksperte koji bi bili voljni da rade za vas. Još jedan od dobrih aspekata je “sigurnost za opstanak”. Velika briga korisnika softvera manjih kompanija je budućnost tog proizvoda i same kompanije. Čak i da MySQL AB prestane sa radom korisnici bi uz pomoć izvornog koda održali program u životu. Dostupnost izvornog koda:Mogućnost pristupa MySQL-ovom izvornom kodu je veoma velika prednost posebno za korisnke koji u svom stručnom kadru imaju iskusne C/C++ programere. Ovo vam omogućuje da vršite razna prilagođavanja, poboljšanja, izmene, popravke grešaka bez potrebe da čekate na izdavača softvera da to učini. Još jedna od prednosti otvorenog koda je mnogo manja verovatnoća da će doći do grešaka u kodu ili do lošeg koda, jer otvoreni kod može svako da vidi i mnogo je manje verovatno da će neki programer želeti da svi vide da mu se potkrala greška u kodu. Mane MySQL-a:Nedostatak nekih mogućnosti SQL-a:Ovo predstavlja višestruke probleme u povezivanju postojećih aplikacija sa MySQL-om. Ako vaša aplikacija koristi neku od osobina koju MySQL nema, moraćete da reprogramirate te delove aplikacije pre nego što je povežete sa MySQL-om. U nekim slučajevima ovo može biti iscrpljujući zadatak. Mnogi znalci iz IT sveta smatraju da neke opcije koje MySQL trenutno nema se pod hitno moraju dodati. Mnogi programeri su navikli da koriste te opcije i one predstavljaju esencijalni deo njihovo programerskog repertoara. Ovaj nedostatak MySQL-a ponekad zna da odvraća potencionalne korisnike. Reakcija korisnika bi se mogla uporediti sa čovekom koji je svoj ceo život vozio automobil sa automatskim menjačem i sada mora da pređe na manuelni. S druge strane iskusniji MySQL korisnici su navikli da žive sa ovim nedostacima čak i uživaju u izazovu da zaobiđu ove nedostatke. Izazvano nužnošću situacije programeri često otkrivaju i mnogo elegantnija rešenja od onih koje su do sad koristili. Pronašli su načine da iskoriste mogućnosti MySQL-a do punog potencijala i bez obzira na nedostake zalažu se za rasprostranjivanje MySQL-a. Isto kao što vozač koji koristi manuelni menjač uvek postiže veću maksimalnu brzinu od onoga sa automatskim menjačem. Zbog ovih nedostataka profesionalni korisnici imaju podeljeno mišljenje oko upotrebe MySQL-a. I sada se ponovo postavlja pitanje da li je MySQL dovoljno dobar? U realnosti MySQL je više nego dobar za izgradnju baze podataka u kombinaciji sa veštim i kreativnim developerima. Problem se javlja kada su programeri čvrsto vezani za neki drugi program. Njihovo zalaganje u radu sa MySQL-om ne bi bilo ni približno zalaganju kada bi radili sa nekim drugim programom. Ako je ovakvo stanje u radnoj organizaciji iz čisto ekonomskih razloga ne bi imalo smisla forsirati radnike da koriste MySQL. S druge strane radnike bi mogao da obraduje rad sa drugim programom i da za vrlo kratak period nađu način da prebrode ove nedostatke. MySQL AB je svestan ovih nedostataka i rade na tome da ih u narednih nekoliko godina otklone. Nedostatak ozbiljnijih testiranja na određenim platformama:MySQL AB ima veoma strikne standarde i svoje proizvode uvek propušta kroz nekoliko zahtevnih testova, ali tu se testiranje završava. Sledeća serija testova se javlja kada novu verziju programa sa interneta preuzme i po 20000 korisnika dnevno instalira na različitim sistemima i prilagodi za rad sa njihovim bazama podataka. U toku ovog procesa mogu se otkriti razno razne greške i sistemski problemi koji jednostavno nisu mogli da budu ustanovljeni unutar kompanije. Greške se prijavljuju MySQL AB-u i obično se otklanjaju veoma brzo, ali MySQL AB jako zavisi od feedback-a korisnika. Kao rezultat svega ovoga možemo uočiti da stabilnost i performanse MySQL-a ne određenoj platformi zavise od broja korisnika na određenoj platformi. Što je veći broj korisnika manje su šanse da će neki kritična greške ostati neotkrivena. Iako se MySQL AB trudi da njihov proizvod bude što više cross-platform i da ne favorizuju neku platformu ispred ostalih, razlika u broju korisnika na određenim platformama dovodi do toga da MySQL bolje radi na nekim platformama. Prema određenim proračunima oko 40% korisnika koristi MySQL na x86 Linux plaformi, 25% korsnika ga koristi na Windows platformi, 15% odlazi na FreeBSD, 15% na SPARC Solaris i 5% na sve ostale platforme. Po nivou kvaliteta onih preostalih 5% će uvek zaostajati za ostalima. Naravno ne treba misliti da MySQL ne funkcioniše kako treba na tim platformama. Čak po informacijama koje se dobijaju od korisnika ustanovljeno je da se MySQL sasvim dobro snalazi i na tim platformama, što je ustvari posledica dobro napisanog izvornog koda. Dobro napisan izvorni kod ima daleko veće šanse da radi bez ikakvih problema i na platformama koje zvanično nisu testirane. MySQL AB se naravno trudi da proširi platforme na kojima vrši testove i da proveri stabilnost i sistemima kao što su AIX i HPUX. Možemo očekivati da kako se kompanija bude širila da će ova mana u potpunosti nestati. Komplikovano rukovanje izvornim kodom:Ranije je već napomenuto koliko je značajno što je omogućen pristup izvornom kodu programa. Imati izvorni kod definitivno omogućuje veliku fleksibilnost u radu korsnika. Ali kad radite sa kodom kojeg je neko drugi napisao prvo morate da ga razumete da bi vam bio od značaja. Kod MySQL servera je relativno teško shvatiti, čak i iskusniji C/C++ programeri imaju problema sa razumevanjem ovog koda. Retko ko se uopšte usuđuje da menja kod. Postoje dva razloga zbog kojih je ovaj kod toliko kompleksan. Prvo to je kod servera baza podataka što znači da je kod optimizovan da što bolje organizuje podatke na disku, minimalizuje upotrebu diska, ubrza pristup memoriji i rasčlanjuje upite. Ovakav kod nebitno koliko je dobro napisan bi bio veoma kompleksan. Drugi razlog je zbog takozvanog “efekta genijalnog koda”. Samu osnovu izvornog koda napisao je Montz Widenius koji je u programerskim krugovima dobio nadimak “Mocart kompjuterskog programiranja”. Dobar programer bi uživao gledajući njegov kod isto toliko koliko bi čovek sa dobrim sluhom uživao u Mocartovim delima. Da bi neko u potpunosti razumeo ovaj kod mora da ima istu inspiraciju kakvu je imao Monty u tom trenutku i da shvati kako i zašto je taj kod napisan tako. Čak i najbolji programeri su ovo nalazili kao veoma velik izazov. Naravno ovaj izazov se može prebroditi, pa je razvojni tim MySQL-a uspeo da ovlada tom virtuoznošću. ZaključakMySQL je vrlo sposoban relacioni klijent/server sistem baza podataka. Veoma je siguran i kompatabilan je sa velikim brojem aplikacija. Takođe odnos cena/kvalitet je fenomenalan i to ne samo zato što je MySQL besplatan, nego zato što su njegove hardverske potrebe veoma skromne. Ali iznad svega treba istaći da u svetu Linux operativnih sistema MySQL se sve više koristi od strane drugih aplikacija za vođenje njihovih internih baza podataka bez obzira da li se radi o poboljšanju logovanja podataka, upravljanju kolekcijama MP3 fajlova, e-mail-ova, adresa ili nečega drugog. MySQL kod Linux aplikacija zauzima onu ulogu koju ima Jet Engine kod Microsoft-ovih operativnih sistema, ali u većini slučajeva MySQL pruža bolje performanse od Jet Engine-a. Zahvaljujući ODBC interfejsu, MySQL se sad koristi i u svetu Windows operativnih sitema kao direktna zamena Jet Engine-u. Osim sa tehničke strane MySQL je u prednosti nad ostalim open source sistemima baza podataka jer je rasprostranjeniji od ostalih. Treba dodati da je MySQL mnogo podrobnije testiran i ispitan na različitim platformama, a i mnogo je lakše naći developera koji ima iskustvo sa MySQL-om nego sa bilo kojim drugim open source sistemom baza podataka. Ipak MySQL još uvek ne može da se nosi sa „velikim momcima“ iz sveta komercijalnih baza podataka. Malo je verovatno da će te odabrati MySQL ako on nema neke mogućnosti koje su vama potrebne.
|