baza de date a unei societati

11
BAZA DE DATE A UNEI SOCIETATI Se doreste realizarea unui sistem informatic pentru gestionarea produselor achizitionate de la furnizori in cadrul societatii comerciale GAND.SRL, ce are ca obiect de activitate constructia si reparatia cladirilor. Baza de date ce urmeaza a fi construita va contine informatii despre produse, furnizori si gestiunile in care sunt depozitate produsele. In acest sens, societatea cumpara produse si materiale de constructie de la furnizori din toata tara. Se primesc facturile cu produsele achizitionate si pretul acestora. La receptia produselor se va inregistra un NIR, in care este trecut codul gestiunii in care vor fi depozitate produsele. Reguli de gestiune Un produs poate aparea pe unul sau mai multe NIR- uri. Un NIR poate contine unul sau mai multe produse. Intr-o gestiune pot fi depozitate mai multe produse pe baza unui singur NIR-ului. O factura poate contine unul sau mai multe produse. Un produs poate aparea pe una sau mai multe facturi.

Upload: gabriela-ninenine

Post on 19-Dec-2015

222 views

Category:

Documents


10 download

DESCRIPTION

Baza de date a unei societati

TRANSCRIPT

Page 1: Baza de Date a Unei Societati

BAZA DE DATE A UNEI SOCIETATI

Se doreste realizarea unui sistem informatic pentru gestionarea produselor achizitionate de la furnizori in cadrul societatii comerciale GAND.SRL, ce are ca obiect de activitate constructia si reparatia cladirilor.

Baza de date ce urmeaza a fi construita va contine informatii despre produse, furnizori si gestiunile in care sunt depozitate produsele.

In acest sens, societatea cumpara produse si materiale de constructie de la furnizori din toata tara. Se primesc facturile cu produsele achizitionate si pretul acestora. La receptia produselor se va inregistra un NIR, in care este trecut codul gestiunii in care vor fi depozitate produsele.

Reguli de gestiune

Un produs poate aparea pe unul sau mai multe NIR-uri.

Un NIR poate contine unul sau mai multe produse.

Intr-o gestiune pot fi depozitate mai multe produse pe baza unui singur NIR-ului.

O factura poate contine unul sau mai multe produse.

Un produs poate aparea pe una sau mai multe facturi.

Un NIR este emis pe baza unei singure facturi.

O factura este emisa de un singur furnizor.

Un furnizor poate emite mai multe facturi.

Printr-o plata se poate achita o singura factura.

O factura se poate achita prin mai multe plati.

Page 2: Baza de Date a Unei Societati

Dictionarul atributelor

CodProdus, DenumireProdus, UM, NrNIR, DataNIR, CodGestiune, DenumireGestiune, Adresa, CodFz, DenumireFz, LocalitateFz, TelefonFz, NrFactura, DataFactura, CotaTVA, NrDocPlata, TipDocument, DataDocument, SumaPlatita, CantitateReceptionata, Cantitate, Pret.

Atributele necesare descrierii fiecarei entitati

Produse (CodProdus, DenumireProdus, UM)

NIR (NrNIR, DataNIR, CodGestiune, NrFactura)

Gestiune (CodGestiune, DenumireGestiune, Adresa)

Furnizori (CodFz, DenumireFz, LocalitateFz, TelefonFz)

Facturi (NrFactura, DataFactura, CodFz, CotaTVA)

Plati (NrDocPlata, TipDocPlata, DataDocument, SumaPlatita, NrFactura)

Intrari (NrNIR, CodProdus, CantitateReceptionata)

DetaliiFactura (CodProdus, NrFactura, Cantitate, Pret)

Page 3: Baza de Date a Unei Societati

Modelul relational

Page 4: Baza de Date a Unei Societati

Restrictii

In tabelul DetaliiFactura, Cantitatea si Pretul trebuie sa fie obligatoriu mai mari decat 0.

In tabelul Facturi, DataFactura trebuie sa fie obligatoriu mai mica decat data server-ului, iar CotaTVA poate avea doar valorile 0, 0.05, 0.09, 0.24.

In tabelul Gestiune, denumirea gestiunii trebuie obligatoriu sa fie Sediu, DepozitA, DepozitB, DepozitC sau Magazie.

In tabelul NIR, DataNIR trebuie sa fie obligatoriu mai mica decat data server-ului.

In tabelul Produse, unitatea de masura este buc, kg sau m.

In tabelul Plati, DataPlatii trebuie sa fie obligatoriu mai mica decat data server-ului, iar Tipul documentului este OP sau Chitanta.

Trigger

Sa se defineasca un Trigger care sa nu permita adaugarea unui furnizor care se afla in lista furnizorilor, in caz contrar sa se afiseze mesajul „Furnizorul exista deja!”

Sa se defineasca un Trigger care sa nu permita stergerea produselor care incep cu litera C.

Page 5: Baza de Date a Unei Societati

Sa se defineasca un Trigger care sa nu permita adaugarea unui produs care se afla in lista produselor, in caz contrar sa se afiseze mesajul „Produsul exista deja!”

Obiecte de tip View

1. Sa se defineasca un obiect de tip view care sa afiseze furnizorii in ordine alfabetica si facturile emise de acestia.

2. Sa se defineasca un obiect de tip view care sa afiseze valoarea totala si TVA-ul aferent facturii primite in anul 2011.

3. Sa se defineasca un obiect de tip view care sa afiseze totalul fiecarui tip de document de plata si suma platita in fiecare an.

4. Sa se defineasca un obiect de tip view care sa afiseze produsele in ordine alfabetica, stocate in Depozitul A si Sediu si cantitatiile receptionate.

5. Sa se defineasca un obiect de tip view care sa afiseze produsele in ordine alfabetica din anul 2010, iar cele din luna Mai sa beneficieze de o reducere de 5 %.

6. Sa se defineasca un obiect de tip view care sa afiseze furnizorii din localitatile care incap cu litera B siC si de la care s-au receptionat cantitati intre 10 si 50 u.m.

7. Sa se defineasca un obiect de tip view care sa afiseze produsele a caror cantitate receptionate este mai mica decat cantitatea facturata.

Page 6: Baza de Date a Unei Societati

8. Sa se defineasca un obiect de tip view care sa afiseze gestiunile in care au fost receptionate produsele livrate dela furnizorii care nu sunt din Bucuresti

9. Sa se defineasca un obiect de tip view care sa afisezefacturile a caror cota TVA este egala cu 0,09 si 0,05, care au fost primite in anii 2011 sau 2012.

10. Sa se defineasca un obiect de tip view care sa afiseze produsele cumparate in ordine alfabetica, de la furnizori afisati in ordinea alfabetica, intre anii 2011-2013, a caror cantitate maxima cumparata este mai mare ca 10 u.m.

Proceduri stocate

1. Sa se afiseze printr-o procedura stocata NIR-urile, printr-o perioada precizata prin parametrii si totalul cantitatii receptionate dintr-un produs. (Afiseaza_produs)

2. Sa se realizeze o procedura stocata ce afiseaza denumirea si numarul de telefon al furnizorilor din Bucuresti si Ilfov. (Afiseaza_furnizor)

3. Sa se realizeze o procedura stocata care sa permita afisarea a datei de infiintare a furnizorilor in formatul zz/ll/aaaa. (Modificare_format_data)

4. Sa se realizeze o procedura stocata care sa afiseze lista furnizorilor ordonata in functie de anul infiintarii crescator. (Lista_furnizori)

Page 7: Baza de Date a Unei Societati

5. Sa se realizeze o procedura stocata care sa afiseze in ordine alfabetica produsele a caror unitate de masura este „kg”. (Produse_alfabetic)

6. Sa se realizeze o procedura stocata care sa afiseze primele 3 facturi emise in urma cu 3 ani in luna aprilie. (Facturi_top_3)

7. Sa se realizeze o procedura stocata care sa afiseze gestiunile in care nu a fost receptionat niciun produs pe baza de NIR. (Afiseaza_gestiune)

8. Sa se realizeze o procedura stocata care sa afiseze pentru fiecare produs masurat in ‚kg’, valoarea totala achizitionata fara TVA. Lista va contine doar produsele a caror valoare totala depaseste pragul de 200 lei. (Produse_kg)

9. Sa se realizeze o procedura stocata care sa afiseze numarul si data de emitere pentru toate documentele din cadrul societatii, pentru anii ulteriori lui 2011 (facturi, NIR, plati). (Afiseaza_documente)

10. Sa se defineasca o procedura stocata care sa returneze lista facturilor dintr-o perioada specificata ca parametru, totalul fiecarei facturi cu TVA, totalul platilor fiecarei facturi si diferenta ramasa neplatita a fiecarei facturi. (ListaFacturi_DiferentaNeplatita)

11. Sa se defineasca o procedura stocata ce afiseaza lista facturilor emise de furnizorii majoritari, de la începutul anului 2012. (ListaFacturi_FzMajoritari)

12. Sa se defineasca o procedura care sa extraga ziua, luna si anul pentru facturile care nu sunt emise in anul 2010. (Nr_zile)

13. Sa se definesca o procedura stocata care sa cresca cu cate 10% cantitatea receptionata dintr-un animuit produs dintr-o anumita perioada precizata prin parametrii pana cand aceascta va ajunge la media generala a cantitatilor receptionate din acel produs in afara perioadei luate in considerare. (Ajustare_cantitate)

Page 8: Baza de Date a Unei Societati

Functii definite de utilizator

1. Sa se defineasca o functie scalara care sa returneze totalul platilor la o anumita factura. (dbo.Total_plata_factura)

2. Sa se defineasca o functie de tip tabel care sa returneze toate facturile de dupa o anumita data si totalul platilor de la fiecare factura. (dbo.Lista_facturi)

3. Sa se defineasca o functie scalara care sa returneze totalul unei facturi, inclusiv TVA. (dbo.Total_factura_cu_TVA)

4. Realizati o functie prin intermediul careia sa se determine care sunt primii 5 furnizori de la care s-au primit cele mai multe facturi. Functia va returna codurile furnizorilor si numarul total de facturi. (dbo.Furnizori_majoritari)

5. Sa se defineasca o functie de tip scalar care sa calculeze un discount pentru o factura, la valoarea fara TVA, astfel:

- Daca valoarea facturii este intre 50 lei si 150 lei, discount-ul sa fie de 5%

- Pentru cele care depasesc 150 lei, discountul sa fie 20 lei plus 1% din valoarea facturii. (dbo.Discount)

Page 9: Baza de Date a Unei Societati