Rešiti na SQL-u:
Primer 1: Za sve studente čije ime počinje na slovo P i rođeni su između februara i jula, izdvojiti podatke o položenim ispitima.
Izdvojiti indeks, ime i prezime studenta, naziv predmeta, dobijenu ocenu i kategoriju položenog predmeta. Položen predmet spada u kategoriju:
- obavezan, ako je obavezan predmet na smeru koji student studira
- izborni, ako nije obavezan predmet na smeru koji student studira.
Primer 2: Napisati naredbu na SQL-u koja:
- pravi tabelu predmet_student koja čuva podatke koliko studenata je položilo koji predmet. Tabela ima kolone:
id_predmeta (tipa integer) i student (tipa smallint).
- unosi u tabelu predmet_student podatke o obaveznim predmetima na smeru Informatika na osnovnim akademskim studijama
(može se uzeti da je id_smera 201). Za svaki predmet uneti podatak da ga je položilo 5 studenata.
- ažurira tabelu predmet_student, tako što predmetima o kojima postoji evidencija ažurira broj studenata koji su ga položili,
a za predmete o kojima ne postoji evidencija unosi podatke.
Primer 3: Napisati naredbu na SQL-u koja:
- pravi tabelu student_podaci sa kolonama: indeks (tipa integer), broj _predmeta (tipa smallint),
prosek (tipa float) i dat_rodjenja (tipa date).
- u tabelu student_podaci unosi indeks, broj položenih predmeta i prosek za studente koji imaju prosek iznad 8 i za studente
koji su diplomirali. Za studente koji su diplomirali kao broj predmeta uneti vrednost 10, a kao prosek vrednost 10.
- ažurira tabelu student_podaci tako što studentima o kojima u tabeli postoje podaci i koji su:
- diplomirali ažurira datum rođenja
- trenutno na budžetu ažurira broj položenih predmeta i prosek.
Naredba podatke o studentima koji su se ispisali briše iz tabele, a unosi podatke o studentima koji se nisu ispisali i o njima ne postoje
podaci u tabeli student_podaci. Za studente o kojima nema podataka uneti indeks, broj položenih predmeta i prosek.
Primer 4: Pronaći sve predmete koji moraju da se polože pre polaganja predmeta Razvoj softvera.
Primer 5: Pronaći sve predmete koji moraju da se polože pre polaganja predmeta koji su uslovni za Razvoj softvera.
Primer 6: Za sve studente osnovnih studija izdvojiti podatke o količini ispunjenih obaveza. Izdvojiti broj indeksa, oznaku smera,
ukupan broj bodova potrebnih za završetak studija, ukupan broj bodova iz položenih predmeta, procenat položenosti bodova,
ukupan broj bodova koje nose obavezni predmeti, ukupan broj bodova iz položenih obaveznih predmeta, procenat položenosti bodova
koje nose obavezni predmeti. Izveštaj urediti po procentu položenosti bodova.
Primer 7: Napisati na SQL-u upit koji izračunava statistiku o polaganju ispita u rokovima održanim od 2005. do 2009. godine po predmetima.
Izdvojiti naziv roka, naziv predmeta, broj studenata koji su prijavili ispit iz tog predmeta u tom roku, koliko studenata ga je položilo,
koji je procenat studenata koji ga je položio u odnosu na broj prijavljenih, koliko studenata je poništilo dobijenu ocenu,
koji je to procenat u odnosu na broj studenata koji su ga prijavili i prolaznost rangirati prema procentu položenosti (
uzimajući u obzir i studente koji su poništili ispit) kao:
- odlična - ako je prolaznost veća od 70%
- srednja - ako je prolaznost između 40% i 70%
- loša - ako je manja od 40%
Rezultat ureditii prema rangu.
Primer 8: Napisati naredbu SQL-a koja:
- pravi korisnički definisan tip prosek nad tipom float.
- pravi tabelu prosek koja od kolona ima indeks (tipa integer) i prosek (tipa prosek). Kolona indeks je primarni ključ i postaviti
strani ključ koji se sastoji od kolone indeks koji referiše na tabelu dosije, a akcija pri brisanju bazne tabele je CASCADE.
- definiše funkciju prosek koja za studenta čiji se broj indeksa prosleđuje računa trenutni prosek.
- unosi u tabelu prosek podatke o svim studentima.
- briše iz tabele prosek podatke o studentima koji nisu upisali nijednu školsku godinu.
- pravi okidač novi_ispit koji se aktivira nakon unošenja novog ispita. Ako je uneti ispit položen, za studenta koji je položio ispit okidač
ažurira trenutni prosek u tabeli prosek.
- za studenta sa indeksom 208/2007 unosi podatke o položenom ispitu sa identifikatorom 635. Student je predmet upisao u školskoj godini
2007/2008 u prvom semestru, ispit je prijavljen automatski za januarski ispitni rok 2007. godine, dana 2.2.2007. Ispit je održan 15.2.2007, i
student je dobio 85 bodova i ocenu 9.