Sunteți pe pagina 1din 16

Universitatea Romano – Americana

Facultatea de Informatica Manageriala

Proiect Baze de date

Prof. Seminar, Stundent,


Pirjan Alexandru Traian Turmac
Grupa 621
DROP TABLE agenti CASCADE CONSTRAINTS;
DROP TABLE categorii CASCADE CONSTRAINTS;
DROP TABLE contracte CASCADE CONSTRAINTS;
DROP TABLE produse CASCADE CONSTRAINTS;
DROP TABLE angajati CASCADE CONSTRAINTS;
DROP TABLE preturi CASCADE CONSTRAINTS;
DROP TABLE flota CASCADE CONSTRAINTS;
DROP TABLE parteneri CASCADE CONSTRAINTS;
DROP TABLE facturi CASCADE CONSTRAINTS;

create table facturi


(CodFact VARCHAR2(5) constraint FT_PK primary key,
DataFact DATE constraint FT_D_NN not null,
SumaFact Number(10) constraint FT_S_NN not null,
StatFact VARCHAR2(30) constraint FT_ST_CHK check (StatFact in('Platit', 'Urmeaza a se
efectua plata')),
CmFact VARCHAR2(100) constraint FT_CM_NN not null
);

2
create table parteneri
(CodPartener VARCHAR(4) constraint PP_PK primary key,
DenPartener VARCHAR2(40) constraint PP_DEN_NN not null,
AdresaPartener VARCHAR2(200) constraint PP_ADRESA_NN not null,
TelPartener VARCHAR2(30) default 'Telefon Nespecificat',
EmailPartener VARCHAR2(100) constraint PP_EMAIL_CHK check
(REGEXP_LIKE(EmailPartener,'@')),
CodFact VARCHAR2(5) constraint PP_FK references facturi
);

Figura 1 - Tabela perteneri

3
create table angajati
(CodAng NUMBER(4) constraint AN_PK primary key
constraint AN_CODANG_CHK check (CodAng > 1000),
NumeAng VARCHAR2(20) constraint AN_NUME_NN not null,
InitAng VARCHAR2(5) constraint AN_INIT_NN not null,
PrenAng VARCHAR2(20) constraint AN_PRENUME_NN not null,
GenAng VARCHAR2(8) constraint AN_GEN_CHK
check (GenAng in ('MASCULIN','FEMININ')),
DataNaAng DATE constraint AN_DATANA_NN not null,
EmailAng VARCHAR2(100) constraint AN_EMAIL_CHK
check (REGEXP_LIKE(EmailAng,'@')),
TelefAng VARCHAR2(30) default 'Telefon necompletat'
);

Figura 2 – tabela angajati

4
create table flota
(CodFlota VARCHAR2(6) constraint U_PK primary key,
DenFlota VARCHAR2(70) constraint U_DEN_NN not null,
StatFlota VARCHAR2(12) constraint U_NIVEL_CHK check (StatFlota in('Detinut', 'Imprumutat')),
CodAng Number(4) constraint U_FK references angajati
);

Figura 3 – tabela flota

create table preturi


(CodPreturi VARCHAR2(3) constraint PR_PK primary key,
PretCumparare Number(12) constraint PR_CP_NN not null,
PretVanzare Number(12) constraint PR_VZ_NN not null,
CodPartener VARCHAR2(4) constraint PR_FK references parteneri);

5
create table produse
(CodProduse NUMBER(3) constraint CC_PK primary key,
NumeProduse VARCHAR2(10) constraint CC_NUM_NN not null,
CodPret VARCHAR2(3) constraint CC_P_FK references preturi,
CodFlota VARCHAR2(6) constraint CC_U_FK references flota
);

Figura 5 – tabela produse

create table categorii


(CodCategorii NUMBER(3) constraint TT_PK primary key,
DenCategorii VARCHAR2(70) constraint TT_DEN_NN not null,
CodProduse Number(3) constraint TT_CER_FK references produse,

6
StocRez NUMBER(10) constraint TT_CT_NN not null);

create table contracte


(CodContract NUMBER(3) constraint CT_PK primary key,
DataSemnat Date constraint CT_DAT_NN not null,
DurataContract NUMBER(2) constraint CT_DT_NN not null,
DataIncheiere Date constraint CT_INC_NN not null,
CodTeren NUMBER(3) constraint CT_TN_FK references categorii);

Figura 8 – tabela contracte

7
create table agenti
(CodAgent VARCHAR2(3) constraint AG_PK primary key,
NumeAgent VARCHAR2(30) constraint AG_NUM_NN not null,
PrenumeAgent VARCHAR2(30) constraint AG_PRE_NN not null,
DataNaAgent DATE constraint AG_DATANA_NN not null,
EmailAgent VARCHAR2(100) constraint AG_EMAIL_CHK check
(REGEXP_LIKE(EmailAgent,'@')),
TelefAgent VARCHAR2(30) default 'Telefon necompletat',
CodContract NUMBER(3) constraint AG_CODCONT_FK references contracte
);

8
Figura 9 – tabela agenti

Populare tablela Facturi


insert into facturi values ('F001','12.13.2017','500','Platit','A platit in data de 12.02.2017');
insert into facturi values ('F002','05.20.2017','1500','Platit','A platit in data de 05.22.2017');
insert into facturi values ('F003','11.14.2017','600','Urmeaza a fii platit','Plata in 11.01.2018');
insert into facturi values ('F004','11.14.2017','300','Platit','A platit in data de 11.11.2017');
insert into facturi values ('F005','12.22.2017','1500','Platit','A platit in data de 12.03.2017');
insert into facturi values ('F006','12.03.2017','550','Platit','A platit in data de 12.03.2017');
insert into facturi values ('F007','12.09.2017','600','Platit','A platit in data de 15.09.2017');
insert into facturi values ('F008','12.14.2017','300','Platit','A platit in data de 12.01.2017');
insert into facturi values ('F009','12.24.2017','1200','Platit','A platit in data de 12.04.2017');
insert into facturi values ('F010','11.28.2017','110','Platit','A platit in data de 21.08.2017');

Populare tabela parteneri


insert into parteneri values (1, 'AtlasAxis', 'Strada Principala Nr 15 Otopeni', '774-503-0799',
'atlaaxis@yahoo.com', 'F001');
insert into parteneri values (2, 'Barbut SRL', 'Strada Traian Nr 44 Snagov', '830-649-0179',
'barbutafacere@yahoo.com', 'F002');
insert into parteneri values (3, 'Petrupci Company', 'Strada Matei Basarab Nr 1', '810-622-
3303', 'petrupcisrl@yahoo.com', 'F003');

9
insert into parteneri values (4, 'Totou Distribution', 'Strada Marginii Nr 54', '367-707-8360',
'totoudistr@yahoo.com', 'F004');
insert into parteneri values (5, 'FastFW', 'Strada Dragnea Nr 1', '516-919-0386',
'fastfw@yahoo.com', 'F005');
insert into parteneri values (6, 'Sapatorie AutoSoft', 'Strada Virtutii Nr 197', '240-162-2279',
'sauto.s@yahoo.com', 'F006');
insert into parteneri values (7, 'Danke Bavaria', 'Strada M Ion Roata Nr 423', '163-728-8849',
'dbv@yahoo.com', 'F007');
insert into parteneri values (8, 'AngeloMarket', 'Strada Cuza Voda 11', '255-196-6375',
'angelom@yahoo.com', 'F008');
insert into parteneri values (9, 'MateImpex', 'Strada Cuza Voda 13', '150-373-2078',
'mateimpex@yahoo.com', 'F009');
insert into parteneri values (10, 'MultiBrandRO', 'Strada Nucului 29', '197-969-9964',
'bderoberto9@yahoo.com', 'F010');

Populare tabela Angajati

insert into angajati values (1001, 'Tudor', 'D', 'Daniel', 'MASCULIN', '1/9/1971',
'tudordaniel@yahoo.com', '40723585820');
insert into angajati values (1002, 'Andrei', 'S', 'Ioana', 'FEMININ', '1/2/1963',
'andreiioana@yahoo.com', '40723585821');
insert into angajati values (1003, 'Buhnici', 'A', 'Tudor', 'MASCULIN', '10/11/1981',
'buhnicitudor@yahoo.com', '40723585823');
insert into angajati values (1004, 'Popescu', 'M', 'Cristina', 'FEMININ', '5/12/1972',
'popescucristina@yahoo.com', '40723585824');
insert into angajati values (1005, 'Ionescu', 'R', 'Mirela', 'FEMININ', '10/14/1962',
'ionescumirela@yahoo.com', '40723585825');
insert into angajati values (1006, 'Marinescu', 'Z', 'Alexandra', 'FEMININ', '5/21/1974',
'marinescualexandra@yahoo.com', '40723585827');
insert into angajati values (1007, 'Zamfirache', 'D', 'Matei', 'MASCULIN', '2/12/1966',
'zmatei@yahoo.com', '40723585828');
insert into angajati values (1008, 'Ionita', 'C', 'Costel', 'MASCULIN', '5/15/1971',
'ionitacostel@yahoo.com', '40723585829');
insert into angajati values (1009, 'Eftimie', 'U', 'Robert', 'MASCULIN', '5/5/1977',
'eftimierobert@yahoo.com', '40723585830');
insert into angajati values (1010, 'Ghervase', 'O', 'Mihai', 'MASCULIN', '9/25/1977',
'comghervasemihai@yahoo.com', '40723585831');

10
Populare tabela Flota

insert into flota values ('U01','Ford Transit', 'Detinut','1004');


insert into flota values ('U02','Ford Transit', 'Detinut','1003');
insert into flota values ('U03','Ford Transit', 'Detinut','1006');
insert into flota values ('U04','Dacia Dokker', 'Imprumutat','1001');
insert into flota values ('U05','Dacia Dokker', 'Detinut','1008');
insert into flota values ('U01','Dacia Dokker', 'Detinut','1004');
insert into flota values ('U02','Mercedes Vito', 'Detinut','1003');
insert into flota values ('U03','Mercedes Vito', 'Detinut','1006');
insert into flota values ('U04','Fiat Ducato', 'Imprumutat','1001');
insert into flota values ('U05','Fiat Ducato', 'Detinut','1008');

Populare tabela Preturi

insert into preturi values (1, '2.00', '3.37', 1);


insert into preturi values (2, '3.39', '8.48', 2);
insert into preturi values (3, '1.69', '7.19', 3);
insert into preturi values (1, '1.00', '4.37', 1);
insert into preturi values (2, '3.39', '9.48', 2);
insert into preturi values (3, '1.69', '3.19', 3);
insert into preturi values (1, '1.00', '3.37', 1);
insert into preturi values (2, '3.39', '13.48', 2);
insert into preturi values (3, '2.69', '16.19', 3);
insert into preturi values (3, '6.69', '17.19', 3);
insert into preturi values (3, '9.69', '18.19', 3);
insert into preturi values (3, '5.69', '13.19', 3);
insert into preturi values (3, '14.69', '22.19', 3);
insert into preturi values (3, '11.69', '19.19', 3);
insert into preturi values (3, '7.69', '13.19', 3);

11
Populare tabela produse

insert into produse values ('1', 'Anvelope auto','1','U04');


insert into produse values ('2', 'Masina tuns iarba','2','U03');
insert into produse values ('3', 'Robot cu telecomanda','3','U05');
insert into produse values ('1', 'Anvelope auto','1','U04');
insert into produse values ('2', 'Masina tuns iarba','2','U03');
insert into produse values ('3', 'Robot cu telecomanda','3','U05');
insert into produse values ('1', 'Masina de tuns iarba','1','U04');
insert into produse values ('2', 'Masina tuns iarba','2','U03');
insert into produse values ('3', 'Robot cu telecomanda','3','U05');
insert into produse values ('3', 'Robot cu telecomanda','3','U05');

Populare tabela Categorii

insert into categorii values (101, Jucarii, 3, 5777);


insert into categorii values (102, Auto, 1, 4557);
insert into categorii values (103, Bricolaj, 2, 4488);
insert into categorii values (104, Auto, 1, 3386);
insert into categorii values (105, Jucarii, 3, 1808);

Populare tabela Contracte

insert into contracte values (1, '9/23/2017', 4, '3/15/2021', 101);


insert into contracte values (2, '3/12/2017', 2, '4/12/2019', 102);
insert into contracte values (3, '10/3/2017', 3, '8/13/2020', 103);

12
insert into contracte values (4, '11/30/2017', 4, '6/26/2021', 104);
insert into contracte values (5, '9/21/2017', 2, '10/20/2019', 105);
insert into contracte values (6, '1/23/2017', 1, '11/2/2018', 106);
insert into contracte values (7, '8/27/2017', 1, '11/30/2018', 107);
insert into contracte values (8, '4/11/2017', 1, '6/18/2018', 108);
insert into contracte values (9, '5/11/2017', 4, '11/14/2021', 109);
insert into contracte values (10, '9/17/2017', 3, '4/20/2020', 110);

Poulare tabela Agenti

insert into agenti values ('AG1', 'Ionescu', 'Evelina', '7/19/1980', 'ionescue@yahoo.com', '709-
877-6859', 10);
insert into agenti values ('AG2', 'Dop', 'Ionel', '4/2/1970', 'popionel@yahoo.com', '645-613-
7809', 11);
insert into agenti values ('AG3', 'Popescu', 'Dan', '10/8/1982', 'popescudan@yahoo.com', '872-
372-2488', 12);
insert into agenti values ('AG4', 'Sapat', 'Ion', '1/4/1973', 'sapation@yahoo.com', '625-788-
3793', 13);
insert into agenti values ('AG5', 'Matei', 'Silviu', '12/28/1982', 'maiteisilviu@yahoo.com',
'648-257-5365', 14);
insert into agenti values ('AG6', 'Dobre', 'George', '3/15/1973', 'dobreg@yahoo.com', '995-
203-1806', 15);
insert into agenti values ('AG7', 'Deaconu', 'Traian', '3/17/1981', 'deaconut@yahoo.com', '315-
933-2908', 16);
insert into agenti values ('AG8', 'Biru', 'Marius', '5/26/1982', 'birumarius@yahoo.com', '713-
843-2102', 17);

13
insert into agenti values ('AG9', 'Adam', 'Alex', '12/19/1975', 'alexadam@yahoo.com', '454-
384-9032', 18);
insert into agenti values ('AG10', 'Ion', 'Luca', '1/5/1977', 'lucaion@yahoo.com', '825-443-
8775', 19);

Querry-uri

select * from angajati;


select * from agenti;
select * from flota;
select * from parteneri;
select * from categorii;
select * from produse;
select * from facturi;
select * from contracte;
select * from preturi;
select NumeAng, PrenAng, DataNaAng from angajati;
select DenFlota, StatFlota from flota;
select * from parteneri order by DenPartener;
select * from categorii order by StocRez;
select * from preturi where PretCumparare between 1 and 10;
select NumeAgent from agenti where NumeAgent like 'd%';
select NumeAng from angajati where NumeAng like 'i%i%';

14
Insert/Delete/ Update

insert into flota values ('U11','Dacia Logan', 'Detinut','1004');


insert into flota values ('U12','Dacia Logan', 'Detinut','1003');
insert into flota values ('U13','Dacia Logan', 'Detinut','1006');
insert into contracte values (16, '1/17/2018', 2, '1/16/2020', 101);
insert into contracte values (17, '3/1/2017', 2, '2/1/2019', 102);
insert into contracte values (18, '10/3/2017', 2, '9/3/2020', 103);
insert into facturi values ('F011','05.01.2018','500','Platit','A platit in data de 12.01.2018');
insert into facturi values ('F012','06.01.2018','350','Platit','A platit in data de 12.01.2018');
insert into facturi values ('F013','071.01.2018','150','Platit','A platit in data de 12.01.2018');
insert into parteneri values (16, 'TelDrum', 'Strada Dragnea 8', '273-474-4114',
'teldrum@yahoo.com', 'F016');
delete from parteneri where CodPartener = 15;
delete from angajati where CodAng = 5;
select DataNaAgent from agenti update DataNaAgent set=6/19/1980 where id= AG1;

Viziuni

15
Create view as angajati_v as
select NumeAng, PrenAng, DataNaAng from angajati;
Create view as preturi_v as
select * from preturi where PretCumparare between 1 and 10;
Createview as agenti_v as
select NumeAgent from agenti where NumeAgent like 'd%';
Create view as angajati_v as
select NumeAng from angajati where NumeAng like 'i%i%';
Create view as flota_v as
select DenFlota, StatFlota from flota;
Create view as categorii_v as
select * from categorii order by StocRez;
Create view as parteneri_v as
select * from parteneri order by DenPartener;

16

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