Sunteți pe pagina 1din 7

SCHEMA GENERALA A BAZEI DE DATE

După cum am spus, baza de date este implementată folosind Sql Server 2005.
Baza de date din acest proiect, denumita “licenta_db”, contine sapte tabele:
1. TBL_categorie
2. TBL_comanda
3. TBL_config_mag
4. TBL_cos
5. TBL_judete
6. TBL_prod_comanda
7. TBL_produs.
Aceste tabele sunt relatioante intre ele. Sunt folosite cheile: unique key, foreign
key, primary key. Deasemeni am utilizat proceduri stocate.

Numele Tabelei Descriere


TBL_categorie Stocheaza toate produsele categoriei
TBL_comanda Stocheaza comenzile si informatiile
despre acestea
TBL_config_mag Stocheaza date despre magazin
TBL_cos Stocheaza produsele dorite de client
TBL_judete Stocheaza judetele Romaniei
TBL_prod_comanda Stocheaza produsele comandate

TBL_produs Stocheaza toate produsele si


informatiile despre acestea
DIAGRAMA ENTITATE - RELATII
DETALIEREA TABELELOR

Tabelul TBL_categorie

Acest tabel contine categoriile de produse,.


Produsele din magazin sunt organizate pe categorii, in functie de forma
farmaceutica. Magazinul detine 15 categorii de produse, adica produsele se afla sub 15
forme farmaceutice:
1. capsule
2. comprimate
3. comprimate masticabile
4. comprimate filmate
5. crema
6. gel
7. pulbere sol injectabila
8. supozitoare
9. supozitoare adulti
10. supozitoare copii
11. supozitoare sugari
12. unguent
13. unguent oftalmic
14. solutie injectabila
15. unguent tip suspensie
Fiecarei categorii, pe langa descriere, ii pate fi atribuita o imagine.
Cheia primara a tabalului este categ_id (id-ul catagoriei).
Tabelul are 4 campuri.
Campurile acestui tabel sunt:
 Categ_id – cheia primara a tabelei (not NULL)
 Categ_nume – numele categoriei (acestea sunt unice)
 Categ_descriere – descrierea categoriei (poate sa fie NULL)
 Categ_imagine – calea spre fisierul imagine (poate sa fie NULL )

Tabelul TBL_comanda

Acest tabel contine comenzile efectuate.


Cand un client confirma o achizitie, adaugam noua comanda in acest tabel.
Fiecare comanda in forma sa finala si definitivata este adaugata aici.
Tot in acest tabel sunt salvate si informatiile despre persoana care va efectua
plata si persoana careia ii va fi livrata comanda. Aceste informatii sunt furnizate de client
in pagina de comanda finala.
Un alt camp al tabelului este comanda_situatie care descrie in ce stadiu se afla comanda:
-comandata
-expediata
-livrata
-anulata
Cheia primara a tabelului este comanda_id (id-ul comenzii).
Tabelul are 18 de campuri.
Campurile acestui tabel sunt:
 comanda_id – cheia primara a tabelei (not NULL)
 comanda_situatie – starea comenzii( poate fi
“Comandata”,“Expediata”,“Livrata”,”Anulata”)
 comanda_observatii – observatii suplimentare
 comanda_client_CNP – codul numeric personal al clientului
 comanda_client_nume_fam – numele clientului
 comanda_client_pren – prenumele clientului
 comanda_client_email – adresa de mail a clientului
 comanda_client_tel – numarul de telefon al clientului
 comanda_client_adresa – adresa clientului
 comanda_client_jud – judetul clientului
 comanda_client_oras – orasul clientului
 comanda_livr_nume_fam – numele destinatarului
 comanda_livr_pren – prenumele destinatarului
 comanda_ livr_email – adresa de mail a destinatarului
 comanda_livr_tel – numarul de telefon al destinatarului
 comanda_ livr_adresa – adresa destinatarului
 comanda_ livr_jud – judetul destinatarului
 comanda_ livr_oras – orasul destinatarului

Tableul TBL_config_mag

Acest tabel contine datele de contact ale magazinului, ce vor fi afisate pe pagina
de contact si pe pagina de detalii a “Magazinului”.
In acest tabel se stocheaza informatiiile despre magazin: numele farmaciei,
numarul de telefon, adresa, adresa de e-mail, adresa site-ului, o imagine care constituie
logo-ul magazinului, moneda folosita de magazin, costul livrarii unei comenzi si timpul
necesar livrarii.
Costul si durata livrarii difera in functie de judetul in care va fi livrata comanda.
Cu cat judetul este mai departe, cu atat costul este mai mare, iar duata livrarii este mai
lunga.
Tabelul nu are cheie primara si contine 9 campuri. Deasemeni, exista doar o
inregistrare pentru acest tabel.
Campurile acestui tabel sunt:
 mag_nume – numele magazinului
 mag_adresa – adresa reala a magazinului
 mag_tel – numarul de telefon (relatii clienti)
 mag_link – adresa de internet a magazinului
 mag_email – adresa de email a magazinului (relatii clienti)
 mag_moneda – moneda in care se efectueaza tranzactiile
 mag_cost_livr – taxa de livrare
 mag_timp_livr – durata livrarii
 mag_logo – logo-ul farmaciei

Tabelul TBL_cos

Acest tabel contine toate produsle “introduse” in cos de catre client. In acest
tabel sunt stocate produsele pe care le selecteaza clientul, in vederea achizitionarii lor.
Campul cos_cumparaturi retine numele unei sesiuni de cumparare. De fapt acest
nume este chiar numele cu care se inregistreaza utilizatorul.
Cheia primara este cos_item si se autoincrementeaza la fiecare obiect introdus in
cos de catre client.
Acest tabel este legat prin cheia straina prod_id la cheia primara prod_id a
tabelului TBL_produs.
Tabelul are 4 campuri.
Campurile acestui tabel sunt:
 cos_item – cheia primara a tabelei (not NULL)
 pd_id – id-ul produsului ce este introdus in cos (FK la tabela tb_produs)
 cos_cumparaturi – numele sesiunii de cumparaturi
 cos_cant – numarul de produse de acelasi fel din cos

Tabelul TBL_judete

Tabelul contine toate judetele tarii, fiecare judet fiind asociat unei zone. In functie
de aceasta clasificare a judetelor se stabileste o taxa de livrare si durata livrarii.
Cheia primara este judet_id (id-ul judetului).
Tabelul are 2 campuri: id-ul judetului si numele judetului

 judet_id – id judet (not NULL)


 judet_nume – numele judetului
Tabelul TBL_prod_comanda

Acest tabel contine produsele comandate.


Fiecare obiect (produs) comandat se regaseste aici. Atunci cand clientul plaseaza
comanda, obiectle sunt copiate din TBL_cos. Sunt stocate informatiile urmatoare:
prod_id – id-ul produsului comandat, comanda_id – id-ul comenzii respectiva si
comanda_cant – numarul de produse de acelasi fel din comanda.
Tabelul nu are cheie primara.
In schimb are doua chei straine care il leaga la cheia primara comanda_id a
tabelului TBL_comanda respectiva la cheia primara prod_id a tabelului TBL_produs.
Sunt in total 3 campuri in tabel.
 comanda_id – id-ul comenzii (FK la TBL_comanda)
 prod_id – id-ul produsului comandat (FK la TBL_produs)
 comanda_cantitate – cantitatea produselor de acelasi fel comandate

Tabelul TBL_prod

Acest tabel contine numele produsului, categoria din care face parte (forma
farmaceutica), descrierea, pretul, si cantitatea disonibila (numarul de produse de acelasi
fel existente in stoc). Deasemeni, fiecarui produs ii poate fi atribuita o imagine.
Cheia primara a tabelului este prod_id.
Cheia straina categ_id leaga tabelul la cheia primara categ_id a tabelului
TBL_categorie.
Tabelul contine 6 campuri.
 prod_id – cheia primara a tabelei (not NULL)
 categ_id – id categoriei din care face parte produsul (FK la TBL_categorie)
 prod_nume – numele produsului
 prod_descriere – descrierea produsului
 prod_pret – pretul produsului
 prod_cantitate – cantitatea in stoc
 prod_imagine – calea catre fisierul imagine

DESCRIEREA RELATIILOR DINTRE TABELE

După cum se poate observa şi din diagrama prezentată mai sus, doar tabelele
TBL_config_mag si TBL_judet nu se află într-o relaţie cu o altă tabelă. Restul tabelelor
prezintă cel puţin o legătură cu o altă tabelă. Tabela TBL_produs are cheie primară câmpul
prod_id. Prin acest câmp ea este legată de alte doua tabele (TBL_prod_comanda si
TBL_cos). În acelaşi timp există şi o cheie externă categ_id prin care acest tabel este legat
de tabelul TBL_categorie. Prin aceste legături se pot gestiona toate informaţiile legate de
un produs (categorie, pret, descriere etc.).
O altă tabelă care este legată de mai multe tabele este tabela TBL_comanda. Cu
ajutorul cheii primare comanda_id ea este în relaţie cu tabelul TBL_prod_comanda.

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