Sunteți pe pagina 1din 6

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: TBL_categorie TBL_comanda TBL_config_mag TBL_cos TBL_judete TBL_prod_comanda TBL_produs. Aceste tabele sunt relatioante intre ele. Sunt folosite cheile: unique key, foreign key, primary key. Deasemeni am utilizat proceduri stocate.

Numele Tabelei
TBL_categorie

Descriere
Stocheaza toate produsele categoriei Stocheaza comenzile si informatiile despre acestea Stocheaza date despre magazin Stocheaza produsele dorite de client

TBL_comanda TBL_config_mag TBL_cos TBL_judete TBL_prod_comanda TBL_produs

Stocheaza judetele Romaniei Stocheaza produsele comandate 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 relaie cu o alt tabel. Restul tabelelor prezint cel puin o legtur cu o alt tabel. Tabela TBL_produs are cheie primar cmpul prod_id. Prin acest cmp ea este legat de alte doua tabele (TBL_prod_comanda si TBL_cos). n acelai timp exist i o cheie extern categ_id prin care acest tabel este legat de tabelul TBL_categorie. Prin aceste legturi se pot gestiona toate informaiile 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 relaie cu tabelul TBL_prod_comanda.