You are on page 1of 5

Šeme relacija koje se koriste u primerima

Radnik({mbr,prz,ime,plt,god,sef,sodel,srm},{mbr})
Projekat({spr,nap,nar,ruk},{spr})
Radproj({spr,mbr,brc},{spr+mbr})
Odeljenje({sodel,nazod,lok},{sodel})
Radnomesto({srm,naz},{srm})
Platni razred ({splr,dgr,ggr},{splr})
Referencijalni integriteti među šemama Ograničenja:
Radnik[sef]Radnik[mbr] Null(radnik, prz)=F
Radnik[sodel]Odeljenje[sodel] Null(radnik, ime)=F
Null(radnik, god)=F
Radnik[srm]Radnomesto[srm]
Null(projekat, nap)=F
Projekat[ruk]Radnik[mbr] Null(projekat, nar)=F
Radproj[spr]Projekat[spr]
Radproj[mbr]Radnik[mbr]
Značenje datih mnemonika je sledeće:
Izražavanje upita i osnovna struktura
naredbe SELECT

SELECT [DISTINCT] <lista obeležja>


FROM <lista tabela>
[WHERE <uslov selekcije>]
[ORDER BY <podlista obeležja>
[ASC|DESC]];

1.a) Izlistati saržaj tabele RADNIK.


b) Izlistati saržaj tabele PROJEKAT.
c) Izlistati saržaj tabele RADPROJ.
2. Izlistati imena, prezimena, matične brojeve i plate radnika.
3. Izlistati sva različita imena radnika.
4. Izlistati imena i prezimena radnika koji se zovu Petar.
5. Izlistati imena, prezimena i plate radnika čija je plata veća od 10000.
6. Izlistati imena, prezimena i plate radnika koji imaju platu između 10000 i 20000.
7. Izlistati imena, prezimena i plate radnika koji imaju platu koja nije između 10000 i 20000.
8. Izlistati imena, prezimena i matične brojeve radnika koji se zovu Petar, Marko ili Ana.
9. Izlistati imena, prezimena i plate radnika koji imaju platu između 15000 i 20000 ili se zovu
Marko.
10. Izlistati radnike koji se prezivaju na slovo P.
11. a) Prikazati radnike koji imaju šefa.
b) Prikazati radnike koji nemaju šefa.
12. Izlistati imena, prezimena i plate radnika sortirane po opadajućem redosledu plata.
13. Izlistati imena, prezimena i plate radnika sortirane po rastućem redosledu imena i opadajućem
redosledu prezimena.
14. Izlistati imena, prezimena i plate rukovodilaca projekata.
15. Izlistati imena, prezimena i plate radnika uvećane za 17%.
16. Kolika je prosečna plata svih radnika?
17. Kolika je ukupna plata svih radnika?
18. Kolika je ukupna godišnja plata svih radnika?
19. Koliko ima radnika?
20. Izlistati ime, prezime i platu radnika sa najmanjom platom.
REŠENJA

1.
a)
SELECT * FROM radnik;
ili
SELECT mbr, prz, ime, plt, god, sef, sodel, srm FROM radnik;
b)
SELECT * FROM projekat p;
ili
SELECT spr, nap, nar, ruk FROM projekat p;
c)
SELECT * FROM radproj;
ili
SELECT spr, mbr, brc FROM radproj;

2.
SELECT ime, prz, mbr, plt FROM radnik;

3.
SELECT DISTINCT ime FROM radnik;

4.
SELECT ime, prz FROM radnik WHERE ime='Petar';

5.
SELECT ime, prz, plt FROM radnik WHERE plt>10000;

6.
SELECT ime, prz, plt
FROM radnik
WHERE plt BETWEEN 10000 AND 20000;
ili
SELECT ime, prz, plt
FROM radnik
WHERE plt>=10000 AND plt<=20000;

7.
SELECT ime, prz, plt
FROM radnik
WHERE plt NOT BETWEEN 10000 AND 20000;

8.
SELECT ime, prz, mbr
FROM radnik
WHERE ime IN ('Petar','Marko','Ana');
ili
SELECT ime, prz, mbr
FROM radnik
WHERE ime='Petar' OR ime='Marko' OR ime='Ana';

9.
SELECT ime, prz, plt
FROM radnik
WHERE plt>=15000 AND
plt<=20000 OR
ime='Marko';

10.
SELECT *
FROM radnik
WHERE prz LIKE 'P%';

11.
a)
SELECT *
FROM radnik
WHERE sef IS NOT NULL;
b)
SELECT *
FROM radnik
WHERE sef IS NULL;

12.
SELECT ime, prz, plt
FROM radnik
ORDER BY plt DESC;

13.
SELECT ime, prz, plt
FROM radnik
ORDER BY ime ASC, prz DESC;

14
SELECT ime, prz, plt
FROM radnik r, projekat p
WHERE r.mbr=p.ruk;

15.
SELECT ime, prz, plt*1.17 FROM radnik;

16.
SELECT AVG(plt) "Prosecna plata"
FROM radnik;

17.
SELECT SUM(plt) "Ukupna plata"
FROM radnik;

18.
SELECT SUM(plt)*12 "Ukupna godisnja plata"
FROM radnik;

19.
SELECT COUNT(*)"Broj radnika"
FROM radnik;

20.
SELECT ime, prz, plt
FROM radnik
WHERE plt=(SELECT MIN(plt) FROM radnik);

You might also like