Aplicatie Enterprise
LUCRARE DE DIPLOMĂ
BIBLIOTECĂ VIRTUALĂ
CUPRINS
Capitolul 1 – Introducere
Tema proiectului
Notiune general
Ce este o aplicație enterprise
Evoluția aplicațiilor de tip enterprise
Capitolul 2 – Tehnologii utilizate
Despre PHP
O scurtă istorie a PHP-ului
Instalarea PHP
Baze de date in PHP
Utilizarea PHP pentru a accesa o baza de date
Conectarea la baza de date
PHP Superglobals
Introducere în mysql și sql
De ce să optez pentru MySQL?
Capitolul 3 – Descrierea lucrării
INTRODUCERE
Scopul acestei lucrări de diplomă constă în realizarea unei aplicații Web pentru monitorizarea și îmbunătățirea căutarii si a stocării de cărti in format electronic. Lucrarea își propune realizarea unei librării virtuale menită să vină în ajutorul studenților,cadrelor didactice și persoanelor pasionate de citit în ceea ce privește actualizarea și accesarea informației în cadrul unei librării.
Se poate spune, pe drept cuvânt că trăim într-o societate informatizată. În zilelenoastre, întâlnim calculatoare peste tot, de la micul magazin din colț, care-și ține evidențelesale cu ajutorul unui calculator și până la ghișeul la care plătim abonamentele de telefonie,cablu TV, Internet, la examenele pentru permisul de conducere sau alte examene pentrudiferite domenii oricare ar fii acestea și multe alte. Peste tot sunt calculatoare, legate eventualîntre ele și formând astfel rețele de calculatoare. Toate acestea se datorează faptului că nedăm seama din ce în ce mai mult că sistemele de calcul, calculatoarele ne ușurează munca șiviața prin apariția lor.
Să ne gândim puțin cât de mult s-a schimbat lumea de când au apărut calculatoarele.Înaintea apariției calculatoarelor orice tip de evidență era înregistrată pe hârtie, scrise cumâna sau în cel mai bun caz scrise cu dactilograful. Marele dezavantaj al acestei metode eracă acele hârtii se deteriorau cu timpul, sau pur și simplu se pierdeau. Apariția calculatoruluireprezenta o mare avansare în acest domeniu, dar totodată și în alte domenii.
Oamenii nu mai erau nevoiți să-și țină evidențele pe hârtii, deoarece pur și simpluintroduceau datele în calculator și le salvau pe discul magnetic al acestuia. Și așa datele erauîntr-un loc sigur, securizat, unde nu se deteriorau, nici nu se pierdeau și accesul la ele îlaveau doar persoanele care erau desemnate pentru utilizare si stricta securitate a disculuimagnetic.
Capitolul 1 – Introducere reprezintă partea introductivă a lucrării, prezentarea domeniului din care face parte proiectul, a temei propriu-zise și structurarea aplicației.
Capitolul 2 – Tehnologiile utilizate reprezintă o scurtă introducere a principalelor noțiuni legate de internet. Sunt explicate noțiuni ca Internet, protocoale, aplicații pentru internet, DNS, intrenet si extranet, servere web și aplicații web, pagini web statice si dinamice, limbaje de markup și scripting, HTML, JavaScript. Limbajul PHP, este prezentat prin descrierea principalelor noțiuni legate de acest limbaj.
Descrierea modului de includere a PHP în cadrul HTML, sunt prezentate tipurile de date pe care acest limbaj le suportă si tipurile de variabile care pot fi utilizate. Noțiunile de bază ale bazelor de date relaționare. Este prezentat modul de utilizare a MySQL, conectarea și deconectarea de la server, crearea tabelelor și introducerea interogărilor.
Capitolul 3 – Specificațiile aplicației prezintă lucrarea. Prezentarea generală a aplicației, interfața cu utilizatorul, și modalitatea de stocare a informațiilor și a datelor.
Tema proiectului
Omenirea prin evoluția din domeniul informatic,care pe zi ce trece se imbunătățește viataomului și cei tinerii devin batrâni, așa este și cu calculatoarele care au aparut era un număr relativ mic, dar acum oriunde te-ai afla ai sa vezi calculatoare pretutindeni care ii ajutăpe oameni să lucreaze pe ele și să le ușureze cu mult munca pe care o depuneam acum 20 de ani. Orice instituție a unui stat este dotată cu calculatore și diferite programe pe care ele lucrează.
Frecventând des libraria de la mine din oraș am observant ca in lipsa unei baze de date a cărților care sunt în libraria orașului, de cele mai multe ori este foarte greu sa găsești carte ape care o cauți. Mi-a venit ideea creări unei librării virtuale pe care sa o poți accesa online, astfel ușurând munca librarilor, deoarece au acces rapid la informații si o bază de date pe categorii și ordine alfabetică dar și munca clienților librăriei respective deoarece pot accesa de acasă site-ul online pentru a verifica disponibilitatea unei anume cărți.
Aplicația Librărie Virtuală este o soluție ideală pentru a ușura munca ambelor părti implicate. Această versiune a aplicației Librărie Virtuala este destinată oricărei librării care dorește usurarea efortului depus, dar și creșterea satisfacției dar și numărului clienților.
Site-ul este structurat în 2 părți diferite, pentru 2 tipuri de utilizatori diferiți :
Administrator – se ocupă de adăugarea/ștergea in baza de date a cărtilor si actualizarea continua a bazei de date
Clienții – are acces la vizualizarea cărtilor din baza de date, și disponibilitatea lor
1.2 Noțiune generală[1]
O aplicație web este o aplicație găzduită de un server central și care este accesată de utilizatori într-o rețea, cum ar fi internet sau intranet, cu scopul de a li se oferi o gama largă de servicii. Termenul poate însemna, de asemenea, o aplicație software de calculator, care este codat într-un limbaj de programare suportat de un navigator web (cum ar fi JavaScript, combinat cu un limbaj de marcare, precum este HTML). Astfel, o aplicație web poate fi văzută ca o colecție de documente HTML / XML, componente web (applet-uri, servlet-uri și pagini JSP), și alte resurse, reunite într-o structura de directoare sau într-un format arhivat cunoscut ca un fișier WAR .
Aplicații web sunt, de obicei, trunchiate în bucăți logice numite "niveluri", în care fiecarui nivel i se atribuie un rol. Aplicații tradiționale constau doar dintr-un nivel, care se află pe o mașină client, însă aplicațiile web pretează la o abordare de n-niveluri. Deși mai multe variante sunt posibile, structura cea mai comună este aplicarea pe trei niveluri. În forma sa cea mai comună, cele trei niveluri sunt numite prezentare, aplicare și depozitare. Un navigator web este primul nivel (prezentare), un motor ce utilizează tehnologii web pentru generarea de pagini dinamice (cum ar fi ASP, ASP.NET, CGI, ColdFusion, JSP / Java, PHP, Perl, Python, Ruby on Rails sau Struts2) este nivelul de mijloc (logica aplicației), și o bază de date este al treilea nivel (de depozitare). Browser-ul web trimite cererile către nivelul de mijloc, care este capabil să le proceseze, efectuând o serie de interogări și actualizări în baza de date și , ca urmare, va genera o interfață de utilizator (pagini HTML sau pagini JSP).
Pentru aplicații mai complexe, o soluție benefică și eficientă este utilizarea unei abordări pe n-niveluri, în care cel mai mare beneficiu îl reprezintă trunchierea nivelului logic al aplicației într-o structură prevăzută cu mai multe diviziuni logice. Un alt beneficiu poate fi adăugarea unui nivel de integrare, care separă nivelul de depozitare de restul nivelurilor, oferind o modalitate ușoară de accesare a datelor prin interfața de utilizator.
1.3 Ce este o aplicație enterprise[2]
Termenul entreprise se referă la o organizație de persoane fizice sau juridice, care lucrează împreună pentru atingerea unor obiective comune. Organizațiile pot fi clasificate în organizații mari și mici, pentru-profit si non-profit, guvernamentale și neguvernamentale.
Întreprinderile au în general o suită de nevoi comune, cum ar fi schimbul de informații și de prelucrare, de gestionare a activelor și de urmărire, de planificare, de gestionare a datelor ale clientului, protecția de cunoștințe de afaceri și așa mai departe. Termenul de aplicație enterprise este folosit pentru a se referi în ansamblu la toate aplicațiile software care sunt implicate în sprijinirea acestor elemente comune în cadrul unei întreprinderi.
Fig 1.2.1 [2]
Figura arată o structură de configurare software la nivel de întreprindere, care este în esență o colecție de diverse sisteme. Software-ul întreprinderii este organizat din diferite funcții din cadrul organizației, cum ar vânzări, resurse umane și altele. Un firewall este prevăzut pentru a proteja datele întreprinderii de accesul neautorizat. Unele sisteme software, cum ar fi cele pentru gestiunea operațiilor de vânzare și inventariere, sunt separate în entități, văzute drept “insule” ale software-ului întreprinderii.
Aplicațiile la nivel de întreprindere necesită, de obicei, unele capacități comune, cum ar fi securitatea serviciilor pentru a proteja cunoștințele, servicii de tranzacții pentru a garanta integritatea datelor, și așa mai departe. Fiecare dintre acestea necesită abilități și cunoștințe specifice. De exemplu, serviciile de tranzacție necesită strategii pentru recuperare a datelor în cazul unor eșecuri, cum ar fi situația în care se dorește accesarea de date de mai mulți utilizatori, asigurând coerența între tranzacțiile.
Acestea sunt doar câteva dintre cele mai comune probleme care trebuie abordate atunci când se dorește a se dezvolta o aplicație de tip enterprise.
1.4 Evoluția aplicațiilor de tip enterprise[2]
Nu cu mult timp în urmă, mainframe-urile au condus lumea, și toate software-urile au fost legate de această entitate centrală.
Avantajele unui astfel de abordări centralizate a inclus simplitatea de a face legătura între un singur sistem și toate nevoile pe care acesta urma să le proceseze. Dezavantajul acestei abordări consta în limitările fizice ale scalabilitații, în puncte unice de eșec, în accesibilitate limitată de la distanță.
În software-ul, un nivel este în primul rând o abstracție și scopul său principal este de a ne ajuta să înțelegem arhitectura asociată cu o aplicație specifică prin separarea software-ului pe niveluri distincte, logice.
Aplicațiile cu abordare centralizată combinau partea de prezentare, logica aplicației și datele într-o arhitectură cu un singur nivel logic. Deoarece toate aspectele în cadrul aplicației se contopeau una cu alta, partea de prezentare era legată de logicii de business, iar logicii de businessavea o profundă cunoaștere a structurii de date, orice modificare adusă avea un efect de undă, ceea ce însemna revalidarea tuturor aspecte. Un alt dezavantaj a fost limitările impuse reutilizarii logicii de business sau capabilității de acces la date.
Abordarea client-server atenua unele dintre aceste probleme majore, prin separarea părții de prezentare de logica de business, constituind un nou nivel al aplicației. Cu toate acestea, abordare pe două niveluri a introdus unele noi probleme proprii, de exemplu, actualizarea concurentă în cazul unui număr mare de clienți.
Fig 1.3.1 [2]
Abordarea pe n-niveluri încearcă să realizeze un echilibru mai bun în ce privește separarea prezentării de logica aplicației și logica aplicației de baza de date.
Termenul n-straturi (spre deosebire de trei niveluri) este reprezentativ prin faptul că software-ul nu este limitat doar la trei niveluri, și poate fi și, într-adevăr, este organizat în straturile mai profunde pentru a satisface nevoi specifice.
Trebuie remarcat faptul că fiecare nivel, într-o arhitectură pe n-niveluri nu implică o bucată separată de hardware, cu toate că este cu siguranță posibil. Un nivel este, mai presus de toate, o separare de preocupări în cadrul aplicației în sine.
Câteva avantaje și beneficii oferite de arhitectura pe n-niveluri sunt:
Dezvoltarea rapidă și cu costul mai mic: Noi aplicații pot fi dezvoltate
mai repede prin reutilizarea logicii de business și a componentelor de acces la date.
Impactul schimbărilor este izolat: Atâta timp cât interfețe rămân neschimbate, modificări cu privire la un nivel care nu afectează componentele pe un alt nivel.
Modificările sunt mai ușor de gestionat: De exemplu, este ușor de înlocuit o versiune a unui componente ce ține de logica aplicației cu unul nou, în cazul în care acesta își are reședința pe nivelul logicii de business(pe una sau câteva servere dedicate).
CAPITOLUL 2
TEHNOLOGII UTILIZATE
O aplicație web este o aplicație client-server care cuprinde 2 părți: partea de front-end (client) și partea de back-end (server).
Modelul client/server este o arhitectură ce descrie relația dintre 2 programe care se află fie pe același calculator, fie pe calculatoare diferite. Clientul face o cerere la server, iar serverul procesează cererea și returnează un răspuns.
În cazul aplicațiilor web, browser-ul (navigatorul) este clientul care trimite cereri unui server web. Un client poate solicita pagini statice, care nu necesită niciun fel de procesare pe partea de server, sau pagini dinamice, care cuprind script-uri scrise într-un anumit limbaj de programare pe care serverul web le interpretază și le trimite înapoi clientului sub formă de pagină statică.
Într-o aplicație web, partea de client (HTML, JavaScript) se ocupă cu prezentarea informațiilor, iar partea de server (PHP, ASP, Perl) se ocupă cu stocarea și procesarea acestora.
2.1 Prezentarea php
PHP este limbajul ideal pentru construirea de pagini web dinamice. Este ușor de învațat, open-source, poate fi rulat pe mai multe platforme și se poate conecta la mai multe tipuri de baze de date. Cel mai important aspect al limbajului este însa posibilitatea de a fi imbricat cu cod HTML. Putem astfel crea pagini HTML statice si din loc in loc, acolo unde este nevoie, să introducem dinamism cu ajutorul PHP.
Limbajul PHP s-a "născut" in 1994 din nevoia lui Rasmus Lerdorf de a afla câte persoane îi viziteaza CV-ul online. El a denumit setul de scripturi create PHP, acronimul pentru Personal Home Page. Pe parcursul urmatorilor trei ani limbajul a evoluat dar adevaratul succes a început să îl cunoasca de când Zeev Suraski si Andi Gutmans au rescris motorul PHP de la cap la coadă, motor care poartă din versiunea 4 a PHP numele Zend, o combinație de litere din prenumele creatorilor săi: Zeev si Andi.
Fiind open-source, PHP beneficiază de suport activ din partea comunitații online, acesta fiind și motivul creșterii explozive a numarului site-urilor bazate pe PHP.
Interpretorul PHP este cel mai cunoscut limbaj de scripting folosit în acest moment pentru crearea site-urilor Web interactive. Denumirea este un "acronim recursiv" pentru Hypertext PreProcessor. Diferența esențiala fata de alte limbaje de scripting (gen JavaScript) este faptul că PHP este un interpretor server-side (operatiile sunt executate de catre server și nu pe calculatorul utilizatorului). Pentru a putea testa pagini PHP aveți nevoie de un server de web (Apache) și de pachetul PHP instalat.
PHP permite folosirea unor elemente specifice limbajelor de programare. Ieșirea standard a script-ului PHP devine intrarea standard pentru programul de navigare care vizualizeaza pagina. Așadar, la ieșirea standard poate fi scris (de exemplu, prin intermediul comenzii echo) orice tip de cod HTML, acesta fiind interpretat de cștre borwser.
Pe lângă manipularea conținutului paginilor de web, PHP poate trimite headere HTTP pentru autentificare, seta cookie-uri sau redirecționa utilizatorii. Mai mult, cu ajutorul bibliotecilor externe de funcții poate parsa fisiere XML, crea și manipula imagini, animatii Shokwave Flash, PDF-uri sau se poate conecta la un server de mail, iar acestea sunt doar câtevă din funcțiile pe care le poate îndeplini.
Interpretorul PHP parcurge documentul accesat până în momentul în care întâlnește un marcaj de deschidere care indica faptul că textul care urmează trebuie interpretat ca fiind cod PHP. în continuare, textul este interpretat ca fiind cod PHP până în momentul în care este intalnit marcajul de închidere. Intreg textul care nu este interpretat ca fiind cod PHP este furnizat la ieșire în forma în care a fost primit ca intrare de către interpretor. Există mai multe marcaje care indica inceperea unei secvente de cod PHP, dar doar doua dintre ele sunt folosite de obicei. Dacă dorim ca documentul să respecte specificatiile XML, atunci singura posibilitate de inserare a codului PHP este folosirea unei secvențe de tipul:
<?php
//cod PHP
?>
Cea dea doua posibilitate esteutilizarea marcajului <SCRIPT> într-o maniera asemanatoare celei folosite pentru includerea de script-uri JavaScript. Sintaxa este urmatoarea:
<SCRIPT language = "php">
//cod PHP
</SCRIPT>
Exista alte doua posibilități, dar acestea sunt folosite rar, în situații particulare.
Este permisa "iesirea" și "intrarea" în "modul PHP" de oricâte ori este necesar în pagina. Aceasta este util când se lucreaza cu texte de mari dimensiuni.
Pentru ca instrucțiunile PHP sa fie interpretate corect, acestea trebuiesc separate prin caracterul ';'.
în PHP, comentariile pot fi inserate folosin sintaxele din C, C++ si shell-urile Unix. Apariția secvenței de caractere '//' sau a caracterului '#' indică faptul că restul liniei reprezinta un comentariu. Pentru a insera comentarii pe mai multe linii, acestea trebuie delimitate de secventa '/*' la inceput si de secventa '*/' la sfarșit.
Exemplu de cod sursă php
PHP este un simplu limbaj încă puternic proiectat pentru crearea de conținut HTML. Acest capitol se referă fundal esențial de limba PHP. Descrie natura și istoria PHP, care ruleaza pe platforme, și cum să-l configurați. Acest capitol se încheie prin care vă arată PHP în acțiune, cu o descriere scurtă a mai multor programe PHP care ilustrează sarcini comune, cum ar fi prelucrarea datelor formular, interacțiunea cu o baza de date, și crearea de grafică.
PHP poate fi folosit în trei moduri principale:
Scripting server-side
PHP a fost proiectat inițial pentru a crea conținut web dinamic, și este încă cel mai potrivit pentru această sarcină. Pentru a genera HTML, aveți nevoie de parser-ul PHP și un server web prin care să trimită documentele codificate. PHP a devenit, de asemenea, popular pentru generarea documentelor XML, grafica, animatii Flash, fișiere PDF, și atât de mult.
Command-line scripting
PHP poate rula scripturi din linia de comandă, la fel ca Perl, awk, sau shell Unix.S-ar putea folosi scripturile de linie de comandă pentru sarcini de administrare sistem, cum ar fibackup și log parsing; chiar unele script-uri de tip job cron se poate face în acest fel(sarcini PHP nonvisual).
Aplicatii GUI pe partea de client
Folosind PHP-GTK, puteți scrie, aplicații cross-platform de tip GUI în PHP. În această carte, cu toate acestea, ne vom concentra pe primul element: folosind PHP pentru a dezvolta dynamic conținut web.
PHP ruleaza pe toate sistemele de operare majore, de la variante Unix, inclusiv Linux, FreeBSD, Ubuntu, Debian, și Solaris Windows și Mac OS X. Acesta poate fi utilizat cu toate conducere servere de web, inclusiv Apache, Microsoft IIS, iar serverele Netscape / iPlanet.
Limbajul în sine este extrem de flexibil. De exemplu, nu sunt limitate la a scoate doar HTML sau alte fișiere, orice alte formate de documente text pot fi generate. PHP are construită o platformă suport pentru generarea de fișiere PDF, GIF, JPEG, PNG și imagini și filme Flash.
Una dintre caracteristicile cele mai importante PHP este suportul amplu pentru baze de date. PHP suporta toate bazele de date importante (inclusiv MySQL, PostgreSQL, Oracle, Sybase, MS-SQL, DB2, și baze de date ODBC-conforme), și chiar multe altele obscure. Chiar mai mult baze de date recente NoSQL stil, cum ar fi SQLite și MongoDB sunt de asemenea suportate. Cu PHP, crearea de pagini web cu conținut dinamic dintr-o bază de date este remarcabil de simplu.
În cele din urmă, PHP oferă o bibliotecă de cod PHP pentru a efectua sarcini comune, cum ar fi baze de date abstracție, eroare de manipulare, și așa mai departe, cu extensia PHP Extension and Application Repository (PEAR). PEAR este un sistem cadru și de distribuție pentru componente reutilizabile PHP.
Afisarea mesajului “Hello World” folosind php
2.2. O scurtă istorie a PHP-ului
Rasmus Lerdorf este primul care a conceput PHP în 1994, dar PHP pe care oamenii îl folosesc astăzi este destul de diferit de versiunea inițială. Pentru a intelege cum ajuns PHP unde este astăzi, este util să se cunoască evoluția istorică a limbii. PHP însemna inițial Personal Home Page.[4] PHP a fost început în 1994 ca o extensie a limbajului server-side Perl, și apoi ca o serie de CGI-uri compilate de către Rasmus Lerdorf, pentru a genera un curriculum vitae și pentru a urmări numărul de vizitatori ai unui site. Apoi a evoluat în PHP/FI 2.0, dar proiectul open-source a început să ia amploare după ce Zeev Suraski și Andi Gutmans, de la Technion au lansat o nouă versiune a interpretorului PHP în vara anului 1998, această versiune primind numele de PHP 3.0. Tot ei au schimbat și numele în acronimul recursiv de acum, până atunci PHP fiind cunoscut ca Personal Home Page Tools. Apoi Suraski și Gutmans au rescris baza limbajului, producând astfel și Zend Engine în 1999. În mai 2000 a fost lansat PHP 4.0, având la bază Zend Engine 1.0.
2.3 Instalarea PHP
După cum a fost menționat mai sus, PHP este disponibil pentru mai multe sisteme de operare și platforme. Din când în când, poate, de asemenea, doriți să schimbați modul în care PHP este configurat. Pentru a face asta va trebui să modificați fișierul de configurare PHP și să reporniți serverul de Apache. De fiecare dată când se va face o schimbare de mediu PHP, va trebui să reporniți Apache Server pentru ca aceste modificări să intre în vigoare.
Setările de configurare PHP sunt menținute într-un fișier numit php.ini. Setările din acest fișier controlează comportamentul caracteristici PHP, cum ar fi manipularea sesiunii și prelucrarea formei. Capitolele ulterioare se referă la unele dintre opțiunile php.ini, dar, în general codul în această carte nu necesită o configurație personalizată. vezihttp://php.net/manual/configuration.file.php pentru mai multe informații cu privire la configurația php.ini.
2.4Baze de date în php
PHP are suport pentru peste 20 de baze de date, inclusiv cele mai populare comerciale și soiuri open source. Sistemele de baze de date relaționale, cum ar fi MySQL, PostgreSQL, și Oracle sunt coloana vertebrală a majorității site-uri dinamice moderne. În acestea sunt stocate shopping-cart informații, istorii de cumpărare, recenzii la produse, informații de utilizator, credit numere de card, și, uneori, chiar pagini web înșiși.
Acest capitol se referă la modul de a accesa bazele de date de la PHP. Ne concentrăm pe PHP încorporat. Obiectele de date (sau DOP) sistem, care vă permite să utilizați aceleași funcții pentru a accesa orice baze de date, mai degrabă decât pe extensiile de baze de date specifice, nenumărate. În acest capitol, veți învăța cum să-i aducă date din baza de date, a stoca date în baza de date, și mâner erori. Ne termina cu o aplicație eșantion care arată cum să pună diverse tehnici de baze de date în acțiune.
2.5 Utilizarea PHP pentru a accesa o baza de date
Există două moduri de a accesa bazele de date de la PHP. Una este de a utiliza o bază de date specific extensiei; cealaltă este de a utiliza libraria PDO care reprezinta o bază de date independentă (PHP Data Objects) bibliotecă. Există avantaje și dezavantaje pentru fiecare abordare.
Dacă utilizați o extensie a bazei de date specifice, codul este strâns legat de baza de date pe care o utilizați. De exemplu, numele de funcție a extensiei MySQL, parametrii, manipularea erorilor, și așa mai departe sunt complet diferite de cele ale altor extensii de baze de date.Dacă doriți să mutați baza de date din MySQL în PostgreSQL, se vor implica modificări semnificative în codul sursa. PDO, pe de altă parte, ascunde baze de date specific Funcțiile de la tine, cu un strat de abstractizare, deci deplasarea între sistemele de baze de date poate fi la fel de simplu ca schimbarea o linie de program sau fișier php.ini.
Portabilitatea unui strat de abstractizare ca biblioteca PDO vine cu un preț, cu toate acestea, cum codul pe care-l folosește, de obicei,este un pic mai lent decât un cod care foloseste o extensie a bazei de date specific.
Țineți minte că un strat de abstractizare nu face absolut nimic atunci când vine vorba de a ne asigura că actualele interogări SQL sunt portabile. Dacă cererea dumneavoastră utilizează nici un fel de nongeneric SQL, va trebui să depunem o munca semnificativă pentru a converti întrebările dumneavoastră de la obaze de date la alta. Ne vom uita usurati pentru scurt timp la ambele abordări ale interfețelor de baze de date în acest capitol și apoi o să studiem și metode alternative pentru a gestiona conținutul dynamic pentru Web.
2.6 Conectarea la baza de date
De câte ori vom lucra cu MySQL va trebui să ne conectam la baza de date folosind o anumită sintaxa. Vom salva această secvență de cod cu numele conexiune.php putând fi folosita ulterior în mai multe scripturi utilizand funcția include().
/* urmeaza fiesierul conexiune.php */
<?php
$hostname="localhost";
$username="root";
$password="pass";
$database="test";
$conexiune=mysql_connect($hostname,$username,$password)
or die ("Nu ma pot conecta la baza de date");
$bazadate=mysql_select_db($database,$conexiune)
or die ("Nu gasesc baza de date");
?>
mysql_connect() este funcția prin care ne conectăm la baza de date cu urmatorii paramatrii: numele serverului, nume utilizator și parolă pentru conectarea la baza de date. Variabila $conexiune va avea o valoarea TRUE sau FALSE funcție de rezultatul conectării la serverul MySQL folosind functia mysql_connect(), iar în cazul eșuarii va afisa mesajul conținut de constructia die().
mysql_select_db este funcția care stabilește baza de date la care ne vom conecta, având ca parametrii numele bazei de date și identificatorul de acces la conexiunea către serverul MySQL. În mod similar variabila $bazadate folosind funcția mysql_select_db va afișa în cazul negăsirii bazei de date mesajul conținut de die.
Puteți modifica variabilele din fișierul conexiune.php in funcție de configurările bazei de date:
$hostname=adresa serverului, de cele mai multe ori este localhost
$username=username-ul de conectare la baza de date
$password= parola de conectare la baza de date
$database=numele bazei de date
După ce operațiile dorite au fost executate cu baza de date va trebui să inchidem conexiunea folosind funcția mysql_close() având ca argument datele de acces la serverul MySQL.
2.7 PHP Superglobals
$GLOBALS -Conține o referință la fiecare variabilă care este în mod curent valabilă înscopul global al script-ului. Cheile acestui șir sunt numele variabilelor globale.
$_SERVER – Reprezintă variabilele setate de serverul de web sau legate direct de mediul deexecuție al scriptului curent.
$_GET – Reprezintă variabilele oferite scritpt-ului direct prin HTTP GET. Analog vechiuluișir $HTTP_GET_VARS (care încă este valabil, dar depreciat).$_POST – Reprezintă variabilele oferite scritpului direct prin HTTP POST. Analog vechiuluișir
$HTTP_POST_VARS (care încă este valabil, dar depreciat).
$_COOKIE – Reprezintă variabilele oferite scritpului direct prin HTTP. Analog vechiului șir
$HTTP_COOKIE_VARS (care încă este valabil, dar depreciat).
$_FILES – Reprezintă variabilele oferite scritpului prin upload-ul de fișiere folosind modulPOST din HTTP. Analog vechiului șir
$HTTP_POST_FILES (care încă este valabil, dar depreciat).
$_ENV – Reprezintă variabilele oferite scritpt-ului prin mediu. Analog vechiului șir
$HTTP_ENV_VARS (care încă este valabil, dar depreciat).
$_REQUEST – Reprezintă variabilele oferite scritpt-ului prin mecanismele de input GET,POST, și COOKIE, deci care nu pot fi de încredere.
$_SESSION – Reprezintă variabilele registrate unei sesiuni a script-ului. Analog vechiului șir
$HTTP_SESSION_VARS (care încă este valabil, dar depreciat).
2.7Introducere în mysql și sql
Un sistem de baze de date este, în esență, o modalitate de a gestiona liste cu informații.
Informațiile pot proveni dintr-o varietate de surse. De exemplu, pot reprezenta date de cercetare, înregistrări de afaceri, cereri ale clienților, statistici sportive, rapoarte de vânzări, înregistrări de personal sau notele unor elevi.
Cu mai bine de zece milioane de instalații, MySQL este probabil cel mai popular sistem de management pentru servere de web. Dezvoltat în mijlocul anilor 1990, este acum o tehnologie matură care întărește multe din cele mai vizitate destinații de pe Internet.
Un motiv pentru succesul acestuia trebuie să fie faptul că, la fel ca PHP, este libertatea de foloșință. Dar este, de asemenea, extrem de puternic și extrem de rapid, se poate rula chiar și pe cele mai de bază hardware, și abia pune o adâncitură în resursele de system.
MySQL este, de asemenea, extrem de scalabil, ceea ce înseamnă că poate crește cu site-ul tau. De fapt, într-o comparație a mai multor baze de date de eWEEK, MySQL si Oracle se află la egalitate, amândouă din punct de vedere al celei mai bune performanțe.
2.8 De ce să optez pentru MySQL?
Dacă sunteți în căutarea unui sistem gratuit sau necostisitor de gestiune a bazelor de date, puteți alege din mai multe opțiuni: MySQL, Microsoft SQL, PostgreSQL, ș.a.
Când comparați MySQL cu alte sisteme de baze de date, gândiți-vă la ceea ce este cel mai important pentru dumneavoastră și anume: performanță, suport, caracteristici (conforme cu SQL, extensii etc.), condiții și restricții de licențiere, preț. Toate acestea constituie factori care trebuie luați în considerare.
• Viteză. MySQL este rapid. Programatorii pretind că MySQL este cel mai rapid sistem de baze de date pe care îl puteți găsi.
• Ușurință în utilizare. MySQL este un sistem de baze de date cu performanțe ridicate, dar relativ simplu, a cărui configurare și administrare sunt mult mai simple decât în cazul sistemelor mai mari.
• Cost. MySQL este gratuit pentru majoritatea utilizărilor interne.
• Suport pentru limbaje de interogare. MySQL înțelege SQL (Structured Query Language – limbaj de interogare structurat), limbajul preferat al tuturor sistemelor moderne de baze de date. De asemenea, puteți avea acces la MySQL folosind aplicații care acceptă ODBC (Open Database Connectivity), un protocol de comunicație cu bazele de date creat de Microsoft.
• Caracteristici. La server se pot conecta mai mulți clienți simultan. Clienții pot folosi mai multe baze de date simultan. Puteți obține acces la MySQL în mod interactiv, folosind numeroase interfețe care vă permit să introduceți interogări și să vizualizați rezultate: clienți în linie de comandă, browsere Web sau clienți X Window System.
MySQL Control Center sau MySQLCC este o platformă independentă de administrare GUI a clienților pentru servere de baze de date MySQL.
• Conectivitate și securitate. MySQL poate fi folosit integral în rețele, iar bazele de date sunt accesibile de oriunde din Internet, deci vă puteți partaja datele cu oricine, oriunde. Dar MySQL are controlul accesului, astfel încât persoanele care nu au dreptul să vă citească datele nu vor avea această posibilitate.
• Portabilitate. MySQL rulează pe numeroase varietăți de UNIX, precum și pe alte sisteme non-UNIX, ca Windows și OS/2. O bună parte din programarea cu MySQL are loc pe sisteme Linux ieftine. MySQL rulează pe diverse echipamente de la calculatoare de birou la servere cu performanțe ridicate.
• Distribuție liberă. MySQL nu este un proiect Open Source, deoarece este necesară o licență în anumite condiții. Totuși, MySQL se bucură de o amplă popularitate în comunitatea Open Source, deoarece termenii de licență nu sunt foarte restrictivi, (în esență, MySQL este în general gratuit, dacă nu doriți să obțineți profit prin vânzarea sistemului sau a unor servicii care necesită utilizarea acestuia).
Rezumatul termenilor bazei de date
Principalii termeni cu care trebuie să ne familiarizăm de acum sunt:
Database – Containerul general pentru o colecție de date MySQL.
Table – Un subcontainer într-o bază de date care stochează datele reale.
Row – O singură înregistrare într-un tabel, care poate conține mai multe domenii.
Column – Numele unui domeniu în cadrul unui rând.
Ar trebui să notez faptul că nu încerc să reproduce terminologia exactă folosită în literatura academică despre baze de date relaționale, ci doar să ofer termeni simpli, de zi cu zi pentru a ajuta la rapida înțelegere ale conceptelor de bază ale unei baze de date.
Crearea unei baze de date
După cum se observă este foarte simplu să creați o bază de date:
mysql> CREATE DATABASE anunturi_online;
Query OK, 1 row affected (0.05 sec)
Am ales numele anunturi_online pentru baza noastră de date. Puteți alege orice nume. Acum că am creat baza de date trebuie sa-i spunem serverului (în cazul nostru serverul MySQL) că vrem să folosim această bază de date:
mysql> USE anunturi_online;
Database changed
mysql>
Dacă doriți să ștergeți o bază de date puteți utiliza:
mysql> DROP DATABASE nume_baza_de_date;
Crearea unei tabel
Crearea unei tabel este un lucru ceva mai complicat, pentru că în tabele sunt de fapt stocate informațiile. Dacă veți citi manualul de MySQL veți descoperi o definiție ce la prima vedere pare criptică:
mysql>CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,…)] [table_options] [select_statement]
sau
mysql> CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
[(] LIKE old_tbl_name [)];
Să luăm un exemplu concret și să vedem cum creăm tabela noastră cu anunțurI:
mysql> CREATE TABLE anunturi (
->id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
->text_anunt TEXT,
->data_anunt DATE NOT NULL
-> );
Query OK, 0 rows affected (0.08 sec)
• prima linie pare destul de simplă. dacă știți ceva engleză e suficient să traduceți și veți vedea că i se transmite serverului MySQL faptul că se dorește crearea unui tabel.
• a doua linie e în schimb ceva mai complicată. Să o luăm pe rând. Această linie comunică serverului MySQL că dorim să creăm o coloană cu numele "id" de timp întreg ("INT") ce se va auto incrementa ("AUTO_INCREMENT") și informațiile conținute în această coloană vor fi unice ("PRIMAY KEY").
•a treia linie îi comunică serverului MySQL că dorim să creăm o coloană cu numele "text_anunt" de tip "TEXT".
• a patra linie îi comunică serverului MySQL că dorim să creăm o coloana cu numele "data_anunt" de tip "DATE" și mai mult decât atât impunem condiția ca totdeauna să existe informații în acest câmp (să nu fie niciodată gol, “NOT NULL”).
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Aplicatie Enterprise (ID: 149433)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
