Documente Academic
Documente Profesional
Documente Cultură
LUCRARE DE LICENȚĂ
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ȚĂ
BAIAMARE
2018
2
CUPRINS
Pagina 5
Lista figurilor...................................................................................................
Introducere....................................................................................................... Pagina 6
3
3.3. Descrierea aplicaţiei.................................................................................... Pagina 24
Concluzii............................................................................................................
Pagina 34
Bibliografie........................................................................................................ Pagina 35
4
LISTA FIGURILOR
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
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.
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
• 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)
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
Î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
16
2.3. Structura organizatorică a agentului economic
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.
Fig. 2.2
Organigrama departamentului financiar - contabil
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;
Î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 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.
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.
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().
$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.
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.
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.
Pentru a afişa fiecare rând din tabel se foloseşte o buclă while şi comanda
mysql_fetch_row.
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.
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.
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.
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.
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.
) ");
$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.
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