--1
create table kandidati_za_upis (  
id integer not null ,
idprograma integer not null,
ime varchar(50) not null,
prezime varchar(50) not null,
pol char,
mestorodjenja varchar(50),
datumprijave DATE NOT NULL,
bodovi float,
primary key(id),
foreign key fk_smer (idprograma) references da.STUDIJSKIPROGRAM,
constraint vrednost_pol check ( pol in ('m', 'z'))
);

--2 
insert into kandidati_za_upis (id, ime, prezime, pol, mestorodjenja, datumprijave, idprograma)
values (1, 'Marko', 'Markovic', 'm', 'Kragujevac', '12.11.2020', 103);


select *
from kandidati_za_upis;


-- ili  1 + 2 
drop table kandidati_za_upis;

create table kandidati_za_upis (  
id integer not null  generated always as identity (minvalue 1),
idprograma integer not null,
ime varchar(50) not null,
prezime varchar(50) not null,
pol char,
mestorodjenja varchar(50),
datumprijave DATE NOT NULL,
bodovi float,
primary key(id),
foreign key fk_smer (idprograma) references da.STUDIJSKIPROGRAM,
constraint vrednost_pol check ( pol in ('m', 'z'))
);


insert into kandidati_za_upis (ime, prezime, pol, mestorodjenja, datumprijave, idprograma)
values ('Marko', 'Markovic', 'm', 'Kragujevac', '12.11.2020', 103);

select *
from kandidati_za_upis;

--3 

alter table kandidati_za_upis
  drop mestorodjenja;

--4 
alter table kandidati_za_upis
  add constraint vrednost_bodovi check ( bodovi between 0 and 100)
  alter column datumprijave set default current date;

--Kada dobijete gresku 
--Operation not allowed for reason code "7" on table "STUDENT.KANDIDATI_ZA_UPIS".. SQLCODE=-668, SQLSTATE=57007, DRIVER=3.69.56
--u terminalu se povezite na bazu podataka stud2020 
--i ukucajte 
-- db2 reorg table kandidati_za_upis

--5 
insert into kandidati_za_upis (ime, prezime, pol, idprograma)
values ('Snezana', 'Peric', 'z',  103),
('Marija', 'Peric', 'z',  101);

select *
from da.STUDIJSKIPROGRAM;

--6 
insert into kandidati_za_upis (ime, prezime, idprograma, pol, bodovi)
select ime, prezime, idprograma, pol, 90
from da.dosije d join da.STUDENTSKISTATUS ss
		on d.idstatusa=ss.id
		and naziv='Ispisan';

--7
delete from kandidati_za_upis
where bodovi is null;

--8
delete from kandidati_za_upis
where (ime, prezime) in (select distinct ime, prezime
                         from da.dosije d join da.ispit i
                         	on d.indeks=i.indeks 
                         	and ocena>5 and status='o');

--9                         	
							
update kandidati_za_upis
set bodovi= case 
                 when bodovi*1.2<=100 then bodovi*1.2 
                 when bodovi is not null then 100 end        
where datumprijave >= current date - 2 days;

select *
from kandidati_za_upis;
     
	 
--10                         	
drop table kandidati_za_upis;


--11 

update da.ispit
set (oznakaroka, datpolaganja)=('jan1', null)
where idpredmeta in (select id
                                     from da.predmet
                                     where naziv='Analiza 1') 
     and skgodina=2015 and oznakaroka='jun1';


select *
from da.ISPITNIROK;

--12
update da.predmet p
set espb=(select max(espb)
                   from da.predmet)
where exists ( select *
                       from da.ispit i join da.dosije d on i.indeks=d.indeks
                      where mestorodjenja like '%Beograd%' 
                           and i.idpredmeta=p.id);                           	


