1. Na osnovu prikazanog relacionog modela Instagram, kreirati pogled koji sadrzi sve korisnike (username) koi su postavili komentar u 2016 a zatim pozivajuci taj pogled ukupan broj korisnika koji su postavili komentar 2016. (15 poena) create view Komentari_2016 as select username from users inner join comments on users.id=comments.user_id where year(created_at)=2016; select count(username) from Komentari_2016; 2. Kreirati cluster indeks za kolonu user_id u tabeli comments. Objasniti koje su prednosti a koji nedostaci upotrebe indeksa. (10 poena) create clustered index index_comments_user_id on comments (user_id); Prednost indeksa je brze citanje podataka iz baze a nedostatak sporije upisivanje podataka u bazu. 3. U sledecem primeru objasniti razliku u rezultatu izmedju dva upita i objasniti koji upit ce se brze izvrsiti. (10 poena) select users.id, users.username from Users where year(users.created_at)=2020 order by users.id asc select distinct users.id, users.username from Users where year(users.created_at)=2020 Prvi primer ce vratiti korisnicko ime i id korisnika koji su napravili nalog u 2020. godini po uzlaznom redosledu na osnovu id korisnika. A drugi primer ce vraatiti ime i id korisnika koji su napravili nalog u 2020. godini bez duplikata. 4. Ukoliko naziv svake fortografije sadrzi broj, lokaciju i naziv u formatu 2 Srbija Priroda. Prikazati za svaku fotografiju samo naziv. Preporuka je da se koriste funkcije za rad sa tekstom u MySql(length, left, right, locate, ...). (15 poena) select SUBSTRING_INDEX(caption, ’ ’, -1) from photos; 5. Kreirati funkciju za bazu ig_clone koja ce na osnovu username korisnika da vrati broj lajkova koje je taj korisnik postavio. (25 poena) delimiter $$ create function broj_lajkova(v_username varchar(40)) returns integer deterministic begin declare v_broj_lajkova intger; select count(*) into v_broj_lajkova from users inner join likes on users.id=likes.user_id where username=v_username; return v_broj_lajkova; end $$ delimiter; 6. Kreirati proceduru koja ce na osnovu imena korisnika (username) da vrati broj njegovih slika i broj njegovih lajkova. (25 poena) delimiter $$ create procedure broj_slika_i_lajkova( in v_username varchar(40), out broj_lajkova int, out broj_slika int) begin --lajkovi select count(*) into broj_lajkova from users inner join likes on users.id=likes.user_id where username=v_username; --slike select count(*) into brooj_slika from users inner join photos on users.id=photos.user_id where username=v_username; end$$ delimiter; 7. Kreirati trigger koji ce za svaku novu postavljenu sliku da napise prvi komentar koji ce da sadrzi info o korisniku koji je postavio sliku (username) u polju comment_text delimiter $$ create trigger ‘dodavanjePrvogKomentara’ after insert on ‘photos’ for each row begin declare ime varchar(20); select username into ime from users where id=new.user_id; insert into comments(comment_text, created at, photo_id, user_id) values(ime, new.created_at, new.id, new.user_id); end$$ delimiter ;