You are on page 1of 2

Baze podataka - Test 2

Ime i prezime: ______________________________, Indeks: ______________

Rijeite zadatke i ispod svakog zadatka prepiite SQL naredbu (ili naredbe) kojima ste rijeili zadatak. 1. Zadatak: Kreirajte tabelu studenata sa nazivom STUD i poljima: INDEKS - numeriko polje, cio broj od 1 do 9999. Smatrajte da u tabeli ne mogu postojati dva studenta sa istim brojem indeksa. IME - ime i prezime studenta, moemo smatrati da nee biti due od 50 znakova SF - ifra fakulteta, dvocifren broj. U posebnoj tabeli JEDINICE dati su podaci o konkretnom fakultetu (ifra, naziv i skraenica). Ovo polje je spoljnji klju tabele. Potrebno je onemoguiti unose ifara koje ne postoje u tabeli JEDINICE. Ovo polje ne smije biti prazno. Smatrajte da je tabela JEDINICE kreirana i da je dostupna preko javnog sinonima.

2. Zadatak: Korisniku MILOS dajte pravo pregleda podataka u tabeli.

3. Zadatak: U tabelu upiite dva studenta sa brojem indeksa 77 i 88 na ETF-u (SF=13) i jednog sa brojem indeksa 99 na Ekonomiji (SF=11). Ime i prezime studenta odaberite sami.

4. Zadatak: Korisnik MILOS je kreirao tabelu PODACI i dao vam je pravo pregleda podataka. U tabeli se nalaze indeksi i imena studenata Mainskog fakulteta (SF=14). Potrebno je dodati ove podatke u vau tabelu STUD.

5. Zadatak: Odredite sve predmete na UCG na kojima nastavu (u bilo kom obliku) izvodi nastavnik ija je ifra 130299. Imate tabele NASTAVNICI, PREDMETI i OPT koje su dostupne preko javnih sinonima.

6. Zadatak: Nastavnik sa ifrom 130299 izvodi dio nastave na nekim predmetima UCG. Odredite imena i ifre svih nastavnika koji uestvuju u nastavi na tim predmetima. U rezultatu eliminiite ponavljanje redova.

Mogua rjeenja zadataka Rijeite zadatke i ispod svakog zadatka prepiite SQL naredbu (ili naredbe) kojima ste rijeili zadatak. 1. Zadatak: Kreirajte tabelu studenata sa nazivom STUD i poljima: INDEKS - numeriko polje, cio broj od 1 do 9999. Smatrajte da u tabeli ne mogu postojati dva studenta sa istim brojem indeksa. IME - ime i prezime studenta, moemo smatrati da nee biti due od 50 znakova SF - ifra fakulteta, dvocifren broj. U posebnoj tabeli JEDINICE dati su podaci o konkretnom fakultetu (ifra, naziv i skraenica). Ovo polje je spoljnji klju tabele. Potrebno je onemoguiti unose ifara koje ne postoje u tabeli JEDINICE. Ovo polje ne smije biti prazno. Smatrajte da je tabela JEDINICE kreirana i da je dostupna preko javnog sinonima. CREATE TABLE STUD ( INDEKS NUMBER(4) PRIMARY KEY, IME VARCHAR2(50), SF NUMBER(2), CONSTRAINT fk_stud FOREIGN KEY (SF) REFERENCING JEDINICE(JID) ); 2. Zadatak: Korisniku MILOS dajte pravo pregleda podataka u tabeli. GRANT SELECT ON STUD TO MILOS; 3. Zadatak: U tabelu upiite dva studenta sa brojem indeksa 77 i 88 na ETF-u (SF=13) i jednog sa brojem indeksa 99 na Ekonomiji (SF=11). Ime i prezime studenta odaberite sami. INSERT INTO STUD(INDEKS,IME,SF) VALUES (77,'Kosinus',13); INSERT INTO STUD(INDEKS,IME,SF) VALUES (88,'Sinus',13); INSERT INTO STUD(INDEKS,IME,SF) VALUES (99,'Tangens',11); 4. Zadatak: Korisnik MILOS je kreirao tabelu PODACI i dao vam je pravo pregleda podataka. U tabeli se nalaze indeksi i imena studenata Mainskog fakulteta (SF=14). Potrebno je dodati ove podatke u vau tabelu STUD. INSERT INTO STUD (SELECT INDEKS,IME,14 FROM MILOS.PODACI); 5. Zadatak: Odredite sve predmete na UCG na kojima nastavu (u bilo kom obliku) izvodi nastavnik ija je ifra 130299. Imate tabele NASTAVNICI, PREDMETI i OPT koje su dostupne preko javnih sinonima. SELECT p.naziv FROM predmeti p, nastavnici n, opt o WHERE n.nid=130299 AND p.pid=o.pid AND o.nid=n.nid; 6. Zadatak: Nastavnik sa ifrom 130299 izvodi dio nastave na nekim predmetima UCG. Odredite imena i ifre svih nastavnika koji uestvuju u nastavi na tim predmetima. U rezultatu eliminiite ponavljanje redova. SELECT DISTINCT NN.ime, NN.nid from nastavnici NN, predmeti PP, opt OO WHERE PP.pid=OO.pid and OO.nid=NN.NID AND PP.pid IN ( SELECT p.pid FROM predmeti p, nastavnici n, opt o WHERE n.nid=130299 AND p.pid=o.pid AND o.nid=n.nid );

You might also like