sql zadaci

Upload: lidija-popovic

Post on 14-Jul-2015

419 views

Category:

Documents


2 download

TRANSCRIPT

Slaven Sari

Baze podataka Rije eni primjeri

1. Tablice.................................................................................................................................... 3 Kreiranje tablica ....................................................................... Error! Bookmark not defined. Tablice s relacijskim vezama .................................................... Error! Bookmark not defined. 2. SQL ......................................................................................... Error! Bookmark not defined. Naredba SELECT..................................................................... Error! Bookmark not defined. Naredba WHERE ..................................................................... Error! Bookmark not defined. Naredba ORDER BY ................................................................ Error! Bookmark not defined. Funkcije.................................................................................... Error! Bookmark not defined. Naredbe GROUP BY i HAVING ............................................... Error! Bookmark not defined. Naredba JOIN .......................................................................... Error! Bookmark not defined. Naredbe INSERT, UPDATE i DELETE.................................... Error! Bookmark not defined. Naredbe CREATE TABLE, ALTER TABLE i DROP TABLE ..... Error! Bookmark not defined. 3. SQL programiranje ..................................................................... Error! Bookmark not defined. Transakcije (SQL Server) ......................................................... Error! Bookmark not defined. Pohranjene procedure [Stored procedures] (SQL Server) ........ Error! Bookmark not defined. Pokaziva i [Cursors] (SQL Server) ........................................... Error! Bookmark not defined. Tablice kori tene u primjerima:..................................................... Error! Bookmark not defined.

2

1. Tablice

3

Zadaci1. Kreirajte tablicu TecajneListe sa sljede im poljima: y ID y Naziv valute y ifra valute (to no tri znamenke) y Dr ava y Kupovni te aj y Srednji te aj y Prodajni te aj 2. Kreirajte tablicu Krediti sa sljede im poljima: y ID y Korisnik y Iznos y Datum kredita (ne smije biti subota ili nedjelja) y Kamatna stopa y Broj anuiteta y Je li kamatna stopa promijenjiva 3. Kreirajte tablicu Automobili sa sljede im poljima: y ID y Vrsta y Tip (mora sadr avati barem jednu znamenku) y Masa y Du ina y Godina proizvodnje y Datum prve registracije (ne smije biti datum iz budu nosti) y Ima li pogon 4x4 4. Kreirajte tablicu KemijskiElementi sa sljede im poljima: y Simbol y Naziv y Broj protona y Broj elektona y Atomski broj y Grupa (1 8) y Stanje (plinovito, kruto ili teku e) 5. Kreirajte tablicu ProgramskiJezici sa sljede im poljima: y ID y Naziv (samo slova) y Je li objektno orijentiran y Omogu uje li funkcionalno programiranje y Broj naredbi y Godina nastanka y Zadnja verzija (samo znamenke i decimalna to ka)

4

6. Kreirajte tablicu OperativniSustavi sa sljede im poljima: y ID y Naziv y Omogu uje li vi ezada nost y Proizvo a y Pripada li Windows generaciji y Godina nastanka y Zastupljenost u postocima (izme u 0 i 100) y Cijena 7. Kreirajte tablicu Planeti sa sljede im poljima: y ID y Naziv (ne smije po injati s X) y Brzina oko osi y Brzina oko Sunca (mora biti ve a od brzine oko osi) y Udaljenost od Sunca y Promjer y Ima li atmosferu y Ima li ivota 8. Kreirajte tablicu Knjige sa sljede im poljima: y ISBN (to no 13 znamenaka) y Naslov y Autor y Broj stranica y Cijena 9. Kreirajte tablice Racuni (jedan slog je jedna stavka na ra unu) i Artikli sa sljede im poljima, te uspostavite prikladnu relaciju me u tablicama uzev i u obzir da u jednoj stavki na ra unu mo e biti samo jedan artikal, te da jedan artikal mo e biti na vi e stavki ra una: Racuni y y y y y Artikli y y y y

ID Broj ra una Datum Koli ina Cijena (Cijena artikla se evidentira u ra unu jer u slu aju ako se cijena artikla promijeni, u ra unu mora ostati cijena po kojoj je artikal prodan)

ID Naziv Cijena PDV

10. Kreirajte tablice VozniPark i Vozaci sa sljede im poljima, te uspostavite prikladnu relaciju me u tablicama uzev i u obzir da jedno vozilo vozi samo jedan voza , te da jedan voza mo e voziti vi e vozila:

5

VozniPark y ID y Naziv automobila y Godina nabave vozila y Godina proizvodnje y Snaga Vozaci y y y y

ID Ime Prezime Adresa

11. Kreirajte tablice Krediti, Korisnici i Tvrtke sa sljede im poljima, te uspostavite prikladnu relaciju me u tablicama uzev i u obzir da se jedan kredit odnosi na samo jednog korisnika (du nika), te da jedan korisnik mo e imati vi e kredita: Krediti y y y y y

ID Iznos Kamatna stopa Broj anuiteta Je li kamatna stopa promijenjiva

Korisnici y ID y Ime y Prezime y JMBG y Adresa Tvrtke y y y y Mati ni broj Naziv Adresa E-mail adresa

12. Kreirajte tablice BankarskeTransakcije, Klijenti i Valute sa sljede im poljima, te uspostavite prikladnu relaciju me u tablicama uzev i u obzir da se jedna transakcija mo e provesti samo za jednog klijenta, te da jedan klijent mo e napraviti vi e transakcija: BankarskeTransakcije y Broj transakcije y Datum y Iznos Klijenti y ID y Ime y Prezime

6

y y

Adresa Je li pravna osoba

Valute y ID y ifra valute y Oznaka valute y Dr ava 13. Kreirajte tablice ZrakoplovneKarte, ZracneLuke i Zrakoplovi sa sljede im poljima, te uspostavite prikladnu relaciju me u tablicama uzev i u obzir da se na jednoj zrakoplovnoj karti nalaze to no dvije zra ne luke (polazi na i odredi na), te da se jedna zra na luka mo e nalaziti na vi e zrakoplovnih karata: ZrakoplovneKarte y ID y Datum i vrijeme polaska y Trajanje leta y Broj sjedala y Cijena ZracneLuke y ID y Naziv y Mjesto Zrakoplov y ID y Proizvoda y Model y Duzina y Broj putnika 14. Kreirajte tablice Autori i Knjige sa sljede im poljima, te uspostavite prikladnu relaciju me u tablicama uzev i u obzir da jednu knjigu mo e napisati vi e autora, te da jedan autor mo e napisati vi e knjiga: Autori y y y y Knjige y y y y y

ID Ime Prezime Datum ro enja

ISBN Naziv Format Broj stranica Cijena

15. Kreirajte tablice Arhitekti i Zgrade sa sljede im poljima, te uspostavite prikladnu relaciju me u

7

tablicama uzev i u obzir da jednu zgradu mo e projektirati vi e arhitekata, te da jedan arhitekt mo e projektirati vi e zgrada: Arhitekti y ID y Ime y Prezime y Godine sta a Zgrade y y y y y

ID Naziv Adresa Broj katova Godina dovr enja

16. Kreirajte tablice Drzave i Jezici sa sljede im poljima, te uspostavite prikladnu relaciju me u tablicama uzev i u obzir da se jedan jezik mo e govoriti u vi e dr ava, te da se u jednoj dr avi mo e govoriti vi e jezika: Drzave y y y y y Jezici y y y y y

ID Naziv Broj stanovnika Je li lanica Commonwealtha Je li dr ava u Europi

ID Naziv Broj govornika Govori li se u Europi Postotna zastupljenost u svijetu

17. Kreirajte tablice Ogrlice i Materijali sa sljede im poljima, te uspostavite prikladnu relaciju me u tablicama uzev i u obzir da se jedna ogrlica mo e sastojati od vi e materijala, te da se u jedan materijal mo e nalaziti u vi e ogrlica. Potrebno je evidentirati koliko se pojedinog materijala nalazi u pojedinoj ogrlici. Ogrlice y y y y y

ID Naziv Cijena Godina proizvodnje Te ina

Materijali y ID y Naziv y Boja y Kemijska formula

8

y

Je li metal

18. Kreirajte tablice Elementi i Spojevi sa sljede im poljima, te uspostavite prikladnu relaciju me u tablicama uzev i u obzir da se jedan kemijski element mo e nalaziti u vi e kemijskih spojeva, te da se u jednom kemijskom spoju mo e nalaziti vi e elemenata: Elementi y Simbol y Naziv y Atomski broj y Broj neutrona Spojevi y y y y y

Formula Naziv Agregatno stanje Boja Je li otrovan

19. Kreirajte tablice Automobili i Osiguranja sa sljede im poljima, te uspostavite prikladnu relaciju me u tablicama uzev i u obzir da jedan automobil mo e imati samo jednu policu osiguranja, te da jednu policu osiguranja mo e imati samo jedan automobil: TehnickiPregledi y Broj asije y Proizvo a y Tip y Snaga y Zapremina y Ima li katalizator y Vlasnik Osiguranja y Broj asije y Datum osiguranja y Popust y Cijena 20. Kreirajte tablice ElektricnaMjerila i RacuniElektricneEnergije sa sljede im poljima, te uspostavite prikladnu relaciju me u tablicama uzev i u obzir da je jedno mjerilo vezano za samo jedan ra un, te da je jedan ra un vezan za samo jedno mjerilo: ElektricnaMjerila y Broj mjerila y Tip mjerila y Instalirana snaga y Je li mjerilo dvotarifno y Ima li potro a trofaznu struju y Potro a

9

RacuniElektricneEnergije y Broj mjerila y Datum ra una y Iznos y Iznos pau ala 21. Kreirajte tablice MobitelKartice i MobitelRacuni sa sljede im poljima, te uspostavite prikladnu relaciju me u tablicama uzev i u obzir da je jedna kartica vezana za samo jedan ra un, te da je jedan ra un vezan za samo jednu karticu: MobitelKartice y Broj kartice y Tip kartice y Koli ina memorije y Pretplatnik y Adresa pretplatnika MobitelRacuni y Broj kartice y Datum ra una y Iznos glasovne usluge y Iznos SMS poruka y Iznos potro enog Internet prometa

10

II. poglavlje SQL

11

ZadaciNapomena: Svi zadaci u II. i III. poglavlju odnose se na dva para tablica povezanih relacijskim vezama koje su prikazane na kraju skripte: Brodovi Drzave i Narudzbe Kupci. 1. Napi ite SQL naredbu koja e izdvojiti sve brodove iz tablice Brodovi. Prika ite sva polja o pojedinom brodu. Napomena: ako u zadacima u nastavku nije nagla eno koja polja treba izdvojiti, potrebno je izdvojiti sva polja iz tablice. 2. Napi ite SQL naredbu koja e izdvojiti sve brodove iz tablice Brodovi. Prika ite sljede a polja: Naziv broda i Je li na dnu mora. 3. Napi ite SQL naredbu koja e izdvojiti sve brodove iz tablice Brodovi. Prika ite samo polje Naziv broda. 4. Napi ite SQL naredbu koja e izdvojiti sve brodove iz tablice Brodovi. Prika ite sva polja osim ID. 5. Napi ite SQL naredbu koja e izdvojiti sve dr ave iz tablice Drzave. Prika ite samo polje Naziv drzave. 6. Napi ite SQL naredbu koja e iz tablice Brodovi izdvojiti sve vrijednosti polja DrzavaID ne ponavljaju i ga pritom. 7. Napi ite SQL naredbu koja e iz tablice Narudzbe izdvojiti sve mjesece u kojima je roba isporu ivana ne ponavljaju i ih pritom. 8. Napi ite SQL naredbu koja e iz tablice Kupci izdvojiti sva razli ita imena kupaca. 9. Napi ite SQL naredbu koja e iz tablice Kupci izdvojiti sva razli ita imena i prezimena kupaca. 10. Napi ite SQL naredbu koja e iz tablice Kupci izdvojiti sva slova s kojim zapo inje prezime nekog kupca. 11. Napi ite SQL naredbu koja e iz tablice Brodovi izdvojiti sve du ine brodova manje od 100 m ne ponavljaju i ih pritom. 12. Napi ite SQL naredbu koja e izdvojiti sve brodove du ine ve e od 100 m. 13. Napi ite SQL naredbu koja e izdvojiti sve brodove koji se nalaze na dnu mora. 14. Napi ite SQL naredbu koja e izdvojiti sve brodove iz Engleske. Prika ite sljede a polja: Naziv broda, Duzina i Datum porinuca. 15. Napi ite SQL naredbu koja e izdvojiti sve brodove iz Engleske koji se ne nalaze na dnu mora. 16. Napi ite SQL naredbu koja e izdvojiti sve brodove iji naziv po inje s slovom 'B', te su kra i od 100m. 17. Napi ite SQL naredbu koja e izdvojiti sve brodove iji naziv sadr i niz MAR . Prika ite samo polja: Naziv broda i Je li na dnu mora.

12

18. Napi ite SQL naredbu koja e izdvojiti sve brodove koji su porinuti u 18. stolje u. Prika ite samo polja: Naziv broda i Datum porinuca. 19. Napi ite SQL naredbu koja e izdvojiti sve brodove koji nisu iz Engleske. 20. Napi ite SQL naredbu koja e izdvojiti sve brodove koji nisu iz Engleske i koji se nalaze na dnu mora. 21. Napi ite SQL naredbu koja e izdvojiti sve brodove ija je du ina ve a od 200 m, te koji nisu iz panjolske niti iz Nizozemske. 22. Napi ite SQL naredbu koja e izdvojiti sve brodove iji je datum porinu a bio prije 1.6.1850., a jo se nalaze na povr ini mora. Prika ite sljede a polja: Naziv broda, Datum porinu a i Je li na dnu mora. 23. Napi ite SQL naredbu koja e iz tablice Dr ave izdvojiti sve dr ave koje ne zavr avaju sa znakom A . 24. Napi ite SQL naredbu koja e iz tablice Dr ave izdvojiti sve dr ave iji se naziv sastoji od to no 10 znakova. 25. Napi ite SQL naredbu koja e izdvojiti sve narud be u 3. mjesecu 2008. 26. Napi ite SQL naredbu koja e izdvojiti sve narud be od Elisabeth Brown. Prika ite samo polja: Datum narud be i Iznos bez PDV. 27. Napi ite SQL naredbu koja e izdvojiti sve narud be isporu ene 21.04.2008. 28. Napi ite SQL naredbu koja e izdvojiti sve narud be koje nisu isporu ene u mjesecu narud be. 29. Napi ite SQL naredbu koja e izdvojiti sve narud be u rasponu od 800 do 1000 kn. 30. Napi ite SQL naredbu koja e izdvojiti sve nepla ene narud be ve e od 800 kn. Prika ite sva polja osim ID i Datum isporuke. 31. Napi ite SQL naredbu koja e kreirati pogled (view) Placeni nad tablicom Narudzbe s poljima Iznos, Datum narud be i KupacID. Nakon toga iz pogleda izdvojite sve ra une koji su stariji od 50 dana. 32. Napi ite SQL naredbu koja e kreirati pogled (view) Potopljeni nad tablicom Brodovi s poljima Naziv i DrzavaID. Nakon toga iz pogleda izdvojite sve brodove iz Engleske. 33. Napi ite SQL naredbu koja e izdvojiti sve nepotopljene brodove koji su du i od svakog potopljenog broda. Prika ite samo polja: Naziv broda i Du ina. 34. Napi ite SQL naredbu koja e izdvojiti sve ra une kupaca Horst Kloss i Pascale Cartrain iji su iznosi ve i od svakog nepla enog ra una. 35. Napi ite SQL naredbu koja e izdvojiti sve pla ene ra une koji su barem 10 % ve i od svakog nepla enog ra una. Ispi ite polja Iznos i Datum narud be. 36. Napi ite SQL naredbu koja e izdvojiti sve potopljene brodove koji su kra i od barem jednog nepotopljenog broda. 37. Napi ite SQL naredbu koja e izdvojiti sve ra une kupaca Elizabeth Lincoln i Elizabeth Brown koji su stariji od barem jednog pla enog ra una kupca Hanna Moos.

13

38. Napi ite SQL naredbu koja e izdvojiti sve brodove koji imaju du inu 23 m sortirane po datumu porinu a. Napomena: ako u zadacima nije druk ije navedeno, podrazumijeva se uzlazno sortiranje. 39. Napi ite SQL naredbu koja e izdvojiti sve brodove iz Engleske, Rusije ili Novog Zelanda sortirane po nazivu broda. Prika ite sljede a polja: ID, Naziv broda i DrzavaID. 40. Napi ite SQL naredbu koja e izdvojiti sve brodove koji nisu iz Australije sortirane po du ini, pa po nazivu u silaznom redoslijedu. 41. Napi ite SQL naredbu koja e izdvojiti sve brodove na na in da se najprije prika u brodovi koji nisu na dnu mora, a zatim brodovi koji su na dnu mora. Prika ite sljede a polja: Naziv broda i Je li na dnu mora. 42. Napi ite SQL naredbu koja e sortirati po du ini sve brodove koji su na dnu mora i nisu iz Njema ke. 43. Napi ite SQL naredbu koja e izdvojiti sve pla ene ra une sortirane po iznosu. 44. Napi ite SQL naredbu koja e izdvojiti sve nepla ene ra une sortirane po datumu narud be. 45. Napi ite SQL naredbu koja e izdvojiti sve ra une od Pascale Cartrain sortirane po datumu isporuke. Prika ite sljede a polja: Datum narud be, Iznos i Je li pla en. 46. Napi ite SQL naredbu koja e izdvojiti sve ra une od kupaca Maria Anders, Elizabeth Lincoln i Horst Kloss iz mjeseca sije nja velja e i travnja. Ra une sortirajte po polju KupacID, zatim po iznosu silazno, te po datumu narud be. 47. Napi ite SQL naredbu koja e izdvojiti sve ra une od kupca Antonio Moreno, te e ih sortirati po broju proteklih dana izme u isporuke i narud be. Prika ite samo polja Iznos i Razlika dana 48. Napi ite SQL naredbu koja e izdvojiti prva tri pla ena ra una po veli ini. 49. Napi ite SQL naredbu koja e izdvojiti najmanjih 5 nepla enih ra una po veli ini, ali tako da budu poredani od ve eg prema manjem. 50. Napi ite SQL naredbu koja e ispisati naziv i du inu broda koji je deseti po du ini. 51. Napi ite SQL naredbu koja e izdvojiti prva tri i zadnja tri broda po du ini. Prika ite samo polja Naziv broda i du ina. 52. Napi ite SQL naredbu koja e izdvojiti najve i nepla eni i najmanji pla eni ra un. 53. Napi ite SQL naredbu koja e izdvojiti sve brodove iz Engleske te one koji su na dnu mora. Ako pojedini brod zadovoljava oba uvjeta treba ga prikazati samo jednom. 54. Napi ite SQL naredbu koja e izdvojiti sve brodove iz Engleske, te one koji su na dnu mora. Ako pojedini brod zadovoljava oba uvjeta treba ga prikazati dvaput. Brodove sortirajte po nazivu. 55. Napi ite SQL naredbu koja e od 10 najve ih ra una izdvojiti samo pla ene. Izdvojene ra une sortirajte po datumu narud be. 56. Napi ite SQL naredbu koja e 5 najstarijih ra una sortirati po veli ini od ve eg prema manjem.

14

57. Napi ite SQL naredbu koja e od 5 najve ih ra una najprije prikazati pla ene, pa nakon toga nepla ene. Prika ite polja Iznos, Datum narud be i Je li pla en. 58. Napi ite SQL naredbu koja e izra unati koliko je brodova iz Engleske. 59. Napi ite SQL naredbu koja e izra unati koliko je ukupno brodova kra e od 100 m. 60. Napi ite SQL naredbu koja e izra unati koliko je Antonio Moreno izvr io narud bi. 61. Napi ite SQL naredbu koja e izra unati koliko su ukupno narud bi naru ili Elisabeth Lincoln i Elisabeth Brown. 62. Napi ite SQL naredbu koja e izra unati koliko je narud bi naru eno u 5. mjesecu 2008. 63. Napi ite SQL naredbu koja e izra unati koliko se u tablici nalazi razli itih imena kupaca. 64. Napi ite SQL naredbu koja e izra unati kolika je ukupna du ina svih brodova na dnu mora. 65. Napi ite SQL naredbu koja e izra unati koliki je ukupni iznos svih nenapla enih ra una. 66. Napi ite SQL naredbu koja e izra unati koliki je ukupni iznos napla enog PDV-a. 67. Napi ite SQL naredbu koja e izra unati koliko je ukupno dugovanje kupca Horst Kloss. 68. Napi ite SQL naredbu koja e izra unati prosje nu du inu brodova iz Engleske iji je datum porinu a bio prije 1.1.1900. 69. Napi ite SQL naredbu koja e izra unati prosje an iznos nenapla enog ra una. 70. Napi ite SQL naredbu koja e izra unati prosje an iznos napla enog ra una od kupca James Ashworth. 71. Napi ite SQL naredbu koja e izra unati najdu i brod od onih koji se nalaze na dnu mora. 72. Napi ite SQL naredbu koja e izra unati iznos najve eg nenapla enog ra una. 73. Napi ite SQL naredbu koja e izra unati iznos najmanjeg pla enog ra una. 74. Napi ite SQL naredbu koja e izra unati iznos najve eg pla enog ra una u mjesecu o ujku. 75. Napi ite SQL naredbu koja e izra unati iznos najve eg pla enog ra una u mjesecima o ujku ili travnju. 76. Napi ite SQL naredbu koja e izra unati koliko se ukupno znakova nalazi u svim imenima i prezimenima kupaca. 77. Napi ite SQL naredbu koja e izra unati od koliko se znakova sastoji najdu e ime broda. 78. Napi ite SQL naredbu koja e izdvojiti sve brodove kra e od 50 m ako u tablici ima ijedan brod du ine 23 m. Ispi ite sljede a polja: Naziv broda i Du ina.

15

79. Napi ite SQL naredbu koja e izdvojiti sve ra une od kupca Hanna Moos ako taj kupac ima barem jedan nepla eni ra un. Ra une sortirajte po iznosu. Ispi ite sljede a polja: KupacID, Iznos i Datum narud be. 80. Napi ite SQL naredbu koja e izra unati ukupnu kamatu za sve nepla ene ra une uz kamatnu stopu od 7.5 %. Za godinu pretpostavite da nije prijestupna. 81. Napi ite SQL naredbu koja e izra unati prosje nu du inu svih brodova i prosje nu du inu najdu eg i najkra eg broda. 82. Napi ite SQL naredbu koja e izra unati koliko je ukupno dana proteklo od porinu a najstarijeg i najnovijeg broda. 83. Napi ite SQL naredbu koja e izra unati kolika je u danima prosje na starost potopljenih brodova. 84. Napi ite SQL naredbu koja e izra unati ukupni iznos tri najve a pla ena ra una. 85. Napi ite SQL naredbu koja e izra unati prosje ni iznos tri najstarija nepla ena ra una. 86. Napi ite SQL naredbu koja e izra unati ukupnu du inu brodova grupirano po dr avama. 87. Napi ite SQL naredbu koja e izra unati prosje nu du inu brodova grupirano po dr avama. 88. Napi ite SQL naredbu koja e izra unati ukupan broj brodova na dnu mora grupirano po dr avama. 89. Napi ite SQL naredbu koja e izdvojiti brodove grupirane po stolje u u kojem su brodovi porinuti. 90. Napi ite SQL naredbu koja e izra unati ukupan broj brodova grupirano po dr avama, te po tome jesu li na dnu mora. 91. Napi ite SQL naredbu koja e izra unati broj narud bi pojedinog kupca. 92. Napi ite SQL naredbu koja e izdvojiti najve u narud bu za pojedinog kupca. 93. Napi ite SQL naredbu koja e izra unati ukupnu napla enu narud bu grupirano po kupcima. 94. Napi ite SQL naredbu koja e izra unati ukupnu narud bu grupirano po kupcima, pa po tome je li ra un pla en. 95. Napi ite SQL naredbu koja e izra unati razliku izme u najve eg i najmanjeg ra una grupirano po kupcima. Slogove sortirajte po veli ini izra unate razlike. 96. Napi ite SQL naredbu koja e izra unati ukupnu narud bu za pojedini mjesec. 97. Napi ite SQL naredbu koja e izra unati broj isporu enih narud bi po mjesecima. 98. Napi ite SQL naredbu koja e izra unati ukupnu narud bu za pojedinog kupca, ali samo za kupce iji je ukupni naru eni iznos ve i od 2500. 99. Napi ite SQL naredbu koja e izra unati ukupnu narud bu za pojedinog kupca, ali samo za kupce iji je prosje ni naru eni iznos ve i od 500.

16

100. Napi ite SQL naredbu koja e izra unati prosje ni iznos narud be za pojedinog kupca, ali samo za kupce koji imaju vi e od 3 narud be. 101. Napi ite SQL naredbu koja e izdvojiti sve kupce iji je maksimalni ra un ve i od prosjeka 10 najve ih ra una. Kupce sortirajte po iznosu maksimalnog ra una silazno. 102. Napi ite SQL naredbu koja e izdvojiti sve kupce iji je prosje ni iznos ra una ve i od prosjeka 10 najve ih pla enih ra una. 103. Napi ite SQL naredbu koja e izdvojiti sve kupce iji je minimalni iznos nepla enog ra una manji od od prosjeka 3 najmanja nepla ena ra una. 104. Napi ite SQL naredbu koja e izdvojiti sve brodove dr ave koja ima najvi e brodova. 105. Napi ite SQL naredbu koja e izdvojiti sve nepla ene ra une kupca koji ima najvi e dugovanja. 106. Napi ite SQL naredbu koja e izdvojiti sve ra une kupca koji ima najvi e nepla enih ra una. 107. Napi ite SQL naredbu koja e izdvojiti sve nepla ene ra une kupca koji ima najvi e dugovanja u mjesecu travnju 2008. 108. Napi ite SQL naredbu koja e izra unati koja dva kupca imaju najve u ukupnu kamatu za nepla ene ra une. Kamate ra unajte po kamatnoj stopi 6.55 %. Za godinu pretpostavite da nije prijestupna. 109. Napi ite SQL naredbu koja e izdvojiti sve brodove iji je datum porinu a bio mjesec rujan, te nisu iz Engleske, Australije i Novog Zelanda. Prika ite sljede e podatke: Naziv broda, Datum porinu a, Je li na dnu mora i Naziv dr ave. 110. Napi ite SQL naredbu koja e ispisati nazive dr ava iji brodovi nisu na dnu mora ne ponavljaju i ih pritom. 111. Napi ite SQL naredbu koja e ispisati naziv dr ave kojoj pripada najdu i brod. Ispi ite i du inu broda te naziv broda. 112. Napi ite SQL naredbu koja e ispisati nazive prvih dviju dr ava po broju brodova. 113. Napi ite SQL naredbu koja e izdvojiti sve nepla ene ra une ve e od 500 kn. Prika ite sljede e podatke: Ime i prezime kupca, Datum narud be i Iznos. Ra une sortirajte po iznosu silazno. 114. Napi ite SQL naredbu koja e izdvojiti sve kupce nepla enih ra una starijih od 180 dana. Ra une sortirajte po iznosu silazno, pa po datumu narud be. 115. Napi ite SQL naredbu koja e izdvojiti imena i prezimena svih du nika ne ponavljaju i pritom du nike. 116. Napi ite SQL naredbu koja e ispisati sve podatke o tri du nika koji imaju najvi e ukupnog duga. Ispi ite i njihov ukupni dug. 117. Napi ite SQL naredbu koja e ispisati ime i prezime du nika koji ima najve i broj nepla enih ra una. Ispi ite i broj njegovih nepla enih ra una. 118. Napi ite SQL naredbu koja e ispisati nazive dr ava iji brodovi imaju ukupnu du inu ve u od 100 m. Ispi ite i sortirane iznose ukupnih du ina.

17

119. Napi ite SQL naredbu koja e izdvojiti brodove koji imaju du inu ve u od prosje ne. Prika ite sljede e podatke: Naziv broda, Du ina, Naziv dr ave. 120. Napi ite SQL naredbu koja e ispisati imena i prezimena svih du nika koji imaju ukupan dug ve i od 1500. Ispi ite i iznose njihovih nepla enih ra una sortirane silazno. 121. Napi ite SQL naredbu koja e ispisati ime i prezime kupca koji ima najmanje ukupno dugovanje, ali uzmite u obzir samo kupce koji imaju vi e od jednog nepla enog ra una. 122. Napi ite SQL naredbu koja e izra unati u kojem mjesecu je ukupno najve e dugovanje, ali uzmite u obzir samo mjesece s barem 4 nepla ena ra una. 123. Napi ite SQL naredbu koja e izdvojiti sve ra une iji je iznos barem 50 % ve i od prosje nog iznosa ra una. Prika ite sljede e podatke: Ime i prezime kupca, Datum narud be i Iznos. 124. Napi ite SQL naredbu koja e ispisati imena i prezimena kupaca iji je prosje ni iznos ra una ve i od ukupnog prosje nog iznosa. Ispi ite i prosje ne iznose njihovih ra una. 125. Napi ite SQL naredbu koja e ispisati imena i prezimena kupaca iji je prosje ni iznos pla enog ra una ve i od ukupnog prosje nog iznosa pla enih ra una. Ispi ite i prosje ne iznose njihovih pla enih ra una. 126. Napi ite SQL naredbu koja e ispisati imena i prezimena kupaca iji je maksimalni iznos ra una manji od ukupnog iznosa pla enih ra una. 127. Napi ite SQL naredbu koja e ispisati nazive dr ava ija je prosje na du ina brodova ve a od prosje ne du ine engleskih brodova. Ispi ite i prosje nu du inu brodova. 128. Napi ite SQL naredbu koja e ispisati nazive dr ava koje imaju ukupno vi e brodova nego to je engleskih na dnu mora (Engleska se ne smije ispisati). 129. Napi ite SQL naredbu koja e ispisati sve nazive brodova koji su na dnu mora, te e ispisati i nazive dr ava i kontinenata kojima brodovi pripadaju. 130. Napi ite SQL naredbu koja e izra unati ukupnu du inu brodova grupirano po kontinentima. 131. Napi ite SQL naredbu koja e izra unati prosje nu du inu brodova grupirano po kontinentima, uzimaju i u obzir samo kontinente koji imaju manje od 4 broda. 132. Napi ite SQL naredbu koja e izra unati ukupnu du inu brodova grupirano po kontinentima, uzimaju i u obzir samo kontinente koji imaju vi e brodova nego to ih ima Engleska. 133. Napi ite SQL naredbu koja e izra unati koji kontinent ne ra unaju i Europu ima najvi e brodova. 134. Napi ite SQL naredbu koja e izdvojiti sve kontinente koji u tablici Drzave nemaju niti jednu dr avu. 135. Napi ite SQL naredbu koja e izdvojiti sve dr ave koje u tablici Brodovi nemaju niti jedan brod. 136. Napi ite SQL naredbu koja e izdvojiti sve kontinente koji imaju barem jedan brod. 137. Napi ite SQL naredbu koja e izdvojiti sve kontinente koji nemaju niti jedan brod.

18

138. Napi ite SQL naredbu koja e dodati sljede i brod u tablicu: y Naziv: Great Vessel y Du ina: 450 m y Datum porinu a: 12.4.2008. y Na dnu mora: Ne y Dr avaID: 5 139. Napi ite SQL naredbu koja e dodati sljede eg kupca u tablicu: y Ime: John y Prezime: Smith y Adresa: Washington way 45, NewYork 140. Napi ite SQL naredbu koja e za 1 m pove ati du inu svih brodova koji su kra i od 100 m i nisu na dnu mora. 141. Napi ite SQL naredbu koja e svim brodovima koji su na dnu mora promijeniti vrijednost polja NaDnuMora. 142. Napi ite SQL naredbu koja e sve nepla ene ra une od kupca Hanna Moos pretvoriti u pla ene. 143. Napi ite SQL naredbu koja e sve nepla ene ra une prije 1.3.2008 manje od 100 kn pretvoriti u pla ene. 144. Napi ite SQL naredbu koja e iznose svih nepla enih ra una uve ati za 10 %, te e im Datum narud be postaviti na 31.12.2008. 145. Napi ite SQL naredbu koja e svim ra unima osim onim od kupaca Maria Anders i Horst Kloss postaviti datum isporuke jednak datumu narud be. 146. Napi ite SQL naredbu koja e svim ra unima ija roba nije isporu ena unutar etiri dana smanjiti vrijednost za 3 %. 147. Napi ite SQL naredbu koja e kupcu Elizabeth Brown promijeniti prezime u White. 148. Napi ite SQL naredbu koja e sve nepla ene ra une uve ati za iznos kamate uz kamatnu stopu od 11 %. Za godinu pretpostavite da nije prijestupna. 149. Napi ite SQL naredbu koja e izbrisati sve brodove koji se nalaze na dnu mora. 150. Napi ite SQL naredbu koja e izbrisati sve nepla ene ra une starije od 100 dana. 151. Napi ite SQL naredbe koje e izbrisati kupca Elizabeth Lincoln. 152. Napi ite SQL naredbe koje e izbrisati dr ave USA i Engleska. 153. Napi ite SQL naredbu koja e kreirati tablicu Brodovi2 sa sljede im poljima: y ID - Primary Key y Naziv broda - Text(50) y Du ina broda - Number y Datum porinu a Datum y Je li na dnu mora Boolean y ID dr ave - Number

19

154. Napi ite SQL naredbu koja e kreirati tablicu Narudzbe2 sa sljede im poljima: y ID - Primary Key y Iznos - Number y Datum narud be - Datum y Datum isporuke Datum y Je li ra un pla en Boolean y ID kupca - Number 155. Napi ite SQL naredbu koja e u tablicu Brodovi2 dodati sljede e slogove: y ID: 1 y Naziv: Indian kanu y Du ina: 4 y Datum porinu a: 14.10.1856. y Na dnu mora: False y DrzavaID: 4 y y y y y y ID: Naziv: Du ina: Datum porinu a: Na dnu mora: DrzavaID: 2 Indian kayak 3 15.10.1856. False 4

156. Napi ite SQL naredbu koja e u tablici Brodovi2 promijeniti tip polja Naziv u Text(70). 157. Napi ite SQL naredbu koja e u tablici Narudzbe2 dodati polje DatumPlacanja. 158. Napi ite SQL naredbu koja e iz tablice Narudzbe2 izbrisati polje DatumIsporuke 159. Napi ite SQL naredbu koja e izbrisati cijelu tablicu Brodovi2 zajedno sa svim slogovima.

20

III. poglavlje SQL programiranje

21

Zadaci1. Napi ite SQL naredbe koje e: y svim nepla enim ra unima starijim od 180 dana pove ati iznos za 3 % y istim tim ra unima promijeniti datum narud be na dana nji datum. Sve SQL naredbe moraju se uspje no izvesti u cijelosti (moraju se provesti sve ili nijedna). 2. Napi ite SQL naredbe koje e: y sve potopljene brodove dodijeliti USA y brod Enterprise dodijeliti Rusiji. Sve SQL naredbe moraju se uspje no izvesti u cijelosti (moraju se provesti sve ili nijedna). 3. Napi ite SQL naredbe koje e: y sve nepla ene ra une pove ati za 10 % y ako je iznos samo zbog pove anja prema io 1000 treba ga vratiti na 1000. Sve SQL naredbe moraju se uspje no izvesti u cijelosti (moraju se provesti sve ili nijedna). 4. Napi ite SQL naredbe koje e: y sve nepotopljene brodove iz Engleske prebaciti u USA i obratno (zamislite da su Engleska i USA zamijenili svoje brodove). Sve SQL naredbe moraju se uspje no izvesti u cijelosti (moraju se provesti sve ili nijedna). 5. Napi ite SQL naredbe koje e: y svim pla enim ra unima postaviti iznos prosje nog pla enog ra una y svim nepla enim ra unima postaviti iznos maksimalnog nepla enog ra una Sve SQL naredbe moraju se uspje no izvesti u cijelosti (moraju se provesti sve ili nijedna). 6. Napi ite SQL naredbe koje e: y svim datumima narud bi dodati jedan dan y svim datumima isporuka oduzeti dva dana, ali samo ako to ne zna i da e tada datum isporuke biti manji od dana narud be Sve SQL naredbe moraju se uspje no izvesti u cijelosti (moraju se provesti sve ili nijedna). 7. Napi ite SQL naredbe koje e: y sve nepla ene ra une smanjiti za 50 % y izbrisati sve ra une koji su nakon smanjenja manji od 100. Sve SQL naredbe moraju se uspje no izvesti u cijelosti (moraju se provesti sve ili nijedna). 8. Napi y y y y ite SQL naredbe koje e: izbrisati sve nepla ene ra une izbrisati sve ra une od Pascal Cartrain izbrisati sve brodove na dnu mora poni titi sve navedene operacije

Sve SQL naredbe moraju se uspje no izvesti u cijelosti (moraju se provesti sve ili nijedna).

22

9. Napi ite SQL naredbe koje e: y sve ra une Elizabeth Lincoln dodijeliti Elizabeth Brown i obratno. Sve SQL naredbe moraju se uspje no izvesti u cijelosti (moraju se provesti sve ili nijedna). 10. Napi ite SQL naredbe koje e: y sve pla ene ra une Elizabeth Lincoln postaviti kao pla ene ra une Elizabeth Brown y sve nepla ene ra une Elizabeth Brown postaviti kao nepla ene ra une Elizabeth Lincoln. Sve SQL naredbe moraju se uspje no izvesti u cijelosti (moraju se provesti sve ili nijedna). 11. Napi ite pohranjenu proceduru koja e izdvojiti sve brodove kra e od odre enog iznosa. Ulazni parametri su: y iznos du ine broda 12. Napi ite pohranjenu proceduru koja e izdvojiti sve nepla ene ra une iji je datum narud be stariji od odre enog datuma: Ulazni parametri su: y datum narud be (datum se unosi u formatu YYYY-MM-DD) 13. Napi ite pohranjenu proceduru koja e izdvojiti pla ene ili nepla ene ra une od odre enog kupca. Prika ite sljede e podatke: Ime i prezime kupca, Datum narud be i Iznos. Ulazni parametri su: y pla eni ili nepla eni ra uni y naziv kupca (ne mora biti puno ime ili prezime) 14. Napi ite pohranjenu proceduru koja e izra unati ukupan i prosje ni iznos nepla enih ra una odre enog kupca. Ulazni parametri su: y datum narud be y ID kupca 15. Napi ite pohranjenu proceduru koja e izra unati najve i pla eni ra un u odre enom razdoblju za odre enog kupca. Ulazni parametri su: y po etni datum y krajnji datum y ID kupca 16. Napi ite pohranjenu proceduru koja e umetnuti novi brod u tablicu s podacima koji su definirani ulaznim parametrima. Ulazni parametri su: y Naziv broda y Du ina broda y Datum porinu a y Je li na dnu mora y ID dr ave 17. Napi ite pohranjenu proceduru koja e izra unati prosje nu narud bu za svakog pojedinog kupca, ali uzmite u obzir samo kupce iji prosje ni iznos prema uje odre eni iznos une en od korisnika. Kupce sortirajte po prosje nom iznosu. Ulazni parametri su: y grani ni iznos

23

18. Napi ite pohranjenu proceduru koja e izra unati broj brodova po dr avama, ali uzmite u obzir samo dr ave iji ukupan broj brodova prema uje odre eni iznos une en od korisnika. Ispi ite sljede a polja: Naziv dr ave i Broj brodova. Ulazni parametri su: y grani ni iznos 19. Napi ite pohranjenu proceduru koja e ispisati imena i prezimena svih du nika koji imaju ukupan dug ve i od odre enog iznosa une enog od korisnika. Ispi ite i ukupne iznose njihovih nepla enih ra una sortirane silazno. Ulazni parametri su: y grani ni iznos 20. Napi ite pohranjenu proceduru koja e izra unati mjesece u kojima je ukupno najve e dugovanje, ali uzmite u obzir samo mjesece s barem X nepla enih racuna, gdje je X broj une en kao ulazni parametar Ulazni parametri su: y broj nepla enih ra una 21. Pod pretpostavkom da postoje dvije tablice narud bi Narudzbe1 i Narudzbe2, napi ite pohranjenu proceduru koja e u ovisnosti o ulaznom parametru uraditi sljede e: o ako je ulazni parametar 1, treba izdvojiti sve datume narud bi iz obje tablice o ako je ulazni parametar 2, treba izdvojiti sve datume narud bi koji se nalaze u prvoj tablici narud bi, ali ne i u drugoj o ina e, treba izdvojiti sve datume narud bi koji se nalaze u jednoj i drugoj tablici Ulazni parametri su: y broj koji ozna ava kako treba izdvojiti slogove 22. Napi ite pohranjenu proceduru koja e izra unati prvih X brodova po du ini, gdje je X broj une en kao ulazni parametar. Ulazni parametri su: y broj brodova koje treba izdvojiti 23. Napi ite pohranjenu proceduru koja e izra unati X-ti brod po du ini, gdje je X broj une en kao ulazni parametar. Ulazni parametri su: y redni broj broda kojeg treba izdvojiti 24. Napi ite pohranjenu proceduru koja e za pla ene ili nepla ene ra une pozvati funkciju navedenu kao ulazni parametar. Ulazni parametri su: y pla eni ili nepla eni ra uni y naziv funkcije (min, max, avg ili sum) 25. Napi ite pohranjenu proceduru koja e izra unati koja od dviju dr ava ima vi e brodova. Ulazni parametri su: y nazivi dr ava koje se uspore uju 26. Napi ite pokaziva koji e izdvojiti prvi, tre i i peti brod iz tablice brodova sortirane po du ini broda silazno. 27. Napi ite pokaziva koji e izdvojiti srednji brod po du ini. Ako je broj brodova paran potrebno je izdvojiti oba broda koji su srednji po du ini.

24

28. Napi ite pokaziva koji e izdvojiti dva najmanja i dva najve a ra una. 29. Napi ite pokaziva koji e izdvojiti dva najmanja i dva najve a pla ena ra una. Prika ite sljede a polja: Ime, Prezime i Iznos. 30. Napi ite pokaziva koji e izra unati ukupan iznos pla enih i nepla enih ra una uz sljede e uvjete: y za pla ene ra une ne uzimati u obzir ra une kupca Antonio Moreno y za nepla ene ra une ne uzimati u obzir ra une kupca James Ashworth 31. Napi ite pokaziva koji e izdvojiti ra un koji je po iznosu najbli i iznosu prosje nog ra una. Prika ite sljede a polja: KupacID, Iznos, i Je li pla en.

25

Tablice kori tene u primjerima:

BrodoviID Naziv Duzina 30 37 65 60 28 43 269 164 75 105 335 333 23 23 23 DatumPorinuca 13.10.1492 5.12.1577 7.5.1765 12.3.1729 16.12.1787 26.4.1807 10.4.1912 6.8.1902 20.9.1903 1.9.1940 12.6.1961 21.7.1990 5.2.1983 10.9.1995 10.11.2002 NaDnuMora No No No Yes Yes No Yes No No Yes No No No No No DrzavaID 2 1 1 3 1 4 1 1 8 7 4 4 5 6 9 ID 2 1 Santa Maria 2 Golden Hind 3 Victory 4 Flying Dutchman 5 Bounty 6 Clermont 7 Titanic 8 Carpathia 9 Aurora 10 Bismarck 11 Enterprise 12 George Washington 13 Australia II 14 Black Magic 15 Alinghi

DrzaveNaziv panjolska 1 Engleska 3 Nizozemska 4 USA 5 Australija 6 Novi Zeland 7 Njema ka 8 Rusija 9 vicarska

26

NarudzbeID 1 3 4 5 6 7 8 9 Iznos 356,23 290,78 590,78 100,50 99,80 190,00 200,56 800,00 DatumNarudzbe DatumIsporuke Placeno KupacID 24.1.2008 27.1.2008 27.1.2008 1.2.2008 13.2.2008 17.2.2008 25.2.2008 4.3.2008 11.3.2008 21.3.2008 24.3.2008 29.3.2008 3.4.2008 12.4.2008 17.4.2008 21.4.2008 26.4.2008 29.4.2008 3.5.2008 5.5.2008 10.5.2008 12.5.2008 18.5.2008 21.5.2008 29.5.2008 1.6.2008 7.6.2008 10.6.2008 18.6.2008 24.6.2008 3.7.2008 10.7.2008 14.7.2008 20.7.2008 22.7.2008 4.8.2008 7.8.2008 11.8.2008 20.8.2008 25.8.2008 27.1.2008 31.1.2008 31.1.2008 4.2.2008 17.2.2008 20.2.2008 29.2.2008 8.3.2008 15.3.2008 22.3.2008 29.3.2008 1.4.2008 7.4.2008 15.4.2008 21.4.2008 25.4.2008 27.4.2008 2.5.2008 6.5.2008 8.5.2008 15.5.2008 16.5.2008 20.5.2008 24.5.2008 31.5.2008 4.6.2008 12.6.2008 11.6.2008 22.6.2008 29.6.2008 4.7.2008 13.7.2008 16.7.2008 22.7.2008 22.7.2008 5.8.2008 10.8.2008 13.8.2008 22.8.2008 27.8.2008 Yes No Yes Yes No Yes No Yes No No Yes No Yes No Yes No Yes No No Yes No Yes No No Yes No No Yes No Yes No No Yes Yes No Yes No No No No 3 2 5 8 2 7 9 1 3 2 4 2 4 5 3 7 1 3 5 7 4 5 8 5 2 6 8 2 3 6 10 5 10 4 6 9 1 9 7 9 9 James 10 Pascale 7 Horst 3 Hanna ID Ime 1 Maria 2 Antonio

KupciPrezime Anders Moreno Moos Adresa Obere Str. 57, Bogota Mataderos 2312, San Jose Forsterstr. 57, Amsterdam Fauntleroy Circus, London 87 Polk St, Singapur Moncada 8585, Buenos Aires Taucherstrasse 10, Dortmund

2 1000,89

4 Elizabeth Lincoln 5 Yang 6 Patricio Wang Simpson Kloss

10 412,30 11 290,80 12 578,90 13 612,00 14 367,51 15 208,90 16 909,45 17 467,70 18 290,78 19 765,00 20 1025,77 21 97,56 22 879,60 23 350,00 24 489,75 25 532,90 26 210,05 27 645,50 28 109,71 29 209,80 30 88,73 31 280,94 32 340,00 33 1300,10 34 578,45 35 600,00 36 360,45 37 260,67 38 900,80 39 510,00 40 420,56

8 Elizabeth Brown

2743 Bering St., Boston 89 Jefferson Ashworth Way, Portland Cartrain Boulevard Tirou, 255, Lyon

27