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.