Post on 20-Feb-2018
7/24/2019 Supermarket 21
1/9
SuperMarket
Alupoae MihaiGiurgea Alexandru
7/24/2019 Supermarket 21
2/9
DescriereSa se proiecteze o baza de date pentru
un magazin de tipul SuperMarket care
sa tina evidenta: produselor, evolutiapreturilor, vanzarilor pe case de marcat,
clientilor, furnizorilor si angajatilor
7/24/2019 Supermarket 21
3/9
Cerintele clientuluisunt:- sa se tina evidenta preturilor produselor- sa se grupeze produsele pe categorii
- sa se tina evidenta clientilor prin
intermediul unui card de inregistrare
- sa se tina evidenta vanzarilor pe case
de marcat pentru diferite perioade sipentru fiecare client
- sa se calculeze valoarea cosului pentru
un client
- sa se tina evidenta angajatilor (salarii,
data angajarii, date personale) pedepartamente
7/24/2019 Supermarket 21
4/9
Regulile structuralesunt determinate de entitatile: client,produs, furnizor, angajat, departament si legaturile dintreacestea
FURNIZOR
# id_furnizor
* den_furnizor
* adresa* telefon
PRODUS
# id_produs
*denumire_prod
*cateoria
*pr!t_unitar
* U"
*stoc
N$%&
# id_ana'at
* nume_ana'at
* pren_ana'at
* data_ana'arii
* profesia
* salariu
* id_sef
D(PR&"(N
&
# id_dept
* den_dept*nume_sef
* telefon
* locatie
)I(N&
# card_client* nume_client
* prenume_client
* cnp
7/24/2019 Supermarket 21
5/9
!ntr-o prima fazaa proiectarii se
obtine diagrama
entitate-relatie
alaturata
CLIENT# card_client
* nume_client
* prenume_client
* cnp
PRODUS# id_produs
* denumire_produs
* prt_unitar
* unitate_de_masura
* stoc
FURNIZOR# id_furnizor
* denumire_furnizor
* adresa
* telefon
DEPARTAMENT# id_departament
* denumire_departament
* nume_sef_departament
* telefon
* locatie
ANGAJAT# id_angajat
* nume_angajat
* prenume_angajat
* data_angajarii* profesia
* salariu
* id_sef
cumpara
are
conduce
este condus
ofera
este oferit
"
"
"
lucreaza
este cumparat
lucreaza
7/24/2019 Supermarket 21
6/9
#ezolvarea relatiei m:m
CLIENT# card_client
* nume_client
* prenume_client
* cnp
PRODUS# id_produs
* denumire_produs* prt_unitar
* unitate_de_masura
* stoc
cumpara
este cumparat
CLIENT# card_client
* nume_client
* prenume_client
* cnp
PRODUS# id_produs
* denumire_produs
* prt_unitar
* unitate_de_masura
* stoc
VANZARE# data
# casa_marcat
* nr_bucati
realizeaza
este realizata
determina
e determinata
"
"
7/24/2019 Supermarket 21
7/9
!storicul
preturilor se
realizeaza
prin
modelareatimpului
PRODUS# id_produs
* denumire_produs
* unitate_de_masura
* stoc
ISTORIC_PRET# data_inceput
o data_sfarsit
* pret
are
apartine
"
PRODUS# id_produs
* denumire_produs
* prt_unitar
* unitate_de_masura
* stoc
7/24/2019 Supermarket 21
8/9
CLIENT# card_client
* nume_client
* prenume_client
* cnp
PRODUS# id_produs
* denumire_produs
* categoria* unitate_de_masura
* stoc
FURNIZOR# id_furnizor
* denumire_furnizor
* adresa
* telefon
DEPARTAMENT# id_departament
* denumire_departament
* nume_sef_departament* telefon
* locatie
ANGAJAT# id_angajat
* nume_angajat
* prenume_angajat
* data_angajarii
* profesia
* salariu
* id_sef
VANZARE# data
# casa_marcat
ISTORIC_PRET# data_inceput
o data_sfarsit
* pret
realizeaza
este realizata
determina
are
apartine
are
lucreaza
conduce
este condus
ofera
este oferit
e determinata
"
"
"
"
"
"
Diagrama ntitate!Relatie
7/24/2019 Supermarket 21
9/9
$ormalizare:- fiecare atribut memoreaza o valoare singulara deci cele doua entitati se gasesc in %$"
- entitatea 'S contine un ! simplu, fiind in %$" este implicit si in %$*
- entitatea !S+'#!.+ contine un ! compus: (idprodus,datainceput) determinat de o
relatie barata/ 0tributele datasfarsit si pret depind de intreg !, deci este in %$*
- entitatea !S+'#!.+ contine atributul non! data-sfarsit/ 0cesta depinde doar de ! si
nu de atributul non! pret/ 0celasi lucru e valabil si pentru atributul non! pret care depinde
doar de !, prin urmare entitatea este si in %$1
-pentru entitatea !S+'#! atributele non!: denumireprodus, unitatedemasura, stoc
depind de ! (nu depind de atribute nonUID) deci entitatea se gaseste in FN3PRODUS# id_produs
* denumire_produs
* unitate_de_masura* stoc
ISTORIC_PRET# data_inceput
o data_sfarsit
* pret
are
apartine
"