You are on page 1of 4

create table ODELJENJE1(

--pravimo sve kolone i pisemo kod tipa ce da budu


sifraodelj integer not null,
naziv char(20),
grad char(20)
);
--kad zavrsimo funkciju mora da se pokrene na play da bi se kreiralo

--izmenjujemo tabelu pa koristimo alter


alter table ODELJENJE1 add broj_radnika numeric(4);
--brisanje tabele

drop table ODELJENJE1;

--prvi nacin kreiranja relacije


create table obrazovni_profil2(
sifraprof number (7, 0),
--7, 0, 0 znaci da necemo nesto sa zarezom
stepenstrucnespreme varchar (20),
NAZIVPROF VARCHAR(20),
--kada koristimo ogranicenje uvek constraint pa naziv je opcion, nikako ne smeju
biti dva ogranicenja sa istim nazivom
constraint op2_pk primary key(sifraprof),
--in je kao jednakio
constraint op2_check check (stepenstrucnespreme in ('V', 'VI', 'VII'))
);

create table ODELJENJE1(


--pravimo sve kolone i pisemo kod tipa ce da budu
sifraodelj integer not null,
naziv char(20),
grad char(20)
);
--kad zavrsimo funkciju mora da se pokrene na play da bi se kreiralo

--izmenjujemo tabelu pa koristimo alter


alter table ODELJENJE1
add broj_radnika numeric(4);
--brisanje tabele

drop table ODELJENJE1;

--prvi nacin kreiranja relacije


create table obrazovni_profil2(
sifraprof number (7, 0),
--7, 0, 0 znaci da necemo nesto sa zarezom
stepenstrucnespreme varchar (20),
NAZIVPROF VARCHAR(20),
--kada koristimo ogranicenje uvek constraint pa naziv je opcion, nikako ne smeju
biti dva ogranicenja sa istim nazivom
constraint op2_pk primary key(sifraprof),
--in je kao jednako
constraint op2_check check (stepenstrucnespreme in ('V', 'VI', 'VII'))
);

--ako se pokrece dva puta ista stvar onda javlja gresku


--drugi nacin, def tabelu i kolonu a ogranicenja naknadno

create table radno_mesto2(


sifrarm number (6),
nazivrm char (20),
sifraprof number (7, 0)
--jer je spoljni kljuc ova sifraprof i mora da bude ista kao u tablei gde je
pravljena
);

alter table radno_mesto2 add(


--kad imamo slozeni kljuc onda sad samo dodamo ovde kod primarnog u zagradi taj
drugi kljuc
constraint rm2_pk primary key (sifrarm),
--kad def spoljni kljuc moramo da navedemo iz koje je table taj kljuc
constraint rm2_fk foreign key (sifraprof) references obrazovni_profil2(sifraprof)
);

--radimo dml naredbe, u zagrad narebe da budu u istom redosledu kao i u tabelu i za
values isto vazi
insert into obrazovni_profil2
(sifraprof, stepenstrucnespreme, nazivprof)
values(100, 'V', 'Srednja SS');
--pamti transakciju tako sto zakuca vrednosti jer rollback kasnije brise sve do
commit, jer ako nigde nema commit onda se sve brise kad uradimo rollback
commit;

insert into obrazovni_profil1


(sifraprof, stepenstrucnespreme, nazivprof)
values(100, null, 'Visa SS');

insert into radno_mesto1


values(333, 'Sekretarica', 100);
commit;

update RADNO_MESTO1
set SIFRAPROF = 200
where NAZIVRM = 'Sekretarica';

delete from RADNO_MESTO1


where sifrarm = 333;

delete from obrazovni_profil1;

--prvi zadatak

create table oprema1(


opremaid number (7),
nazivopreme VARCHAR(20),
constraint op1_pk primary key (opremaid)
);

create table konkurs_za_nabavku1(


konkursid number (7),
datumOd date,
datumDo date,
opremaid NUMBER (7),
constraint kz_pk primary key (konkursid),
constraint kz_fk foreign key (opremaid) references oprema1(opremaid)
);
drop table konkurs_za_nabavku1;

create table ponuda(


ponudaid NUMBER (7),
nazivKompanije char(20),
konkursid number(7),
constraint p_pk primary key (ponudaid),
constraint p_fk foreign key (konkursid) references konkurs_za_nabavku1(konkursid)
);

--pod b

alter table konkurs_za_nabavku1


add constraint kzn_check check (datumOd < datumDo);

--pod c
insert into oprema1 values (1, 'Protivpozarna');
insert into oprema1 values (2, 'Kompjuterska');

insert into konkurs_za_nabavku1 values (1, '02-MAR-15', '19-MAR-15', 1);

insert into ponuda values (1, 'Vatrostal', 1); --tabela ponuda nije radila

--pod d
update oprema1
set NAZIVOPREME = 'Racunarska'
where NAZIVOPREME = 'Kompjuterska';

-- DRUGI ZADACIC

create table artikal1(


artikalid number (7, 0),
nazivartikla varchar(20),
jedinicamere varchar(5),
constraint a_pk primary key (artikalid)
);

create table ponuda1(


ponudaid number (7),
nazivkompanije varchar(20),
constraint p1_pk primary key (ponudaid)
);

create table stavka_ponude1(


ponudaid number (7),
rbr number (7),
cena number (7, 2),
artikalid number (7),
constraint sp_pk primary key (rbr, ponudaid),
constraint sp_fk foreign key (artikalid) references artikal1 (artikalid)
);

alter table artikal1


add constraint a_check check (jedinicamere in('kom', 'kg', 'litar'));

insert into artikal1 values(1, 'Loke lampa', 'kom');


insert into ponuda1 values(1, 'Eglo');
insert into stavka_ponude1 values(1, 1, 9450.00, 1);

update stavka_ponude1
set cena = cena*1.08
where artikalid = 1;

You might also like