Sunteți pe pagina 1din 13

LUCRAREA DE LABORATOR NR.

1
Scopul lucrrii: nvarea notiunilor de baz ale cursului SGBD i
pregtirea instrumentelor de lucru pentru utilizarea lor n practic,
inclusiv n dezvoltarea aplicaiilor cu destinaie special n rezolvarea unor
probleme concrete, ct i a aplicaiilor Web.
Lucrarea consta din 2 pri, considerente teoretice i instrumente
practice. Componentele au ntre ele o legtur logic i se completeaz
reciproc. Lucrarea prezint materialul suport pentru celelate lucrri de
laborator programate pentru cursul dat.
I.

PARTEA TEORETIC
Baze de date si SGBD
II.PARTEA PRACTIC
Instalarea APACHE
Instalarea PHP
Instalarea MYSQL
Instalarea PHPMYADMIN

I. CONSIDERENTE TEORETICE
BAZE DE DATE si SGBD
1. CONCEPTE NOIUNI DE BAZ. PARTICULARITI.
Distincia ntre date, informaii i cunotine
Datele sunt definite de trei elemente: un identificator, atribute i
valoare ;
Informaia este un mesaj care are caracter de noutate, altfel spus
care nltur nedeterminarea (necunoaterea) i se obine n
rezultatul prelucrrii datelor;
Cunotinele reprezint informaii simple sau agregate, pe care le
dobndim de-a lungul timpului, relativ la: obiecte, fenomene sau
procese din lumea real.
Organizarea datelor din punct de vedere informatic are 2 componente:
organizarea datelor n memoria intern a calculatorului, care
cuprinde structurile de tip: list, coad, stiv
organizarea datelor pe memoria extern, care cuprinde structurile
de tip fiier i baz de date.

13

2. BAZ DE DATE
O baz de date poate fi definit ca un ansamblu de date
elementare sau structurate, accesibile unei comuniti de
utilizatori.
Mai concret, o baz de date, este un ansamblu de fiiere
intercorelate, interlegate, care conine nucleul de date necesare unui
sistem informatic (aplicaie informatic).
Un fiier este un ansamblu de nregistrri fizice, omogene din punct
de vedere al coninutului i al prelucrrii.
O nregistrare fizic este unitatea de transfer ntre memoria intern
i cea extern a calculatorului. Aceasta este format din una sau mai
multe nregistrri logice.
O nregistrare logic este unitatea de prelucrare din punct de vedere
al programului utilizator. Aceasta este format dintr-un ansamblu de
cmpuri, care descriu o anumit realitate.
Orice baza de date este conceputa si proiectata pe baza unui model:
modelul relational
modelul ierarhic
modelul reea
modelul obiect
n continuare ne vom opri doar la modelul realional. Fundamentele
modelului relaional l prezin - Tabelele bidimensionale (relaii) legate
ntre ele, care sunt determinate de structur, cheie primar, tip atribute,
reguli de validare a datelor (restricii de integritate) .a. Printr-un
exemplu aceste momente definitorii pot fi prezentate dup cum urmeaz:

13

3. ROLUL SGBD
Care este rolul Sistemei de Gestiune a Bazelor de Date? Schema de mai
jos este o prim lmurire a acestei noiuni punte de legtura ntre BD,
aplicaii Software specializate, administratorul BD i Utilizatori

Def: Un Sistem de Gestiune a Bazelor de Date, SGBD, constituie o


interfa ntre utilizatori i BD,care permite n principal
1) crearea,
2) actualizarea i
3) consultarea acesteia.
n acest context putem defini SGBDul ca un instrument de asamblare,
codificare, aranjare, protecie i regsire a datelor n BD.
4. FUNCIILE SGBD
Principalele funciuni pe care le ndeplinete un SGBD sunt
urmtoarele:
memorarea datelor pe suportul extern prin sistemul de gestiune a
fiierelor;
gestiunea datelor i a legturilor dintre ele n vederea unei
regsiri rapide prin intermediul sistemului de acces (SGBD
intern);
introducerea i extragerea datelor din spre exterior n forma
cerut de utilizator prin intermediul SGBDului extern.
5. OBIECTIVELE DE BAZ ALE UNEI BD
Obiectivele fundamentale ale unei baze de date (BD)
Centralizarea datelor ce permite: suprimarea redundanei,
asigurarea unicitii nregistrrii i controlul centralizat (asupra
datelor).
13

Independena ntre date i prelucrri. Baza de date, ca imagine


a unei anumite realiti, trebuie actualizat permanent. Acest lucru
nu trebuie s afecteze programele de prelucrare. Pentru atingerea
acestui obiectiv este necesar o abstractizare a datelor memorate n
BD.
Astfel s-a ajuns ca astzi s existe 3 niveluri de reprezentare i
percepie a unei BD: extern, conceptual i intern
6. NIVELURI DE REPREZENTARE I PERCEPIE A UNEI BD

7. MANIPULAREA DATELOR
(NEPROCEDURALE)

PRIN

LIMBAJE

DECLARATIVE

n general, exist dou categorii de utilizatori care manipuleaz


datele dintr-o BD:utilizatori interactivi care, de regul, nu sunt
informaticienii i programatorii. Prima categorie, are nevoie de limbaje
de interogare foarte simple, apropiate de limbajul natural, care s le
permit ntr-o manier foarte simpl s-i obin informaiile de care au
nevoie. Un exemplu de astfel de limbaj, care este i standardizat, este
SQL (Structured Query Language). Cea de-a doua categorie de
utilizatori (programatorii de aplicaii) folosesc de regul limbaje
procedurale cum sunt cele tradiionale (generaia a treia: C, COBOL, PL1,
etc.), limbaje orientate obiect (C++, Java) sau limbaje din generaia a 4a (4LG) orientate pe descrierea specificaiilor la nivel utilizator final.
8. TIPURI DE BD

13

Exist mai multe tipuri de BD. n continuare prezentm doar unele


din ele:
client-server;
baze de date distribuite, consecin a distribuirii n spaii a
sub-unitilor unei ntreprinderii i a facilitilor oferite de
reelele extinse;
baze de date avansate:
baze de date active depind de apariia unor evenimente i
dac sunt ndeplinite anumite condiii;
baze de date deductive, care cupleaz un motor de
inferenta;
baze de date multidimensionale explorate folosind proceduri
de analiz multidimensionale (OLAP) sau proceduri de analiz
statistico-matematice (Data Mining) ;
Baze de date on-line: ce permit accesarea bazelor de date n
sisteme Internet/Intranet/Extranet.
9. SGBD URI.
Astzi exist un numr impuntor de SGBD-uri. n continuare
prezentm doar unele din ele:
ACCESS /SGBD realtional, firma MICROSOFT/
MySQL /din 2010 apratine firmei, ORACLE/
DB2 /corporatia IBM pachet Sofrware din categoria SDBD/
INFORMIX / Firma IBM, pachet Sofrware din categoria SDBD
destinat prelucrarii tranzactiilor online/
ORACLE / firma ORACLE, este un sistem de management de
baze de date obiect-relaionale /
POSTGRESQL / OPEN-SOURCE este un sistem de management
de baze de date obiect-relaionale /
VISUAL FOXPRO /MICROSOFT, pachet Sofrware din categoria
SDBD/
.a.
10. ACCESUL LA BAZE DE DATE
a. Aplicaii SPFTWARE, adic obinute prin utilizarea pachetelor
Software directe cum ar fi de exemplu,
Delphy, C#, C++, Oracle, Informix, Acces, DBASE, CLIPER, Visual
FoxPro s.a., care realizeaz interaciunea cu BD (MySQL, PostgreSQL,
Access, Oracle i altele).

13

b. Aplicaii WEB
Aplicatiile Web (statice si dinamice) reprezinta in general site-uri Web
complexe, interactive, care utilizeaza facilitatile oferite de limbajele de
scripting (PHP, ASP, JSP, ColdFusion, Perl) si bazele de date (MySQL,
PostgreSQL, Access, Oracle). Cele mai intalnite aplicatii Web dinamice
sunt: portalurile, formularele, magazinele virtuale, forumurile. In
dezvoltarea acestora este necesara o permanenta comunicare cu diverse
baze de date. Astfel exista diverse metode de extragere a informatiilor
din bazele de date si vizualizarea ulterioara a lor in pagini HTML.
Pentru aceasta este necesara existenta urmatoarelor tehnologii:
Server Web: soft care permite stocarea si livrarea aplicatiilor Web
in exterior (Internet);
Sistem de Gestiune Baze de Date (SGBD): care va stoca
informatia pentru aplicatiile Web;
Limbaje
de scripting: folosite in scrierea programelor
(scripturilor) care permit vizualizarea continutului din tabelele
bazei de date a aplicatiilor Web.
Pentru a prelucra informatii din baza de date in diverse aplicatii Web e
nevoie sa avem acces la niste informatii legate de aceasta. Astfel trebuie
sa avem la dispozitie cel putin urmatoarele lucruri:
Un mod de autentificare la baza de date (server,user,parola);
Informatii legate de catalogul bazei de date.
Accesul la catalogul bazei de date este asigurat (la majoritatea SGBDurilor) de un mijloc de acces numit INFORMATION_SCHEMA, ce contine
informatii legate de:

Tabelele bazei de date;

Constrangeri asupra tabelelor bazei de date;

Acces la inregistrarile acestor tabele;

Informatii legate de campurile tabelelor (tip, lungime, cheie


primara etc.)
In functie de limbajul utilizat avem nevoie sa-i stim arhitectura
(realizarea conexiunii la baza de date, alte utilitare pentru functionarea
corecta a limbajului).
In extragerea informatiilor in pagini HTML nu trebuie sa ignoram, de
asemenea, din calcul diferentele dintre browser-ele intre care exista in
unele cazuri diferente majore.
Pentru realizarea aplicaiilor web avem nevoie de 2 tipuri de limbaje :
limbaje de programare pe partea Clientului
limbaje de programare pe partea Serverului.
Pe partea SERVERULUI

13

Atunci cnd un utilizator face o cerere pentru o pagin Web (aceasta


trece la ea printr-un link de adres sau printr-o ntroducere a acestei
adrese concrete n bara de adrese a browser-ului), atunci pagina Web
indicat/adresat se prelucreaz pe serverul Web, pe care se execut
toate script-urile asociate cu pagina dat, dup ce se intoarce la utilizator,
sub forma unui simplu document HTML (Aceasta nseamn c utilizatorul
nu mai poate vedea codul script-ului). Executarea script-urilor este total
dependent de serverul care gzduiete site-ul adresat, i de aceea, ce
versiune a unei sau altei limbaj de programare este acceptat de serverul
ce gzduiete pagina Web.
Printre limbajele de programare de pe servere vom meiona PHP (PHP:
Hypertext Preprocessor) (www.php.net), Perl (www.perl.com), SSI
(Server Side Include).
Pe partea CLIENT-ului.
Dup cum sugereaz i numele, aceste limbaje pe partea clientului sunt
prelucrate dinspre client, or dac mai simplu - programul cu privire la
prelucrarea codului scriptului prezentat n limbajul clientului se
prelucreaz cu ajutorul browser-ului. Acest Cod poate fi vizualizat n
Browser prin optiunea sursa iniial. Cel mai rspndit limbaj este
JavaScript (avem nevoie de browser-ul Netscape Navigator). Mai este si
un alt limbaj VisualBasicScript. In general avem nevoie de a cunoate
browser-ile Internet Explorer, Opera, Mozilla s.a.

Extragerea informatiilor dintr-o baza de date si prelucrarea lor in pagini


HTML presupune existenta unor limbaje (asa numitele limbaje de
scripting) cum sunt: PHP, JSP, .NET, Javascript, VB, C#. Sintaxa, precum
si
resursele
necesare
difera
de
la
unul
la
celalalt.
Utilizarea acestora in majoritatea aplicatiile web a impus existenta unei
arhitecturi, formata din:

13

browser Web;
Internet;
server Web;
server de baze de date;
interpretor PHP (daca de exemplu este utilizat acest limbaj).

In momentul in care utilizatorul acceseaza o astfel de pagina Web, prin


intermediul unui browser Web, se transmite o cerere HTTP catre
serverul Web. Daca serverul Web identifica tipul paginii ca fiind .php
(Not : am considerat ca exemplu pagini .php), atunci pagina este
trimisa interpretorului PHP. Dupa interpretare, rezulta o pagina care
contine cod HTML (si eventual JavaScript), care va fi returnata
serverului Web. Sripturile PHP, ce contin cereri SQL, vor fi adresate
serverului de baze de date (MySQL in exemplul curent).
Ce este un server ?
n contextul celor expuse mai sus, prezentm cteva definiii ale
noiunii vizate.
Def : server-ul este PC-ul care stocheaz site-ul pe care intenionm
s-l accesm i programul care se ocup de cererile de la browser-ul
utilizatorului la orice pagin Web.
Def: /WIKI/. n tehnologia informaiei, un server este un program de
aplicaie care furnizeaz servicii altor aplicaii (numite aplicaii client),
aflate pe acelai calculator sau pe calculatoare diferite. De obicei,
aplicaia server ateapt conexiuni din partea aplicaiilor client. Se mai
numete server i calculatorul pe care ruleaz una sau mai multe
asemenea aplicaii. Deseori soluia pentru mari aplicaii cu muli
utilizatori se bazeaz tocmai pe arhitectura client-server, care
const din cel puin 2 aplicaii (i deseori cel puin 2 computere).
Aproape toat structura Internetului se bazeaz pe modelul de clientserver. Multe milioane de servere din toat lumea sunt conectate la
Internet i ruleaz continuu. Majoritatea serviciilor oferite pe Internet
ruleaz pe servere: Web; Domain Name System; e-mail sau pot
electronic; FTP sau transfer de fiiere; instant messaging sau
mesagerie instant; fiiere audio i video; jocuri .a.m.d. Pentru orice
13

aciune care este iniiat de un utilizator al Internetului, unul sau mai


multe servere interacioneaz cu utilizatorul precum i ntre ele.
11. Arhitectura Client-Server
Aceste arhitecturi se fondeaz, n esen, pe un dialog ntre dou
categorii de entiti, entitatea Client (care interogheaz baza de date) i
respectiv entitatea Server (care gestioneaz baza de date), dispuse ntro reea de calculatoare.
Clientul este entitatea care asigur interfaa cu utilizatorul, lanseaz
cereri de executare a unor operaii ctre o entitate server i se ocup de
punerea ntr-o anumit form a datelor primite de la server n urma
executrii operaiei.
Serverul este entitatea care recepioneaz, interpreteaz i execut
cererile (operaiile) lansate de clieni. De asemenea, el furnizeaz
rspunsul ctre client.
Cele dou entiti se pot regsi sub form de calculatoare diferite,
sau pot convieui pe acelai calculator. n aceast din urm situaie,
calculatorul trebuie s aib instalat un sistem de operare multi-proces,
cele dou entiti menionate regsindu-se sub form de procese
distincte. Un client poate s efectueze cereri ctre mai multe servere, iar
un server poate satisface cererile lansate de mai muli clieni.

Client server WEB


Odat cu apariia web-ului, arhitecturile client server au evoluat de la o
arhitectur pe dou niveluri la o arhitectur pe trei niveluri:
Nivelul CLIENT este nivelul care permite unui utilizator comunicarea
cu o baz de date prin intermediul WEB-ului.
Aceast comunicare se manifest la acest nivel, prin interfaa pus la
dispoziia utilizatorului de ctre un navigator (browser) WEB (client server
de prezentare). Tot la acest nivel se poate vorbi n afar de partea de
interfa i de o parte de aplicaie, sub forma unor programe (scripturi)

13

care pot fi executate de programul browser (scripturi JavaScript,


VBScript, etc.).
Nivelul APLICAIE conine partea de aplicaii cea mai important din
acest ansamblu. Pe acest nivel avem server-ul WEB, care prin intermediul
protocolului HTTP, preia cererile venite de pe nivelul client, le proceseaz
i le poate transmite mai departe ctre o alt aplicaie, aceasta
transmind aceste cereri ctre SGBD, adic pe nivelul date. Server-ul
WEB i celelalte aplicaii de pe acest nivel pot fi gzduite pe aceeai
main sau pe maini diferite. Exemplu: un utilizator efectueaz o
comand dintr-o pagin WEB (care poate conine pe lng tag-uri HTML
i cod JavaScript sau VBScript pentru validri de date), comanda fiind
preluat de server-ul WEB, care transmite datele mai departe interfeei
ODBC, aceasta din urm transmind datele ctre o baz de date Access
2000.
Nivelul DATE Pe acest nivel este sistemul de gestiune a bazelor de
date, de preferat a fi un SGBD care suport tipuri de date complexe de
genul celor vehiculate pe WEB: text, imagini, secvene video, sunet, etc

Din punct de vedere al calculatoarelor care gzduiesc aceste nivele,


nivelul aplicaie i nivelul date pot convieui pe acelai calculator (cu un
sistem de operare adecvat), dar pot fi instalate i pe calculatoare
diferite. De asemenea, exist i posibilitatea accesrii unei bazei de date
prin intermediul paginilor WEB de pe aceeai main unde se afl serverul WEB i baza de date, caz n care toate cele trei nivele se regsesc pe

13

acelai computer. n arhitectura client server WEB, o baz de date poate


fi pus la dispoziia unui numr mare de utilizatori din Internet sau dintro reea local, n configuraii ct se poate de eterogene. La rndul su, un
utilizator poate accesa prin intermediul unei pagini WEB, mai multe baze
de date localizate pe mai multe
servere, caz n care avem de-a face cu o arhitectur client-multiserver.
Un program server, este un program instalat pe o maina server, care
ruleaza non-stop n ateptare i ascult cererile de la clieni (de obicei
cererile vin de la utilizatori prin intermediul unei reele). Cnd apare o
cerere de la un client, programul server execut instruciunile i ntoarce
un
rspuns
clientului
care
a
fcut
cererea.
Exemple de programe server care se folosesc uzual (cteodata fra s
contientizai) sunt:
1. Server web (va conectai la el prin intermediul browserului i
v deservete paginile web pe care le vedei)
Apache HTTP Server
Apache HTTP Server (also referred to as simply "Apache") has, at the
time of writing, been the most popular web server on the web since
1996. Apache is developed and maintained by the Apache Software
Foundation, which consists of a decentralized team of developers. The
software is produced under the Apache licence, which makes it free and
open source.
Apache is available for a range of operating systems, including Unix,
Linux, Novell Netware, Windows, Mac OS X, Solaris, and FreeBSD.
Apache HTTP Server website: http://httpd.apache.org
Microsoft Internet Information Services (IIS)
IIS is, at the time of writing, the second most popular web server on
the web. It is however, gaining market share, and if the current trend
continues, it won't be long before it overtakes Apache.
IIS comes as an optional component of most Windows operating
systems. You can install IIS by using Add/Remove Windows
Components from Add or Remove Programs in the Control Panel.
Microsoft IIS website: http://www.microsoft.com/iis
Sun Java System Web Server
Based on the Sun One Web Server, the Sun Java System Web Server is
designed for medium to large business applications. Sun Java System
Web Server is available for most operating systems.
Sun
Java
System
Web
Server
website:
http://www.sun.com/software/products/web_srvr/home_web_srvr.xml
2. Server e-mail (trimitei i primii mesajele de e-mail)
3. Server baza de date (se ocup de stocarea i interogarea
datelor) MySQL, ACCESS, MS SQL SERVER, INFORMIX, ORACLE
13

POSTGRESQL s.a.
4. Server FTP (servere ce ofer acces rapid la fiiere partajate)
FileZilla,
Cerberus
FTP
Server,
CrushFTP
Server,
DataExpress
Toat structura Internet, dup cum s-a menionat mai sus, este bazat pe
arhitectura client-server. Milioane de servere deservesc zilnic miliarde de
utilizatori web, utilizatori de e-mail i alte servicii mai invizibile pentru
utilizatorii
simpli.
Ca o concluzie la cele scrise mai sus, un server este un calculator
specializat, care are instalat pe el un sistem de operare, pe care ruleaz
unul sau mai multe programe de tip server, create pentru a deservi i
raspunde la cererile mai multor clieni (utilizatori), care apeleaz i au
nevoie de acele servicii.
Exista aplicatii cu ajutorul carora fiecare isi poate realiza propria
aplicatie web in care sa prelucreze informatii dintr-o baza de date proprie,
si anume:

Denver Server

Wamp Server

Xampp Server

EasyPHP

Joomla

Python

Drupal

Dreamwiever

AppServer

VertrigoServ
12.
Instrumente pentru dezvoltarea aplicaiilor Web
Lucrarea de fa este orientat spre punerea la punct a unui sistem de
dezvoltare de aplicaii web, tehnologia avut n vedere este combinaia:
Apache ca server web, interfa intre aplicaia realizat i restul
lumii
MySql, ca server de baze de date
PHP, Hypertext Preprocessor, ca limbaj de procesare la nivelul
serverului
phpMyAdmin - una dintre cele mai bune aplicaii pentru a
gestiona baze de date MySql
Instalarea PHP, MySql, Apache i crearea legturilor dintre
ele

13

Orientarea spre aceste aplicaii este dat de rspndirea lor, legat


in primul rnd de gratuitate, transparen mai mare n dezvoltare, i
maturitate a tehnologiilor, dovedit printro istorie destul de
indelungat (pentru aplicaii IT). Succesiunea iniialelor poate fi intlnit
mai ales n sintagma LAMP (L Linux, echipa de multe ori intlnit n
sistemele de lucru a serverelor web) dar si WAMP (W Windows), sau
pe care le vom precuta ulterior.
Dei imperecherea Windows ca sistem de operare AMP ca server
web/date/aplicaii este mai rar intlnit n cadrul sistemelor de
meninere a serverelor web capabile de aplicaii (hosting) este o situaie
care prezint destule avantaje pentru a fi deseori ntlnit n momentul
dezvoltrii aplicaiilor respective.
n continuare, lucrarea de laborator va avea ca scop nfiarea
parcursului care trebuie efectuat pentru a instala Apache, MySql, PHP
i phpMyAdmin, cu sistemul de operare Windows 2000 i a legturilor
care trebuie create intre aceste aplicaii pentru a le permite conlucrarea.
Alegerea sistemului de operare Windows a fost impus de faptul c,
n ciuda discuiilor aprinse legate de calitate, stabilitate, eficien, etc.
Windows rmne cel mai rspndit sistem de operare pe staiile de
lucru, iar numrul de aplicaii (inclusiv profesionale) disponibile pentru
Windows i ofer, i i vor oferi i n viitorul previzibil, un avantaj n faa
altor sisteme de operare. i nu numai. Sunt i alte motive :
1. Protejarea propriului PC, atunci cind lucrm cu AMP pe
Host-ul local
2. MySql se nva mai uor i mai profund
3. nvtura are un caracter ascendent Server Date
HTML PHP phpMyadmin, ceea ce implic i durabilitatea
cunotinelor
4. Formarea unor abiliti pentru utilizarea unor instrumente
integrate de dezvoltare a aplicaiilor Web cum ar Denwer,
WAMP, XAMPP, EasyPhp sau altele

13