Utilizarea generală a sistemului MySQL

Anime

Moderator
Membru personal
Înscris
8 Iul 2018
Mesaje
79
Aprecieri
9
Puncte
8
Locație
Timisoara
Site web
bitarena.eu
Offline
#1
Dacă aţi mai folosit sisteme de gestiune a bazelor de date, deja sunteţi la curent cu avantajele descrise anterior şi probabil vă gândiţi să depăşiţi etapa aplicaţiilor uzuale de tip „înlocuire a fiselor pe hârtie". Sistemele de baze de date sunt acum folosite pentru a oferi: servicii în moduri care nu erau posibile în trecutul apropiat. Modul în care multe instituţii folosesc o bază de date în conjuncţie cu un sit Web este un bun exemplu.
Să presupunem că firma dumneavoastră are o bază de date inventar care este folosită de personalul de la biroul de service atunci când clienţii sună să afle dacă aveţi sau nu un articol în stoc, precum şi preţul acestuia. Aceasta este o utilizare relativ tradiţională a unei baze de date. Totuşi, dacă firma dumneavoastră alcătuieşte un sit Web pentru a fi vizitat de clienţi, puteţi oferi un serviciu suplimentar, si anume o pagină de căutare care l permite clienţilor să determine preţul şi prezenţa în stoc a unui produs. Acest lucru oferă j clienţilor informaţiile pe care le doresc, iar modul în care le oferiţi constă în căutarea automată a informaţiilor de inventar stocate în baza de date, pentru a se găsi articolele în chestiune. Clientul obţine informaţia imediat, fără a fi pus „în aşteptare" şi obligat să asculte o muzică înregistrată agasantă si fără a fi obligat să respecte orele de funcţionare a biroului de service. Fiecare client care foloseşte situl dumneavoastră de Web înseamnă un apel telefonic în minus de rezolvat de către o persoană de la biroul de asistenţă. (Poate că astfel situl Web îşi amortizează investiţia.)
Puteţi utiliza baza de date chiar mai bine. Cererile bazate pe Web de căutare în inventar pot furniza informaţii nu numai clienţilor, dar si dumneavoastră. Interogările vă arată ce anume caută clienţii, iar rezultatele interogărilor vă arată dacă sunteţi sau nu în măsură să le satis-faceţi cererile. Dacă nu averi ceea ce caută clienţii, riscaţi să pierdeţi afacerea. Deci, este logic să înregistraţi informaţii despre căutările în inventar, si anume produsele căutate de clienţi, respectiv dacă le aveţi sau nu în stoc. Apoi, puteţi folosi aceste informaţii pentru a vă ajusta inventarul si pentru a asigura clienţilor dumneavoastră servicii mai bune.
O altă aplicaţie recentă pentru bazele de date este deservirea publicităţii pe manşete în paginile Web. Nici mie nu-mi plac aceste reclame mai mult decât dumneavoastră, dar nu e mai puţin adevărat că reprezintă o aplicaţie populară pentru MySQL, care poate fi folosit pentru stocarea reclamelor şi regăsirea lor în vederea afişării de către un server Web. De asemenea, MySQL poate executa operaţiile de evidenţă a înregistrărilor asociate deseori acestei activităţi, urmărind reclamele care au fost afişate, numărul de afişări, siturile care au obţinut accesul la acestea etc.
Deci, cum funcţionează MySQL? Cea mai bună modalitate de a afla este de a încerca personal, iar pentru aceasta vom avea nevoie de o bază de date de lucru.
O bază de date demonstrativă
Această secţiune descrie baza de date demonstrativă pe care o vom folosi pe tot parcursul volumului de faţă. Vă este oferită o sursă de exemple pe care le puteţi încerca pe măsură ce învăţaţi să utilizaţi MySQL. Vom extrage exemple mai ales din două dintre situaţiile prezentate anterior:
• Scenariul de organizare cu secretarul. Avem nevoie de ceva mai bine definit decât o „instituţie", deci voi crea una cu următoarele caracteristici: este compusă din persoane care au în comun o afinitate pentru istoria Statelor Unite (denumită, în lipsa unui
nume mai bun, Liga istorică americană). Membrii îşi păstrează această calitate prin reînnoirea afilierii, plătind o cotizaţie. Cotizaţiile sunt alocate cheltuielilor Ligii, cum ar fi publicarea unui buletin de ştiri, denumit „Cronici ale trecutului SUA". De asemenea, Liga dispune de un mic sit Web, dar acesta nu este foarte dezvoltat. Până acum, situl a fost limitat la informaţii elementare, legate de scopurile Ligii, identitatea persoanelor din conducere şi modul de înscriere în organizaţie.
• Scenariul de evidenţă a rezultatelor şcolare. Pe durata perioadei de notare, administraţi chestionare şi teste, înregistraţi punctaje şi daţi note. După aceea, determinaţi notele finale, pe care le predaţi secretariatului şcolii alături de o situaţie a prezenţei elevilor.
Acum, să examinăm mai îndeaproape aceste situaţii din punctul de vedere a două cerinţe:
• Trebuie să decideţi ce anume doriţi să obţineţi cu baza de date; cu alte cuvinte, scopurile pe care doriţi să le atingeţi.
• Trebuie să determinaţi ce anume veţi insera în baza de date; cu alte cuvinte, datele a căror evidenţă doriţi să o păstraţi.
Poate părea ciudat să ne gândim la rezultatele unei baze de date înainte de a avea în vedere datele ce trebuie introduse în aceasta. La urma urmelor, trebuie să introduceţi date înainte de a le putea regăsi. Dar modul de utilizare a unei baze de date este determinat de scopurile dumneavoastră, iar acestea sunt asociate mai strâns cu rezultatele bazei de date decât cu datele inserate în aceasta, în mod categoric nu doriţi să irosiţi timp si efort inserând informaţii într-o bază de date, decât dacă intenţionaţi să le folosiţi într-un anume scop în viitor.
Liga istorică americană
Situaţia iniţială a acestui scenariu este aceea că dumneavoastră, ca secretar al Ligii, administraţi lista cu membri folosind un document creat cu un procesor de texte. Această situaţie este adecvată pentru generarea unui catalog tipărit, dar reduce posibilităţile de utilizare a informaţiilor în alte moduri. Aveţi în vedere următoarele obiective:
• Doriţi să puteţi produce date de ieşire din catalog în diferite formate, folosind numai informaţii adecvate aplicaţiei. Un deziderat este posibilitatea de a genera catalogul tipărit în fiecare an - o cerinţă din trecut a Ligii, pe care dumneavoastră intenţionaţi să continuaţi a o îndeplini. Vă puteţi gândi şi la alte utilizări pentru informaţiile din catalog - de exemplu, de a furniza lista membrilor actuali pentru programul editat cu ocazia banchetului anual al Ligii. Aceste aplicaţii implică diferite seturi de informaţii. Catalogul tipărit foloseşte întregul conţinut al intrării corespunzătoare fiecărui membru. Pentru programul de la banchet, trebuie să extrageri numai numele membrilor (operaţie deloc uşoară dacă se foloseşte un procesor de texte).
• Doriţi să căutaţi în catalog pe acei membri ale căror intrări satisfac diferite criterii. De exemplu, doriţi să ştiţi care sunt membrii care trebuie să-si plătească în curând cotizaţia. O altă aplicaţie care necesită căutări apare din lista de cuvinte cheie aferentă fiecărui membru (de exemplu Războiul de Secesiune, criza din Wall Street, drepturile civile sau viaţa lui Thomas Jefferson). Uneori, unii membri vă cer o listă a altor membri cu interese similare cu ale lor, iar dumneavoastră doriţi să puteţi satisface aceste cereri.
Doriţi să plasaţi catalogul pe Internet, în situl Web al Ligii, ceea ce ar fi avantajos atât pentru membrii Ligii, cât si pentru dumneavoastră. Dacă puteţi converti catalogul în pagini Web printr-un proces oarecare cu un grad adecvat de automatizare, o versiune on-line a catalogului poate fi menţinută „la zi" într-o manieră mai oportună decât versiunea tipărită. Iar dacă în acest catalog electronic se pot efectua căutări, membrii pot căuta personal informaţii, cu uşurinţă. De exemplu, un membru care doreşte să ştie care sunt membrii interesaţi de Războiul de Secesiune poate afla această informaţie fără a fi nevoit să vă aştepte să efectuaţi căutarea, iar dumneavoastră nu veţi mai avea nevoie să găsiţi timp pentru a efectua personal căutarea.
Sunt perfect conştient de faptul că o bază de date nu este cel mai interesant lucru din lume, deci n-am de gând să fac cine ştie ce afirmaţii trăsnite, cum că o bază de date stimulează gândirea creatoare. Totuşi, dacă încetaţi să asimilaţi informaţiile ca fiind o entitate cu care trebuie să luptaţi (aşa cum faceţi cu documentul dumneavoastră creat cu procesorul de texte) şi începeţi să le asimilaţi cu o entitate pe care o puteţi manipula relativ uşor (aşa cum speraţi să procedaţi cu SQL), acest lucru va avea un efect eliberator asupra capacităţii dumneavoastră de a veni cu noi modalităţi de a folosi sau de a prezenta acele informaţii:
• Dacă informaţiile din baza de date pot fi mutate în situl Web sub forma unui catalog electronic, puteţi face ca informaţiile să se „scurgă" si în sens invers. De exemplu, dacă membrii îşi pot edita propriile rubrici on-line pentru a actualiza baza de date, nu mai este necesar să efectuaţi personal toate modificările şi astfel s-ar contribui la sporirea acurateţei informaţiilor din catalog.
• Dacă aţi stocat adrese de e-mail în baza de date, le puteţi folosi pentru a trimite mesaje e-mail membrilor care nu si-au mai actualizat rubricile în ultimul timp. Mesajele pot indica membrilor conţinutul curent al rubricii lor, le pot cere să-1 reînnoiască şi pot indica modalitatea de efectuare a diferitelor modificări, folosind facilităţile furnizate pe situl Web.
• O bază de date poate contribui la sporirea utilităţii unui sit Web în moduri care nu au nici cea mai mică legătură cu lista membrilor. Liga publică un buletin de ştiri, „Cronici ale trecutului SUA", care are în fiecare număr o secţiune dedicată copiilor, ce conţine un chestionar pe teme istorice. Unele dintre numerele recente s-au concentrat asupra unor date biografice ale preşedinţilor americani. Situl Web poate include de asemene; o secţiune pentru copii, unde chestionarele sunt puse on-line. Această secţiune poa căpăta, eventual, un caracter interactiv, prin inserarea în baza de date a informaţiilo care au stat la baza chestionarelor si determinând serverul Web să interogheze baza de date în căutarea unor întrebări care vor fi prezentate aleator.
Bun! în acest moment, numărul de utilizări pentru baza de date la care v-aţi gândit vz poate duce la concluzia că v-aţi cam lăsat dus de val. După o scurtă pauză pentru a reveni din nou pe Pământ, începeţi să vă puneţi unele întrebări practice:
• Nu e puţin cam prea ambiţios? Nu e cam multă muncă pentru toate astea? Orice pars mai uşor atunci când doar vă gândiţi si nu puneţi în practică, desigur, iar eu nu mă voi preface spunând că toate acestea sunt banal de implementat.
Poate face MySQL toate astea? Nu, nu poate. De exemplu, MySQL nu dispune de caracteristici directe pentru interacţiunea cu Web-ul. Totuşi, chiar dacă MySQL nu poate face singur tot ceea ce am discutat, există alte instrumente care pot colabora cu MySQL pentru a-i completa si extinde posibilităţile.
Vom folosi limbajul de scripting Perl şi modulul Perl DBI (interfaţă cu bazele de date) pentru a scrie scripturi care obţin acces la bazele de date MySQL. Perl dispune de excelente posibilităţi de prelucrare a textelor, care permit manipularea rezultatelor unei interogări într-o manieră extrem de flexibilă, pentru a obţine date de ieşire într-o varietate de formate. De exemplu, putem folosi Perl pentru a genera catalogul în format Rich Text Format (RTF), un format care poate fi citit de către toate categoriile de procesoare de texte.
De asemenea vom folosi PHP, un alt limbaj de scripting. PHP este adaptat pentru scrierea aplicaţiilor Web şi lucrează cu bazele de date. Acesta vă permite să rulaţi interogări MySQL direct din paginile Web şi să generaţi pagini noi, care includ rezultatele interogărilor bazelor de date. PHP colaborează bine cu Apache (cel mai popular server Web din lume), simplificând efectuarea unor operaţii precum prezentarea unui formular de căutare şi afişarea rezultatelor căutării.
MySQL se integrează bine cu aceste instrumente şi vă oferă flexibilitatea de a le combina în funcţie de preferinţele dumneavoastră, optând pentru realizarea scopurilor scontate.
Nu sunteţi obligat să folosiţi componentele unui singur set de programe cu posibilităţi de integrare clamate pe toate tonurile, dar care nu pot funcţiona bine decât unele cu altele.
• In final, marea întrebare: cât vor costa toate acestea? La urma urmelor, Liga are un buget limitat. S-ar putea să vă surprindă, dar probabil că nu va costa nimic. Dacă sunteţi un cunoscător al sistemelor de baze de date, atunci ştiţi că sunt destul de costisitoare. Prin contrast, MySQL este de regulă gratuit. Există unele situaţii când aveţi nevoie de o licenţă, dar aceasta costă numai 200 de dolari pentru un număr nelimitat de utilizatori. (Vezi prefaţa pentru îndrumări generale privind licenţa, precum şi manualul de referinţă MySQL pentru detalii concrete.) Celelalte instrumente pe care le vom folosi (Perl, DBI, PHP, Apache) sunt gratuite deci, dacă ţinem cont de toate aspectele, puteţi alcătui un sistem util fără nici o cheltuială.
Alegerea sistemului de operare pentru dezvoltarea bazei de date vă aparţine. Toate programele pe care le vom discuta rulează sub UNIX, iar majoritatea lor rulează sub Windows. Eu vă recomand să folosiţi MySQL si celelalte instrumente sub UNIX. Toate instrumentele îşi au originea în UNIX si de acolo au fost portate ulterior spre Windows, Hind desfăşurate mai frecvent în UNIX decât în Windows. Aceasta înseamnă că versiunile Windows au avut o perioadă de maturizare mai scurtă şi că nu au fost testate şi utilizate atât de aprofundat ca versiunile sub UNIX.
Acum, să abordăm şi cealaltă situaţie pentru care vom folosi baza de date demonstrativă.
 

Sus Jos