Un sistem de gestiune a bazelor de date relationale (SGBDR) este un instrument
esential in numeroase medii, de la utilizarile mai traditionale in
contexte de afaceri, cercetare si invatamant si pana la aplicatiile
mai recente, cum ar fi operarea motoarelor de cautare din Internet. Totusi, in
ciuda importantei unei baze de date performante pentru gestiu¬nea si accesul
la resursele informationale, aceasta s-a dovedit a fi dincolo de resursele financiare
a numeroase institutii. Din punct de vedere istoric, sistemele de baze de date
au constituit o propunere costisitoare, firmele distribuitoare percepand
onorarii sub¬stantiale, atat pentru program cat si pentru asistenta
necesara, iar deoarece motoarele de baze de date prezentau frecvent cerinte hardware
substantiale pentru a putea rula cu performante cat de cat rezonabile,
costurile erau si mai mari. e5l22ly
in anii din urma, situatia s-a schimbat, atat din punct de vedere
al echipamentelor, cat si din acela al programelor. Calculatoarele personale
au devenit necostisitoare, dar puternice; pe de alta parte, a aparut o intreaga
miscare in directia scrierii unor sisteme de operare cu performante ridicate
pentru aceste calculatoare, sisteme disponibile la pretul unui compact disc ieftin,
sau chiar gratuit, prin Internet. Acestea includ numeroase sisteme derivate din
BSD UNIX (FreeBSD, NetBSD, OpenBSD), precum si diferite forme de Linux (RedHat,
Caldera, LinuxPPC, pentru a numi doar cateva).
Productia de sisteme de operare gratuite care sa permita utilizarea calculatoarelor
per¬sonale la maximum de capacitate s-a desfasurat in mod concertat
cu dezvoltarea unor instrumente disponibile gratuit, cum ar fi gcc, compilatorul
GNU de C, fiind in mare masura posibila datorita acestora din urma. Aceste
eforturi de a pune programele la dis¬pozitia oricarui doritor au avut ca rezultat
ceea ce se numeste acum miscarea Open Source si au generat multe programe importante.
Cel mai solicitat sit FTP din lume, si anume ftp.cdrom.com, ruleaza FreeBSD. Apache
este cel mai folosit server Web din Internet. Alte succese ale initiativei Open
Source sunt limbajul de scripting de uz gene¬ral Perl si PHP, un limbaj a
carui popularitate este intr-o crestere rapida, datorita usurintei cu care
permite scrierea paginilor Web dinamice. Toate acestea contrasteaza cu solutiile
„de firma", care va obliga sa folositi produse costisitoare, create
de fabricanti care nici macar nu furnizeaza codul sursa.
Programele de baze de date au devenit si ele mai accesibile. Sistemele de baze
de date pre¬cum Postgres si mSQL au devenit disponibile gratuit sau la un
pret scazut. Mai recent, producatorii comerciali, precum Informix si Oracle, au
inceput sa-si ofere programele gratuit pentru sisteme de operare precum
Linux. (Totusi, aceste din urma produse sunt livrate, in general, numai
in forma binara, fara suport, ceea ce le limiteaza utilitatea.)
Unul din noii veniti in domeniul bazelor de date cu pret scazut sau gratuite
este MySQL, un sistem client/server de gestiune a bazelor de date relationale
originar din Scandinavia. MySQL include un server SQL, programe client pentru
accesul la server, instrumente administrative si o interfata de programare pentru
scrierea propriilor dumneavoastra programe.
Bazele sistemului MySQL au fost puse in 1979, o data cu instrumentul pentru
baze de date UNIREG, creat de Michael "Monty" Widenius pentru compania
suedeza TcX. in 1994, TcX a inceput sa caute un server SQL pentru
a-1 utiliza la dezvoltarea aplicatiilor Web. Compania a testat unele servere comerciale,
dar toate s-au dovedit a fi prea lente pentru tabelele de mari dimensiuni ale
firmei. De asemenea, compania a examinat mSQL, dar acestuia ii lipseau anumite
caracteristici obligatorii pentru TcX. in con¬secinta, Monty a inceput
sa programeze un server nou. Interfata de programare era proiectata in mod
explicit pentru a fi similara celei folosite de mSQL, deoarece pentru mSQL erau
disponibile numeroase instrumente gratuite, iar prin utilizarea unei inter¬fete
similare aceleasi instrumente puteau fi folosite pentru MySQL, cu un efort de
portare minim.
In 1995, David Axmark de la Detron HB a inceput sa faca presiuni pentru
ca TcX sa lanseze MySQL pe Internet. De asemenea, David lucra la documentatie
si la a determina MySQL sa construiasca folosind utilitarul GNU configure. MySQL
3.11.1 a fost dat lumii intregi in 1996, sub forma de distributie
binara pentru Linux si Solaris, in prezent, MySQL functioneaza pe mult mai
multe platforme si este disponibil atat in forma binara, cat
si sursa.
MySQL nu este un proiect Open Source, deoarece este necesara o licenta in
anumite conditii. Totusi, MySQL se bucura de o ampla popularitate in comunitatea
Open Source, deoarece termenii de licenta nu sunt foarte restrictivi, (in
esenta, MySQL este in general gratuit, daca nu doriti sa obtineti profit
prin vanzarea sistemului sau a unor servicii care necesita utilizarea acestuia.)
Popularitatea sistemului MySQL nu este limitata la comunitatea Open Source. Da,
ruleaza pe calculatoare personale (intr-adevar, o buna parte din programarea
cu MySQL are loc pe sisteme Linux ieftine). Dar MySQL este portabil si ruleaza
pe sisteme de ope¬rare comerciale (precum Solaris, Irix si Windows) si pe
echipamente care merg pana la servere de intreprindere, in plus,
performantele sale rivalizeaza cu acelea ale oricarui sis¬tem de baze de date
cu care doriti sa il comparati si poate manipula baze de date de mari dimensiuni,
cu milioane de inregistrari.
MySQL apare foarte clar in imaginea care se desfasoara dinaintea ochilor
nostri: sisteme de operare disponibile gratuit, care ruleaza pe echipamente puternice,
dar necostisitoare, punand la dispozitia unui numar de oameni mai mare ca
oricand o putere substantiala de prelucrare a datelor si alte caracteristici,
pe o varietate de sisteme mai larga ca oricand. Aceasta „coborare"
a barierelor economice in ceea ce priveste prelucrarea automata a datelor
pune solutii puternice pentru baze de date la dispozitia unui numar fara precedent
de mare de persoane si institutii. De exemplu, eu folosesc MySQL cu Perl, Apache
si PHP pe calculatorul meu. G3 PowerBook, care ruleaza LinuxPPC. Aceasta imi
permite sa-mi transport oriunde rezultatele activitatii mele. Pret total: costul
calculatorului PowerBook.
Institutii care in trecut se margineau sa viseze la a exploata in
folos propriu puterea unui SGBDR cu performante ridicate au acum aceasta posibilitate,
la un pret foarte redus. Utilizarea bazelor de date este tot mai frecventa si
la nivel individual. Oameni care nu se gandeau niciodata ca vor folosi baze
de date incep sa ia in considerare tot felul de uti¬lizari ale
acestora, din moment ce procurarea unui sistem de baze de date este facila - de
exemplu, stocarea si accesul la rezultatele unor cercetari genealogice, urmarirea
si intretinerea colectiilor de diferite tipuri (fluturi, marci postale,
carti de joc cu jucatori de baseball etc.), asistenta in demararea unei
afaceri sau furnizarea de posibilitati de cautare pentru situri Web personale.
De ce sa optez pentru MySQL?
Daca sunteti in cautarea unui sistem gratuit sau necostisitor de gestiune
a bazelor de date, puteti alege din mai multe optiuni: MySQL, mSQL, Postgres,
unul din motoarele gratuite (dar fara suport) furnizate de producatorii comerciali
si asa mai departe. Cand comparati MySQL cu alte sisteme de baze de date,
ganditi-va la ceea ce este cel mai important pentru dumneavoastra. Performanta,
suport, caracteristici (conformanta cu SQL, extensii etc.), conditii si restrictii
de licentiere, pret; toate acestea constituie factori care trebuie luati in
considerare. Date fiind aceste consideratii, MySQL are de oferit numeroase caracteristici
atractive:
• Viteza. MySQL este rapid. Programatorii pretind ca MySQL este cel mai
rapid sistem de baze de date pe care il puteti gasi. Puteti verifica aceasta
afirmatie vizitand https: //www. mysql. com/benchmark. html, o pagina de
comparatie a performantelor din situ! Web MySQL.
• Usurinta in utilizare. MySQL este un sistem de baze de date cu
performante ridicate, dar relativ simplu, a carui configurare si administrare
sunt mult mai simple decat in cazul sistemelor mai mari.
• Cost. MySQL este gratuit pentru majoritatea utilizarilor interne. Vezi
sectiunea „MySQL este gratuit?" ulterior in aceasta introducere.
• Suport pentru limbaje de interogare. MySQL intelege SQL (Structured
Query Language - limbaj de interogare structurat), limbajul preferat al tuturor
sistemelor moderne de baze de date. De asemenea, puteti avea acces la MySQL
folosind aplicatii care accepta ODBC (Open Database Connectivity), un protocol
de comunicatie cu bazele de date creat de Microsoft.
• Caracteristici. La server se pot conecta mai multi clienti simultan.
Clientii pot folosi mai multe baze de date simultan. Puteti obtine acces la
MySQL in mod interactiv, folosind numeroase interfete care va permit sa
introduceti interogari si sa vizualizati rezultate: clienti in linie de
comanda, browsere Web sau clienti X Window System. De asemenea, este disponibila
o varietate de interfete de programare pentru limbaje pre¬cum C, Perl, Java,
PHP si Python. Astfel, aveti optiunea de a folosi programe client preambalate
sau de a va scrie propriile programe client pentru aplicatii personalizate.
• Conectivitate si securitate. MySQL poate fi folosit integral in
retele, iar bazele de date sunt accesibile de oriunde din Internet, deci va
puteti partaja datele cu oricine, oriunde. Dar MySQL are controlul accesului,
astfel incat persoanele care nu au drep¬tul sa va citeasca datele
nu vor avea aceasta posibilitate.
• Portabilitate. MySQL ruleaza pe numeroase varietati de UNIX, precum
si pe alte sis¬teme non-UNIX, ca Windows si OS/2. MySQL ruleaza pe echipamente
de la calcu¬latoare de birou la servere cu performante ridicate.
• Distributie libera. MySQL este usor de obtinut; pentru aceasta, folositi-va
browserul de Web. Daca nu intelegeti functionarea unei componente sau
sunteti curios cu privire la un algoritm, va puteti procura codul sursa si il
puteti examina. Daca nu va place modul de functionare a unei componente, il
puteti modifica.
Dar suportul? Buna intrebare; o baza de date nu este de prea mare folos
daca nu puteti obtine asistenta in raport cu ea. Natural, mi-ar placea
sa cred ca aceasta carte contine tot ajutorul de care aveti nevoie. Realist
vorbind, insa, veti avea intrebari la care nu m-am gandit
niciodata sau pentru care nu am avut spatiu suficient. Veti descoperi ca mai
exista si alte resurse, dar si ca MySQL este dotat cu un sistem de asistenta
performant:
• MySQL include un manual de referinta de mari dimensiuni (450 de pagini
si mai creste...)
• Sunt disponibile contracte de asistenta tehnica de la dezvoltatorii
MySQL, pentru cei care prefera un acord formal.
• Exista o lista de corespondenta activa, la care se poate inscrie
oricine. Aceasta lista contine numerosi participanti utili, inclusiv dezvoltatorii
MySQL. Ca resursa pentru asistenta, multi o gasesc suficienta pentru necesitatile
proprii.
Comunitatea MySQL, programatori si ne-programatori, este extrem de cooperanta.
Raspunsurile la intrebarile din lista de corespondenta sosesc, de regula,
in cateva minute. La semnalarea unor hibe, programatorii lanseaza
un remediu in cateva zile (uneori ore!), iar remediile sunt disponibile
imediat prin Internet. Comparati aceasta cu experienta deseori frustranta a
navigarii prin canalele „bizantine" de suport ale marilor produca¬tori.
(Ati fost pe-acolo? Si eu am fost. Stiu ce alternativa sa folosesc atunci cand
am o intrebare despre un produs. Nu se poate face comparatie intre
a fi pus pe „apel in asteptare" la discretia unui producator
si posibilitatea de a publica o intrebare intr-o lista de corespondenta
si a verifica existenta raspunsurilor atunci cand imi convine.)
MySQL este un candidat ideal pentru evaluare daca va aflati in procesul
de selectare a sis¬temelor de baze de date. Puteti incerca MySQL fara
nici un pericol de implicare finan¬ciara. Totusi, daca va incurcati,
puteti folosi lista de corespondenta pentru a fi ajutat. O evaluare costa o
parte din timpul dumneavoastra, dar acest lucru este valabil indiferent de sistemul
de baze de date pe care il aveti in vedere - si este perfect adevarat
ca timpul de instalare si configurare pentru MySQL este mai redus decat
pentru multe alte sisteme.
Folositi deja un alt SGBDR?
Daca in prezent utilizati un alt sistem de baze de date, trebuie sa treceti
la MySQL? Nu in mod necesar. Daca sunteti satisfacut de sistemul dumneavoastra
actual, de ce sa va deranjati cu o atare tranzitie? Dar daca va simtiti limitat
de sistemul folosit, trebuie cate¬goric sa aveti in vedere MySQL.
Poate ca performantele sistemului dumneavoastra curent reprezinta o problema,
sau poate ca sistemul respectiv este „de firma" si nu va place sa
fiti „blocat" de acesta. Poate ati prefera sa folositi componente
hardware care nu sunt acceptate de sistemul dumneavoastra actual sau poate ca
programul este furnizat in format binar, iar dumneavoastra preferati sa
aveti la dispozitie codul sursa. Sau poate ca pur si simplu e prea costisitor!
Toate acestea reprezinta motive pentru a lua in con¬siderare MySQL.
Folositi aceasta carte pentru a va familiariza cu posibilitatile sistemu¬lui
MySQL, puneti cateva intrebari in lista de corespondenta MySQL
si probabil ca veti gasi raspunsurile necesare pentru a lua o decizie.
Daca aveti in vedere trecerea de la un alt sistem de baze de date SQL
la MySQL, exami¬nati pagina de comparatie din situl Web MySQL, la adresa
https://www.mysql.com/ crash-me-choose. htmy. Apoi, consultati capitolele care
trateaza tipurile de date MySQL si dialectul SQL. Puteti ajunge la concluzia
ca versiunea de SQL acceptata de sistemul dumneavoastra curent de gestiune a
bazelor de date relationale este mult prea diferit si ca portarea aplicatiilor
dumneavoastra ar implica un efort semnificativ.
O parte din evaluarea dumneavoastra trebuie sa o reprezinte incercarea
de a porta diferite exemple, desigur, deoarece s-ar putea sa nu fie atat
de greu precum credeti. S-ar putea sa nu fie chiar atat de greu chiar
daca sistemul dumneavoastra de baze de date este unul mai vechi, care nu intelege
SQL. Eu am convertit recent un sistem de gestiune a inregistrarilor de
la un SGBDR care nu era bazat pe SQL. Nu exista nici o asemanare intre
limbaje care sa poata fi utilizata, iar unele dintre tipurile de date nu aveau
echiva¬lent in SQL. Acest proces a necesitat conversia metodelor de
acces la retea si zeci de pro¬grame de introducere bazate pe ecran si de
interogari „conservate". A fost necesara o luna si jumatate de eforturi
„cu norma intreaga", ceea ce n-a fost chiar atat de rau.
Instrumente furnizate cu MySQL
Distributia MySQL include urmatoarele instrumente:
• Un server SQL. Acesta este motorul care activeaza MySQL si care furnizeaza
acce¬sul la bazele dumneavoastra de date.
• Programe client pentru accesul la server. Un program interactiv va permite
sa intro¬duceti interogari in mod direct si sa vizualizati rezultatele,
iar numeroasele programe administrative si utilitare va ajuta sa va rulati situl.
Un utilitar va permite sa controlati serverul. Altele va permit sa importati
sau sa exportati date, sa verificati permisiunile de acces si multe altele.
• O biblioteca client pentru scrierea propriilor dumneavoastra programe.
Puteti scrie programe client in C, deoarece biblioteca este scrisa in
C, dar biblioteca mai furnizeaza si baza pentru terte asocieri pentru alte limbaje.
In afara programelor furnizate cu MySQL, MySQL insusi este folosit de
catre nume¬roase persoane talentate si capabile, carora le place sa scrie
programe pentru a-si imbu¬natati productivitatea si care doresc sa
puna la dispozitia publicului aceste programe. Rezultatul este ca aveti acces
la o diversitate de instrumente produse de terte parti, care faciliteaza utilizarea
sistemului MySQL sau care extind aria de actiune a acestuia in domenii
precum dezvoltarea siturilor Web.
MySQL este gratuit?
MySQL nu este un produs Open Source, dar, in general, poate fi folosit
gratuit. Trebuie sa consultati manualul de referinta MySQL pentru detalii privind
licenta, dar principiile de baza sunt urmatoarele:
• Programele client si biblioteca de programare a clientilor sunt gratuite,
pe toate plat¬formele.
• Pentru UNIX si alte platforme non-Windows, serverul MySQL poate fi folosit
gra¬tuit, cu exceptia situatiilor cand doriti sa vindeti serverul
sau alte programe sau servicii care impun utilizarea acestuia, in aceasta
situatie, trebuie sa obtineti licenta pentru server. Ideea este ca, daca obtineti
un profit din MySQL, este normal ca dezvoltatorii sistemului sa primeasca o
parte din acesta. (200 de dolari este o nimica toata pentru un specialist SGBDR
care va ajuta sa obtineti un profit si exista o multime de programe gratuite
pe care vi le puteti procura pentru a folosi eficient sistemul.)
• Versiunea Windows a serverului MySQL impune obtinerea unei licente.
• Versiunile mai vechi de MySQL sunt disponibile in conditiile licentei
publice GNU (GPL) si pot fi folosite in orice scopuri, fara nici o plata.
MySQL 3.20.32a este disponibil in conditiile GPL.
Indiferent daca aveti sau nu nevoie de o licenta pentru server, se poate obtine
o asistenta formala, contra cost, de la programatorii MySQL, si va sfatuiesc
sa folositi aceasta ocazie, mai ales daca lucrati intr-o firma a carei
conducere „maraie" la fiecare program pentru care nu
exista un astfel de acord. Sunt disponibile numeroase niveluri de suport si,
in afara de obtinerea unei asistente excelente, veti contribui la dezvoltarea
in conti¬nuare a sistemului MySQL si, implicit, a intregii comunitati
MySQL.
O nota despre licenta Windows
Uneori se pune intrebarea: „Cum adica trebuie sa obtin licenta pentru
serverul MySQL numai fiindca rulez
• Windows?" Aceasta este o intrebare rezonabila, la care exista
un raspuns rezonabil. Ganditi-va la aspectele economice ale problemei.
Pentru a va angaja in dezvoltarea de programe, aveti nevoie de un sistem
de operare si de unele instrumente de dezvoltare, cum ar fi un editor si un
compilator. Relativ la ., aceste cerinte, exista o diferenta fundamentala intre
dezvoltarea pentru UNIX si dezvoltarea pentru Windows. Sub UNIX, puteti obtine
gratuit cam tot ceea ce aveti nevoie:
• Pentru sistemul de operare, aveti numeroase optiuni, cum sunt Linux
sau una din variantele BSD gra¬tuite, cum sunt FreeBSD, NetBSD si OpenBSD.
• Pentru instrumentele de dezvoltare, toate aceste sisteme de operare
sunt dotate cu editoare precum vi si emacs, precum si compilatoare ca gcc si
egcs.
• Cand sunt lansate actualizari ale sistemelor de operare sau ale
instrumentelor de dezvoltare, le puteti pur si simplu descarca din Internet
sau va puteti procura un compact disc necostisitor. Acest lucru este valabil
chiar si pentru revizuirile substantiale.
Pe de alta parte, dezvoltarea programelor in Windows este relativ costisitoare:
• Sistemul de operare nu este gratuit.
• Instrumentele de dezvoltare, precum compilatorul, nu sunt gratuite.
• Cand sunt lansate actualizari ale sistemului de operare sau ale
instrumentelor, trebuie sa platiti din nou, chiar daca acestea nu sunt altceva
decat remedii pentru hibe sau actualizari incrementale de mica importanta.
Toate acestea inseamna ca, in timp ce costurile pentru dezvoltarea
programelor in UNIX sunt, in esenta, nule, pentru Windows acestea
pot atinge valori considerabile. Se prea poate ca dezvoltatorilor MySQL sa le
placa sa lucreze cu MySQL, dar nu atat de mult incat sa fie
dispusi sa plateasca pentru acest privilegiu. Costurile de dezvoltare sub Windows
trebuie recuperate intr-un fel sau altul, iar taxa pentru licenta este
modul in care se produce aceasta recuperare.
in plus, dezvoltatorii au descoperit ca programarea sub Windows necesita
mai mult timp decat cea sub UNIX. Deoarece timpul dezvoltatorilor are
o marime fixa, acesta este un cost care trebuie suportat pe • spezele
versiunii UNIX (care este, in fond, platforma primara de dezvoltare a
sistemului MySQL). Taxa de licenta Windows furnizeaza un stimulent pentru orientarea
timpului si a eforturilor spre portul Windows,
Daca doriti sa rulati Windows, dar nu doriti sa obtineti licenta pentru server,
aveti unele optiuni:
• Exista o versiune shareware a sistemului MySQL, pe care o puteti testa
pentru evaluare. Aceasta versiune va ofera 30 de zile pentru utilizarea serverului,
dupa care puteti decide daca veti plati licenta pentru el.
• Daca rulati serverul Windows in scopuri educationale sau in
institutii universitare sau de cercetare guvernamentale, puteti cere dezvoltatorilor
sa va scuteasca de taxa de licenta.
• Programele client sunt gratuite in orice caz, deci, daca puteti
gasi pe cineva care ruleaza deja un server si este dispus sa va permita sa-l
folositi, aveti acces complet la caracteristicile sistemului MySQL.
Ce puteti astepta de la aceasta carte
Citind volumul de fata, puteti invata sa folositi sistemul MySQL in mod
eficient, astfel incat sa va puteti face treaba intr-un mod
mai productiv. Veti putea determina modul de intro¬ducere a informatiilor
dumneavoastra intr-o baza de date si veti invata sa formulati interogari
care sa va ofere raspunsuri la intrebari pe care doriti sa le puneti relativ
la acele date.
Nu trebuie sa fiti programator pentru a intelege sau pentru a folosi SQL.
Aceasta carte va va arata cum functioneaza sistemul. Dar, pentru a intelege
modul de utilizare adecvata a unei baze de date, nu este suficient sa cunosti
sintaxa SQL. Lucrarea pune accentul pe caracteristicile unice ale sistemului
MySQL si indica modul de utilizare a acestora. Alte carti se concentreaza asupra
limbajului SQL in general, respectiv asupra dialectului SQL al unui alt
SGBDR.
De asemenea, veti vedea care este modul de integrare al sistemului MySQL cu
alte instrumente. Cartea prezinta modul de utilizare a sistemului MySQL cu PHP
sau Perl pentru a genera pagini Web dinamice, create din rezultatele interogarilor
aplicate bazelor de date. Veti invata sa scrieti propriile dumneavoastra
programe care sa aiba acces la bazele de date MySQL. Toate acestea imbunatatesc
posibilitatile SQL de a satis¬face cerintele aplicatiilor dumneavoastra
particulare.
Daca veti fi responsabil cu administrarea unei instalari MySQL, aceasta carte
va va arata care sunt indatoririle dumneavoastra si modul de indeplinire
a acestora. Veti invata sa configurati conturi de utilizator, sa executati
copii de siguranta ale bazelor de date si sa luati masuri pentru a asigura securitatea
sitului dumneavoastra.
„Harta rutiera" a acestei carti
Lucrarea de fata este structurata in patru parti.
Partea I: Utilizarea generala a sistemului MySQL
• Introducere in MySQL si SQL. Discuta despre modul in care
MySQL va poate fi de folos si contine un manual general care prezinta programul
client interactiv MySQL si care trateaza elementele fundamentale ale limbajului
SQL.
» Lucrul cu date in MySQL. Discuta tipurile de coloane furnizate
de SQL pentru descrierea datelor dumneavoastra, proprietatile si dezavantajele
fiecarui tip, cand si cum sa utilizati aceste tipuri, modul de selectare
dintre tipuri similare, evaluarea expre¬siilor si conversia tipurilor.
• Sintaxa si utilizarea SQL in MySQL. Fiecare SGBDR important existent
in prezent intelege SQL, dar fiecare motor de baze de date implementeaza
un dialect SQL usor diferit. Acest capitol discuta despre SQL, cu accent asupra
acelor caracteristici dis¬tinctive ale sistemului MySQL. De asemenea, discuta
despre caracteristici prezente in alte sisteme de baze de date, dar inexistente
in SQL, precum si solutiile existente.
• Optimizarea interogarilor. Un mod mai eficient de rulare a interogarilor.
Partea a Il-a: Utilizarea interfetelor de programare ale sistemului MySQL
• Introducere in programarea MySQL. Discuta despre unele interfete
de programare a aplicatiilor disponibile sub MySQL si contine o comparatie generala
a interfetelor API pe care cartea le trateaza in detaliu.
• Interfata API MySQL pentru C. Modul de scriere a programelor C folosind
inter¬fata API furnizata de biblioteca client inclusa in distributia
MySQL.
• Interfata API pentru Perl DBI. Modul de scriere a scripturilor Perl
folosind modu¬lul DBI. Trateaza scripturile autonome si scripturile CGI
pentru programarea siturilor Web.
• Interfata API pentru PHP. Modul de utilizare a limbajului de scripting
PHP pentru a scrie pagini Web dinamice, care obtin acces la bazele de date MySQL.
Partea a III-a: Administrarea sistemului MySQL
• Introducere in administrarea sistemului MySQL. Prezinta indatoririle
unui admi¬nistrator de baze de date si notiunile pe care trebuie sa le cunoasteti
pentru a rula un sit performant.
• Catalogul de date MySQL. O examinare aprofundata a organizarii si continutului
catalogului de date, regiunea in care MySQL stocheaza bazele de date si
fisierele de stare.
• Administrarea generala a sistemului MySQL. Modul in care va puteti
asigura ca serverul dumneavoastra porneste, respectiv se opreste in mod
adecvat atunci cand sistemul dum¬neavoastra executa aceasta operatie.
De asemenea, include instructiuni pentru configurarea conturilor de utilizator
MySQL si discuta despre intretinerea fisierelor jurnal, despre strategiile
de creare a copiilor de siguranta, despre ajustarea serverelor si despre strategiile
de realizare a copiilor de siguranta, respectiv de refacere a bazelor de date.
• Securitate. Ceea ce trebuie sa stiti pentru a proteja instalarea sistemului
dumneavoas¬tra MySQL impotriva intrusilor, atat contra altor
utilizatori ai gazdei serverului, cat si a clientilor care se conecteaza
prin retea.
• intretinerea si repararea bazelor de date. Modul de a reduce posibilitatea
de aparitie a dezastrelor printr-o intretinere preventiva, precum si metodele
de a efectua refacerea in urma caderilor, daca dezastrele survin in
ciuda masurilor dumneavoastra de prevenire.
Partea a IV-a: Anexe
• Obtinerea si instalarea programelor. De unde sa va procurati principalele
instru¬mente descrise in carte si modul de instalare a acestora.
• Referinta de tipuri de coloane. Descrierea tipurilor de coloane MySQL.
• Referinta de operatori si functii. Descrierea operatorilor si a functiilor
care se pot folosi pentru a scrie expresii in instructiunile SQL.
• Referinta de sintaxa SQL. Descrierea fiecarei instructiuni SQL pe care
MySQL o poate intelege.
• Referinta de programe MySQL. Descrierea fiecarui program furnizat in
distributia MySQL.
• Referinta API C. Descrierea tipurilor de date si a functiilor din biblioteca
client C a sistemului MySQL.
• Referinta API Perl DBI. Descrierea metodelor si a atributelor furnizate
de modulul Perl DBI.
• Referinta API PHP. Descrieri ale functiilor furnizate de PHP pentru
suportul MySQL.
• Instrumente utile produse de terte parti. O succinta trecere in
revista a unora dintre instrumentele disponibile pentru a va ajuta sa utilizati
MySQL, cum sunt utilitarele de conversie a datelor sau utilitarele administrative.
• Furnizori de servicii Internet. Ce anume trebuie avut in vedere
atunci cand alegeti un ISP care furnizeaza, acces MySQL. Ce anume trebuie
avut in vedere atunci cand functionati ca furnizor de servicii Internet
care asigura clientilor servicii MySQL.
Cum sa cititi aceasta carte
Indiferent de portiunea din carte pe care o cititi la un moment dat, cel mai
bine este sa incercati exemplele pe masura ce parcurgeti cartea. Daca
MySQL nu este instalat in sis¬temul dumneavoastra, trebuie sa il
instalati sau sa rugati pe cineva sa il instaleze. Apoi, procurati-va
fisierele necesare pentru configurarea bazei de date demonstrative la care vom
face referire pe parcursul cartii. Anexa A, „Obtinerea si instalarea programelor",
va arata de unde va puteti procura toate acestea si contine instructiuni pentru
instalarea lor.
Daca nu aveti nici cele mai elementare notiuni privind MySQL sau SQL, incepeti
de la capitolul l, „Introducere in MySQL si SQL". Acest capitol
va ofera o introducere de tip manual care va prezinta fundamentele conceptelor
privind MySQL si SQL si va ofera cele necesare pentru a putea parcurge restul
cartii. Apoi, treceti la capitolul 2, „Lucrul cu date in MySQL",
respectiv capitolul 3, „Sintaxa si utilizarea SQL in MySQL",
pentru a descoperi modul de descriere si manipulare a datelor dumneavoastra,
astfel incat sa puteti exploata caracteristicile sistemului MySQL
pentru propriile dumneavoastra aplicatii.
Daca aveti unele notiuni de SQL, trebuie totusi sa cititi capitolele 2 si 3.
Implementarile SQL difera si veti dori sa stiti care sunt elementele distinctive
ale implementarii MySQL in raport cu alte implementari pe care, poate,
le cunoasteti.
Daca aveti experienta cu MySQL, dar aveti nevoie de mai multe informatii privind
detaliile de efectuare a anumitor operatii, puteti folosi cartea ca pe o referinta,
cautand subiectele dorite in functie de necesitati.
Daca sunteti interesat in a va scrie propriile dumneavoastra programe
pentru accesul la bazele de date MySQL, cititi capitolele referitoare la API,
incepand de la capitolul 5, „Introducere in programarea
MySQL". Daca doriti sa generati o interfata bazata pe Web la bazele dumneavoastra
de date pentru a facilita accesul la acestea sau, invers, pen¬tru a furniza
un back end de baze de date pentru situl dumneavoastra de Web in scopul
de a va imbunatati situl cu un continut dinamic, examinati capitolele
7, „Interfata API pentru Perl DBI", respectiv 8, „Interfata
API pentru PHP".
Daca evaluati MySQL pentru a-1 raporta la sistemul dumneavoastra curent de gestiune
a bazelor de date relationale, numeroase portiuni ale cartii va vor fi de ajutor.
Cititi capi-j tolele referitoare la tipurile de date si la sintaxa SQL din Partea
I pentru a compara' MySQL cu sistemul SQL cu care sunteti obisnuit, capitolele
de programare din Partea a Il-a daca aveti aplicatii personalizate, respectiv
capitolele despre administrare din Partea a III-a pentru a estima nivelul de
suport administrativ necesar unei instalari a sis¬temului MySQL. Aceste
informatii sunt de asemenea utile daca nu folositi in mod curent o baza
de date, dar efectuati o analiza comparativa a sistemului MySQL si a altor sisteme
de baze de date, in scopul de a alege unul din ele.
Daca doriti acces la MySQL si cautati un furnizor de servicii Internet (ISP)
care sa-1 ofere, vezi Anexa J, „Furnizori de servicii Internet",
pentru sugestii privind alegerea unui furnizor. De asemenea, aceasta anexa contine
sfaturi pentru furnizorii de servicii care doresc sa asigure MySQL pentru a-si
atrage noi clienti sau pentru a-i Servi mai bine pe clientii actuali.
Versiuni de programe tratate in aceasta carte
In momentul scrierii acestor randuri, versiunea curent stabila de MySQL
este seria de versiuni 3.22, iar seria 3.23 se afla intr-un proces de
dezvoltare activa. Cartea se ocupa de ambele serii. Acolo unde anumite caracteristici
nu exista in versiunile anterioare (inclusiv seria 3.21), acest lucru
este semnalat.
Pentru celelalte pachete principale de programe discutate aici, versiunile recente
sunt suficiente pentru exemplele date in carte. Versiunile curente sunt:
Pachet Versiune
PerlDBI 1.13
Driver Perl DBI pentru MySQL l .22.xx (stabila), l .23.xx (beta)
PHP 3.0.12 (4.0 se afla la orizont)
Apache 1.3.9
CGLpm 2.56
Toate programele discutate in aceasta carte sunt disponibile din Internet.
Anexa A furnizeaza instructiuni pentru incarcarea in sistemul dumneavoastra
a sistemului MySQL, a suportului pentru modulul Perl DBI, a limbajului PHP,
a serverului Apache si a limbajului CGI.pm. Aceasta anexa mai contine instructiuni
pentru procurarea bazei de date demonstrative folosite in exemplele din
carte, precum si a programelor exemplu create in capitolele de programare.
Conventii folosite in carte
Conventiile tipografice folosite sunt urmatoarele:
Corpul de litera monospatiat indica nume de gazde, nume de fisiere, nume de
cataloage, comenzi, optiuni si situri Web.
Acolo unde comenzile sunt indicate atunci cand le introduceti, caracterele
aldine indica textul pe care il introduceti. Promptul indica modul de
rulare a comenzii:
% Comanda este rulata ca utilizator UNIX obisnuit
# Comanda este rulata ca utilizator UNIX radacina (root)
C: \> Comanda este rulata in Windows
Corpul de litera cu caractere italice din comenzi indica locul unde trebuie
sa introduceti o valoare la libera dumneavoastra alegere.
in instructiunile SQL, cuvintele cheie si numele functiilor SQL sunt scrise
cu caractere majuscule. Numele bazelor de date, ale tabelelor si ale coloanelor
sunt scrise cu carac¬tere minuscule, in descrierile sintactice, parantezele
drepte (a i) indica informatii optionale.
Resurse suplimentare
Aceasta carte incearca sa va spuna practic tot ceea ce trebuie sa stiti
despre MySQL. Dar daca aveti o intrebare al carei raspuns nu se gaseste
in carte, incotro trebuie sa va indreptati?
intre resursele utile sunt incluse siturile de Web pentru programele in
raport cu care aveti nevoie de ajutor:
Pachet Sit Web principal
MySQL https: //www.mysql.com/doc.html
Perl DBI https://www.symbolstone.org/technology/perl/DBI/
PHP https://www.php.net/
Apache https://www.apache.org/
CGI.pm https://stein/cshl.org/WV\IW/software/CGI/
Utilizarea manualului electronic de referinta MySQL
Nu uitati sa examinati ocazional manualul electronic de referinta MySQL pentru
informatii privind cele mai recente imbunatatiri referitoare la MySQL.
Manualul va fi modificat continuu, pe masura aparitiei de noi schimbari.
Aceste siruri contin indicatori spre diferite forme de informatie, cum ar fi
manualele de referinta, liste cu intrebari frecvente (FAQ) si liste de
corespondenta:
* Manuale de referinta
Principala documentatie inclusa chiar in SQL este manualul de referinta.
Acesta este disponibil in numeroase formate, inclusiv o versiune electronica.
Manualul PHP este disponibil, de asemenea, in mai multe versiuni,- totusi,
versiunea electronica tinde sa fie mai completa decat versiunea in
format tiparit.
Modulul DBI si driverul sau specific pentru MySQL au o documentatie separata.
Documentul DBI contine concepte de ordin general. Documentul driverului MySQL
discuta caracteristici specifice sistemului MySQL.
* intrebari frecvente (FAQ)
Exista liste FAQ pentru DBI, PHP si Apache.
• Liste de corespondenta
Exista numeroase liste de corespondenta orientate spre programele discutate
in aceasta) carte. Este o idee buna sa va abonati la cele care se refera
la instrumentele pe care doritj sa Ie utilizati. Va rugam sa nu uitati, totusi,
ca trebuie sa invatati sa folositi arhiveld (pentru listele care dispun
de asemenea arhive). Daca sunteti incepator in utilizarea unui instrument,
veti avea multe intrebari care au fost puse (si la care s-a raspuns) de
un milion de ori, deci nu aveti nici un motiv sa intrebati din nou daca
puteti gasi raspunsul printr-o cautare rapida prin arhive.
Instructiunile pentru a va abona la listele de corespondenta variaza, dar puteti
gasi informatii la adresele URL prezentate aici:
Pachet Instructiuni pentru lista de corespondenta
MySQL https://www.mysql.com/doc.html
Perl DBI https://www.symbolstone.org/technology/perl/DBI/
PHP https://www.php.net/support.php3
Apache https://www.apache.org/foundation/mailinglists.html
• Situri Web subordonate ,
in afara siturilor Web oficiale, unele dintre instrumentele discutate
aici dispun de siturj subordonate, care furnizeaza informatii suplimentare,
cum ar fi cod sursa demonstra¬tiv sau articole centrate pe anumite subiecte.
Cautati o regiune "Links" (legaturi) diij situl oficial pe care il
vizitati.