-- NAREDBE ZA MENJANJE PODATAKA
-- INSERT:
-- INSERT INTO naziv_tabele [(atributi)]
-- podupit {VALUES, SELECT}

-- 1. Dodati ispitni rok Oktobar 2 2015.
--INSERT INTO da.ispitniRok
--VALUES (2015, 'okt2', 'Oktobar 2 2015', '01.10.2016', '07.10.2016');

--SELECT *
--FROM da.ispitniRok
--ORDER BY 1, 2;

-- 2. Dodati studenta Ivana Markovica sa brojem indeksa
--     20140055 rodenog u Beogradu, ciji su datumi diplomiranja i pol nepoznati (stud program Matematika, id=101).
--     Zatim dodati:
--     polaganje predmeta Analiza 2 (id-2357, stud program Matematika) sa ocenom 8 u oktobru 2 2015.
--     neuspesno polaganje predmeta Analiza 3, u istom roku.

-- SELECT *
-- FROM da.studentskiStatus;
-- Dodacemo Ivana Markovica kao stud sa statusom 1 (budzet, aktivan stud.)

--SELECT id, oznaka, naziv, idNivoa
--FROM da.studijskiProgram;
--SELECT *
--FROM da.nivoKvalifikacije;
-- Dodacemo Ivana Markovica na Osnovne akademske studije
-- (nivo kvalifikacije 1), na studijski program Matematika. (id=101)

--INSERT INTO da.dosije (indeks, idPrograma, ime, prezime, pol, mestoRodjenja, idStatusa, datU-pisa, datDiplomiranja)
--VALUES (20140055, 101, 'Ivan', 'Markovic', NULL, 'Beograd', 1, '10.06.2014', NULL);

-- Moguca varijanta:
--INSERT INTO da.dosije (idPrograma, ime, prezime, mestoRodjenja, idStatusa, indeks, datUpisa)
--VALUES (101, 'Ivan', 'Markovic', 'Beograd', 1, 20140055, '10.06.2014');

--SELECT *
--FROM da.dosije
--WHERE indeks=20140055;

-- Dodajemo A2 (id 2357, sa stud programa Matematika) u oktobru 2 2015 sa ocenom 8.

--SELECT p.id, p.naziv, p.oznaka, p.espb, pp.*
--FROM da.predmet p JOIN da.predmetPrograma pp ON p.id=pp.idPredmeta
--WHERE naziv='Analiza 2';
--SELECT *
--FROM da.studijskiProgram;

-- Da je 20140055 upisao kurs 2357?
--SELECT *
--FROM da.upisanKurs
--WHERE indeks=20140055;

-- Kurs da postoji u semestru
--SELECT *
--FROM da.kurs
--WHERE idPredmeta=2357;

--INSERT INTO da.upisanKurs (indeks, idPredmeta, skGodina, semestar)
--VALUES(20140055, 2357, 2015, 1); 

--INSERT INTO da.ispit (skGodina, oznakaRoka, indeks, idPredmeta, status, datPolaganja, poeni, ocena)
--VALUES (2015, 'okt2', 20140055, 2357, 'o', NULL, 74, 8);

-- Dodajemo A3, neuspesno polaganje (nemamo konkretan id).
--SELECT *
--FROM da.predmet
--WHERE naziv='Analiza 3';

--INSERT INTO da.upisanKurs (indeks, idPredmeta, skGodina, semestar)
--SELECT DISTINCT 20140055, idPredmeta, 2015, semestar
--FROM da.kurs k JOIN da.predmet p ON k.idPredmeta=p.id
--WHERE p.naziv='Analiza 3';
-- Upisali smo kurs, nismo znali idPredmeta, niti semestar;

--SELECT *
--FROM da.upisanKurs
--WHERE indeks=20140055;

--INSERT INTO da.ispit (skGodina, oznakaRoka, indeks, idPredmeta, status, poeni, ocena)
--SELECT 2015, 'okt2', 20140055, id, 'o', 32, 5
--FROM da.predmet
--WHERE naziv='Analiza 3';

--SELECT *
--FROM da.ispit
--WHERE indeks=20140055;

-- 3. Dodati studenta sa brojem indeksa 20140066 i imenom Milan koji je posvemu
--     osim po broju indeksa i imenu isti kao student sa brojem indeksa
--     20150174 (brat blizanac Luke Blagica).

--SELECT *
--FROM da.dosije
--WHERE indeks=20150174;

--INSERT INTO da.dosije
--SELECT 20140066, idPrograma, 'Milan', prezime, pol, mestoRodjenja, idStatusa, datUpisa, datDiplomiranja
--FROM da.dosije
--WHERE indeks=20150174;

--SELECT *
--FROM da.dosije
--WHERE indeks/10000=2014;

-- DELETE:
-- DELETE FROM naziv_tabele
-- [WHERE uslov]

-- 1. Obrisati studenta sa brojem indeksa 20140055.
--DELETE FROM da.dosije
--WHERE indeks=20140055;

--SELECT *
--FROM da.ispit
--WHERE indeks=20140055;

-- Potrebno je obezbediti konzistentnost baze!
--DELETE FROM da.dosije
--WHERE indeks=20140066;
-- Prolazi jer nemamo zavisne ntorke u drugim tabelama (konkretno ispit, upisan kurs).

-- 2. Obrisati sve ispite studenata polozene sa ocenom 6.
--DELETE FROM da.ispit
--WHERE ocena=6 AND status='o';

--SELECT COUNT(*)
--FROM da.ispit;

-- 3. Obrisati sva polaganja studenata.
--DELETE FROM da.ispit;

-- 4. Obrisati sva polaganja predmeta Analiza 3.
--DELETE FROM da.ispit
--WHERE idPredmeta IN (SELECT id
--				      FROM da.predmet
--				      WHERE naziv='Analiza 3');

--DELETE FROM da.ispit i
--WHERE EXISTS(SELECT *
--			 FROM da.predmet
--			 WHERE id=i.idPredmeta AND naziv='Analiza 3');

-- 5. Obrisati sve studente koji nisu polagali nijedan ispit.
--SELECT COUNT(*)
--FROM da.dosije;

--DELETE FROM da.dosije
--WHERE indeks NOT IN (SELECT indeks FROM da.ispit);

--SELECT *
--FROM da.priznatIspit;

-- UPDATE
-- UPDATE naziv_tabele
-- SET dodela
-- [WHERE restrikcija];

-- 1. Promeniti broj bodova predmetu Uvod u filozofiju 20.

--SELECT *
--FROM da.predmet
--WHERE naziv='Uvod u filozofiju';

--UPDATE da.predmet
--SET espb=20
--WHERE naziv='Uvod u filozofiju';

--SELECT *
--FROM da.predmet
--WHERE naziv='Uvod u filozofiju';

-- 2. Studentu Luki Blagicu promeniti:
--     mesto rodenja na nepoznato, a
--     godinu upisa na 1991.
--SELECT *
--FROM da.dosije
--WHERE ime='Luka' AND prezime='Blagic';

--UPDATE da.dosije
--SET mestoRodjenja=NULL,
--       datUpisa=datUpisa + (1991 - YEAR(datUpisa)) YEARS
--WHERE ime='Luka' AND prezime='Blagic';

--SELECT *
--FROM da.dosije
--WHERE ime='Luka' AND prezime='Blagic';

-- 3. Povecati broj bodova svim predmetima za +5, a onda vratiti na stare vrednosti.
--UPDATE da.predmet
--SET espb = espb + 5;

--SELECT id, espb, TRIM(naziv)
--FROM da.predmet;

--UPDATE da.predmet
--SET espb = espb - 5;

--SELECT id, espb, TRIM(naziv)
--FROM da.predmet;

-- Ako krenete sa dupliranjem:
--UPDATE da.predmet
--SET espb = 2*espb;

--SELECT id, espb, TRIM(naziv)
--FROM da.predmet
--ORDER BY 2;

-- 4. Promeniti sve padove iz predmetaProgramiranje 1 na polaganja sa ocenom 6.
--UPDATE da.ispit
--SET poeni = NULL AND ocena = 6 AND status = 'o'
--WHERE ocena = 5 AND status = 'o' AND idPredmeta IN (SELECT id
--											  FROM da.predmet
--											  WHERE naziv='Programiranje 1');

-- 5. Za sva polaganja ispita u roku Oktobar2 2015 promeniti
--     datum polaganja ispita na datum poslednjeg polaganog ispita, a
--     ocenu na 10;

--SELECT *
--FROM da.ispit i
--WHERE skGodina=2015 AND oznakaRoka='okt2';

--UPDATE da.ispit
--SET (datPolaganja, ocena) = (SELECT MAX(datPolaganja), 10 FROM da.ispit)
--WHERE skGodina=2015 AND oznakaRoka='okt2';

--SELECT *
--FROM da.ispit i
--WHERE skGodina=2015 AND oznakaRoka='okt2';

-- 6. Promeniti broj indeksa studenta sa brojem indeksa 20140055 u 20140056.
--UPDATE da.dosije
--SET indeks=20140056
--WHERE indeks=20140055;

--INSERT INTO da.dosije
--SELECT 20140056, idPrograma, ime, prezime, pol, mestoRodjenja, idStatusa, datUpisa, datDiplomiranja
--FROM da.dosije
--WHERE indeks=20140055;

--INSERT INTO da.upisanKurs
--SELECT 20140056, skGodina, semestar, idPredmeta
--FROM da.upisanKurs
--WHERE indeks=20140055;

--SELECT *
--FROM da.upisanKurs
--WHERE indeks/10000=2014;

--UPDATE da.ispit
--SET indeks=20140056
--WHERE indeks=20140055;

--DELETE FROM da.upisanKurs
--WHERE indeks=20140055;

--DELETE FROM da.dosije
--WHERE indeks=20140055;
