Subiect_11
eUn magazin on-line realizează desfacerea produselor prin intermediul unei aplicaţii informatice ce funcţionează conform următorului ERD:
În cadrul unei comenzi preţul specificat este pentru o unitate de produs. Un client poate face într-o zi mai multe comenzi, însă o comandă se înregistrează pentru un singur client. Cerințe:
a) Construiți baza de date cu tabele corespunzătoare şi relațiile reprezentate în ERD. Populați tabelele cu înregistrări relevante pentru cerințele următoare:
b) Care sunt produsele comandate astăzi?
c) Câte comenzi a făcut în luna martie 2010 dl. Georgescu Andrei?
d) Care este valoarea totală a vânzărilor pentru Ciocolata Milka?
Rezolvare
a) Construiți baza de date cu tabele corespunzătoare şi relațiile reprezentate în ERD. Populați tabelele cu înregistrări relevante pentru cerințele următoare:
Structura tabelului CLIENT pentru fiecare câmp:
- cod_client - cheie primară, Data Type: AutoNumber
- nume - Data Type: Text
proprietăţi modificate
Field Size: 60
Required: Yes
- adresa - Data Type: Text
proprietăţi modificate
Field Size: 255
Required: Yes
- email - Data Type: Text
proprietăţi modificate
Field Size: 60
- tel - Data Type: Text
proprietăţi modificate
Field Size: 20
Input mask: \(9999") "999999;0;_
Structura tabelului COMANDA pentru fiecare câmp:
- cod_client - Data Type: Number
proprietăţi modificate
Field Size: Long Integer
Required: Yes
- data - Data Type: Date/Time
proprietăţi modificate
Field Size: Short Date
Required: Yes
- produs - Data Type: Text
proprietăţi modificate
Field Size: 50
Required: Yes
- pret - Data Type: Number
proprietăţi modificate
Field Size: Single
Decimal places: 2
Required: Yes
- cantitate - Data Type: Number
proprietăţi modificate
Field Size: Single
Decimal places: 3
Required: Yes
Opţional: Pentru a completa mai rapid datele în tabelul COMANDA, se poate realiza o interogare care să preia codul şi numele clientului din tabelul CLIENT.
Se realizează relaţia dintre tabele legând
câmpul-cheie primară cod_client din tabelul CLIENT la
câmpul cod_client din tabelul COMANDA.
Se introduc înregistrări în tabele - cel puţin o înregistrare cu un produs comandat azi (cerinţa b) şi unul în luna martie 2010 (cerinţa c), un client numit Georgescu Andrei (cerinţa c) şi câteva înregistrări cu produsul numit Ciocolata Milka (suma de la cerinţa d).
b) Care sunt produsele comandate astăzi?
Se creează o interogare care preia date din tabelul COMANDA - Create - Query Wizard - Simple Query Wizard.
În modul Design View la câmpul data, la criteriu se foloseşte funcţia Date(), care afişează data de azi (data curentă din calculator). Se poate debifa marcatorul pentru afişarea câmpului data.
c) Câte comenzi a făcut în luna martie 2010 dl. Georgescu Andrei?
Se creează o interogare care preia date din ambele tabele. Aici vom grupa datele şi vom folosi funcţia Count() pentru a număra înregistrările grupate care îndeplinesc criteriile scrise în dreptul câmpurilor selectate.
Create - Query Design. Se adaugă cele două tabele. În modul Design View al interogării se adaugă câmpul nume din tabelul CLIENT.
Cu click pe butonul se adaugă rândul Total în fereastra de jos.
În coloanele a doua şi a treia se scriu formulele pentru extragerea lunii şi a anului din câmpul data, iar în coloana a patra se scrie Nr comenzi: Count(*), pentru a număra înregistrările - vezi figura de mai jos.
Pe rândul Total, la câmpurile nume, luna şi anul se alege Group by - pentru a grupa datele după criteriile scrise pe rândul Criteria, iar la câmpul care conţine formula de numărare se alege Expression.
d) Care este valoarea totală a vânzărilor pentru Ciocolata Milka?
Valoarea totală = se adună cantitate*preţ pentru fiecare înregistrare a produsului (e posibil ca la date calendaristice diferite preţurile să fie diferite).
Se creează o interogare care preia date din tabelul COMANDA. Aici vom grupa datele şi vom folosi funcţia Sum pentru a aduna produsele cantitate * preţ a fiecărei înregistrări.
Create - Query Design. Se adaugă tabelul COMANDA.
În modul Design View al interogării se adaugă câmpul produs din tabelul COMANDA.
Cu click pe butonul se adaugă rândul Total în fereastra de jos.
Grupăm câmpul produs (Group by) după criteriul "Ciocolata Milka" iar în coloana a doua aflăm valoarea acesteia, înmulţind câmpurile pret şi cantitate, după care le însumăm (Sum).
Am ataşat fişierul rezolvat în format mdb.
Spor la lucru!