Sunteți pe pagina 1din 35

UNIVERSITATEA DE VEST ,,VASILE GOLDIȘ” DIN ARAD

FILIALA BAIA MARE


FACULTATEA DE ŞTIINŢE ECONOMICE,
INFORMATICĂ ȘI INGINERIE
SPECIALIZAREA: MARKETING

LUCRARE DE LICENȚĂ

Coord. științific: lect. dr. univ.Magnolia Tilcă

Absolvent: Cristian Daniel Stoica

BAIA MARE
2018

1
UNIVERSITATEA DE VEST ,,VASILE GOLDIȘ” DIN ARAD
FILIALA BAIA MARE
FACULTATEA DE ŞTIINŢE ECONOMICE,
INFORMATICĂ ȘI INGINERIE
SPECIALIZAREA: MARKETING

LUCRARE DE LICENȚĂ

BAZA DE DATE PRIVIND GESTIONAREA


ACTIVITĂŢII DE MARKETING ÎNTR-O
COMPANIE

Coord. științific: lect. dr. univ.Magnolia Tilcă

Absolvent: Cristian Daniel Stoica

BAIAMARE
2018

2
CUPRINS
Pagina 5
Lista figurilor...................................................................................................
Introducere....................................................................................................... Pagina 6

Capitolul 1: Noţiuni introductive despre bazele de date............................ Pagina 7


1.1. Scurt istoric al bazelor de date................................................................. Pagina 7
1.2. Definirea bazelor de date.......................................................................... Pagina 7
1.3. Sisteme de baze de date............................................................................ Pagina 8
1.4. Nivelul de organizare a datelor într-o bază de date.................................. Pagina 9
1.5. Modelarea la nivel logic a datelor într-o bază de date............................. Pagina 10
1.6. Conceptul de sistem de gestiune a bazelor de date..................................
Pagina 11
1.6.1. Activităţile asigurate de SGBD............................................................. Pagina 11
1.6.2. Obiectivele unui SGBD......................................................................... Pagina 12
1.6.3. Funcţiile unui SGBD............................................................................. Pagina 13

Capitolul 2: Prezentarea Agentului economic.......................................... Pagina 14


2.1. Descrierea firmei......................................................................................
Pagina 14
2.2.Descrierea principalelor activităţi............................................................. Pagina 15
2.2.1. Activitatea de import............................................................................. Pagina 15
2.2.2. Activitatea de ofertare şi proiectare....................................................... Pagina 15
2.2.3. Activitatea de consiliere şi vânzare....................................................... Pagina 15
2.2.4. Activitatea de marketing....................................................................... Pagina 15
2.2.5. Activitatea de service şi mentenanţă..................................................... Pagina 16
2.3.Structura organizatorică a agentului economic......................................... Pagina 17
2.3.1. Organigrama SC PRISUM INTERNATIONAL TRADING SRL....... Pagina 17
2.3.2. Organizarea Departamentului Financiar............................................... Pagina 19
2.4. Prezentarea programului MySQL............................................................... Pagina 20

Capitolul 3. Studiu de caz............................................................................... Pagina 22

3.1. Prezentarea programului. Noţiuni generale................................................ Pagina 22

3.2. Conectarea la baza de date.......................................................................... Pagina 23

3
3.3. Descrierea aplicaţiei.................................................................................... Pagina 24

Concluzii............................................................................................................
Pagina 34
Bibliografie........................................................................................................ Pagina 35

4
LISTA FIGURILOR

Fig.1.1. Arhitectura sistemului de bază de date………………………………..……………..….9


Fig.1.2. Funcțiile unui SGBD………………………………………………………………...…...13

Fig.2.1. Organigrama societății SC PRISUM INTERNATIONAL TRADING SRL………...17

Fig.2.2.Organigrama departamentului financiar-contabil……………………………………..19

Fig.3.1. Tabel aplicație administrator…………………………………………………...……….25

Fig.3.2. Tabel aplicație cumpărări……………………………………………………….……….25

Fig.3.3. Tabel aplicație cumpărări to produse………………………………………..…………26

Fig.3.4. Tabel aplicație vânzări…………………………………………………………..…….…27

Fig.3.5. Tabel aplicație vânzări to produse……………………………………….……..…….…27

Fig.3.6. Tabel aplicație clienți doctori………………………………………………………..…..28

Fig.3.7. Tabel aplicație produse…………………………………………………………………..29

Fig. 3.8. Login sistem………………………………………………………………………………29

Fig.3.9. Panoul de administrare al aplicației…………………………………………………….29

Fig.3.10. Tabel aplicație gestiune medicamente…………………………………………………30

Fig.3.11. Tabel aplicație adăugare medicamente………………………..………………………30

Fig.3.12. Tabel aplicație căutare medicamente………………………………………………….31

Fig.3.13. Tabel vânzări (ieșiri)……………………………………………………………………31

Fig.3.14. Tabel aplicație vânzare………………………………………………………….……...32

Fig.3.15. Tabel aplicație afișare facturi………………………………………………………….33

5
INTRODUCERE

Se spune deseori că matematica este limbajul științelor. La fel, se poate spune că SQL
(Structured Query Language) este limbajul bazelor de date. SQL este principalul limbaj folosit
pentru comunicarea cu bazele de date relaționale, de aceea această lucrare prezintă, prin prisma
acestui program, gestionarea activității de marketing din cadrul Companiei S.C. Prisum
International Trading S.R.L.
Lucrarea de faţă este împărţită în 3 capitole, fiecare capitol fiind subdivizat în mai
multe subcapitole.
Primul capitol, intitulat Noţiuni introductive despre bazele de date prezintă în cele şase
subcapitole ale sale, istoricul bazelor de date, conceptul şi sintagma de bază de date; tot aici găsim
şi definiţia unui sistem de baze de date, obiectivele acestuia, nivelele de organizare a datelor,
precum şi principalele funcţii ale unui sistem de baze de date.
Cel de-al doilea capitol, aşa cum şi denumirea acestuia arată, şi anume, Prezentarea
agentului economic, este dedicat prezentării agentului economic la care va fi aplicat acest sistem de
baze de date. Am ales compania de marketing SC Prisum International Trading SRL, o companie
dedicată îmbunătățirii sănătății printr-o gamă variată de produse și servicii. Aceasta importă,
distribuie și furnizează servicii pentru suplimente alimentare, terapie intensivă, bioterapie și produse
de imunitate, instrumente medicale și chirurgie endoscopică. Ceea ce m-a determinat să aleg această
companie a fost tocmai experienţa mea ca agent de vânzări în cadrul acesteia. În cadrul acestui
capitol am încercat să fac o scurtă prezentare companiei, am descris principalele activităţi, precum
şi structura organizatorică a agentului economic.
Ultimul capitol, denumit Studiu de caz, face prezentarea aplicaţiei MYSQL. Am ales acest
program, deoarece poate gestiona baze de date extrem de mari şi complexe fără o scădere
semnificativă a performanţelor şi este foarte uşor de utilizat. MYSQL este un sistem multiutilizator,
ceea ce înseamnă că mai mulţi clienţi pot accesa şi utiliza simultan una sau mai multe baze de date
MYSQL. Acesta include şi un sistem de privilegii puternic şi flexibil, care permite administratorilor
să protejeze accesul la datele sensibile folosind scheme de autentificare bazate pe o combinaţie între
utilizator şi calculatorul gazdă. Capitolul descrie programul, pornind de la noţiunile generale,
continuând cu conectarea la baza de date şi apoi cu descrierea aplicaţiei pas cu pas. Se exemplifică
de asemenea modul de utilizare a aplicației.

6
1. NOŢIUNI INTRODUCTIVE DESPRE BAZELE DE DATE

1.1. Scurt istoric al bazelor de date

Conceptul de bază de date a apărut în a doua parte a anilor ’60. La momentul respectiv, în
sistemele informatice ale organizațiilor (atâtea câte erau –ne referim la sisteme informatice),
informațiile erau organizate în fișiere de date (esențiale, indexate etc.) create cu ajutorul unor
programe scrise în limbaje din a III-a generație.
Sintagma bază de date apare pentru prima dată în titlul unei conferințe organizate la Santa
Monica (California) în 1964 de System Development Corporation. Avantajele organizării
informațiilor în baze de date decurg tocmai din existența acestui fișier de descriere global a bazei,
denumit, în general, dicționar de date (denumit și repertoar de date sau catalog de sistem).
Extragerea și modificarea datelor – altfel spus, lucrul cu fișierele de date – se derulează
exclusive prin intermediul dicționarului în care se găsesc informații privitoare la structura datelor și
restricțiilor îndeplinite de acestea. Mai jos sunt enumerate câteva dintre avantaje:
 Un grad redus de redundanță a datelor;
 Evitarea, în mare măsură, a inconsistenței datelor;
 Facilitarea partajării informațiilor între toți utilizatorii din cadrul organizației;
 Suport pentru standardizare;
 Îmbunătățirea integrității datelor;
 Structurile de date sunt mai aproape de realitate și mai ușor de manipulat;
 Este permisă legătura cu diverse limbaje-gazdă;
 Întreprinderea poate fi abordată global, luându-se în considerare și interacțiunile
dintre compartimente (producție, marketing, personal, finanțe, contabilitate);
 Datele fiind separate de programele de consultare și actualizare a lor, procesul de
dezvoltare a aplicațiilor-program este sensibil ameliorat, efortul de scriere a
programelor (codarea) diminuându-se considerabil;
 Sistemele informatice ce utilizează bază de date sunt mai flexibile, reflectă mai bine
specificul firmei, fiind adaptabile la modificările ulterioare ale mediului economic.
O bază de date (BD) reprezintă un ansamblu structurat de fișiere care grupează datele
prelucrate în aplicațiile informatice ale unei persoane, grup de persoane, întreprinderi, instituții etc.
Formal, BD poate fi definită ca o colecție de date aflate în interdependență, împreună cu descrierea
datelor și a relațiilor dintre ele, iar după G.D. Everest, ,,o bază de date reprezintă o colecție de date
utilizată într-o organizație, colecție care este automatizată, partajată, definită riguros, formalizată și
controlată la nivel central.” (Everest, 1986).
O organizare sistematică a informaţiilor este oferită de bazele de date, care asigură condiţiile
necesare pentru consemnarea datelor, păstrarea lor şi un acces optim la acestea, şi tind să devină
totodată principalul rezervor de informaţii al oricărei organizaţii.

1.2. Definirea bazelor de date

O bază de date reprezintă un ansamblu de date integrat, anume structurat şi dotat cu o


descriere a acestei structuri. (Trandafir, Nistorescu, Mierlus, 2007). Descrierea structurii poartă
numele de dicţionar de date sau metadate şi crează o interdependenţă între datele propriu-zise şi
programe.
Baza de date poate fi privită ca o colecţie de fişiere interconectate care conţin nucleul de
date necesare unui sistem informatic. Astfel, poate fi considerată drept un model al unor aspecte
ale realităţii unei unităţi economice, modelată prin intermediul datelor. Diferitele obiecte din
7
cadrul realităţii ce prezintă interes sunt denumite clase sau entităţi. Pentru aceste obiecte sunt
achiziţionate şi memorate date referitoare la diferite caracteristici (atribute). Baza de date se
constituie ca un ansamblu intercorelat de colecţii de date, prin care se realizează reprezentarea unei
realităţi.
Datele constituie orice mesaj primit de un receptor, sub o anumită formă.
Informaţiile reprezintă cantitatea de noutate adusă de un mesaj din exterior (realitate).
Un fişier este un ansamblu de înregistrări fizice, omogene din punct de vedere al
conţinutului şi al prelucrării.
O înregistrare fizică este o unitate de transfer între memoria internă şi cea externă a
calculatorului.
O înregistrare logică este unitatea de prelucrare din punct de vedere al programului
utilizator. O înregistrare se compune din câmpuri (atribute) care descriu anumite aspecte ale
realităţii.
Câmpurile sunt înregistrări logice.

O baza de date trebuie să asigure :


 abstractizarea datelor (baza de date fiind un model al realităţii);
 integrarea datelor (baza de date este un ansamblu de colecţii de date intercorelate, cu
redundanţă controlată);
 integritatea datelor (se referă la corectitudinea datelor încărcate şi manipulate astfel încât să
se respecte restricţiile de integritate);
 securitatea datelor (limitarea accesului la baza de date);
 partajarea datelor (datele pot fi accesate de mai mulţi utilizatori, eventual în acelaşi timp);
 independenţa datelor (organizarea datelor să fie transparentă pentru utilizatori, modificările
în baza de date să nu afecteze programele de aplicaţii).

1.3. Sisteme de baze de date


Apărute în anii 60, sistemele de gestiune a bazelor de date (SGBD) sau băncile de date
reprezintă un sistem de organizare şi prelucrare, respectiv teleprelucrare (prelucrare la distanţă) a
informaţiei, constituit din următoarele 3 elemente:
• colecţia de date aflate în interdependenţă
• descrierea datelor şi a relaţiilor dintre ele
• un sistem de programe care asigură exploatarea bazei de date (actualizare, interogare)

Arhitectura sistemului de baza de date este formată din următoarele componente (Figura 1.1):
• baza/bazele de date – reprezintă componenta de tip date a sistemului (colecţiile de date
propriu-zise, indecşii);
• sistemul de gestiune a bazei/bazelor de date – ansamblul de programe prin care se asigură
gestionarea şi prelucrarea complexă a datelor şi care reprezintă componenta software a sistemului
de baze de date (Sistem de Gestiune a Bazelor de Date – SGBD);
• alte componente – proceduri manuale sau automate, inclusiv reglementări administrative,
destinate bunei funcţionări a sistemului, dicţionarul bazei de date (metabaza de date) care conţine
informaţii despre date, structura acestora, elemente de descriere a semanticii, statistici,
documentaţii, mijloacele hardware utilizate, personalul implicat.

8
Fig.1.1
Arhitectura sistemului de baza de date

SGBD-ul este cel care asigură și supervizează:


 introducerea de informații în baza de date;
 actualizarea și extragerea datelor din bază;
 autorizarea și controlul accesului la date;
 păstrarea independenței dintre structura bazei și programe. (Dodescu, 1987)
Obiectivul esențial al unui SGBD este furnizarea unui mediu eficient, adaptat
utilizatorilor care doresc să consulte sau să actualizeze informațiile conținute în bază. Bazele de
date sunt concepute pentru a prelucra un volum mare de informații. Gestiunea acestora impune nu
numai o structurare riguroasă a datelor, dar și o raționalizare a procedurilor de acces și prelucrare.
Principalele funcțiuni ale unui SGBD vizează:
 descrierea ansamblului de date la nivelurile fizic și conceptual;
 crearea (inițializarea) și exploatarea (consultarea și actualizarea) bazei de date;
 controlul integrității bazei;
 confidențialitatea informațiilor conținute în bază;
 accesul simultan al mai multor utilizatori la informații;
 securitatea în funcționare;
 furnizarea unui set de comenzi și instrucțiuni necesare atât utilizatorilor pentru consultarea
directă a bazei, prin intermediul unui limbaj de manipulare, cât și a programatorilor, pentru
redactarea programelor de lucru cu baza de date;
 monitorizarea performanțelor.

1.4. Nivelul de organizare a datelor într-o bază de date


Datele dintr-o bază de date pot fi structurate pe 3 niveluri, în funcţie de categoria de
personal implicată:
• nivelul conceptual (global) – exprimă viziunea administratorului bazei de date asupra
datelor. Acestui nivel îi corespunde structura conceptuală (schema) a bazei de date, prin care
se realizează o descriere a tuturor datelor, într-un mod independent de aplicaţii, ce face posibilă
administrarea datelor.
• nivelul logic – exprimă viziunea programatorului de aplicaţie asupra datelor. La acest
nivel se realizează o descriere a datelor corespunzătoare unui anumit program de aplicaţie.

• nivelul fizic – care exprimă viziunea inginerului de sistem asupra datelor. Corespunde
schemei interne a bazei de date prin care se realizează o descriere a datelor pe suport fizic de
memorie.

9
1.5. Modelarea la nivel logic a datelor într-o bază de date
Modelul de date reprezintă ansamblul de concepte şi instrumente necesare pentru a construi o
schemă a bazei de date. (Connolly, Begg, 2001) Modelarea datelor poate viza totalitatea datelor din
cadrul bazei de date (schema/arhitectura datelor) sau o parte a acestora (subscheme ale bazei de
date). Schema şi subschema bazei de date sunt modelele logice ale bazei de date, care au asociate
principii generale pentru gestionarea/definirea (structurarea) datelor, manipularea şi asigurarea
integrităţii datelor, fără a reflecta modul de reprezentare şi stocare a acestor date pe suportul de
memorie (atributele modelului fizic).
Se cunosc mai multe tipuri de baze de date după modul de organizare, modul de dispunere pe
suport magnetic a informaţiei şi a elementelor componente:
• modele primitive – datele sunt organizate la nivel logic în fişiere, structura de bază este
înregistrarea, mai multe înregistrări fiind grupate în structuri de tip fişier;
• baze de date ierarhice – legăturile dintre date sunt ordonate unic, accesul se face numai prin
vârful ierarhiei, un subordonat nu poate avea decât un singur superior direct şi nu se poate ajunge la
el decât pe o singură cale;
• baze de date în reţea – datele sunt reprezentate ca într-o mulţime de ierarhii, în care un
membru al ei poate avea oricâţi superiori, iar la un subordonat se poate ajunge pe mai multe cai;
• baze de date relaţionale – structura de bază a datelor este aceea de relaţie – tabel, limbajul
SQL (Structured Query Language) este specializat în comenzi de manipulare la nivel de tabel.
Termenul relaţional a fost introdus de un cercetător al firmei IBM dr. E. F. Codd în 1969 cel care a
enunţat cele 13 reguli de bază necesare pentru definerea unei baze de date relaţionale. Baza de date
relaţională reprezintă o mulţime structurată de date, accesibile prin calculator, care pot satisface în
timp minim şi într-o manieră selectivă mai mulţi utilizatori. Această mulţime de date modelează un
sistem sau un proces din lumea reală şi serveşte ca suport unei aplicaţii informatice;
• baze de date distribuite – sunt rezultatul integrării tehnologiei bazelor de date cu cea a
reţelelor de calculatoare. Sunt baze de date logic integrate, dar fizic distribuite pe mai multe sisteme
de calcul. Integrarea bazei de date distribuite se face cu ajutorul celor 3 tipuri de de scheme care
sunt implementate:
1. schema globală – defineşte şi descrie toate informaţiile din baza de date distribuită în reţea;
2. schema de fragmentare – descrie legăturile dintre o colecţie globală şi fragmentele sale.
Ea este de tipul unu la mai mulţi şi are forma unei ierarhii;
3. schema de alocare – descrie modul de distribuire a segmentelor pe calculatoarele
(nodurile) din reţea. Fiecare segment va avea o alocare fizică pe unul sau mai multe calculatoare.
Schema de alocare introduce o redundanţă minimă şi controlată: un anumit segment se poate
regăsi fizic pe mai multe calculatoare.
Utilizatorul unei asemenea baza de date o vede ca pe o bază de date unică, compactă (nivel
logic), cu toate că în realitate ea este distribuită pe mai multe calculatoare legate în reţea (nivel
fizic). Această organizare a dus la o creştere substanţială a vitezei de acces la o bază de date într-o
reţea de calculatoare. Anumite date stocate pe un server local sunt mult mai rapid accesate decât
dacă ele s- ar afla pe un server la distanţă, unde baza de date ar fi fost stocată în întregime
(nedistribuită);
• modele semantice – orientate spre obiecte. Aceste modele sunt orientate pe reprezentarea
semnificaţiei datelor. Structura de bază folosită pentru reprezentarea datelor este cea de clasă de
obiecte definită prin abstractizare din entitatea fizică pe care o regăsim în lumea reală. Aici există
entităţi simple şi clase de entităţi care se reprezintă prin obiecte simple sau clase de obiecte,
ordonate în ierarhii de clase şi subclase. Acest tip de bază de date a apărut din necesitatea
gestionării obiectelor complexe: texte, grafice, hărţi, imagini, sunete (aplicaţii multimedia) şi a
gestionării obiectelor dinamice: programe, simulări.

10
1.6. Conceptul de sistem de gestiune a bazelor de date
Sistemele de gestiune a bazalor de date (SGBD) sunt sisteme informatice specializate în
stocarea şi prelucrarea unui volum mare de date, numărul prelucrărilor fiind relativ mic. ( Fehily,
2004)

Termenul de bază de date se va referi la datele de prelucrat, la modul de organizare a acestora


pe suportul fizic de memorare, iar termenul de gestiune va semnifica totalitatea operaţiilor ce se
aplică asupra datelor din baza de date.

Un SGBD trebuie să asigure următoarele funcţii:


• definirea – crearea bazei de date;
• introducerea (adăugarea) datelor în baza de date;
• modificarea unor date deja existente în baza de date;
• ştergerea datelor din baza de date;
• consultarea bazei de date – interogare/extragerea datelor.
În plus un SGBD mai asigură şi alte servicii:
• suport pentru limbaj de programare;
• interfaţă cât mai atractivă pentru comunicare cu utilizatorul;
• tehnici avansate de memorare, organizare, accesare a datelor din baza de date;
• utilitare încorporate: sistem de gestiune a fişierelor, liste, tabele etc.;
• “help” pentru ajutarea utilizatorului în lucrul cu baza de date.
Apariţia şi răspândirea reţelelor de calculatoare a dus la dezvoltarea SGBD-urilor în
direcţia multiuser: mai mulţi utilizatori folosesc simultan aceeaşi bază de date.
Principalul avantaj al reţelelor a fost eficienţa sporită de utilizare a resurselor sistemelor de
calcul: la o bază de date aflată pe un server central au acces simultan mai mulţi utilizatori, situaţi la
distanţă de server, de unde rezultă o bună utilizare a resurselor server-ului şi economie de
memorie datorată memorării unice a bazei de date.
Un SGBD este dotat cu un limbaj neprocedural de interogare a bazei de date SQL
(Structured Query Language) care permite accesul rapid şi comod la datele stocate în baza de date.
Un SGBD este un ansamblu complex de programe care asigură interfaţa între o bază de date
şi utilizatorii acesteia. SGBD este componenta software a unui sistem de baze de date care
interacţionează cu toate celelalte componente ale acestuia asigurând legătura şi interdependenţa
între ele.

1.6.1. Activităţile asigurate de SGBD


Un SGBD trebuie să asigure următoarele activităţi:
• definirea şi descrierea structurii bazei de date – se realizează printr-un limbaj propriu, limbaj de
definire a datelor (LDD), conform unui anumit model de date;
• încărcarea datelor în baza de date – se realizează prin comenzi în limbaj propriu, limbaj de
manipulare a datelor (LMD);
• accesul la date – se realizează prin comenzi specifice din limbajul de manipulare a datelor.
Accesul la date se referă la operaţiile de interogare şi actualizare.
Interogarea este complexă şi presupune vizualizarea, consultarea, editarea de situaţii de
ieşire (rapoarte, liste, regăsiri punctuale).
Actualizarea presupune 3 operaţiuni: adăugare, modificare efectuate prin respectarea
restricţiilor de integritate ale BD şi ştergere;
• întreţinerea bazei de date – se realizează prin utilitare proprii ale SGBD;
11
• reorganizarea bazei de date – se face prin facilităţi privind actualizarea structurii de date şi
modificarea strategiei de acces. Se execută de către administratorul bazei de date;
• securitatea datelor – se referă la asigurarea confidenţialităţii datelor prin autorizarea și
controlul accesului la date, criptarea datelor.

1.6.2. Obiectivele unui SGBD

Un SGBD are rolul de a furniza suportul software complet pentru dezvoltarea de aplicaţii
informatice cu baze de date. (Oppel, 2006)
El trebuie să asigure:
• minimizarea costului de prelucrare a datelor,
• reducerea timpului de răspuns,
• flexibilitatea aplicaţiilor şi protecţia datelor.
Pentru satisfacerea performanţelor enumerate, SGBD trebuie să asigure un minim de
obiective.
1. Asigurarea independenţei datelor – trebuie privită din două puncte de vedere:
ƒ independenţa logică – se referă la posibilitatea adăgării de noi tipuri de înregistrări de date
sau extinderea structurii conceptuale, fără a determina rescrierea programelor de aplicaţie;
ƒ independenţa fizică – modificarea tehnicilor fizice de memorare fără a determina rescrierea
programelor de aplicaţie.
2. Asigurarea redundanţei minime şi controlate a datelor – stocarea informaţiilor în bazele de
date se face astfel încât datele să nu fie multiplicate. Totuşi, pentru a îmbunătăţi performanţele
legate de timpul de răspuns, se acceptă o anumită redundanţă a datelor, controlată, pentru a
asigura coerenţa bazei de date şi eficienţa utilizării resurselor hardware.
3. Asigurarea facilităţilor de utilizare a datelor – presupune ca SGBD-ul să aibă anumite
componente specializate pentru:
• folosirea datelor de către mai mulţi utilizatori în diferite aplicaţii – datele de la o
aplicaţie trebuie să poată fi utilizate şi în alte aplicaţii.
• accesul cât mai simplu al utilizatorilor la date – fără ca ei să fie nevoiţi să
cunoască structura întregii baze de date; această sarcină cade în seama administratorului bazei de
date.
• existenţa unor limbaje performante de regăsire a datelor – care permit
exprimarea interactivă a unor cereri de regăsire a datelor.
• sistemul de gestiune trebuie să ofere posibilitatea unui acces multicriterial la
informaţiile din baza de date – spre deosebire de sistemul clasic de prelucrare pe fişiere unde
există un singur criteriu de adresare, cel care a stat la baza organizării fişierului.
4. Asigurarea securităţii datelor împotriva accesului neautorizat.
5. Asigurarea coerenţei şi integrităţii datelor împotriva unor ştergeri intenţionate sau
neintenţionate – se realizează prin intermediul unor proceduri de validare, a unor protocoale de
control concurent şi a unor proceduri de refacere a bazei de date.
6. Asigurarea partajabilităţii datelor – se referă pe de o parte la asigurarea accesului mai
multor utilizatori la aceleaşi date şi de asemenea la posibilitatea dezvoltării unor aplicaţii fără a se
modifica structura bazei de date.
7. Asigurarea legăturilor între date – corespund asocierilor care se pot realiza între obiectele
unei aplicaţii informatice. Orice SGBD trebuie să permită definirea şi descrierea structurii de
date, precum şi a legăturilor dintre acestea, conform unui model de date (de exemplu modelul
relaţional).
8. Administrarea şi controlul datelor – sunt asigurate de SGBD, în sensul că datele pot fi
folosite de mai mulţi utilizatori în acelaşi timp, iar utilizatorii pot avea cerinţe diferite şi care pot fi
incompatibile. SGBD trebuie să rezolve probleme legate de concurenţă la date, problemă care apare
mai ales în lucrul în mediu de reţea de calculatoare.

12
1.6.3. Funcţiile unui SGBD
Evidenţiem următoarele funcţii ale unui SGBD (Romică, Nistorescu, Mierluş-Mazilu, 2007):
 funcţia de descriere a datelor – se face cu ajutorul LDD (Limbajul de definire a datelor),
realizându-se descrierea atributelor din cadrul structurii BD, legăturile dintre entităţile BD, se
definesc eventualele criterii de validare a datelor, metode de acces la date, integritatea datelor.
Concretizarea acestei funcţii este schema BD.
 funcţia de manipulare – este cea mai complexă şi realizează actualizarea şi regăsirea datelor.
 funcţia de utilizare – asigură mulţimea interfeţelor necesare pentru comunicare a tuturor
utilizatorilor cu BD. Categorii de utilizatori:
 neinformaticieni – beneficiarii informaţiei trebuie doar să le folosească prin intermediul unei
interfeţe suficient de prietenoase.
 informaticieni – crează structura BD şi realizează procedurile complexe de exploatare a BD;
 administratorul bazei de date – utilizator special, cu rol hotărâtor în funcţionarea optimă a
întregului sistem.
 funcţia de administrare – administratorul este cel care realizează schema conceptuală a
bazei de date, iar în perioada de exploatare a BD autorizează accesul la date, reface baza în caz de
incident.

Fig.1.2.
Funcţiile unui SGBD

13
2. PREZENTAREA AGENTULUI ECONOMIC

2.1. Descrierea firmei


Compania Prisum International Trading SRL este o companie privată, fiind dedicată
îmbunătățirii sănătății printr-o gamă largă de produse și servicii. Această companie importă,
comercializează, distribuie și furnizează servicii (depozitare, reglementare, marketing, vânzări)
pentru suplimente alimentare, terapie intensivă, bioterapie și produse de imunitate, instrumente
medicale și terapie endoscopică.
Compania Prisum International Trading SRL a fost înființată în anul 1994 și deține
dreptul de distribuitor pe piața românească a produselor fabricate de Himalaya Drug Company –
India. Obiectivul principal de activitate îl constituie comerțul cu ridicata a medicamentelor,
produselor farmaceutice și produselor de îngrijire și întreținere (cosmetice). Folosind descoperirile
de ultimă oră și îmbinând tehnologia cu sistemul tradițional de medicină Indiană – Ayurveda,
cercetătorii de la Himalaya au făcut din acest brand un lider de piață, câștigând încrederea în
întreaga lume. Consumatorii din peste 70 de țări se pot baza pe Himalaya în domeniul sănătății și
îngrijirii personale. Ani întregi de cercetare și testare au scos la iveală produse ce au devenit de
referință în categoria lor: Bonnisan, Mentat, Septilin, Gasex, Herbolax, Liv.52, Diabecon, Ayurslim,
Cystone, Himplasia, Koflet, Diakof, Rumalaya.
În anul 2006, Prisum International aduce pe piața din România ultima inovație în materie de
îngrijire personală, Himalaya Herbals, gama de produse cosmetice cu ingrediente 100% naturale.
Aceasta conține 3 game distincte:
 gama de îngrijire pentru păr;
 gama destinată îngrijirii feței și corpului;
 gama pentru copii.
O alta divizie a companiei Prisum International este CSL Behring, lider global în industria
bioterapiilor pe baza de plasmă. CSL Behring cercetează, dezvoltă, fabrică și comercializează
produse din plasmă, care sunt folosite pentru a trata afecțiuni rare și foarte grave. Cei ce folosesc
aceste terapii se bazează pe ele pentru îmbunătățirea calității vieții și, în multe cazuri, pentru viața în
sine.
Începând cu anul 2009, Prisum International își extinde activitatea prin deschiderea unui
lanț de plafare, EsentaPlant, unde se prezintă și se comercializează o gamă variată de produse
naturiste, suplimente alimentare, tincturi, ceaiuri etc. Personalul calificat stă la dispoziția clienților
pentru a oferi sfaturi utile în alegerea remediilor și tratamentelor naturiste ce vor contribui la
îmbunătățirea stării de sănătate.
Motorul afacerii rămân produsele Himalaya, a căror vânzare reprezintă 75% din cifra de
afaceri a companiei. Producătorul indian a lansat primele sale produse ayurvedice încă din 1930, iar
prima unitate de producţie era localizată în Bangalore, în sudul Indiei. Acum, produce şi vinde în
peste 89 de ţări din întreaga lume.

În ultimii ani, portofoliul de produse al Prisum s-a diversificat foarte mult. În 2002,
compania a introdus pe piaţă produsele CSL Behring, medicamente din plasmă pentru terapia
bolilor rare şi totodată a extins gama de produse Himalaya, iar în plină criză, în 2008 a lansat lanţul
de magazine Esenţa Plant, o adevărată provocare atunci, dar care în timp s-a dovedit a fi o mişcare
profitabilă.

14
2.2. Descrierea principalelor activități

2.2.1. Activitatea de import

Activitatea de import se desfașoară în cadrul departamentului Importuri, având în


componența sa 4 agenți coordonați de un director. Principalele sarcini ce le revin agenților sunt
următoarele:
 Încheierea contractelor de colaborare cu furnizorii externi;
 Întocmirea contractelor cu societățile de transport;
 Preluarea comenzilor și transmiterea acestora către furnizorii din străinătate;
 Urmărirea comenzilor și asigurarea livrării acestora în intervalul stabilit;
 Traducerea contractelor, precum și a documentațiilor tehnice, atunci când este cazul.

2.2.2. Activitatea de ofertare si proiectare

Activitatea de ofertare și proiectare se desfășoară în cadrul compartimentului de Ofertare-


Proiectare, compus din 3 operatori subordonați direct directorului departamentului Comercial.
Principalele activități la nivelul acestui compartiment sunt:
 Realizarea planurilor de amplasament pentru echipamentele medicale din cadrul unităţilor
sanitare, conform reglementărilor în vigoare;
 Preluarea cererilor de ofertă de la agenţii de vânzări, de pe teren, precum şi a cererilor postate
pe website-ul companiei;
 Realizarea de oferte generale cât şi personalizate de produse;
 Întreţinerea şi alimentarea bazei de date cu noi produse ;
 Realizarea de descrieri pentru produsele comercializate;
 Transmiterea ofertelor către agenţii de vânzări şi clienţii interesaţi.

2.2.3. Activitatea de consiliere şi vânzare

Activitatea de consiliere şi vânzare se realizează de către agenţii compartimentului Vânzări,


aceştia fiind grupaţi în vânzători şi agenţi de teren, subordonaţi direct Directorului departamentului
Comercial.
Principalele atribuţii ale agenţilor de vânzări sunt:
 Consilierea clienţilor şi recomandarea soluţiilor potrivite pentru nevoile lor;
 Întocmirea cererilor de ofertă pentru potenţialii clienţi şi transmiterea acestora
compartimentului de ofertare-proiectare;
 Preluarea comenzilor pentru produsele ce nu se află în stoc;
 Asigurarea punerii în funcţiune, precum şi a funcţionării corespunzătoare a utilajelor
achiziţionate (pentru agenţii de teren);
 Întreţinerea relaţiilor cu clienţii firmei, transmiterea de cataloage, precum şi oferirea
informaţiilor cu privire la apariţia unor produse noi, desfăşurarea de promoţii etc.;
 Vânzarea de produse aflate în stocul companiei, precum şi pe baza de comandă.

2.2.4. Activitatea de marketing

Activitatea de marketing se desfășoară în cadrul departamentului Marketing din componenţa


căruia fac parte un economist şi un grafician, subordonaţi direct directorului general. Activităţile
departamentului Marketing constau în:
 Realizarea şi tipărirea unui catalog anual;
 Realizarea de materiale promoţionale;
 Efectuarea de studii şi analize asupra structurii şi volumului cererii în cadrul pieţei;
15
 Întocmirea de rapoarte şi recomandări adresate conducerii firmei.

2.2.5. Activitatea de service şi mentenanţă

Activitatea de service şi mentenanţă se desfaşoară în cadrul departamentului de Service, ce


are în componenţă 5 tehnicieni coordonaţi de către un director tehnic. Atribuţiile departamentului
sunt:
 Întreţinerea echipamentelor comercializate, precum şi remedierea defectelor, atât la sediul
clientului cât şi în unitatea proprie;
 Montajul şi punerea în funcţiune a utilajelor şi echipamentelor la sediul clientului.

16
2.3. Structura organizatorică a agentului economic

2.3.1. Organigrama S.C PRISUM INTERNATIONAL TRADING S.R.L.

Fig. 2.1
Organigrama societăţii

Directorul general:
- are în subordine directă pe:
 Asistent Manager
 Șef departament Financiar
 Șef departament Importuri
 Șef departament Vânzări
 Șef departament IT
 Șef departament Logistică
 Șef departament Service
 Sef departament resurse umane
 Serviciul de protecție a muncii și de respectare a normelor PSI

Directorul economic:
- are în subordine biroul de contabilitate;
- urmărește întocmirea documentelor conform legii și înscrierea în cheltuielile admisibile. De
asemenea, urmărește corectitudinea în ceea ce privește întocmirea actelor de plată a salariilor
personalului precum și gestionarea corectă a materialelor și materiilor prime.
- Urmărește întocmirea corectă a facturilor și încasarea lor;
- Plata obligațiillor către bugetul de stat;
- Derularea creditelor bancare etc.
17
Directorul de importuri:
- are în subordine agenții de importuri care:
 Efectuează comenzi externe;
 Urmăresc comenzile;
 Finalizarea comenzilor;
 Menținerea relațiilor cu partenerii externi;
 Situații comenzi;
 Traduceri;
- Responsabilități:
 Coordonare departament;
 Urmărire comenzi externe;
 Organizare transporturi externe;
 Lista discounturi;
 Prețuri;
 Recepție importuri.

Director vânzări:
- are în subordine Directorii zonali care :
 Supervizează vânzarea pe zone;
 Urmăresc vânzarea, livrarea, service-ul și follow-up-ul;
 Mențin și dezvoltă portofoliul de clienți;
- Responsabilități:
 Coordonează departamentul de vânzări la nivel național;
 Urmareşte şi verifică vânzările;
 Urmareşte atingerea targetului lunar;
 Menţine relaţiile cu clienţii;
 Măreşte portofoliul de clienţi;

Directorul IT:
-are în subordine operatorii ofertare/proiectare, agenţii marketing şi administratorul de baze
de date.
- Responsabilităţi:
 Coordonare departament;
 Efectuare proiecte;
 Efectuare oferte şi anexe contract, liste;
 Actualizarea preţurilor şi a descrierilor produselor;
 Vizite clienţi.

Director logistică:
- are în subordine gestionarii de showroom şi depozit care:
 Aranjează showroomul/depozitul;
 Pregătesc marfa;
 Fac recepţia mărfii;
 Stocuri marfă/necesar;
 Fişe de magazie.
- Responsabilităţi:
 Coordonare departament;
 Organizare transporturi interne către clienţi;
 Stocuri/necesar;
 Livrări marfă.

18
Director service:
- are în subordine dispecerul şi echipele de service.
- Responsabilităţi:
 Coordonare departament;
 Verificare echipelor de service pe teren;
 Rezolvarea reclamaţiilor.

Director Resurse Umane:


 Se subordonează directorului general;
 Are în subordine pe toţi angajaţii din Departamentul Resurse Umane;
 Colaborează cu toţi managerii celorlalte departamente din firmă;
 Coordonează intregii activitati a Departamentului Resurse Umane;
 Prezinta conducerii firmei rapoarte privind activitatea de resurse umane;
 Negociază, procesează, revizuieşte şi monitorizează contractele de angajare.

2.3.2. Organizarea Departamentului Financiar

Departamentul Financiar – Contabil este organizat conform următoarei organigrame:

Fig. 2.2
Organigrama departamentului financiar - contabil

Directorul economic este subordonat direct directorului general şi analizează activitatea


compartimentului aflat în subordinea sa, dispune anumite măsuri şi raportează managerului general.

Contabilul şef este subordonat directorului economic şi analizează activitatea


departamentului. De asemenea, el este cel care:
 Organizează contabilitatea în cadrul societății;
 Organizează controlul financiar preventiv conform legislaţiei în vigoare;
 Păstrează confidenţialitatea lucrărilor încredinţate;
 Propune măsuri pentru eficientizarea şi modernizarea activităţii societatii;
 Urmăreşte calitatea şi corectitudinea actelor şi avizelor emise de personalul din subordinea sa;
 Verifică şi avizează corectitudinea informaţiilor supuse atenţiei şefului societatii;
 Coordonează activitatea compartimentului aflat în subordinea sa;
 Coordonează plăţile către bugetul statului sau alte instituţii publice;
 Coordonează plăţile către furnizori, în limita disponibilităţilor bancare;
 Aplică strategia şi politicile de dezvoltare economică a societatii;
 Aprobă fişa postului pentru toţi salariaţii din subordine;
 Asigură efectuarea inventarierii patrimoniului;
 Propune bugete de venituri si cheltuieli;

19
 Coordonează întocmirea bugetului de venituri şi cheltuieli al societatii, stabileşte măsuri de
încadrare în acesta;
 Coordonează asigurarea resurselor financiare necesare realizării programelor de exploatare,
întreţinere, reparaţie, modernizare, dezvoltare în corelare cu bugetul de venituri şi cheltuieli
aprobat;
 Coordonează întocmirea raportului de gestiune;
 Coordonează modul de aplicare şi respectare a legislaţiei în vigoare, a instrucţiunilor de
serviciu, reglementărilor, ordinelor şi dispoziţiilor conducerii societăţii;
 Previne şi combate corupţia (monitorizează activitatea personalului care este implicat în
activităţi predispuse la apariţia fenomenului de corupţie, urmăreşte calitatea şi corectitudinea actelor
întocmite în cadrul compatimentului aflat în subordinea sa etc.);
 De asemenea, el are obligaţia de a executa toate sarcinile trasate de conducerea societăţii.
Economistul-contabil din subordinea contabilului şef îndeplineşte următoarele sarcini:
 Asigură evidenţa derulării plăţilor către furnizori;
 Efectuează plăţi şi transferuri de sume băneşti în limitele disponibilităţilor financiare;
 Efectuează plăţi în limita disponibilităţilor bancare către furnizori, în baza situaţiilor
operative, a facturilor din evidenţă;
 Efectuează plăţi pentru ajutoarele sociale acordate salariaţilor societăţii în baza hotărârilor
CA, în limita disponibilului pentru asistenţă socială existent;
 Eliberează adeverinţe de venit, etc. pentru salariaţii societății;

2.4. Prezentarea programului MySQL

Într-o lume interconectată, ca cea în care trăim, este aproape imposibil de găsit o activitate
care să nu depindă într-o formă sau alta de informaţie. Constituite din date de marketing, date
privind operaţiuni financiare sau statistici operaţionale, afacerile de azi trăiesc sau mor prin
capacitatea lor de a gestiona, prelucra şi filtra de fluxul de informaţii, cu scopul de a obţine un
avantaj competitiv.

De cele mai multe ori, toate aceste date îşi găsesc locul într-un program de gestiune a bazelor
de date relaţionale, un instrument software care ajută la regăsirea şi referenţierea informaţiilor cu
ajutorul legăturilor dintre acestea. În prezent sunt disponibile o multitudine de astfel de sisteme:
Oracle, Sybase, Microsoft Acces şi PostgreSQL sunt nume bine cunoscute. Sistemele de baze de
date sunt aplicaţii software puternice, bogate în funcţionalităţi, capabile să organizeze şi să execute
căutări cu viteze mari în milioane de înregistrări, utilizate pe scară largă de către inteprinderi şi
organizaţii guvernamentale pentru aplicaţii de tip mission-critical.

MYSQL este un sistem de gestiune a bazelor de date relaţionale de înaltă performanţă,


multiutilizator şi multithereading, construit pe o arhitectură client-server. De-a lungul ultimilor ani
acest sistem de gestiune a bazelor de date rapid, robust şi uşor de utilizat, a devenit o alegere de
facto atât pentru aplicaţii de buisness cât şi pentru uz personal.

MYSQL a luat fiinţă în 1979, popularitatea lui datorându-se unei anumite combinaţii de
caracteristici unice: viteza, fiabilitatea, extensibilitatea şi codul Open Source. (O abordare privind
proiectarea, dezvoltarea şi distribuţia de sofware, care oferă accesibilitatea practică la codul sursă al
software-ului respectiv).

Un studiu din anul 2002 a concluzionat că MYSQL are cele mai bune performanţe generale
având în acelaşi timp cea mai ridicată rată de transfer. (Vaswani, 2010).

20
Din punct de vedere al fiabilităţii, MYSQL este proiectat pentru a oferi fiabilitate şi
disponibilitate maxime, fiind testat şi certificat pentru utilizarea pe volume mari de date de aplicaţii
de tip mission+critical. Acest program asigură suport pentru tranzacţii, menţinând coerenţa datelor
şi reducând riscul de pierdere al acestora. MYSQL oferă asistenţă în localizarea, rezolvarea şi
testarea rapidă pentru o largă varietate de ambiente de funcţionare.

Programul de gestionare a bazelor de date MYSQL poate gestiona baze de date extrem de
mari şi complexe fără o scădere semnificativă a performanţelor şi este foarte uşor de utilizat.
MYSQL este un sistem multiutilizator, ceea ce înseamnă că mai mulţi clienţi pot accesa şi utiliza
simultan una sau mai multe baze de date MYSQL. Acesta include şi un sistem de privilegii puternic
şi flexibil, care permite administratorilor să protejeze accesul la datele sensibile folosind scheme de
autentificare bazate pe o combinaţie între utilizator şi calculatorul gazdă.

21
3. STUDIU DE CAZ
3.1. Prezentarea programului. Noţiuni generale
Bazele de date sunt folosite pentru stocarea informaţiilor în vederea furnizării ulterioare în
funcţie de solicitarea primită.

MySQL este un sistem de baze de date funcţional independent. În PHP există funcţii pentru
toate operaţiile executate asupra bazelor de date MySQL. Administrarea MySQL se poate face din
linie de comandă sau folosind browserul şi accesând aplicaţia numită PHPMyAdmin scrisă în PHP.

Cele mai uzuale operaţii cu bazele de date sunt:

Comandă Semnificaţie
CREATE crează o bază de date sau un tabel
DROP şterge o bază de date sau un tabel
INSERT adaugă înregistrări într-un tabel
DELETE şterge înregistrări dintr-un tabel
UPDATE updatează înregistrările dintr-un tabel
SELECT selectează un tabel
ALTER alterarea unui tabel

În MySQL spaţiul alocat pe discul serverului este în funcţie de tipul de date. Câteva din
tipurile de date folosite în bazele de date MySQL sunt:

Tip Semnificaţie
int() număr întreg
bigint() număr întreg
tinyint() număr întreg (-128 la 127 sau 0 la 255)
mediumint() număr întreg
smallint() număr întreg
char() secţiune cu lungime fixă de la 0 la 255 caractere
varchar() secţiune cu lungime variabilă de la 0 la 255 caractere
float() număr mic cu virgulă flotantă
double număr mare cu virgula flotantă
text şir cu maximum 65535 caractere
date() data în format YYYY-MM-DD
date data în format YYYY-MM-DD HH:MM:SS
time ora în format HH:MM:SS

Pentru ca baza de date să funcţioneze mai bine coloanelor li s-au adăugat modificatori de
coloană.

Tipul de date întregi încep de la valori negative la pozitive. Dacă se adaugă opţiunea
UNSIGNED, care este un modificator de coloană, nu vor mai fi valori negative, ci vor începe de la
0.

22
Alţi modificatori sunt:
AUTO_INCREMENT - funcţionează cu orice tip întreg. La fiecare rând nou adăugat în baza de
date numărul asociat va fi incrementat.
NULL - înseamna fără valoare (diferit de spaţiu sau zero).
NOT NULL - înseamnă că orice înregistrare va fi considerată ceva.
PRIMARY KEY - este rolul primei coloane din tabel, totodată reprezentând elementul de referinţă
pentru fiecare linie.

3.2. Conectarea la baza de date

De câte ori vom lucra cu MySQL va trebui să ne conectăm la baza de date folosind o anume
sintaxă. Vom salva această secvenţă de cod cu numele conexiune.php putând fi folosită ulterior în
mai multe scripturi utilizând funcţia include().

/* urmează fişierul conexiune.php */


<?php
$hostname="localhost";
$username="root";
$password="pass";
$database="test";

$conexiune=mysql_connect($hostname,$username,$password)
or die ("Nu mă pot conecta la baza de date");

$bazadate=mysql_select_db($database,$conexiune)
or die ("Nu găsesc baza de date");
?>

mysql_connect() este funcţia prin care ne conectăm la baza de date cu următorii parametrii:
numele serverului, nume utilizator şi parola pentru conectarea la baza de date.

Variabila $conexiune va avea valoarea TRUE sau FALSE în funcţie de rezultatul conectării
la serverul MySQL folosind funcţia mysql_connect(), iar în cazul eşuării va afişa mesajul conţinut
de construcţia 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.

Se pot modifica variabilele din fişierul conexiune.php în funcţie de configurările propriei


baze de date:
$hostname=adresa serverului, de cele mai multe ori este localhost dar pentru siguranţă intrebaţi
administratorul serverului
$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ă închidem conexiunea
folosind funcţia mysql_close() având ca argument datele de acces la serverul MySQL.
23
mysql_close($conexiune);
Bazele de date conţin tabele. Aceste tabele sunt similare cu cele din HTML conţinând
rânduri şi coloane. Fiecare diviziune se numeşte celulă sau câmp şi are anumite proprietăţi.
Fiecare tabel din baza de date are un nume sau titlu. Fiecare coloană din tabel are un nume sau titlu.

Sintaxa pentru crearea tabelului este:


CREATE TABLE nume_tabel (coloana_1, coloana_2,..., coloana_n);

Coloanele vor fi separate prin virgulă, iar fiecare coloană va avea un nume şi tip.

Pentru a crea un tabel mai întâi includem în script fişierul anterior conexiune.php de
conectare la baza de date şi apoi folosim funcţia CREATE TABLE.

INSERT este comanda pentru introducerea datelor în baza de date. Cel mai frecvent mod de
introducere a datelor este preluarea lor dintr-un formular adecvat structurii bazei de date.

Sintaxa pentru introducerea datelor în tabelul bazei de date este:


INSERT INTO nume_tabel (coloana_1, coloana_2,..., coloana_n) values
('valoare_1','valoare_2',...,'valoare_n');
Proprietatea SELECT poate fi utilizată într-o comandă mysql_query pentru a alege
anumite informaţii din tabelul bazei de date.

Sintaxa pentru preluarea datelor din tabelul bazei de date este:


$sql=mysql_query("SELECT * FROM nume_tabel");

Pentru a afişa fiecare rând din tabel se foloseşte o buclă while şi comanda
mysql_fetch_row.

3.3. Descrierea aplicaţiei

Aplicaţia are ca domeniu de activitate informatizarea activităţii companiei SC Prisum


International Trading SRL.
Fiecare companie are un program care gestionează informaţii despre produsele pe care le
gestionează, intrările şi ieşirile de produse.
Aplicaţia va putea fi administrată de angajaţii companiei prin intermediul unui panou de
administrare.
Accesul în aria de logare la panoul de administrare al aplicaţiei se va face pe bază de
username şi parolă, aceste date trebuie să fie confidenţiale.
O dată efectuat accesul în panoul de administrare, administratorul sistemului va putea
gestiona informaţii despre medicamente, va putea efectuta intrări (facturi de recepţie a
medicamentelor), cât şi vânzări de medicamente (ieşiri).
Am ales folosirea limbajului de programare PHP, deoarece este un limbaj cu o sintaxă
uşoară, uşor de înţeles şi care permite gestionarea cu uşurinţă a erorilor.
Aplicaţia foloseşte o bază de date MySQL, în limbaj PHP .
24
Tabelul aplicaţie_admins este folosit pentru a reţine datele administratorilor sistemului şi
este format din următoarele câmpuri:
-admin_id; este cheia primară a tabelului şi reţine idul unic al fiecărui administrator
-admin_username; reţine usernamul administratorului
-admin_password; reţine parola
-admin_type; reţine tipul administratorului(administrator sistem sau bibliotecar)
-admin_first;_name reţine numele de familie
-admin_last_name; reţine prenumele
-admin_cnp; reţine cnpul
-admin_address; reţine adresa
-admin_email; reţine emailul
-active; reţine daca administratorul este activ sau nu în sistem

Fig.3.1. Tabel aplicație adinistrator


Tabelul aplicaţie_cumpărări reţine datele despre intrările în gestiunea companiei (facturi
de cumparare) şi este format din urmatoarele câmpuri:
-factura_id, este cheia primară a tabelului şi reţine idul unic al fiecarei facturi din baza de
date
-furnizor_denumire, reţine denumirea furnizorului medicamentelor
-furnizor_detalii, reţine detalii despre furnizor
-nr_factură, reţine numele unic al fiecărei facturi
-data_factură, reţine data cand a fost facută factura de intrare

Fig.3.2. Tabel aplicație cumpărări

25
Tabelul aplicaţie_cumpărări_to_produse este în legătură cu tabelul aplicaţie_cumpărări şi
reţine medicamentele achiziţionate prin intermediul unei facturi de intrare.
Cheia de legatură între cele 2 tabele este câmpul factura_id.
Tabelul are următoarea structură:
-factura_id, face parte din cheia primară si reţine idul facturii
-produs_id, este cel de-al doilea câmp al cheii primare şi reţine idul produsului achiziţionat.
-cantitate, reţine cantitatea achiziţionată din fiecare medicament în parte.
-preţ, reţine preţul cu care a fost cumpărat produsul; în caz că se introduce un alt preţ faţă de
cel cu care a fost introdus medicamentul în baza de date, atunci noul preţ va suprascrie valoarea
găsită în baza de date în tabelul produse.

Fig.3.3. Tabel aplicație cumpărări to produse


Tabelul aplicaţie_vânzări reţine facturile de ieşire (vînzările efectuate de către farmacie) şi
are următoarea structură:
-factura_id, este cheia primară a tabelului şi reţine idul unic al fiecărei facturi de ieşire
(vânzare)
-nr_factură, reţine numărul unic al fiecărei facturi, iar aplicaţia va autocompleta acest număr
în funcţie de către facturi vor fi găsite în baza de date
-data_factură, reţine data la care a fost efectuată ieşirea
-cumpărător, reţine date despre cumpărător cum ar fi: nume, prenume, adresă, telefon sau
alte date.

26
Fig.3.4. Tabel aplicație vânzări
Tabelul aplicaţie_vânzări_to_produse este în relaţie de subordonare cu tabelul
aplicaţie_vânzări, legatura se realizează prin cheia externă factura_id.
Are urmatoarea structură:
-factura_id, face parte din cheia primară si reţine idul unic al fiecărei facturi
-produs_id, este cel de-al doilea câmp din cheia primară şi reţine idul produsului vândut.
-cantitate, reţine cantitatea vândută din fiecare medicament în parte
-preţ, reţine preţul cu care se vinde fiecare medicament, iar în caz că acest preţ este
modificat, la salvarea datelor se va modifica şi preţul medicamentului salvat în detaliile
medicamentului din tabelul produse.

Fig.3.5. Tabel aplicație vânzări to produse

27
Tabelul clienţi doctori are următoarea structură:
-id_medic, face parte din cheia primară si reţine idul unic al fiecărui medic;
-numeprenume, este cel de-al doilea câmp din cheia primară şi reţine nume şi prenumele
fiecărui medic;
-adresa, reţine adresa la care trebuie să ajungă produsele comandate pentru fiecare medic-
client;
-localitate, reţine localitatea locului de muncă al fiecărui medic;
-telefon, reţine numărul de telefon pentru fiecare medic-client;
-datanaşterii, reţine data completa a naşterii (zi, lună, an) a fiecărui medic;
-specializare, această coloană reţine specializarea fiecărui medic;
-secţie, ultima coloană reţine secţia pe care lucrează medicul respectiv.

Fig.3.6. Tabel aplicație clienți doctori


Tabelul produse reţine date despre medicamentele din baza de date, este în legătură de 1 la
n cu tabelele aplicaţie_cumpărări_to_produse şi aplicaţie_vânzări_to_produse prin intermediul
câmpului produs_id.
Are urmatoarea structură:
-produs_id, este cheia primară a tabelului şi reţine idul unic al fiecărui medicament
-produs_nume, reţine denumirea medicamentului
-produs_descriere, reţine specificaţii despre fiecare medicament (se poate lăsa necompletat)
-produs_preţ, reţine preţul medicamentului
-produs_stoc reţine stocul la un moment dat al fiecărui medicament, ca urmare a facturilor
de intrare şi ieşire.

28
Fig.3.7.Tabel aplicație produse
Pentru a intra în aria de logare la panoul de administrare se va tasta în browser
http://localhost, moment în care va apărea formularul în care se cer datele pentru autentificare.

Fig.3.8. Login sistem


În caz că se introduc greşit datele de autentificare, după apăsarea butonului Login se va afişa
mesajul „Logare eşuată”.
După ce se apasă butonul Login, iar datele de autentificare sunt bune, se va afişa panoul de
administrare al aplicaţiei.

Fig.3.9. Panoul de administrare al aplicației

29
La apăsarea butonului Gestiune medicamente se va afişa pagina care listează toate
medicamentele din baza de date, utilizatorii aplicaţiei având posibilitatea să adauge medicamente,
să caute un anumit medicament, să modifice sau să elimine un medicament din baza de date.

Fig.3.10. Tabel aplicație gestiune medicamente


La apăsarea butonului Adaugă medicament se va deschide formularul prin intermediul
căruia se adaugă datele aferente unui medicament în baza de date.

Fig.3.11. Tabel aplicație Adăugare medicamente


După completarea tuturor înregistrărilor, se va apăsa butonul Adaugă, moment în care
datele se vor scrie în baza de date. În caz că se doreşte anularea operaţiunii se apasă butonul
Renunţă şi se revine la meniul anterior.
30
Codul PHP aferent acestei operaţiuni este:
mysql_query("insert into produse( produs_id ,
produs_nume ,
produs_descriere,
produs_pret ,
produs_stoc )
values('".trim($_POST['produs_cod'])."',
'".trim($_POST['produs_nume'])."',
'".trim($_POST['produs_descriere'])."',
'".trim($_POST['produs_pret'])."',
'".trim($_POST['produs_stoc'])."' ) ");
La apăsarea butonului Căutare medicament se deschide formularul prin intermediul căruia
se poate căuta un medicament în baza de date.

Fig.3.12. Tabel aplicație căutare medicamente


Se poate căuta după oricare dintre criterii, ori după codul medicamentului, ori după
denumire. La apăsarea butonului Arată se vor întoarce rezultatele care corespund căutării efectuate.
În caz că nici un rezultat nu corespunde se va întoarce tabelul gol.
La apăsarea butonului Vânzări(ieşiri) se va deschide submodulul care se ocupă cu gestiunea
facturilor de vânzare (ieşiri).
Utilizatorii aplicaţiei au posibilitatea să adauge facturi, să caute facturi să printeze sau să
şteargă anumite facturi.

Fig.3.13. Tabel Vânzări (ieșiri)


31
La apăsarea butonului Vânzare se va lansa formularul care se ocupă cu înregistrarea unei
facturi în baza de date.

Fig.3.14. Tabel aplicație vânzare


După alegerea medicamentelor care vor fi vândute şi implicit înregistrate pe factură, se va
completa cantitatea, respectiv preţul (acesta este autocompletat în funcţie de ce s-a introdus la
adăugarea medicamentului). Preţul se poate modifica, urmând să se modifice automat şi în baza de
date.
Cantităţile introduse vor fi scăzute automat din stocurile produselor.
La apăsarea butonului Salvează factura se vor salva datele în baza de date.
Codul PHP aferent acestei operaţiuni este:
mysql_query("insert into aplicatie_vanzari(factura_id,
nr_factura,
data_factura,
cumparator)
values('',
'".$_POST['nr_factura']."',
'".date('Y-m-d',strtotime($_POST['data_factura']))."',
'".$_POST['cumparator']."'

) ");
$last_id = mysql_insert_id();
foreach($_POST['produs_pret'] as $id => $value) {
mysql_query("insert into aplicatie_vanzari_to_produse(factura_id,
produs_id,
cantitate,
pret)
values(".$last_id.",
'".$id."',
'".$_POST['cantitate'][$id]."',
'".$_POST['produs_pret'][$id]."') ");
$q = "update produse set produs_pret='".$_POST['produs_pret'][$id]."',
produs_stoc = produs_stoc - '".$_POST['cantitate'][$id]."'
where produs_id=".$id;
mysql_query($q);
32
}
La apăsarea butonului Arată facturi din data de se deschide formularul prin intermediul
căruia se pot lista pe ecran facturile înregistrate la o anumită dată.
Se va alege data prin intermediul calendarului JavaScript, după care se va apasă butonul
Arată, urmând să fie listate înregistrările care corespund datei selectate.

Fig.3.15. Tabel aplicație afișare facturi

33
CONCLUZII

Prin intermediul prezentei lucrări mi-am propus să fac o trecere de la general la particular în
ceea ce priveşte activitatea de evidenţă a produselor din cadrul unei societăţi comerciale prin
dezvoltarea unui program informatic bazat pe sistemul de gestiune MySQL (Structured Query
Language).
Deoarece dezvoltarea unui astfel de program vizează atât domeniul informatic prin prisma
dezvoltării unei aplicaţii, cât şi domeniul economic sub aspectul conţinutului informaţional al bazei
de date, în primul capitol am expus fundamentele teoretice referitoare la bazele de date şi sisteme de
gestionare a bazelor de date.
În capitolul doi am continuat abordarea temei din punct de vedere informatic, prezentând
sistemul MySQL (Structured Query Language), precum şi din punct de vedere economic,
prezentând activitatea şi organizarea societăţii comerciale studiate (SC PRISUM
INTERNATIONAL TRADING SRL).
Capitolul trei, de altfel cel mai important, am analizat socitetatea comercială prin prisma
aplicaţiei. Am explicat paşii care trebuie urmaţi în folosirea unui limbaj PHP, având în spatele
acestuia o bază de date în MySQL.
Scopul acestei lucrări a fost evidenţierea importanţei programelor de gestionare a bazelor de
date în cadrul oricărei societăţi comerciale, ba mai mult, strânsa legătura dintre sistemul informatic
şi cel economic.

34
BIBLIOGRAFIE

1. Anghel Traian, Dezvoltarea aplicaţiilor Web folosind XHTML, PHP şi MySQL, editura
Polirom, Iaşi, 2005;
2. Buraga Sabin, Tendinţe actuale în proiectarea şi dezvoltarea aplicaţiilor Web, editura
Matrixrom, 2006;
3. Connolly Thomas M., Begg Carolyn, ,Bazele de date: proiectare, implementare, gestionare;
4. Forta Ben, SQL pentru începător, editura Teora, Bucureşti, 2002;
5. Fotache Marin, Sql Dialecte DB2, Oracle, Visual FoxPro. De la simplu la complex. Editura
Polirom, Iaşi, 2001;
6. Georgescu Cristian, Analiza şi proiectarea sistemelor informatice, editura Radial;
7. Kotler, P., Marketing Management: Analysis, Planning and Control, 1984;
8. Oppel Andy, SQL fără mistere, editura Rosetti Educational, Bucureşti, 2006;
9. PHP – MySQL în 8 lecţii http://jalobean.itim-cj.ro/Cursuri/phpmysql;
10. PHP.net – http://www.php.net;
11. Trandafir Romică, Nistorescu Mihai Ştefan, Bazele informaticii şi Limbaje de Programare,
Partea a II-a, Bucureşti, 2006;
12. Vikram Vaswani, MySQL.Utilizarea şi administrarea bazelor de date, editura Rosetti
Educational, Bucureşti, 2010.

35

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