Sunteți pe pagina 1din 3

Pagina 1/3

Crearea bazei de date


Tabele, relații, modificarea proprietăților câmpurilor din tabele

Se doreşte informatizarea operaţiilor de gestiune privind aprovizionările şi livrările de produse


la o firmă care îşi comercializează produsele pe baza comenzilor primite de la clienţi. Firma
dispune de un nomenclator al produselor fabricate în care sunt consemnate: codul şi
denumirea fiecărui produs, unitatea de măsură, categoria de calitate aferentă.şi stocul iniţial.
Clienţii firmei sunt persoane juridice cărora li se solicită: codul fiscal, numele, adresa,
numărul de telefon. Comenzile primite sunt numerotate secvenţial, pe fiecare consemnându-se
data recepţionării comenzii şi termenul de livrare (exprimat în zile) iar, în momentul onorării
comenzii, se completează data la care s-a efectuat livrarea. Pe o comandă pot fi solicitate unul
sau mai multe produse în diferite cantităţi. Preţurile practicate de firmă sunt negociabile cu
clienţii şi variabile în timp. Un client poate realiza mai multe comenzi dar o comandă provine
de la un singur client.
Aprovizionările se realizează pe baza facturilor primite de la furnizori. Pentru fiecare furnizor
se cunosc: codul fiscal, numele, adresa şi numărul de telefon. Pe formularul de factură sunt
consemnate numărul, data facturii, cota TVA şi un eventual procent de discount obţinut de la
furnizor. Pe o factură pot fi achiziţionate mai multe produse fiecare într-o anumită cantitate şi
la un anumit preţ de achiziţie. O factură provine de la un singur furnizor.
Cerinţe:
1. Să se realizeze tabelele şi relaţiile dintre acestea în Access.
La stabilirea tipurilor de date se va avea în vedere că:
a) numele clienţilor pot avea lungime maximă 40 de caractere iar ale
produselelor 25 de caractere
b) termenele (în zile) sunt numere nefracţionare
c) numerele comenzilor şi trebuie să fie acordate automat de calculator
(a se vedea tipul Autonumber)
2. Să se implementeze pentru câmpurile din tabele următoarele reguli de validare:
a) Cantităţile comandate trebuie să fie pozitive
b) Preţurile produselor nu pot fi negative şi nu pot depăşi 100.000.000
lei.
c) Termenele de livrare trebuie să fie cuprinse obligatoriu între 10 şi 30
de zile
d) Nu se vor putea înregistra comenzi cu date de livrare anterioare datei
de 1 ianurie 2002.
3. Pentru câmpurile nume client, data comandă şi pentru toate câmpurile ce sunt chei
externe se va modifica proprietatea Required astfel încât acestea să devină obligatoriu de
completat.
4. Se vor modifica proprietăţile Default Value pentru câmpurile data comanda şi unitate
de măsură astfel încât datele comenzilor să fie completate automat cu data sistemului de
operare iar în cazul adăugării de noi produse unitatea de măsură implicită să fie “Kg”
5. Să se adauge în baza de date 10 produse, 10 clienţi şi 10 comenzi.
Pagina 2/3

Interogarea bazei de date (Queries)

I. Interogari de selectie

Plecând de la tabelele bazei de date realizate la cerinţa anterioară să se realizeze următoarele


interogări:
1. Să se afişeze lista clienţilor din provincie care nu au telefon ordonându-se lista
alfabetic.
2. Să se afişeze lista produselor care au ca unitate de măsură litrul sau Kg şi care au stoc
initial sub 1000.
3. Să se afişeze lista comenzilor din ultimul an care nu au fost încă livrate şi, într-un
câmp calculat numit Data Limita, să se determine care este data până la care trebuie
livrate produsele adunând la data comenzii termenul în zile. Se va ordona descrescător
după data limită. Într-un alt câmp calculat numit Vechime se va calcula numărul de
zile care au trecut de la primirea comenzii până în prezent.
4. Să se afişeze lista alfabetică a produselor care au ca unitate de măsură Kg şi, într-un
câmp calculat numit, “De aprovizionat” să se afişeze 20% din stocul iniţial pentru
produsele cu stoc sub 1000 iar pentru produsele cu stoc peste 1000 să se afişeze 10%
din stocul initial. (Obs.: Se va utiliza funcţia IIF)
5. Să se afişeze lista clienţilor care au comandat produsele “zahăr” şi “făină”
II. Interogari parametrizate

6. Să se realizeze o interogare pentru a afişa lista comenzilor primite de la un anumit


client al cărui nume va fi specificat ca parametru în momentul lansării interogării.
7. Să se realizeze o interogare pentru a afişa lista cu numerele datele şi termenele
comenzilor primite între două date calendaristice specificate în momentul lansării
interogării.
Pagina 3/3

8. Să se realizeze o interogare pentru a afişa toate produsele care au stoc mai mic de o
anumită valoare specificată ca parametru.
III. Interogari de sintetizare a datelor

9. Să se afişeze lista cu cantităţile maxime comandate din fiecare produs.


10. Să se calculeze câte comenzi au fost primite de la fiecare client după 01/01/2003.
11. Să se calculeze valoarea totală a fiecărei comenzi şi într-un alt câmp numit TVA să se
calculeze 19% din valoarea totală a fiecărei comenzi.
III. Interogari de analiză încrucişată (CrossTab Query)

12. Să se afişeze cantitatea totală comandată din fiecare produs de către fiecare client.
Numele produselor vor fi ordonate pe coloane iar ale clienţilor pe linii.
13. Să se afişeze câte comenzi s-au primit pentru fiecare produs în fiecare lună a anului
2002. Lunile anului se vor ordona pe coloane iar produsele pe linii.
IV. Interogări tip acțiune

14. Să se realizeze o interogare de tip Make Table Query pentru a realiza o tabelă intitulată
Clienti2 care să conţină codurile fiscale, denumirile şi adresele clienţilor care nu sunt
din Bucureşti.
15. Să se realizeze o interogare de tip Make Table Query pentru a realiza o tabelă
intitulată Cantităţi care să conţină denumirile şi cantităţile totale comandate din fiecare
produs.
16. Să se realizeze o interogare de tip Update Query pentru a majora cu 5 zile termenele
pentru toate comenzile din luna noiembrie 2002.
17. Să se realizeze o interogare de tip Update Query pentru a diminua cu 10% stocurile
initiale pentru toate produsele.
18. Să se realizeze o interogare de tip Update Query pentru a șterge Telefonul Clienților
din Arad.
19. Să se realizeze o interogare de tip Delete Query pentru a şterge din baza de date toate
comenzile din ultimele 100 de zile.
20. Să se realizeze o interogare de tip Append Query pentru a adăuga în tabela Clienti2 şi
clienţii din Bucureşti.

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