![]() |
|
Oracle baza podataka - Verzija za štampu +- Gotovi Seminarski Diplomski Maturalni Master ili Magistarski (https://www.maturskiradovi.net/forum) +-- Forum: Obrazovanje (/Forum-obrazovanje) +--- Forum: Društvene nauke (/Forum-dru%C5%A1tvene-nauke) +---- Forum: Informatika (/Forum-informatika) +---- Tema: Oracle baza podataka (/Thread-oracle-baza-podataka) |
Oracle baza podataka - Vesnica - 15-06-2010 10:22 PM Maturski, seminarski i diplomski radovi iz informatike.
Ovo je kratak kurs o struktuiranom upitnom jeziku (poznatom i kao SQL) i predstavlja pionirski poduhvat jer je to prvi takav kurs koji se može naći na Internetu. SQL omogućava korisnicima pristup podacima u sistemima za upravljanje relacionim bazama podataka, kao što su Oracle, Sybase, Informix, Microsoft SQL Server, Access i drugi, tako što dopušta korisnicima da opišu podatke koje žele da dobiju. SQL takođe omogućava korisnicima da definišu podatke u nekoj bazi podataka i da manipulišu tim podacima. U ovom kursu biće opisano kako se koristi SQL, a to će sve biti potkrepljeno primerima. SQL koji se koristi u ovom dokumentu predstavlja ANSI verziju tog jezika, ili standardni SQL, i nijedna posebna mogućnost SQL-a koja je specifična za sisteme za upravljanje bazama podataka neće se razmatrati do odeljka „Nestandardni SQL“. Preporučujemo da odštampate ovaj dokument da biste lakše mogli da pogledate prethodne primere na koje se ukazuje u tekstu. Sadržaj Osnove naredbe SELECT Relacioni operatori Složeni uslovi Operatori IN i BETWEEN Operator LIKE Spajanje tabela Ključevi Obavljanje spajanja Klauzula DISTINCT i eliminacija duplikata Pseudonimi i IN podupiti Agregatne funkcije Pogledi Formiranje novih tabela Menjanje tabela Dodavanje podataka Brisanje podataka Ažuriranje podataka Indeksi Klauzule GROUP BY i HAVING Još o podupitima Klauzule EXISTS i ALL Klauzula UNION i spoljašnje spajanje Embedded SQL Česta pitanja o SQL-u Nestandardni SQL Pregled sintakse naredbi Vežbanja Važniji sajtovi o SQL-u, bazama podataka i sličnim temama Osnove naredbe SELECT U relacionoj bazi podataka podaci se smeštaju u tabelama. Neka tabela, na primer, mogla bi da sadrži jedinstveni matični broj građana, imena, prezimena i adrese zaposlenih: TabelaAdresaRadnika JMBG Ime Prezime Adresa Grad Republika 512687458 Đorđe Petrović Kralja Petra 9 Beograd Srbija 758420012 Marija Simić Bul Nikole Tesle 22 Jagodina Srbija 102254896 Savo Jovanović Njegoševa 17 Podgorica Crna Gora 876512563 Svetlana Aćimović Laze Lazarevića 10 Subotica Srbija Pretpostavimo da želite, recimo, da vidite adrese svih zaposlenih. Da biste to postigli, koristite naredbu SELECT: SELECT Ime, Prezime, Adresa, Grad, Republika FROM TabelaAdresaRadnika; Rezultat ovog upita u bazu podataka je: Ime Prezime Adresa Grad Republika Đorđe Petrović Kralja Petra 9 Beograd Srbija Marija Simić Bul Nikole Tesle 22 Jagodina Srbija Savo Jovanović Njegoševa 17 Podgorica Crna Gora Svetlana Aćimović Laze Lazarevića 10 Subotica Srbija Da objasnimo sada šta ste upravo uradili: tražili ste sve podatke u tabeli TabelaAdresaRadnika – preciznije, tražili ste kolone pod nazivom Ime, Prezime, Adresa, Grad, Republika. Obratite pažnju da imena kolona i tabela ne sadrže razmake – ona se moraju navesti kao jedna reč, kao i da se naredba završava tačkom i zarezom ( . Opšti oblik naredbe SELECT kojom se dobijaju svi redovi u tabeli je:SELECT ImeKolone, ImeKolone, ... FROM ImeTabele; Da biste dobili sve kolone neke tabele bez navođenja svih imena kolona, koristite: SELECT * FROM ImeTabele; Svaki sistem za upravljanje bazama podataka i softver za rad sa njima ima različite metode za prijavljivanje na bazu podataka i upisivanje SQL naredbi; potražite pomoć lokalnog administratora da biste se prijavili sistemu i mogli da koristite SQL. Uslovna selekcija podataka Da bismo dalje razmotrili naredbu SELECT, pogledajmo drugi primer (hipotetičke) tabele: TabelaPrimanjaRadnika IDRadnika Plata Prinadležnosti Položaj 010 75000 15000 rukovodilac 105 65000 15000 rukovodilac 152 60000 15000 rukovodilac 215 60000 12500 rukovodilac 244 50000 12000 činovnik 300 45000 10000 činovnik 335 40000 10000 činovnik 400 32000 7500 pripravnik 441 28000 7500 pripravnik Relacioni operatori U SQL-u postoji šest relacionih operatora i posle njihovog predstavljanja videćemo kako se koriste: = Jednako < ili != (videti priručnik) Različito < Manje > Veće <= Manje ili jednako >= Veće ili jednako Da bi se prikazali samo oni redovi iz tabele koji zadovoljavaju određene kriterijume, koristi se klauzula WHERE. Ona se može najlakše razumeti ukoliko se pogleda nekoliko primera. Ukoliko želite da dobijete ID brojeve onih zaposlenih koji zarađuju preko 50.000, koristite sledeću naredbu: SELECT IDRADNIKA FROM TABELAPRIMANJARADNIKA WHERE PLATA >= 50000; Obratite pažnju da se koristi znak >= (veće ili jednako), pošto smo želeli da izdvojimo one zaposlene koji zarađuju više od 50,000, ili jednako 50,000, i to prikazano zajedno. Kao rezultat dobijamo: IDRADNIKA ------------ 010 105 152 215 244 Opis klauzule WHERE, odnosno deo PLATA >= 50000, naziva se uslov (operacija koja kao rezultat daje vrednost True (tačno) ili False (netačno)). Isti tip operacije može se primeniti na tekstualne kolone: SELECT IDRADNIKA FROM TABELAPRIMANJARADNIKA WHERE POLOŽAJ = 'rukovodilac'; Ova naredba prikazuje ID brojeve svih rukovodilaca. Generalno, u slučaju tekstualnih kolona, koristite operatore jednako ili različito, i obavezno ceo tekst koji se pojavljuje u naredbi navedite unutar apostrofa ('). Složeni uslovi Operator AND kombinuje dva ili više uslova i prikazuje neki red tabele samo ukoliko podaci tog reda zadovoljavaju sve navedene uslove (tj. svi uslovi su tačni). Na primer, da biste prikazali sve činovnike koji zarađuju više od 40.000, koristite naredbu: SELECT IDRADNIKA FROM TABELAPRIMANJARADNIKA WHERE PLATA > 40000 AND POLOŽAJ = 'činovnik'; Operator OR kombinuje dva ili više uslova, ali prikazuje red ukoliko je neki navedeni uslov zadovoljen. Da biste zajedno prikazali one zaposlene koji zarađuju manje od 40.000 ili su im prinadležnosti manje od 10.000, koristite ovaj upit: SELECT IDRADNIKA FROM TABELAPRIMANJARADNIKA WHERE PLATA < 40000 OR PRINADLEŽNOSTI < 10000; Operatori AND i OR mogu da se kombinuju, na primer: SELECT IDRADNIKA FROM TABELAPRIMANJARADNIKA |