-
Cand eram in facultate am intalnit diagrame de baze de date folosind unelte vizuale. Pana la urma toata lumea foloseste diagrame cand schematizeaza o baza de date, fie ca e pe hartie sau calculator. Tot in facultate am intalnit si Rational Rose, unealta care desi nu am prea inteles-o atunci mi se parea geniala pentru diagrame. Pentru prima data vedeam cum poti construi o diagrama vizual cu cateva click-uri.
Cand am avut licenta ma gandeam cum sa fac schema bazei de date folosind RR, si totusi nu parea o idee atat de buna, e ca si cum as incerca sa sap gradinita din fata blocului folosind un plug, o sa reusesc dar… nu e tocmai unealta potrivita.
Apoi un coleg mi-a deschis ochii: MySQL Workbench, unealta geniala pentru realizarea de diagrame si in plus o facilitate foarte buna, consturirea de diagrame prin reverse engineering de SQL.
Nuprea am inteles de ce aceasta unealta nu este atat de populara, adica eu m-am invartit o vreme in jurul subiectului ca sa gasesc solutia de la un coleg.
Concluzia, MySQL Workbench este o unealta foarte buna pentru designul bazelor de date, atat pentru developeri cat si pentru administratori, in special in situatia cand esti intr-o sala de sedinta si vrei sa schematizezi o baza de date pe un proiector, mai ales ca la final poti sa dai direct export.
-
Ca sa faci o aplicatie web in general ai nevoie de o baza de date. La scoala in general invatam ca “baza de date este administrata de administratorul bazei de date”. Teoretic asa ar trebui sa se intample, practic… ajungem sa ne facem singuri bazele de date de cele mai multe ori.
PHP este folosit in general cu un SGBD (Sistem de Gestiune al Bazelor de Date), de obicei aceasta este MySQL. Atunci cand o aplicatie incepe sa mearga greu in general se cauta metode de optimizare incepand de la reducerea sau inlocuirea functiilor lente (de exemplu echo este mai rapida ca print sau nl2br($text) este mai rapida ca str_replace(“\r\n”,”
”,$text)) pana la reducerea numarului de cereri http (in loc de mai multe fisiere css se foloseste unul singur). Totusi un mod foarte simplu pe care foarte multi nu il iau in calcul este acela de a adauga un index pe tabela.Index-ul se adauga pe un camp pe care se fac sortari sau se pun conditii. Avantajul major este in momentul cand se extragi datele. Dezavantajul este atunci cand se introduc datele. Pe o tabela unde se fac modificari frecvent poate sa fie discutabila nevoia de un index, depinde de raportul de select-uri vs. insert-uri.
Cum se adauga un index:
1ALTER TABLE tabela SET INDEX(camp);
Chiar zilele trecute aveam o interogate destul de greoaie pe mai multe tabele si nu intelegeam cum poate totusi sa mearga atat de greu. Am adaugat un index pe criteriul de filtrare si unul pe cel de ordonare iar in mai putin de 5 minute totul a devenit mult mai rapid, a devenit de 3 ori mai rapida interogarea (si nu am decat 2000 de inregistrari)!
Poate cateva milisecunde in plus nu par mare lucru, dar luati in calcul cateva zeci sau chiar sute de interogari pe o singura pagina, inmultiti cu numarul utilizatoriilor care acceseaza pagina simultan si… nu o sa mai apara atat de putin.
-
Chiar daca PHP 6 nu este gata inca, sau mai bine zis mai are destul pana va ajunge la varianta finala, deja am gasit o carte dedicata noii versiuni avand titlul PHP 6 and MySQL 5 for Dynamic Web Sites: Visual QuickPro Guide.
Schimbarile care vor avea loc in cadrul PHP 6 sunt deja cunoscute, iar versiunea CVS este disponibila.
Avand in vedere cele de mai sus, se poate crede ca aceasta carte se grabeste sa anunte venirea, pentru ca cititorul sa aiba parte de o abordare a noii versiuni.
Am avut ocazia sa rasfoiesc versiunea in romana a cartii PHP si MySQL pentru site-uri WEB dinamice. Pe spatele cartii sunt bifate nivelurile “Incepator”, “Mediu” si “Avansat”. Cu toate acestea cartea pare mai mult o adaptare a cartii pentru versiunea 4 la versiunea 5, totusi fara a se atinge aproape de loc (sau chiar de loc) aspecte cum ar fi POO, XML, Streams sau abordari prea succinte pentru elemente complexe cum ar fi array-urile. Intradevar cartea nu se pierde in multe detalii iar la final exista prezentate cateva exemple concrete.
Pe Amazon.com se pot rasfoi cateva pagini din carte, din pacate editia precedenta chiar si catii de PHP 5 si se poate vedea ca nu au fost prea multe schimbari in cuprins cel putin, evitand abordari detaliate pentru subiecte care au constituit modificari majore intre versiuni.
Concluzionand eu unul nu ma astept decat la o carte adaptata usor la modificarile care au avut loc de la ultima versiune si nici de cum la o carte orientata spre noua versiune, gata sa evidentieze noile facilitati introduse (sau cele eliminate) in versiunea 6 a PHP. Probabil lansarea timpurie a cartii nu este decat o politica de marketing.