
--1
--create table polozeni_predmeti (
--indeks integer not null,
--id_predmeta integer not null,
--godina_roka smallint not null,
--oznaka_roka char(5) not null,
--ocena smallint not null,
--datum_ispita date,
--bodovi smallint,
--primary key(indeks, id_predmeta, godina_roka, oznaka_roka),
--foreign key fk_ispit (indeks, id_predmeta, godina_roka, oznaka_roka) references ispit,
--constraint vrednost_ocene check (ocena between 6 and 10)
--); 

-- ako postoji ogranicenje da student moze poloziti predmet samo jedanput onda moze

--create table polozeni_predmeti (
--indeks integer not null,
--id_predmeta integer not null,
--godina_roka smallint not null,
--oznaka_roka char(5) not null,
--ocena smallint not null,
--datum_ispita date,
--bodovi smallint,
--primary key(indeks, id_predmeta),
--foreign key fk_ispit (indeks, id_predmeta, godina_roka, oznaka_roka) references ispit,
--constraint vrednost_ocene check (ocena between 6 and 10)
--); 


--insert into polozeni_predmeti
--select *
--from ispit
--where ocena>5;


--2

--alter table polozeni_predmeti
--drop datum_ispita;

--reorg table polozeni_predmeti;

--3
--alter table polozeni_predmeti
--  add constraint bodovi_ispit check (bodovi between 51 and 100)
--  alter column ocena set default 6;

--4
--drop table polozeni_predmeti;



--5
--create table student_ispiti (
--  indeks integer not null primary key,
--  polozeni_ispiti smallint,
--  prosek double,
--  constraint si_d foreign key (indeks) references dosije
--);



--6
--alter table student_ispiti
--  add broj_ispita smallint
--  add constraint ispiti check(broj_ispita>=polozeni_ispiti);

--7
--insert into student_ispiti
--select indeks, sum(case when ocena>5 then 1 else 0 end) broj_polozenih, 
--               avg(case when ocena>5 then ocena*1.0 else null end),
--               count(*) broj_polaganih 
--from ispit
--group by indeks;

--8

--select ime, count(*) n
--from dosije
--where pol='m'
--group by ime
--order by n desc;

--9
--select i.indeks, trim(d.ime) || ' ' || trim(d.prezime),  sum(p.bodovi) polozeno
--from dosije d 
--     join ispit i
--       on d.indeks=i.indeks
--   join predmet p
--       on i.id_predmeta=p.id_predmeta
--where i.status_prijave='o' and i.ocena>5
--group by i.indeks, ime, prezime
--order by 3;











