Sunteți pe pagina 1din 47

MINISTERUL EDUCAŢIEI, CERCETĂRII, TINERETULUI ŞI SPORTULUI

UNIVERSITATEA DE NORD DIN BAIA MARE


FACULTATEA DE LITERE
Specializarea: CALCULATOARE

LUCRARE DE LICENŢĂ

Coordonator ştiinţific : Absolvent:


Lect. univ. dr.

BAIA MARE
1
2010

Cuprins

Cuprins..............................................................................................................................................2
Introducere........................................................................................................................................3
CAP 1.TEHNOLOGII FOLOSITE..................................................................................................4
1. Limbajul PHP……….......................................................................................................4
1.1.Scurt istoric……….........................................................................................................4
1.2.Ce este PHP…………....................................................................................................5
1.3.Ce face PHP…………....................................................................................................5
1.4.Sintaxa limbajului…………………………………………………………...................6
1.5.HTML.............................................................................................................................7
1.6.Ce este HTML................................................................................................................7
1.7.SGML si HTML.............................................................................................................8
1.8.Structura unui document HTML..................................................................................10
CAP 2. REALIZREA SISTEMELOR INFORMATICE...............................................................12
Introducere.........................................................................................................................12
2.1.Sistemul informatic.......................................................................................................12
2.2.Caracteristicile sistemului informatic……………………………………...................15
2.3.Cerinţe ale sistemelor informatice………………………………………....................15
2.4.Schema de ansamblu a unui magazin de calculatoare..................................................16
CAP 3.MODELAREA DATELOR................................................................................................17
3.1. Entităţi şi asocieri........................................................................................................17
3.2. Clasificarea modelelor de date folosite la proiectarea bazelor de date……................18
3.2.1Modelul semantic.......................................................................................................18
3.2.2.Modelele de date specializate…………………………………………....................19
3.3.Diagrama unui magazin de calculatoare.............................……….................20
CAP 4.DESCRIEREA APLICATIEI.............................................................................................21
4.1.Sectiunea de administrare.............................................................................................28
BIBLIOGRAFIE..........................................................................................................................45

2
Introducere

Acest proiect implementeaza un magazin de calculatoare care este structurat facil, continand un
cos de cumparaturi, afisarea produselor grupate in categorii si o sectiune de cupoane pentru a
beneficia de reduceri. De asemenea, acest proiect contine si o sectiune pt administrator, care
poate gestiona continutul magazinului virtual, poate adauga/modifica/sterge subcategorii,
categorii, comentarii, produse, utilizatori, cupoane de reduceri.
Acest magazin virtual a fost implementat folosind limbajele de programare PHP, XHTML, CSS,
JS, serverul Web APACHE, serverul de baze de date MySQL, si aplicatia ADOBE
PHOTOSHOP pentru grafica.

Obiective propuse:
-gestiunea unui magazin de calculatoare in care sa putem defini:produsele si producatorii
-impartirea produselor pe categorii si subcategorii
-preluare comenzi
-incarcare cos

Rezultate obtinute:
-programe de actualizare a tabelelor componente a bazei de date
-instructiuni pentru achizitionare de produse online
-selectare produse in vederea incarcarii in cos
-comanda produselor incarcate

3
Capitolul 1. Tehnologiile folosite

1. Limbajul PHP

Generalităţi

1.1.Scurt istoric

PHP a fost conceput în anul 1994 de Rasmus Lerdorf. El folosea versiuni personale de
PHP ca să monitorizeze cine îi vizita pagina sa personală.
Prima versiune de PHP care putea fi folosită de toată lumea a fost disponibilă în anul
1995 şi a fost cunoscută sub numele de Personal Home Page Tools. Aceasta consta dintr-un
parser foarte simplu care recunoştea câteva macro-uri şi un număr limitat de utilităţi care erau
folosite pe paginile personale la acea vreme (cum ar fi guestbook, counter).
Parserul de PHP a fost rescris la jumătatea anului 1995 şi s-a numit PHP/FI Version 2. FI
vine Form Interpreter, un alt pachet pe care Rasmus l-a scris pentru interpretarea formelor
HTML. El a combinat scripturile din Personal Home Page Tools cu Form Interpretor şi a adăugat
suport pentru mSQL şi astfel a apărut PHP/FI. PHP/FI s-a răspândit foarte repede şi a devenit
foarte popular, deoarece mulţi programatori au contribuit cu cod la perfecţionarea lui.
Sunt greu de dat nişte statistici exacte, dar se estimează că la sfârşitul anului 1996 PHP/FI
era folosit de aproximativ 15.000 de site-uri web din toată lumea. Pe la mijlocul anului 1997
numărul acestora a crescut la 50.000.
Tot în anul 1997 s-a observat o schimbare în dezvoltarea PHP-ului.

4
PHP nu mai era proiectul propriu al lui Rasmus, ci era rezultatul eforturilor unei echipe de
programatori, deoarece la perfecţionarea lui contribuiseră mulţi programatori.
Parserul a fost rescris de Zeev Surasky şi Andi Gutmans şi noul parser a format bazele
PHP Version 3. Mare parte din codul PHP/FI a fost portat în PHP3 şi altă parte de cod a fost
complet rescrisă.
Ultima versiune, PHP4, foloseşte motorul de script Zend ca să ofere performanţe mai
mari, suportă mult mai multe biblioteci şi extensii, şi rulează ca un modul natural server-ului de
web.

1.2. Ce este PHP?

PHP (oficial “PHP: Hypertext Preprocesor”) este un limbaj de script HTML integrat de
tip server-side, deci codul se execută pe server.
Este diferit de scripturile CGI scrise în alte limbaje ca Perl sau C++, în care se scrie mult
cod pentru a genera HTML, deoarece se scrie script HTML cu cod de PHP încorporat. Codul
PHP este încadrat de tag-uri speciale care ne permit să intrăm sau să ieşim din modul PHP.

1. 3. Ce face PHP?

La o privire de ansamblu, PHP poate să facă tot ceea ce fac alte programe CGI, cum ar fi:
culegerea de date, generare dinamică de cuprinsuri pentru pagini, trimite şi primeşte cookie-uri.
Probabil cea mai puternică şi cea mai importantă caracteristică a PHP este suportul pentru
o gamă cât mai largă de baze de date. Cu PHP este foarte simplu de citit din baze de date şi de
scris în baze de date.
PHP suportă următoarele tipuri de baze de date: AdabasD, dBase, Empress, FilePro,
HyperWave, IBM DB2, Informix, Ingres, InterBase, Frontbase, mSQL, Direct MS-SQL,
MySQL, ODBC, Oracle, Ovrimos, PostgreSQL, Solid, Sysbase, Velocis, UNIX dbm.
PHP prezintă suport, de asemenea, şi pentru alte servicii de reţea folosind protocoale cum
ar fi: IMAP, SNMP, NNTP, POP3, HTTP şi altele mai puţin importante. Se pot deschide noduri
brute de comunicaţie în reţea care interacţionează folosind alte protocoale de comunicaţie.

5
1.4. Sintaxa limbajului

Când PHP începe să interpreteze un fişier, el doar o să afişeze textul pe care îl întâlneşte.
Aşa că dacă avem un fişier cu extensie .html şi schimbăm extensia în .php fişierul o să fie corect
interpretat în continuare.
Dacă dorim să introducem declaraţii PHP la un anumit punct din fişier, trebuie să indicăm
intrarea în “modul PHP”. Aceasta se face prin mai multe metode:
1. <? echo ("this is the simplest, an SGML processing instruction\n"); ?>
<?= expression ?> This is a shortcut for "<? echo expression ?>"

2. <?php echo("if you want to serve XHTML or XML documents, do like this\n"); ?>

3. <script language="php">
echo ("some editors (like FrontPage) don't
like processing instructions");
</script>

4. <% echo ("You may optionally use ASP-style tags"); %>


<%= $variable; # This is a shortcut for "<%echo .." %>

PHP permite şi folosirea unor structuri mai avansate:


<?php

if ( boolean-expression )
{
?>

6
<strong>This is true.</strong>
<?php
}
else
{
?>
<strong>This is false.</strong>
<?php
}
Separarea instrucţiunilor se face la fel ca în Perl sau în C, terminând fiecare declaraţie cu
caracterul „;”.
Tag-ul de închidere implică de asemenea sfârşitul unei declaraţii, deci următoarele două
expresii sunt echivalente:
1. <?php echo "This is a test"; ?>

2. <?php echo "This is a test" ?>

Comentariile sunt la fel ca în C şi ca în UNIX, folosind secvenţele speciale // ... sau /* .....
*/.

1.5. HTML

1.6. Ce este HTML?

Unul din primele elemente fundamentale ale WWW ( World Wide Web ) este HTML
( Hypertext Markup Language ), care descrie formatul primar in care documentele sunt distribuite
si văzute pe Web. Multe din trăsăturile lui, cum ar fi independenţa faţă de platformă, structurarea

7
formatării si legăturile hipertext, fac din el un foarte bun format pentru documentele Internet si
Web
Primele specificaţiile de baza ale Web-ului au fost HTML, HTTP si URL.
HTML a fost dezvoltat iniţial de Tim Berners-Lee la CERN in 1989. HTML a fost văzut ca o
posibilitate pentru fizicienii care utilizează computere diferite şi schimbă între ei informaţie
utilizând Internetul. Erau prin urmare necesare câteva trăsături : independenţa de platformă,
posibilităţi hypertext si structurarea documentelor. Independenţa de platformă înseamnă că un
document poate fi afişat în mod asemănător de computere diferite ( deci cu fonturi, grafică si
culori diferite ), lucru vital pentru o audienţă atât de variată.
Hipertext înseamnă că orice cuvânt, frază, imagine sau alt element al documentului văzut
de un utilizator ( client ) poate face referinţă la un alt document, ceea ce uşurează mult navigarea
între multiple documente sau chiar în interiorul unui aceluiaşi document. Structurarea riguroasă a
documentelor permite convertirea acestora dintr-un format în altul precum şi interogarea unor
baze de date formate din aceste documente.

1.7. SGML şi HTML

Tim Berners-Lee a utilizat ca model SGML ( Standard Generalized Markup Language ),


un standard internaţional în plină dezvoltare. SGML avea avantajul unei structurări avansate şi al
independenţei de platformă dar proiectarea lui a avut în vedere mai mult structura semantică a
documentului decât modul de formatare.
Flexibil, SGML putea fi descris ca o specificare pentru descrierea altor formate.
Utilizatorii puteau crea noi formate (DTD, Document Type Definitions) care puteau fi înţelese de
orice produs soft SGML pur si simplu prin citirea mai întâi a definiţiilor noilor formate.
HTML este pur si simplu un DTD, deci o aplicaţie a SGML. În primii ani de evoluţie
HTML a crescut lent, în principal pentru că îi lipseau posibilităţile de a descrie publicaţii
electronice profesionale; limbajul permitea oarece control asupra fonturilor dar nu permitea
inserarea graficii.
In 1993, NCSA a îmbogăţit limbajul pentru a permite inserarea graficii şi au construit
primul navigator grafic, Mosaic. Au urmat apoi contribuţii ad-hoc ale diverselor firme care au
adus adăugiri limbajului HTML (adăugiri şi nu îmbogăţiri pentru că unele taguri nu erau în

8
conformitate cu principiile generale ale SGML), astfel încât, prin 1994 limbajul părea scăpat de
sub control.
Urmarea a fost că la prima conferinţă WWW din Geneva ( Elvetia ) s-a constituit un grup
( HTML Working Group ) a cărui primă misiune a fost formalizarea HTML într-un DTD al
SGML, lucru care s-a concretizat in HTML Level 2 ( sau HTML 2.0; Nivelul 1, deci HTML 1.0,
a fost proiectat de Tim Berners-Lee ). Importanţa acţiunii acestui grup consta în faptul că, odată
standardizat, limbajul poate fi apoi extins într-un mod mai controlat la alte nivele.
Standardul oficial HTML este World Wide Web Consortium (W3C), care este afiliat la
Internet Engineering Task Force (IETF). W3C a enunţat câteva versiuni ale specificaţiei HTML,
printre care si HTML 2.0, HTML 3.0, HTML 3.2, HTML 4.0 şi, cel mai recent, HTML 4.01.
În acelaşi timp, autorii de browsere, cum ar fi Netscape si Microsoft, au dezvoltat adesea
propriile "extensii" HTML în afara procesului standard şi le-au încorporat in browserele lor.
În unele cazuri, cum ar fi tagul Netscape, aceste extensii au devenit standarde de facto adoptate
de autorii de browsere.
HTML 2.0, elaborat in Iunie 1994, este standardul pe care ar trebui să-l suporte toate
browserele curente -- inclusiv cele mod text. HTML 2.0 reflectă concepţia originală a HTML ca
un limbaj de marcare independent de obiectele existente pentru aşezarea lor în pagină, în loc de a
specifica exact cum ar trebui să arate acestea. Dacă doriţi să fiţi siguri că toţi vizitatorii vor vedea
paginile aşa cum trebuie, folosiţi tagurile HTML 2.0.
Specificaţia HTML 3.0, enunţată în 1995, a încercat să dezvolte HTML 2.0 prin
adăugarea unor facilităţi precum tabelele şi un mai mare control asupra textului din jurul
imaginilor. Deşi unele din noutăţile HTML 3.0 erau deja folosite de autorii de browsere, multe nu
erau încă.
În unele cazuri, taguri asemănătoare implementate de autorii de browsere au devenit mai
răspândite decât tagurile "oficiale". Specificaţia HTML 3.0 acum a expirat, deci nu mai este un
standard oficial.
În Mai 1996, W3C a scos pe piaţă specificaţia HTML 3.2, care era proiectată să reflecte şi
să standardizeze practicile acceptate la scară largă. Deci, HTML 3.2 include tagurile HTML 3.0
ce erau adoptate de autorii de browsere ca Netscape si Microsoft, plus extensii HTML răspândite.

9
În bilanţul asupra HTML, W3C recomandă ca providerii de informaţii să utilizeze
specificaţia HTML 3.2. Versiunile curente ale majorităţii browserelor ar trebui să suporte toate,
sau aproape toate aceste taguri.
De asemenea, există extensii Netscape si Microsoft care nu fac parte din specificaţia
HTML 3.2, ori pentru că sunt mai puţin utilizate, ori au fost omologate după apariţia HTML 3.2.
Pentru că navigatorul Netscape a fost printre primele browsere care suporta anumite taguri
HTML 3.0, iar Netscape deţine in jur de 70% din piaţa de browsere, mulţi au crezut eronat că
toate extensiile Netscape (incluzând taguri ca şi facilităţi ca ferestrele) fac parte din HTML 3.0
sau HTML 3.2.
În acest moment HTML 4.0 este larg utilizat şi au fost deja publicate specificaţiile HTML
4.01.
Documentele HTML sunt documente în format ASCII şi prin urmare pot fi create cu orice
editor de texte. Au fost însă dezvoltate editoare specializate care permit editarea într-un fel de
WYSIWYG, deşi nu se poate vorbi de WYSIWYG atâta vreme cât navigatoarele afişează acelaşi
document oarecum diferit, în funcţie de platforma pe care rulează. Au fost de asemenea
dezvoltate convertoare care permit formatarea HTML a documentelor generate (şi formatate) cu
alte editoare. Evident conversiile nu pot păstra decât parţial formatările anterioare deoarece
limbajul HTML este încă incomplet.

1.8. Structura unui document HTML

Un document HTML poate să conţină:


-titlu
-antete
-paragrafe
-texte
-link-uri
-liste
-tabele
-figuri

10
-forme
-texte preformatate
-formule matematice

Orice document HTML începe cu notaţia <html> şi se termină cu notaţia </html>. Aceste
notaţii se numesc în literatura de specialitate "TAG-uri".
Prin convenţie, toate informaţiile HTML încep cu o paranteză unghiulară deschisa "<" şi
se termină cu o paranteză unghiulară închisă ">".
Tag-urile între aceste paranteze transmit comenzi către browser pentru a afişa pagina într-
un anumit mod. Unele blocuri prezintă delimitator de sfârşit de bloc, în timp ce pentru alte
blocuri acest delimitator este opţional sau chiar interzis.
Între cele doua marcaje <html> si </html> vom introduce doua secţiuni:
secţiunea de antet <head> ... </head> şi corpul documentului <body> ... </body>.
Blocul <body> ... </body> cuprinde conţinutul propriu-zis al paginii HTML, adică ceea
ce va fi afişat in fereastra browser-ului.
O etichetă poate fi scrisă atât cu litere mici, cât şi cu litere mari, adică <HTML> =
<HtmL> = <html>. Caracterele "spaţiu" si "CR/LF" ce apar între etichete sunt ignorate de către
browser.
Deci un prim document HTML ar fi ceva de genul acesta:
<html>
<head> </head>
<body>
..........
</body>
</html>

11
Capitolul 2. Realizarea sistemelor informatice

INTRODUCERE

În viaţa noastră de zi cu zi, calculatoarele sunt ceva obişnuit, ba chiar indispensabile în


unele cazuri. Se poate spune, pe drept cuvânt că trăim într-o societate informatizată. În zilele
noastre, întâlnim calculatoare peste tot, de la băcanul din colţ, care-şi ţine evidenţele sale cu
ajutorul unui PC şi până la ghişeul la care plătim telefonul. Peste tot sunt calculatoare,
legate eventual între ele şi formând astfel reţele de calculatoare. Toate acestea se datorează
faptului că ne dăm seama din ce în ce mai mult că PC-ul ne usurează munca. Dar trebuie de
subliniat faptul că un calculator este de fapt o “maşinărie” care prelucrează o serie de informaţii
pe care i le dăm. Informaţia, este elementul esenţial din acest întreg lanţ. De fapt, în practică
întâlnim, printre altele, două concepte legate de aceasta şi anume sistemul informaţional şi
sistemul informatic.

2.1.Sistemul informatic

Ansamblul de elemente implicate în tot acest proces de prelucrare şi transmitere a datelor


pe cale electronica alcătuiesc un sistem informatic.
Într-un sistem informatic pot intra: calculatoare, sisteme de transmisie a datelor, alte
componente hardware, software-ul, datele prelucrate, personalul ce exploatează tehnica de calcul,
teoriile ce stau la bază algoritmilor de prelucrare, etc.
Se poate spune deci, că sistemul informaţional este inclus în sistemul informatic, acesta din urmă
fiind o componentă esenţială a primului.
12
Sistemele informatice acoperă cele mai diverse domenii. În funcţie de specializare,
avem:
- sisteme specializate, adică sunt proiectate pentru a rezolva un anume tip de problemă
dîntr-un anume domeniu
- sisteme de uz general, cu ajutorul cărora se poate rezolva o gamă largă de probleme din
mai multe domenii
- sisteme locale, programele necesare prelucrărilor de date şi datele se află pe un singur
sistem de calcul
- sisteme pe reţea, sistemul funcţionează într-o reţea de calculatoare, caz în care, datele şi
programele pot fi distribuite mai multor staţii de lucru ce fac parte din acea reţea.
În ultimul timp se merge tot mai mult pe varianta sistemelor de lucru în reţea, avantajele
fiind evidente: transfer de date între staţii foarte rapid, costuri minime, etc.

În funcţie de localizarea datelor şi de locul în care sunt efectuate prelucrările, putem


avea sisteme informatice:
- cu date centralizate, datele se află pe un singur sistem de calcul
- cu date distribuite, datele se află distribuite pe mai multe calculatoare în reţea
- cu prelucrări centralizate, prelucrarea datelor se face pe o singură staţie de lucru,
indiferent de numărul staţiilor pe care sunt informaţiile de prelucrat
- cu prelucrări distribuite, mai multe calculatoare prelucrează datele provenite de la unul
sau mai multe calculatoare din reţea
Pentru realizarea unui sistem informatic sunt implicate multe persoane, materiale, timp,
etc., ceea ce implică în final costuri ridicate. Din acestă cauză, modul de abordare a problemei
proiectării este foarte important. În decursul timpului s-au cristalizat câteva metodologii standard
de proiectare.

13
Principalele etape de parcurs pentru realizarea unui sistem informatic sunt:
-analiza sistemului existent - se studiază sistemul informatic existent şi se stabilesc
neajunsurile sale şi cerinţele ce urmeaza a fi satisfacute de viitorul sistem informatic. În acestă
etapă se stabileşte rentabilitatea folosirii sistemului informatic.
-proiectarea sistemului informatic - se concepe sistemul, elementele componente ale
acestuia, structura lor şi modul de realizare. Datorită complexităţii, aceasta etapă este la rândul ei
descompusă în două etape:
- proiectarea de ansamblu - se stabileşte arhitectura de ansamblu, modul de descompunere pe
componente, intrările şi ieşirile sistemului. Se finalizează prîntr-o schemă de ansamblu a
sistemului în care sunt incluse toate aceste elemente.
- proiectarea de detaliu - fiecare element descris în etapa anterioară este descris în detaliu.
-elaborarea programelor - se scriu programele sistemului într-un limbaj ales anterior.
-implementarea sistemului - după ce a fost realizat sistemul se trece la implementarea sa.
-exploatarea şi întreţinerea sistemului - aceasta este faza finală a proiectului în care se
trece la exploatarea acestuia. Este necesară în paralel şi o serie de operaţii de întreţinere a
acestuia.

Structura sistemelor de informatice este o etapă necesară, datorită:


- numărului mare de elemente şi legături ce compun de regulă un sistem informatic
- implementarea simultană a tuturor componentelor sistemelor informatice într-o unitate
economică apare ca o activitate deosebit de dificilă în cazul în care nu are loc structurarea
sistemului
- prioritatea unor obiective
- cantitatea limitată de resurse umane şi materiale fac imposibilă proiectarea în bloc a
sistemului informatic.

Cerinţe ale structurării sistemelor informatice în etape de proiectare de ansamblu:


- pe fiecare nivel al structurării trebuie asigurată unicitatea criteriului de descompunere a
sistemului
- structurarea realizată trebuie să permită constituirea ulterioară a întregului sistem prin
agregarea modulelor separate

14
- structura creată nu trebuie să conţina întretăieturi.

2.2.Caracteristicile sistemului informatic:

- orice sistem trebuie să conţină ca element central o bază de date, în care să fie stocate date
intercorelate între ele provenind de la surse interne şi externe
- informaţiile furnizate de sistem trebuie obigatoriu să fie autentice, exacte, iar suportul de
prezentare să varieze de la un nivel de conducere la altul
- sistemul trebuie să înglobeze o varietate de modele matematice, tehnico-economice (de
exemplu modele de optimizare, modele de simulare, modele de eficienţă)
- sistemul trebuie conceput ca un sistem om-maşină oferind astfel posibilitatea unei
interacţiuni imediate către utilizator şi sistem.
- sistemul trebuie să prezinte un grad cât mai ridicat de integrare sub următoarele două
aspecte: integrare internă şi integrare externă.

2.3.Cerinţe ale sistemelor informatice:

Pentru realizarea unor sisteme informatice care să îndeplinească obligatoriu caracteristicile


sistemelor este necesar să se ţină cont de urmatoarele cerinţe:
- fundamentarea conceperii sistemului să fie făcută pe criterii de eficienţă economică
- participarea nemijlocită a conducerii unităţii la conceperea sistemului informatic
- asigurarea unui nivel tehnic înalt al soluţiilor adaptate
- adoptarea de soluţii în concordanţă cu resursele disponibile şi cu restricţii impuse

15
2.4.Schema de ansamblu a unui magazin de calculatoare:

Date de intrare

Factura de Optiunile Lista categorii


cumparare utilizatorului Lista subcategorii

Programe de culegere
a datelor
Program actualizare Program actualizare Program actualizare
Produse Comenzi Categorii si
Subcategorii

Baza de date

Produse Producator Comenzi Cos Categorii

Subcategorii

Programe de prelucrare

Program listare Program listare Program prelucrare


Produse Producator cos

Date de iesire

Lista Lista Vizualizare Total Lista


Produse Producator cos comanda Categorii si
Subcategorii

16
Capitolul 3.Modelarea datelor

Un model de date este un instrument teoretic care permite structurarea şi interpretarea corectă a
datelor.
Un model de date ne permite deci să identificăm semnificaţia sau conţinutul de informaţie a unei
colecţii de date.
Posibilitatea de a obţine informaţii utile dintr-o colecţie de date (deci dintr-o bază de date)
depinde de modul de organizare şi interpretare a datelor. Datele în sine nu constitue informaţie, ci
numai datele împreună cu regulile de organizare (structurare) a acestora permit interpretarea şi
utilizarea informaţiilor conţinute de datele respective.

3.1. Entităţi şi asocieri

Elementele esenţiale ale modelelor de date folosite în proiectarea bazelor de date sunt
entităţile şi asocierile dintre acestea.
O entitate este "orice poate fi identificat în mod distinctiv". O entitate se referă la un aspect
al realităţii obiective, care poate fi deosebit de restul universului şi poate reprezenta un obiect
fizic, o activitate, un concept, etc.
Orice entitate este descrisă prin atributele sale. Atributele prin care este descrisă o entitate
se aleg pe baza criteriului relevanţei relativ la domeniul de interes pentru care se defineşte
modelul respectiv, astfel încât să asigure diferenţierea precisă a entităţii respective faţă de restul
universului.

17
În proiectarea bazelor de date de orice tip se folosesc asocieri între mulţimile de entităţi
(datele) componente, pentru a modela realitatea pe care baza de date o reprezintă. Asocierile pot
fi binare (între 2 mulţimi de entităţi) sau n-are (între n mulţimi de entităţi, n>2).
Asocierile binare sunt, la rândul lor, de trei categorii, după numărul elementelor asociate
din fiecare dintre cele două mulţimi Fiind date două mulţimi de entităţi, E1 şi E2, se definesc
următoarele asocierile binare:
- asocierea “unu-la-unu” este asocierea în care unei entităţi din mulţimea E1 îi
coreaspunde o singură entitate din mulţimea E2, şi reciproc; se notează cu 1:1.
- asocierea “unu-la-multe” este asocierea în care unei entităţi din mulţimea E1 îi
coreaspunde una sau mai multe entităţi în mulţimea E2, dar unei entităţi din E2 îi corespunde o
singură entitate în mulţimea E1; se notează cu 1:N.
- asocierea “multe-la-multe” este asocierea în care unei entităţi din mulţimea E1 îi
coreaspund una sau mai multe entităţi în mulţimea E2, şi, de asemenea, unei entităţi din E2 îi
corespund una sau mai multe entităţi în mulţimea E1; se notează cu M:N.

3.2. Clasificarea modelelor de date folosite la proiectarea bazelor de date

La proiectarea bazelor se folosesc, de regulă, două modele de date. Punctul de plecare


este un model semantic a datelor, pe baza căruia se dezvoltă un model de date specializat, cum ar
fi modelul ierarhic, modelul reţea, modelul relaţional, etc.
3.2.1Modelul semantic este un model conceptual de nivel înalt, care exprimă esenţa
entităţilor şi a asocierilor între acestea independent de sistemul de gestiune a bazelor de date care
va fi folosit pentru proiectarea şi realizarea bazei de date respective. Modelul semantic se mai
numeşte şi modelul Entitate-Asociere şi este, de regulă, folosit ca punct de plecare pentru
obţinerea unui model de date specializat, care să corespundă sistemului de gestiune care va fi
folosit în realizarea bazei de date respective.

18
3.2.2.Modelele de date specializate impun anumite forme de reprezentare a entităţilor şi
a asocierilor dintre acestea, forme care corespund sistemului de gestiune a bazelor de date care va
fi folosit pentru realizarea bazei de date. Modelele de date specializate sunt:
- modelul ierarhic
- modelul reţea
- modelul relaţional
- modelul obiect
- modelul obiect-relaţional
La proiectarea unei bazei de date se stabileşte schema conceptuală a acesteia, conform
modelului specializat de date ales, prin două seturi de reguli:
- un set de reguli de structurare a datelor, care exprimă proprietăţile statice ale modelului.
În SGBD, aceste reguli sunt exprimate prin limbajul de definire a datelor (LDD).
- un set de reguli de manipualare (operaţii) a datelor, care reprezintă proprietăţile
dinamice ale modelului. În SGBD, aceste reguli sunt exprimate prin limbajul de manipulare a
datelor (LMD). Prin operaţiile prevăzute în LMD nu se poate modifica organizarea datelor, ci
numai valori particulare ale acestora.

19
3.3.Diagrama unui magazin de calculatoare

Subcategorie Categorie

fldSubcategorie fldCategorie
fldCategorie fNumeCategorie
fNumeSubcategorie

Produse
Producator fldProdus
fldProducator fldSubcategorie
fNumeProducator fldProducator
fcodProdus

Cos Comenzi
fldItem FldComanda
fldUtilizator fldUtilizator
fldProdus fNumeCumparator

20
Capitolul 4. Descrierea aplicatiei

Prima pagina a aplicatiei afiseaza cateva produse luate random din baza de date

Pentru a putea adauga un produs in cos trebuie ca userul sa fie autentificat. Pentru
autentificare vom folosi contul demo, utilizator :utilizator si parola :parola.

21
Dupa autentificare continutul cosului poate fi prezentat in 2 moduri.

Primul mod este afisat in cazul in care cosul nu contine nici un produs:

In cazul in care exista produse in cosul de cumparaturi acestea vor fi afisate impreuna cu
urmatoarele informatii:

- Nume produs;
- Cantitate;

- Pret unitar (per bucata);

- Pret total (per produs). Acesta este pretul unitar inmultit cu numarul de bucati;

- Pretul final al tuturor produselor si cantitatilor.

Alte optiuni disponibile in pagina Cos de cumparaturi:

- Sterge produs;
- Actualizeaza cantitati;

- Goleste cos;

- Comanda produse.

22
Optiunea Goleste cosul sterge toate produsele din cos in cazul in care utilizatorul
confirma acest lucru, pentru a preveni stergerea accidentala:

Utilizatorul poate modifica pentru fiecare produs in parte cantitatile. Salvarea noilor
cantitati se face cu ajutorul butonului Actualizare.

In cazul in care se introduce cantitatea 0 produsul este sters din cos automat.

In cazul in care utilizatorul introduce caractere non-numerice in caseta de cantitati este


afisat un mesaj de eroare si este pastrata vechea valoare:

23
In cazul in care in cos este adaugat un produs deja existent, se va incrementa cantitatea
acestuia cu 1.

Butonul Comanda produsele afiseaza urmatoarea pagina:

24
Aceasta pagina afiseaza din nou continutul cosului de cumparaturi.

Functionalitatea cosului este identica cu cea din pagina anterioara insa exista o noua
sectiune: Informatii despre cumparator si despre cupoanele de reduceri.

Informatiile despre comparator sunt completate din profilul utilizatorului insa acesta le
poate modifica.

De exemplu utilizatorul poate alege o alta adresa pentru expedierea produselor decat cea
personala.

De asemenea in aceasta pagina utilizatorul poate folosi un cod al unui cupon de reduceri.

In cazul in care informatiile din pagina nu sunt completate corect utilizatorul este
atentionat cu ajutorul mesajelor.

Singurul camp optional este cel pentru cod cupon reducere, restul campurilor fiind
obligatorii:

25
Pagina de confirmare a comenzii este afisata mai jos:

Aceasta pagina contine un sumar al comenzii si anume:

26
- produsele aflate in cosul de cumparaturi;
- informatiile despre utilizator

Aceasta pagina insa nu permite modificarea parametrilor.

Pentru aceasta trebuie incarcata pagina anterioara.

La alegerea optiunii Comanda produsele utilizatorul trebuie sa confirme trimiterea


comenzii.

In cazul in care utilizatorul alege optiunea Cancel poate anula trimiterea comenzii.

In caz contrar comanda este confirmata.

27
Dupa confirmarea comenzii utilizatorul primeste urmatorul mesaj:

4.1.Sectiunea de administrare

In aceasta sectiune administratorul poate configura categoriile de produse, produsele,


cupoanele de reduceri, comenzi, utilizatori, comentarii ale produselor.

Pagina de inceput este urmatoarea:

Aici administratorul trebuie sa se autentifice pentru a avea acces la optiunile de


administrare.

28
Dupa autentificare administratorul va avea disponibil urmatorul meniu:

Urmatoarea grupa de optiuni foloseste definirii categoriilor de produse si produselor:

- Administrare categorii;
- Administrare produse.

29
Urmatoarea optiune este folosita pentru a defini categoriile de produse.

Informatiile si optiunile acesteia sunt:

- afisare nume categorie;


- afisare subcategorii continute;

- modificare informatii categorie;

- stergere categorie;

- adaugare categorie noua.

Adaugarea unei noi categorii presupune doar completarea numelui categoriei. De


asemenea modificarea unei categorii presupune modificarea numelui categoriei.

30
Ultima optiune din acest grup foloseste definirii produselor.

Aceasta afiseaza:

- numele produsului;
- numele producatorului;

- numele categoriei;

- numele subcategoriei;

- detalii produs;

- editare produs;

- stergere produs;

- adaugare produs nou.

31
Adaugarea unui produs nou, ca si editarea unui produs presupun completarea obligatorie a
urmatoarelor campuri:

- categorie;
- subcategorie;

- producator;

- nume produs;

- cod produs;

- imagine produs;

- descriere produs;

- specificatii tehnice produs;

- pret produs;

- garantie.

Imaginile produselor trebuie sa respecte urmatoarele reguli:

-Fisiere acceptate: GIF/JPG

-Marime maxima: 500kb

-Dimensiuni maxime: 200px/200px

32
Urmatoarea grupa de optiuni permite administrarea utilizatorilor si a comentariilor
produselor:

Administrarea utilizatorilor permite doar stergerea acestora, fara a putea adauga sau
modifica datele unui utilizator.

33
De asemenea se pot afisa detaliile utilizatorilor.

Adresa email a unui utilizator este afisata sub forma de link de tip mailto, deci
administratorul poate contacta rapid utilizatorii.

Sectiunea de administrare a comentariilor de asemenea ofera posibilitatea de stergere, fara


a oferi posibilitatea de adaugare sau modificare.

In plus administratorul poate active sau dezactiva un comentariu.

Initial comentariile sunt adaugate ca dezactivate si nu vor fi afisate decat dupa activarea
lor de catre administrator.

De asemenea ofera legaturi si spre profilul utilizatorului care a adaugat comentariul si


asupra detaliilor produsului la care este atasat comentariul.

In coloana Aprobat se poate vedea daca comentariul este activ si in coloana urmatoare se
poate activa / dezactiva un comentariu.

34
Activarea si dezactivarea se realizeaza dupa confirmarea acestei actiuni.

Aceste operatii sunt disponibile si din pagina de afisare detalii comentariu care afiseaza in
plus si textul comentariului:

Urmatoarea grupa de optiuni ofera posibilitatea de a administra comenzile, promotiile si


cupoanele de reduceri.

Administrarea comenzilor afiseaza informatii despre utilizatorul care a realizat comanda


si data comenzii:

Informatii detaliate referitoare la produsele comandate, cupon de reducere, adresa pentru


expediat produsele, total pret si cantitati sunt disponibile in pagina de detalii a comenzilor:

35
Administratorul poate contacta direct utilizatorul ce a realizat comanda prin folosirea
comenzii de afisare a adresei de email.

Ultima optiune din meniul de administrare se refera la administrarea cupoanelor de


reduceri.

Se pot vizualiza codurile cupoanelor, valorile reducerilor associate, modifica si sterge


precum si adauga noi cupoane.

36
In continuare este prezentata fereastra de adaugare a unui nou cupon, care este similara cu
cea de modificare a unui cupon existent cu mentiunea ca cea din urma va avea campurile deja
completate.

Ca si in celelalte cazuri toate campurile sunt obligatorii, necompletarea acestora ducand la


afisarea unor mesaje de eroare.

Cu ajutorul optiunii iesire administratorul se poate dez-autentifica pentru a preveni


accesul neautorizat la panoul de administrare al site-ului.

Codul sursa al proiectului

37
In continuare vor fi prezentate cateva sectiuni de cod mai importante, din codul sursa al
aplicatiei. Aceste sectiuni cuprind atat cod PHP cat si Javascript si CSS.Functia de conectare la
baza de date este prezentata in figura urmatoare:

Se observa ca acest fisier include un alt fisier numit config.inc.php ce contine setarile
globale ale aplicatiei.

Parametrii conexiunii sunt:

- numele serverului MySQL;


- numele bazei de date folosita de aplicatie;

38
- numele utilizatorului ce are acces la baza de date;

- parola acestui utilizator.

Cu acesti parametrii se va apela functia PHP mysql_connect ce realizeaza conectarea la


baza de date.

In cazul in care conectarea la baza de date nu reuseste se va afisa urmatorul mesaj:

Error while connecting to db

Impreuna cu motivul erorii (de ex. Access denied)

Ultima functie din fisier realizeaza inchiderea conexiunii cu baza de date pentru a elibera
resursele:

fDBClose.

Fisierul functions.inc.php contine functii uzuale folosite in majoritatea paginilor siteului


ca de exemplu:

- inserarea de atribute si / sau taguri HTML, ca de exemplu META TAGS:

39
De asemenea aici se afla functii folosite pentru includerea de fisiere in care sunt definite
functii JavaScript sau stiluri CSS necesare validarii formularelor sau formatarii si pozitionarii
layoutului siteului:

Prin simpla modificare a acestor functii, ca de exemplu adaugarea unui nou fisier ce
trebuie inclus, aceasta se va realiza fara a afecta toate fisierele ce folosesc functiile de validare.

Un alt exemplu de functii folosite in fisierele siteului sunt cele ce includ sectiuni din
layout, ca de exemplu sectiunea de autentificare sau cea de cautare:

Aceasta functie testeaza daca utilizatorul este autentificat.

In cazul in care este autentificat afiseaza un mesaj de bun venit impreuna cu optiunile
Contul meu si Iesire cont.

In caz contrar afiseaza formularul de autentificare precum si optiunea de creare a unui


cont nou.

40
Toate componentele si sectiunile layoutului sunt afisate prin apelarea unor functii din
acest fisier ceea ce permite schimbarea rapida a acestuia, ca de exemplu adaugarea / stergerea /
modificarea unei optiuni din meniul din partea inferioara a siteului, schimbare ce se va propaga in
tot siteul:

Directorul JS contine functii JavaScript necesare in majoritatea cazurilor pentru validari


ale formularelor:

Un alt exemplu de functii JavaScript este cel din figura urmatoare, care testeaza daca
utilizatorul a introdus in campul corespunzator cantitatilor produselor din cosul de cumparaturi
caractere valide (numere, caractere intre 0 si 9):

41
In continuare se va prezenta o secventa de cod CSS necesar pentru formatarea si
pozitionarea elementelor de layout, in acest caz a meniului superior si elementelor acestuia :

42
Majoritatea actiunilor efectuate de catre utilizatori sunt implementate in fisierul
execute.php din directorul radacina al proiectului.

43
Un fisier similar se afla in directorul admin, unde sunt implementate actiunile realizate de
administrator pentru panoul de administrare prezentat anterior.

Structura acestui fisier este urmatoarea:

- la inceputul acestuia se importa fisiere in care sunt definite o serie de functii si setari
necesare in implementarile actiunilor, ca de exemplu fisierul ce contine functiile de conectare
respective deconectare la / de la baza de date sau cele ce afiseaza meniurile disponibile:

- apoi se verifica daca utilizatorul este autentificat si este de tip administrator pentru a
valida accesul la aceste actiuni si se realizeaza conectarea la baza de date:

- in continuare se verifica daca actiunea ceruta se afla in lista actiunilor valide:

- apoi urmeaza implementarea unei actiuni urmata de redirectarea la p pagina ce de obicei


listeaza obiectele afectate de actiunea respective (producatori, categorii, promotii, etc) :

44
In exemplul de mai sus sunt ilustrate cele 3 actiuni ce se pot efectua asupra unui
producator :

- adaugare;
- modificare;

- stergere

45
Bibliografie

Internet si WEB - Ghid complet - SAMS Teach Yourself - autor: N. Snell B. Temple T.M. Clark

Initiere in PHP 5-autor: Steven Holzner

PHP5 Si MySQL pentru comert electronic-autor: Cristian Darie Mihai Bucica

Proiectarea paginilor WEB-autor: Ionel Simion

Dezvoltarea aplicatiilor WEB folosind XHTML, PHP si MySQL-autor: Traian Anghel

PHP, MySQL si Apache-autor: Julie C. Meloni

Optimizarea paginilor Web-autor: Calin Ioan Acu

Proiectarea siturilor Web - Design si functionalitate-autor: Sabin Buraga

46
http://php.net/

http://www.mysql.com/

http://apache.org/

http://www.adobe.com/products/photoshop/

http://www.w3schools.com/css/default.asp

http://www.w3.org/Style/CSS/

http://www.w3.org/MarkUp/

http://www.w3.org/TR/xhtml1/

http://www.w3schools.com/xhtml/

http://en.wikipedia.org/wiki/XHTML

http://javascript.internet.com/

http://www.javascript.com/

47

S-ar putea să vă placă și