You are on page 1of 2

create table prestatori_serv( ID_prestator number(5) constraint pk_ID_prestator

primary key, den varchar2(25));


create table tip_serviciu( cod_tip_serv number(2) constraint pk_cod_tip_serv pri
mary key, den varchar2(20));
create table data_inch(ID_data_inch date constraint pk_ID_data_inch primary key,
luna number(2) CONSTRAINT ck_luna CHECK (luna>=1 and luna<=12), an number(4));
create table tara( cod_tara number(3) constraint pk_tara_cod_tara primary key, d
en varchar2(25));
create table loc(cod_loc number(4) constraint pk_cod_loc primary key, den varcha
r2(30), cod_tara number(3) constraint fk_loc_cod_tara references tara(cod_tara))
;
create table contracte_inch (cod_tip_serv number(2) constraint fk_contracte_inch
_cod_tip_serv references tip_serviciu(cod_tip_serv),
cod_loc number(4) constraint fk_contracte_inch_cod_loc references loc(cod_loc),
ID_prestator number(5) constraint fk_contracte_inch_ID_prestator references pres
tatori_serv(ID_prestator),
nr_contracte number(5), val_contracte number(7,2), constraint pk_contracte_inch
primary key(cod_tip_serv,cod_loc, ID_prestator));
create table contr_inch (cod_tip_serv number(2) constraint fk_contr_inch_cod_tip
_serv references tip_serviciu(cod_tip_serv),
data_inch DATE constraint fk_contr_inch_data_inch references data_inch(data_inc
h), nr_contracte number(5),
constraint pk_contr_inch primary key(cod_tip_serv, data_inch));
create table turist(
cod_tip_serv number(2) constraint fk_turist_cod_tip_serv references tip_serviciu
(cod_tip_serv),
cod_tara number(3) constraint fk_turist_cod_tara references tara(cod_tara), nr_t
uristi number(5), constraint pk_turist primary key( cod_tip_serv,cod_tara));
drop table tip_serviciu;
drop table turist;
drop table contracte_inch;
drop table varsta_turisti;
drop table loc;
drop table tara;
drop table data_inch;
drop table prestatori_serv;
INSERT INTO prestatori_serv SELECT cod_prest, nume FROM prest_serv GROUP BY cod_
prest, nume;
INSERT INTO tip_serviciu SELECT cod_tip_serv, den_tip_serv FROM tip_serv GROUP B
Y cod_tip_serv, den_tip_serv;
INSERT INTO data_inch SELECT data_incheierii, EXTRACT (MONTH FROM data_incheieri
i), EXTRACT (YEAR FROM data_incheierii)
FROM contracte GROUP BY data_incheierii;

INSERT INTO tara SELECT tari.cod_tara, tari.den FROM tari GROUP BY tari.cod_tara
, tari.den;
INSERT INTO loc SELECT localit.cod_localit, localit.den_localit, tari.cod_tara
FROM localit, tari WHERE tari.cod_tara=localit.cod_tara
GROUP BY localit.cod_localit, localit.den_localit, tari.cod_tara;

INSERT INTO varsta_turisti SELECT cod_turist, EXTRACT(YEAR FROM sysdate)-EXTRACT
(YEAR FROM data_nast) FROM turisti;
delete from varsta_turisti;
INSERT INTO contracte_inch SELECT tip_serv.cod_tip_serv, localit.cod_localit, pr
est_serv.cod_prest, data_incheierii, count(nr_contract), sum(pret)
FROM tip_serv, localit, prest_serv, oferte_agentie, contracte WHERE ti
p_serv.cod_tip_serv=oferte_agentie.cod_tip_serv AND
localit.cod_localit=oferte_agentie.cod_localit AND prest_serv.cod_pres
t=oferte_agentie.cod_prest AND oferte_agentie.ID_oferta=
contracte.ID_oferta GROUP BY tip_serv.cod_tip_serv, localit.cod_local
it, prest_serv.cod_prest, data_incheierii;

INSERT INTO turist SELECT tip_serv.cod_tip_serv, tari.cod_tara, count(contracte.
nr_contract) FROM turisti, tip_serv, tari, contracte
GROUP BY tip_serv.cod_tip_serv, tari.cod_tara;

select * from turist;
delete from turist;

You might also like