Documente Academic
Documente Profesional
Documente Cultură
Gestiunea
unei cafenele
Realizat de studentele:
Dumitru Alexandra
Moisa Maria
I. MODELUL CONCEPTUAL
1. OBIECTIVE
Ca și temă a acestui proiect am ales gestiunea unei cafenele. Propunem realizarea unei aplicații
economice care va avea drept nucleu o baza de date ACCESS.
Scopul principal al bazei de date este de a ține o evidență a celor mai vândute tipuri de cafea
precum și:
Stocarea informațiilor despre cele mai solicitate arome în cafea
Păstrarea unei evidențe a orelor cu cele mai multe comenzi de cafea
Înregistrarea vânzărilor
Înregistrarea evoluției cafelei cu zahăr și fără
Colectarea de date a clienților fideli:
Vârsta la care o persoană consumă cea mai multă cafea
Cantitatea de cafea consumată în funcție de sex
2. INTRĂRILE APLICAȚIEI
Facturi
Card de reducere
Buletin client fidel (date despre client)
3. IEȘIRILE APLICAȚIEI
Bon fiscal
Facturi
Bon de consum
Chitanță
4. REGULI DE GESTIUNE
Pe baza cardului, la comandarea a cinci cafele, a șasea este gratuită
Între orele 10:00-12:00 la comandarea oricărui tip de cafea, clientul primește un croissant
sau brioșă, la alegere
Promoție: pe baza cardului, la cumularea a 30 de puncte, clientul primește o cană
personalizată:
Cafea simplă
- Mică 1p
- Medie 2p
- Mare 3p
Cafea cu lapte
- Mică 2p
- Medie 3p
- Mare 4p
2
Cafea cu arome
- Mică 3p
- Medie 4p
- Mare 5p
5. DICȚIONAR DE DATE
nume_client, prenume_client, CNP, email_client, nume_angajat, prenume_angajat, data_angajarii,
adresa_angajat, telefon_angajat, salariu, den_furnizor, telefon_furnizor, email_furnizor, den_produs,
tip_produs, marime_produs, pret_produs, puncte_produs, nr_factura, data_factura, valoare_factura,
nr_comanda, data_comanda, ora_comanda, nr_produse
7. TIPURI DE ASOCIERI
angajatul – recepționează – comanda
furnizorul – emite – facturi
factura – conține – produse
comenzile – conțin – produse
clientul – plasează – comanda
8. DETERMINAREA CARDINALITĂȚII
a) Un client plasează cel puțin o comandă și cel mult n.
O comandă este plasată de cel puțin un client și cel mult n.
b) Un angajat recepționează cel puțin o comandă și cel mult n.
O comandă este preluată de cel puțin un angajat și cel mult unul.
c) O comandă conține cel puțin un produs și cel mult n.
Un produs apare pe cel puțin o comandă și cel mult n.
d) O factură poate conține cel puțin un produs și cel mult n.
Un produs poate apărea pe cel puțin o factură și cel mult n.
e) Un furnizor poate emite cel puțin o factură și cel mult n.
O factură poate fi emisă de cel puțin un furnizor și cel mult unul.
9. PROPRIETĂȚILE ENTITĂȚILOR
Clienti: nume_client, prenume_client, CNP, email_client
Angajati: nume_angajat, prenume_angajat, data_angajarii, adresa_angajat, telefon_angajat, salariu
Furnizori: den_furnizor, adresa_furnizor, telefon_furnizor, email_furnizor
3
Produse: den_produs, tip_produs, marime_produs, pret_produs, puncte_produs
Facturi: nr_factura, cod_furnizor, cod_produs, data_factura, valoarea_factura
Comenzi: nr_comanda, data_comanda, ora_comanda, nr_produse, den_produs
1. RELAȚII
Clienti
Angajati
Furnizori
Produse
Facturi
Comenzi
4
2. DEFINIREA CHEILOR PRIMARE
Tabele Cheie primară Cheie externă Cheie secundară Relații primare
Clienti cod_client - CNP x
Angajati cod_angajat - - x
Furnizori cod_furnizor - - x
Produse cod_produs - - -
cod_produs
Facturi nr_factura - -
cod_furnizor
Comenzi nr_comanda cod_produs - -
3. DESCRIEREA ATRIBUTELOR
Clienti: cod_client (numerotare automată, integer), nume_client (text), prenume_client (text), CNP
(număr, 13), email_client (text)
Angajati: cod_angajat (numerotare automată, integer), nume_angajat (text), prenume_angajat
(text), data_angajarii (data/oră), adresa_angajat (text), telefon_angajat (număr, 10), salariu (număr,
integer)
Furnizori: cod_furnizor (număr, integer), den_furnizor (text), adresa_furnizor (text),
telefon_furnizor (număr, 10), email_furnizor (text)
Produse: cod_produs (număr, integer), den_produs (text), tip_produs (text), marime_produs (text),
pret_produs (număr, integer), puncte_produs (număr, integer)
Facturi: nr_factura (număr, integer), cod_furnizor (număr, integer), cod_produs (număr, integer),
data_factura (data/oră), valoarea_factura (număr, integer)
Comenzi: nr_comanda (numerotare automată, integer), data_comanda (data/oră), ora_comanda
(data/oră), nr_produse (numerotare automată, integer), cod_produs (număr, integer), cod_client
(numerotare automată, integer), cod_angajat (numerotare automată, integer)
În mod obligatoriu, fiecare câmp va conține o valoare diferită de 0 sau în cazul atributelor de tip
text, acestea vor conține cel puțin un caracter și maxim 30. Excepție fac câmpurile CNP,
telefon_angajat și telefon_furnizor, care vor avea 13, respective 10 cifre.
4. RESTRICȚII DE INTEGRITATE
Câmpurile care sunt chei primare au valori unice.
Atributele cheii primare trebuie sa fie valori diferite de valoarea null.
Fiecare relație are cel puțin o cheie.
Dacă există mai multe chei posibile, ele se numesc chei candidat (secundare).
Cheia primară nu poate fi reactulizată.
Restul cheilor vor purta numele de chei externe.
5
5. VALIDAREA MODELULUI PRIN NORMALIZARE
a) Dependențe funcționale
Clienti:
1. cod_client – nume_client
2. cod_client – prenume_client
3. cod_client – CNP
4. cod_client – email_client
Angajati:
1. cod_angajat – nume_angajat
2. cod_angajat – prenume_angajat
3. cod_angajat – data_angajarii
4. cod_angajat – adresa_angajat
5. cod_angajat – telefon_angajat
6. cod_angajat – salariu
Furnizori:
1. cod_furnizor – den_furnizor
2. cod_furnizor – adresa_furnizor
3. cod_furnizor – telefon_furnizor
4. cod_furnizor – email_furnizor
Produse:
1. cod_produs – den_produs
2. cod_produs – tip_produs
3. cod_produs – marime_produs
4. cod_produs – pret_produs
5. cod_produs – puncte_produs
Facturi:
1. nr_factura – cod_furnizor
2. nr_factura – cod_produs
3. nr_factura – data_factura
4. nr_factura – valoare_factura
Comenzi:
1. nr_comanda – data_comanda
2. nr_comanda – ora_comanda
3. nr_comanda – nr_produse
4. nr_comanda – cod_produs
5. nr_comanda – cod_client
6. nr_comanda - cod_angajat
6
b) Aducerea relațiilor in 3NF
1. Clienti
este în 1NF deoarece nu are atribute repetitive
este în 2NF deoarece este în 1NF și nu există dependențe funcționale parțiale
este în 3NF deoarece este în 2NF și nu există dependențe transitive
2. Angajati
este în 1NF deoarece nu are atribute repetitive
este în 2NF deoarece este în 1NF și nu există dependențe funcționale parțiale
este în 3NF deoarece este în 2NF și nu există dependențe transitive
3. Furnizori
este în 1NF deoarece nu are attribute repetitive
este în 2NF deoarece este în 1NF și nu există dependențe funcționale parțiale
este în 3NF deoarece este în 2NF și nu există dependențe transitive
4. Produse
este în 1NF deoarece nu are attribute repetitive
este în 2NF deoarece este în 1NF și nu există dependențe funcționale parțiale
este în 3NF deoarece este în 2NF și nu există dependențe transitive
5. Facturi
este în 1NF deoarece nu are attribute repetitive
este în 2NF deoarece este în 1NF și nu există dependențe funcționale parțiale
este în 3NF deoarece este în 2NF și nu există dependențe transitive
6. Comenzi
este în 1NF deoarece nu are atribute repetitive
este în 2NF deoarece este în 1NF și nu există dependențe funcționale parțiale
este în 3NF deoarece este în 2NF și nu există dependențe transitive
7
6. DIAGRAMA ENTITATE – RELAȚIE
8
III. PROIECTAREA FIZICA A BAZEI DE DATE
Pentru a deschide un fisier de baze de date trebuie sa faceti click pe File, apoi pe Open si alegeti
fisierul dorit. Fisierul nostru se numeste Baza de date cafenea.
Pe baza dabelelor din fisier se pot crea interogari, rapoarte si formulare. Pentru a crea interogari
faceti click pe Create, apoi Query Wizard. Pentru a crea rapoarte faceti click pe Create, apoi
Report Wizard, iar pentru a crea formulare faceti click pe Create, apoi Form Wizard.
Daca doriti sa afisati numarul comenzilor cu mai mult de trei cafele, interogarea va arata ca in
imaginea de mai jos, iar rezultatul va fi 2.
Daca faceti click pe butonul cu sageata, veti afisa urmatorul angajat din raport, iar daca veti face
click pe butonul Open Furnizori Form, se va deschide formularul furnizorilor.
9
Tipurile de cafea care au 3 puncte:
10