18
1

upravljanje relacionim bazama podataka, kao · SQL možemo podeliti na dva dela ›The Data Manipulation Language (DML) ›The Data Definition Language (DDL) Upiti i komande za ažuriranje

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: upravljanje relacionim bazama podataka, kao · SQL možemo podeliti na dva dela ›The Data Manipulation Language (DML) ›The Data Definition Language (DDL) Upiti i komande za ažuriranje

1

Page 2: upravljanje relacionim bazama podataka, kao · SQL možemo podeliti na dva dela ›The Data Manipulation Language (DML) ›The Data Definition Language (DDL) Upiti i komande za ažuriranje

SQL je sruktuirani upitni jezik koji omogućava korisnicima pristup podacima u sistemima za upravljanje relacionim bazama podataka, kao što su MySQL, Oracle, Microsoft SQL server i drugi, tako što dopušta korisnicima da opišu podatke koje žele da dobiju

Takođe im omogućava da definišu podatke u nekoj bazi podataka i da manipulišu tim podacima

2

Page 3: upravljanje relacionim bazama podataka, kao · SQL možemo podeliti na dva dela ›The Data Manipulation Language (DML) ›The Data Definition Language (DDL) Upiti i komande za ažuriranje

SQL možemo podeliti na dva dela› The Data Manipulation Language (DML) › The Data Definition Language (DDL)

Upiti i komande za ažuriranje u okviru DML-a› SELECT – prikaz podataka iz baze› UPDATE – izmene podataka u bazi› DELETE – brisanje podataka iz baze› INSERT INTO – ubacivanje novih podataka u bazu

3

Page 4: upravljanje relacionim bazama podataka, kao · SQL možemo podeliti na dva dela ›The Data Manipulation Language (DML) ›The Data Definition Language (DDL) Upiti i komande za ažuriranje

DDL deo SQL-a omogućava kreiranje i brisanje tabela baze

Takođe definiše indekse (ključeve), definiše veze između tabela, i ograničenja između tabela

Najvažniji iskazi u DDL-u su:› CREATE DATABASE – kreiranje nove baze› ALTER DATABASE – izmena baze› CREATE TABLE – kreiranje tabele› ALTER TABLE – izmena tabele› DROP TABLE – brisanje tabele› CREATE INDEX – kreiranje indeksa (ključ za pretragu)› DROP INDEX – brisanje indeksa

4

Page 5: upravljanje relacionim bazama podataka, kao · SQL možemo podeliti na dva dela ›The Data Manipulation Language (DML) ›The Data Definition Language (DDL) Upiti i komande za ažuriranje

5

Prikaz podataka iz baze

Rezultati se smeštaju u tabelu koju zovemo result-set› SELECT ime_kolone/a FROM ime_tabele › SELECT * FROM ime_tabele

SQL ne razlikuje mala i velika slova – dakle, SELECT je isto što i select

DISTINCT – ključna reč koja se koristi za prikaz različitih podataka › SELECT DISTINCT ime_kolone/a FROM ime_tabele

Page 6: upravljanje relacionim bazama podataka, kao · SQL možemo podeliti na dva dela ›The Data Manipulation Language (DML) ›The Data Definition Language (DDL) Upiti i komande za ažuriranje

WHERE klauzula služi za prikaz samo onih slogova (zapisa) koji zadovoljavaju postavljeni uslov› SELECT ime_kolone/a FROM ime_tabeleWHERE ime_kolone operator vrednost

Operatori: = jednako, != različito, > veće od, < manje od, >= veće ili jednako, <= manje ili jednako, BETWEEN između datog opsega, LIKE pronalaženje sličnog ili istog, IN ako znate tačnu vrednost koju želite da prikažete za bar jednu od kolona, AND logički operator i, OR logički operator ili

Ovi operatori mogu da se primenjuju na numeričke, tekstualne i datumske tipove podataka

6

Page 7: upravljanje relacionim bazama podataka, kao · SQL možemo podeliti na dva dela ›The Data Manipulation Language (DML) ›The Data Definition Language (DDL) Upiti i komande za ažuriranje

Ključna reč koja se koristi za sortiranje rezultata upita po nekoj koloni

Po default-u, rezultati se sortiraju po rastućem redosledu

Ako želimo opadajuće sortiranje, koristimo ključnu reč DESC

› SELECT ime_kolone/aFROM ime_tabeleORDER BY ime_kolone/a ASC|DESC

7

Page 8: upravljanje relacionim bazama podataka, kao · SQL možemo podeliti na dva dela ›The Data Manipulation Language (DML) ›The Data Definition Language (DDL) Upiti i komande za ažuriranje

INSERT INTO se koristi za ubacivanje novog reda u tabelu Postoje dva načina za korišćenje ove naredbe

› Navode se samo vrednosti koje se ubacuju:› INSERT INTO ime_tabeleVALUES (vrednost1, vrednost2, vrednost3,…)

› Navode imena kolona u koja se ubacuju podaci, i vrednosti koje se ubacuju:

› INSERT INTO ime_tabele (kolona1, kolona2, kolona3,…)VALUES (vrednost1, vrednost2, vrednost3,…)

Ubacivanje podataka u tačno određene kolone (ne u sve)› Tada se u listi kolana navode samo željene kolone

8

Page 9: upravljanje relacionim bazama podataka, kao · SQL možemo podeliti na dva dela ›The Data Manipulation Language (DML) ›The Data Definition Language (DDL) Upiti i komande za ažuriranje

Vrši izmenu postojećih redova u tabeli

› UPDATE ime_tabeleSET kolona1=vrednost1, kolona2=vrednost2,…WHERE neka_kolona=neka_vrednost

WHERE klauzulu koristimo da bismo odredili koje tačno redove menjamo

Ako izostavimo ovaj uslov, izmena će se izvršiti za sve redove tabele

9

Page 10: upravljanje relacionim bazama podataka, kao · SQL možemo podeliti na dva dela ›The Data Manipulation Language (DML) ›The Data Definition Language (DDL) Upiti i komande za ažuriranje

Briše redove iz tabele› DELETE FROM ime_tabeleWHERE neka_kolona=neka_vrednost

WHERE klauzulu koristimo da bismo odredili koje tačno redove brišemo

Ako izostavimo ovaj uslov, svi redovi tabele će biti obrisani

Ako želimo da obrišemo sve redove tabele, koristimo› DELETE FROM ime_tabele

ili› DELETE * FROM ime_tabele

10

Page 11: upravljanje relacionim bazama podataka, kao · SQL možemo podeliti na dva dela ›The Data Manipulation Language (DML) ›The Data Definition Language (DDL) Upiti i komande za ažuriranje

Koristi se za određivanje broja redova koje vraća postavljeni upit

Korisna je kod tabela koje imaju veliki broj redova (jer one mogu usporiti rad)

› SELECT ime_kolone/aFROM ime_tabeleLIMIT number

11

Page 12: upravljanje relacionim bazama podataka, kao · SQL možemo podeliti na dva dela ›The Data Manipulation Language (DML) ›The Data Definition Language (DDL) Upiti i komande za ažuriranje

Služi za pretraživanje i pronalaženje određenih kolona u tabeli

Znak % služi za zamenu jednog ili više karaktera kada se pretražuje baza

12

Page 13: upravljanje relacionim bazama podataka, kao · SQL možemo podeliti na dva dela ›The Data Manipulation Language (DML) ›The Data Definition Language (DDL) Upiti i komande za ažuriranje

Omogućava nam da postavimo više vrednosit u WHERE klauzuli

› SELECT ime_kolone/aFROM ime_tabeleWHERE ime_kolone IN (vrednost1,vrednost2,…)

13

Page 14: upravljanje relacionim bazama podataka, kao · SQL možemo podeliti na dva dela ›The Data Manipulation Language (DML) ›The Data Definition Language (DDL) Upiti i komande za ažuriranje

Koristi se u WHERE klauzuli za označavanje skupa podataka između dve zadate vrednosti

Te vrednosti mogu biti brojevi, tekst ili datumi› SELECT ime_kolone/aFROM ime_tabeleWHERE ime_koloneBETWEEN vrednost1 AND vrednost2

U MySQL-u BETWEEN operator u skup traženih podataka ubraja i granične vrednosti

Može se koristiti i NOT BETWEEN za skup podataka van intervala obuhvaćenog graničnim vrednostima ove naredbe

14

Page 15: upravljanje relacionim bazama podataka, kao · SQL možemo podeliti na dva dela ›The Data Manipulation Language (DML) ›The Data Definition Language (DDL) Upiti i komande za ažuriranje

SQL agregatne funkicje vraćaju vrednost , izračunatu iz vrednosti u koloni› AVG() – prosečna vrednost› COUNT() – broj redova› FIRST() – prva vrednost› LAST() – poslednja vrednost› MAX() – najveća vrednost› MIN() – najmanja vrednost› SUM() – zbir vrednosti

15

Page 16: upravljanje relacionim bazama podataka, kao · SQL možemo podeliti na dva dela ›The Data Manipulation Language (DML) ›The Data Definition Language (DDL) Upiti i komande za ažuriranje

SQL skalarne funkcije vraćaju vrednost, na osnovu unite vrednosti› UCASE() – konvertuje u velika slova› LCASE() – konvertuje u mala slova› MID() – izdvaja karaktere iz tekstualnog polja› LEN() – vraća dužinu tekstualnog polja› ROUND() – zaokružuje numerička polja na određeni

broj decimala› NOW() – vraća tekući sistemski datum i vreme› FORMAT() – formatiranje prikaza polja

16

Page 17: upravljanje relacionim bazama podataka, kao · SQL možemo podeliti na dva dela ›The Data Manipulation Language (DML) ›The Data Definition Language (DDL) Upiti i komande za ažuriranje

Koristi se u kombinaciji sa agregatnim funkcijama da bi se rezultati grupisali po jednoj ili više kolona

› SELECT ime_kolone, agregatna_funkcija(ime_kolone)FROM ime_tabeleWHERE ime_kolone operator vrednostGROUP BY ime_kolone

Ako vršimo grupisanje po više kolona, tada ih navodimo iza GROUP BY razdvojene zarezima

17

Page 18: upravljanje relacionim bazama podataka, kao · SQL možemo podeliti na dva dela ›The Data Manipulation Language (DML) ›The Data Definition Language (DDL) Upiti i komande za ažuriranje

Ova klauzula je dodata u SQL jer WHERE ne može da se koristi sa agregatnim funkcijama

› SELECT ime_kolone,agregatna_funkcija(ime_kolone)FROM ime_tabeleWHERE ime_kolone operator vrednostGROUP BY ime_koloneHAVING agregatna_funkcija(ime_kolone) operator vrednost

18