Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

Pismeni deo ispit iz Relacionih baza podataka, februar 2017. g.

(I smer, I grupa)

Broj indeksa Ime i prezime

Zadaci se rade 120 minuta. Maksimalan broj poena je 35. Broj poena se izračunava tako što se saberu
osvojeni poeni po zadacima i zbir podeli sa 4. Broj poena po zadacima je:

Zadatak 1 2 3 4 Zbir Ukupno


maks 30 40 45 25 140 Zbir/4

Osvojeno

1. Napisati na SQL-u upit koji za diplomirane studente osnovnih studija (može se koristiti podatak da je
stepen nivoa kvalifikacije za osnovne studije I ) izdvaja podatke o poslednjem položenom ispitu. Izdvojiti
indeks, ime, prezime studenta, naziv smera koji je student završio, ukupan broj dana koje je student
proveo studirajući (broj dana od dana upisa na fakultet do dana kada je dobio status diplomirao), naziv
predmeta koji je student poslednji položio, ocenu koju je dobio na poslednjem ispitu i datum kada je
položio poslednji ispit. Kao datum polaganja ispita uzeti datum usmenog dela ispita, a ako nije poznat
datum usmenog dela ispita uzeti datum pismenog dela ispita.
2. Napisati na SQL-u upit koji za svaki smer i školsku godinu u kojoj su studenti mogli da upišu bar 3 izborna
predmeta na tom smeru, izdvaja podatke o izbornim predmetima. Izdvojiti naziv smera, oznaku smera,
školsku godinu, naziv izbornog predmeta, broj studenta tog smera koji su u toj školskoj godini upisali taj
izborni predmet, broj studenta tog smera koji su u toj školskoj godini položili taj izborni predmet i broj
ispitnih rokova u kojima su prijavili ispit iz tog predmeta u toj školskoj godini. Rezultat urediti prema
nazivu smera, oznaci smera, školskoj godini i nazivu predmeta.
3. Za svaku navedenu stavku zadatka napisati po jednu SQL naredbu kojom se:

(a) pravi korisnički definisana funkcija visina stipendije koja kao argument dobija indeks studenta i
školsku godinu, a kao rezultat vraća visinu stipendije (tipa integer) za datog studenta u datoj školskoj
godini. Visina stipendije se odrežuje prema broju položenih ESPB bodova u zadatoj školskoj godini.
Student za svaki položeni ESPB bod dobija 3000 dinara.
(b) pravi tabela stipendija koja ima sledeće kolone:
i. indeks - indeks studenta;
ii. godina - školska godina;
iii. stipendija - iznos stipendije za studenta u školskoj godini.
Definisati i primarni ključ nad tabelom.
(c) postavlja strani ključ u tabeli stipendija na tabelu upis godine.
(d) unose podaci u tabelu stipendija za studente osnovnih studija smera Racunarstvo i informatika (može
se koristiti podatak da je identifikator smera 204 ) koji su položili ukupno 80 ESPB bodova ili više
(ne mora da važi da su bodove položeni u jednoj školskoj godini). Za svaku školsku godinu koju je
student upisao uneti indeks studenta, školsku godinu i iznos stipendije za tu školsku godinu.
(e) pravi okidač ispit stipendija koji za svaki novo uneti položeni ispit ažurira visinu školarine ukoliko za
studenta i školsku godinu za koje se unosi ispit postoje podaci u tabeli stipendija.
(f) uklanja okidač ispit stipendija.
(g) uklanja funkciju visina stipendije.
(h) uklanja tabelu stipendija.

4. Napisati rekurzivan SQL koji za svakog studenta izdvaja obavezne predmete koje nisu položili i nazive
predmeta koji su uslovljeni tim obaveznim predmetima. Izdvojiti indeks, ime i prezime studenta, naziv
smera na kome student studira, naziv nepoloženog obaveznog predmeta i naziv uslovnljenog predmeta.
Uputstvo: Napravite novi direktorijum na Desktopu i dodelite mu ime u formatu
rbpFeb2017 1 mibrojIndeksa ime prezime
npr. ako je vaš broj indeksa 125/2009, a ime Marko Marković, napravite direktorijum
rbpFeb2017 1 mi2009125 Marko Markovic. U tom direktorijumu ostavite rešenja zadataka. Rešenje svakog
zadatka ostavite u posebnoj datoteci. Datoteke sa rešenjima nazovite rednim brojem zadatka (npr. zadatak1,
zadatak2 ...). Za svaki zadatak ostavite tačno jedno rešenje, u suprotnom zadatak neće biti pregledan.
Baza podataka koju koristite na ispitu se zove VSTUD.

You might also like