1 / 77

SQL S tructured Q uery L anguage

SQL S tructured Q uery L anguage. Struktur ira ni upitni jezik. Šta je SQL ?. SQL je standardni jezik za pristup i dobijanje podataka iz re l acionih baza podataka. SQL je standardizovan od strane ANSI (American National Standards Institute). SQL. 1970.godina. Donald Čemberlen.

dalia
Download Presentation

SQL S tructured Q uery L anguage

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SQL StructuredQueryLanguage Strukturirani upitni jezik

  2. Šta je SQL? SQL je standardni jezik za pristup i dobijanje podataka iz relacionih baza podataka. SQL jestandardizovan od strane ANSI (American National Standards Institute).

  3. SQL 1970.godina Donald Čemberlen Rejmond Bojs IBM SEQUEL- Structured English Query Language

  4. SQL Neke implementacije SQL-a razvijene su za upotrebu na PC-ju i jednostavne su za upotrebu, druge su prilagođene za rad sa veoma velikim bazama podataka.

  5. Osnovne karakteristike SQL-a 1.) jednostavnost 2.) uniformnost 3.) neproceduralnost Jednostavnost se odnosi na to da se relacije kreiraju jednom naredbom i odmah su dostupne za korišćenje. Uniformnost - svi podaci i rezultati operacija se prikazuju u vidu tabela. Neproceduralnost - korisnik određuje koje podatke treba uneti, prikazati ili ukloniti, a ne kako da se izvede operacija nad podacima.

  6. → SQL (Structured Query Language) je programski jezik namenjen za upravljanje podacima u relacionim sistemima za upravljanje bazama podataka. SQL obuhvata unos podataka ažuriranje i brisanje podataka šeme kreiranja i menjanja kontrolu pristupa

  7. Šta može SQL da uradi? • Da izvršаvа upitе nаd bаzom pоdatаkа. • Da prеuzmе pоdаtkе iz bаzе pоdаtаkа. • Da umetne zapise u bazu podataka. • Da ažurira zapise u bazi podataka. • Da izbriše zapise iz baze podataka. • Da kreira novu bazu podataka. • Da kreira novu tabelu u bazi podataka. • Da kreira prikaze u bazi podataka. • ...

  8. SQL je standard – ali .... Iako je SQL standardizovan od strane ANSI (American National Standards Institute), postoji mnogo različitih verzija SQL jezika. Međutim, da bi bila u skladu sa ANSI standardom, svaka verzija mora na sličan način da podržava barem glavne naredbe (kao što su SELECT, UPDATE, DELETE, INSERT, WHERE).

  9. RDBMS (Relational Database Management System) SISTEM ZA UPRАVLJANJE RЕLACIONIM BAZАMА PODATАKА Podaci u RDBMS-u se čuvаju u оbјеktima baze podataka kojise nаzivaju tabele. Tabelа predstavlja kolekciju srоdnih podataka i sastoji se od kolona i redova.

  10. Tabele Baza podataka sadrži jednu ili više tabela. Svaka tabela se identifikuje po imenu (npr. "Kupci" ili "Prodavci"). Tabele sadrže zapise (redove) sa podacima.

  11. RDBMS (Relational Database Management System) SISTEM ZA UPRАVLJANJE RЕLACIONIM BAZАMА PODATАKА RDBMS je osnova za SQL i za sve moderne baze podataka kao što su: MS SQL Server, IBM DB2, Oracle, MySQL, Sybase i Microsoft Access.

  12. RDBMS (Relational Database Management System) SISTEM ZA UPRАVLJANJE RЕLACIONIM BAZАMА PODATАKА TOP 5 1. Oracle 2. SQL Server 3. DB2 4. Sybase 5. MySQL

  13. RDBMS TOP 5 • Oracle Database- poslednja dostupnavarijanta12c. • 2.MS SQL Server- član Microsoftove porodice, inicijalno razvijen kao konkurencija Oracle-u i IBM-u. • Poslednja verzija SQL Server 2012. • 3. IBM DB2- Poslednja verzija 10.5. • 4. Sybase - Poslednja verzija 15.7. Od maja 2010. deo kompanije SAP (za 5,8 milijardi dolara). • 5. MySql - Deo Oracle porodice od Januara 2010. Do nedavno besplatan. Sadašnja cena je od $2.000 do $30.000. Postoje neke besplatne varijante i sada. • Poslednja verzija 5.7.

  14. POSLOVNA INTELIGENCIJA • Rast podataka nadmašuje mogućnosti korisnika da analizira, interpretira, razume i vizuelizuje podatke, te da im da adekvatan smisao. • U uslovima velike raspoloživosti podataka sve je veća divergencija raspoloživih podataka i informacija potrebnih za donošenje adekvatnih odluka. • Zatečeni brojnošću izvora podataka, savremeni menadžerii istraživači sve više vremena troše na izbor relevantnih informacija.

  15. Ogromno povećanje brojapodataka dovelo je do prevaziđenosti tradicionalna rešenja

  16. Možemo da pojednostavimo stvar, sredimo ovaj nered...

  17. ... ako i analitiku prebacimo u skladište.

  18. Business Intelligence Radi se o kategoriji informacione tehnologije koja korisnicima u poslovanju omogućava pristupanje, analizu i korišćenje podataka (Data Warehouse) u cilju sticanja neophodnih informacija za adekvatno odlučivanje i upravljanje, kao i o aplikativnim programima kojima se podržava odlučivanje, postavljaju upiti i formiraju izveštaji, vrši online analitička obrada (OLAP), zatim statističke analize, Data Mining, predviđanje itd.

  19. OPŠTA SINTAKSNA PRAVILA • Sintaksa SQL-a je prilično fleksibilna, mada postoje pravila kojih se treba pridržavati, kao i u svakom drugom programskom jeziku: • komande SQL-a se mogu pisati i velikim i malim slovima • logički se komponente odvajaju zarezom • bitno je kakvim slovima su zapisani podaci koji su u bazi podataka • unosi se tačka-zarez na kraju iskaza (ovaj interpunkcijski znak govori SQL programu da je upit završen)

  20. SQL naredbe Da li zarez iza naredbe? Neki upravljački sistemi za upravljanje bazom podataka zahtevaju zarez na kraju svake SQL naredbe. Zarez je standardni način za odvajanje SQL naredbi u sistemima za upravljanje bazama podataka koji dopuštaju izvršavanje više od jednog SQL iskaza u istom pozivu servera. Kada koristimo MS Access ili SQL Server 2012 ne moramo da stavimo zarez iza svake SQL naredbe.

  21. SQL DML i DDL SQL se može podeliti u dva dela: - Jezik za manipulaciju podacima (DML - The Data Manipulation Language) i - Jezik za definisanje podataka (DDL - The Data Definition Language (DDL). Najvažnije DML komande: SELECT –za odabir podataka iz baze podataka UPDATE –za ažuriranje podataka u bazi podataka DELETE –za brisanje podataka iz baze podataka INSERT INTO –za umetanje novih podataka u bazu podataka

  22. SQL DML i DDL Najvažnije DDL naredbe: CREATE DATABASE –za kreiranje nove baze podataka ALTER DATABASE –za modifikovanje baze podataka CREATE TABLE –za kreiranje nove tabele ALTER TABLE –za modifikovanje tabele DROP TABLE –za brisanje tabele CREATE INDEX –za kreiranje indeksa DROP INDEX –za brisanje indeksa

  23. Upiti • Najvažnije element SQL-a. • Vraćaju podatke na osnovu određenih kriterijuma

  24. Sastavni deo UPITA su KLAUZULE Klauzule WHERE FROM HAVING ORDER BY GROUP BY

  25. SQL naredbe • Većina akcija nad bazom podataka izvode se pomoću SQL naredbe. • Najčešće se koristi naredba SELECT. • SELECTnaredbom nalaže se preuzimanje podatke iz jedne ili više tabela. • Upit sadrži spisak kolona koje će biti uključene u konačni rezultat odmah nakon SELECT. • Zvezdica (*) se takođe može koristiti kada upit treba da upit vrati sve kolone izvorne tabele.

  26. 1. Primer SELECT naredbe 1.) Hoćemo da iz tabeleStudenti dobijemo spisak svih studenata koji imaju prosečnu ocenu veću od 8,5 i želimo da budu sortirani po prezimenu. SELECT * FROM Studenti WHERE Prosecna ocena>8.5 ORDER BY Studenti.Prezime Zvezdica ukazuje da će biti prikazani sve kolone iz tabele Studenti

  27. 2. Primer SELECT naredbe 2.) Ako želimo da dodamo novog studenta, koristimo naredbu INSERT INTO INSERTINTO Studenti (Ime, Prezime, ProsecnaOcena) VALUES (‘Petar', 'Petrović', 8.85);

  28. SQL naredbe Na primer, sledeća SQL naredba će izdvojiti sve zapise iz tabele “Customers": The following SQL statement selects all the records in the "Customers" table: SELECT * FROM Customers; (alternativno iz tabele “Persons": SELECT * FROM Persons; )

  29. Primer. Prikazati sve podatke iz tabele “Persons”. • U bazi podataka “SQL W3Schools” odabrati Queries. • Kliknuti na New a zatim na Design View. • Odabrati tabelu Persons. • Kliknuti na dugme Add, zatim na Close.

  30. 5. U meniju View odabrati SQL View.

  31. 6. Upisati iskaz SELECT * from Persons; 7. U meniju Query odabrati Run. Pojaviće se tražena tabela.

  32. Rezultat ovog iskaza je prikaz svih naziva polja i podataka unutar tabele “Persons”. (upit U1) 1

  33. SELECT naredba Naredba SELECT koristi se da se odaberu podaci iz baze podataka. Rezultat se smešta u rezultujuću tabelu. U najjednostavnijem obliku, naredba SELECT odabira kolone iz jedne tabele. Može se uzeti jedna kolona, više kolona ili sve kolone iz tabele.

  34. SELECT naredba Sintaksa: SELECT naziv_kolone (ili kolona)FROM naziv_tabele SELECT * FROM naziv_tabele SELECTukazuje na spisak kolona koje treba da se prikažu, aFROModređuje tabelu iz koje treba uzeti kolone.

  35. SELECT naredba SELECT kolone FROM tabele [JOIN spajanja] [WHERE uslov_za_pretraživanje] [GROUP BY kolone_za_grupisanje] [HAVING uslov_za_pretraživanje] [ORDER BY kolone_za_sortiranje]

  36. SELECT naredba Zvezdica (*) u SELECT *, govori bazi podataka da vrati informacije iz svih kolona tabele koja je navedena u FROM klauzuli. Prethodni primer SQL iskaza koristi * da bi se izabrale sve kolone iz tabele, međutim, ukoliko želimo da prikažemo samo neke kolone, ili promenimo redosled njihovog prikaza, tada koristimo iskaz: SELECT naziv_kolone (ili kolona)FROM naziv_tabele

  37. SELECT naredba npr.: Upit U2Napraviti upit koji će prikazati kolone CustomerName i City iz tabele Customers. SELECT Column Example The following SQL statement selects the "CustomerName" and "City" columns from the "Customers" table: C SELECT CustomerName,City FROM Customers;

  38. SELECT naredba Alternativno: Upit U2Napraviti upit koji će prikazati kolone LastName i FirstName iz tabele Persons. SELECT LastName,FirstName FROM Persons

  39. SELECTDISTINCT naredba Naredba za eliminisanje duplikata. Ukoliko želimo da prikažemo različite vrednosti iz kolone. Sintaksa: SELECT DISTINCT naziv_kolone(ili kolona)FROM naziv_tabele npr.: Upit U3 SELECT DISTINCT City FROM Customers; Alternativno: SELECT DISTINCT City FROM Persons

  40. WHERE klauzula Ukoliko je potrebno pronaći određeni objekat ili grupu objekata u bazi podataka, potreban je jedan ili više uslova. Uslovi se navode u WHERE klauzuli. Sintaksa WHERE klauzule je: WHERE <uslov pretrazivanja> SELECT naziv_kolone (ili kolona) FROM naziv_tabeleWHERE naziv_kolone operator vrednost Primer uslova: Upit U4 SELECT * FROM CustomersWHERE Country='Mexico'; SELECT * FROM Persons WHERE City='Sandnes'

  41. OPERATORI • Operatori su elementikoji se koriste za izražavanje uslova pod kojima se pretražuju podaci. Operatori se dele po sledećim grupama: • aritmetički • operatori poređenja • operatori za znakove (stringove) • logički

  42. Aritmetički operatori • Aritmetički operatori su: • operator sabiranja (+), oduzimanja (-), deljenja (/), množenja (*) Operator sabiranja iskazom: SELECT [naziv_kolone], [naziv_kolone]+0.15 FROM [naziv tabele]; dobija se prikaz kolone [naziv_kolone] i kolone [naziv_kolone] uvećan za 0.15.

  43. Operator oduzimanja Iskazom: SELECT [naziv_kolone1], [naziv_kolone2], ([naziv_kolone1]-[naziv_kolone2]) FROM [naziv_tabele]; dobija se prikaz kolona [naziv_kolone1],[naziv_kolone2], kao i kolone koja računa njihovu razliku.

  44. Operator deljenja Iskazom: SELECT [naziv_kolone1], [naziv_kolone2], ([naziv_kolone2]/2) FROM [naziv tabele]; dobija se prikaz kolona [naziv_kolone1],[naziv_kolone2], kao i kolone koja računa vrednosti iz [naziv_kolone2]podeljene sa 2.

  45. Operator množenja Iskazom: SELECT [naziv_kolone1], [naziv_kolone2], ([naziv_kolone2]*0.9) FROM [naziv tabele]; dobija se prikaz kolona [naziv_kolone1],[naziv_kolone2], kao i kolone koja računa vrednosti iz kolone [naziv_kolone2] pomnožene sa 0.9.

  46. Operatori poređenja

  47. Operatori za stringove Operator LIKE koristi se za pretragu kolone po određenom uzorku. Sintaksa: SELECT nazov_kolone(ili kolona)FROM naziv_tabeleWHERE naziv_kolone LIKE uzorak

  48. Operator LIKE npr.: Upit U5 SELECT * FROM Customers WHERE City LIKE 's%'; % - džoker znak (zamenjuje nijedan, jedan ili više znakova) Napomena – U MS Access-u to je * npr.: Upit U6 SELECT * FROM Customers WHERE City LIKE '%s‘; npr.: Upit U7 SELECT * FROM Customers WHERE Country LIKE '%land%';

  49. Operator LIKE npr.: Upit U5 SELECT * FROM Persons WHERE City LIKE 's%' % - džoker znak (zamenjuje nijedan, jedan ili više znakova) Napomena – U MS Access-u to je * npr.: Upit U6 SELECT * FROM Persons WHERE City LIKE '%s' npr.: Upit U7 SELECT * FROM Persons WHERE City LIKE '%s%'

More Related