BUCURESTI
-proiect baze de date-
Profesor coordonator:
Student :
Tabelele firmei:
PRODUSE
Id_produs Denpr
N(10)
C(30)
Pret
N(30)
SUCURSALA
Cod_s
N(2)
Nume
C(10)
Sector
C(12)
Adresa
C(30)
CLIENTI
Id_client
N(10)
CNP
N(12)
ANGAJATI
Id_ang
Nume
N(3)
C(10)
FACTURI
Nr_factura Dataf
N(12)
D
Nume
C(10)
Prenume
C(10)
Prenume Cod_s
C(20)
N(3)
CNP
N(13)
RAND_FACTURA
Nr_factura Id_produs Cantitate
N(12)
N(3)
N(3)
Id_ang
N(3)
Telefon
C(10)
Email
C(30)
Email_c
C(30)
Adresa
C(30)
Data_ang Salariu
D
N(3)
INFORMATII DESPRE
CONTABIL BUCURESTI
BAZA DE
DATE
A COMPANIEI
Baza de date construita vizeaza atat angajatii, cat si client. Scopul bazei de date este
gestionarea produselor vandute, cat si facturilor mai usor si mai detaliat.Aceasta ne poate
oferi si informatii despre angajatii care au facturat sau data de angajare.
In fiecare tabela din baza de date se tine evidenta acestor detalii, iar prin relatiile
dintre ele se poate usor depista traseul dorit.
Baza de date tine evidenta unei firme de contabilitate. De aceea, trebuie inregistrate
produsele in vedere pentru efectuarii vanzarii lor PRODUSE , clientii care au cerut
efectuarea serviciilor, respectiv Clienti, deoarece satisfacerea nevoilor lor este obiectivul
firmei noastre.
De asemenea, sunt incluse tabele care cuprind informatii despre vanzarile realizate
FACTURI. Si mai detaliat in RAND_FACTURA.
Cea mai importanta tabela din schema este tabela ANGAJATI, deoarece ei
sunt reprezentantii firmei, cei care efectueaza vand si efectueaza serviciile
1.Sa se introduca un camp nou la tabela produse cu stocul din fiecare produs.
5.Sa se adauge o noua restrictie la campul salariul astfel ca aceasta sa fie mai mare
decat zero in tabela angajati;
alter table angajati add constraint ck1 check(salariu>0);
9.Sa se afiseze pretul minim, pretul maxim si pretul mediu al produselor din
magazine.
select max(pret)as "pret maxim", min(pret) as "pret minim" ,avg(pret) as "pret mediu"
from produse;
12.Sa se afiseze facturiile ce constau intr-o cantitate mai mare de 63 bucati inclusiv.
select * from facturi where 63<=(select sum(cantitate) from rand_factura where
rand_factura.nr_factura=facturi.nr_factura);
15.
Afisati numele, prenumele precum si data angajarii fiecarui angajat, data sa
aiba formatul DD/MM/YY
SELECT nume, prenume, TO_CHAR(data_ang, 'DD/MM/YY')data_angajarii FROM
angajati
17.Afisati numele prenumele si data angajarii celui mai nou si celui mai vechi dintre
angajati
select nume, prenume, data_ang from angajati
where data_ang=(select max(data_ang) from angajati)
union
select nume, prenume, data_ang from angajati
where data_ang=(select min(data_ang) from angajati);