26
Univerzitet u Novom Sadu Univerzitet u Novom Sadu Tehnički fakultet »Mihajlo Pupin« Tehnički fakultet »Mihajlo Pupin« Zrenjanin Zrenjanin SEMINARSKI RAD Tema: SQL

SQL

Embed Size (px)

Citation preview

Page 1: SQL

Univerzitet u Novom Sadu Univerzitet u Novom Sadu Tehnički fakultet »Mihajlo Pupin« Tehnički fakultet »Mihajlo Pupin« ZrenjaninZrenjanin

SEMINARSKI RAD

Tema: SQL

Page 2: SQL

SQL

Ime jezika predstavlja skraćenicu na engleskom jeziku (SQL) Structured Query Language (jezik za strukturisane upite).

Pomoću ovog jezika mogu da se uređuju, kreiraju ili brišu baze podataka ili podaci u njima.

Page 3: SQL

SQL

Jezik je originalno razvijen za IBM-om proizvod "DB2" (relational database management system, ili RDBMS, sistem za upravljanje relacionim bazama podataka).

U stvari SQL je učinio mogućim sisteme za upravljanje relacionim bazama podataka.

Page 4: SQL

SQL

Neproceduralni jezik SQL (Structured Query Language) dizajniran je tako da ga sa uspehom mogu koristiti i ljudi bez tehničkih znanja s područja obrade podataka, takozvani krajnji korisnici.

SQL jezik je neproceduralan, jer specificira operacije u smislu ŠTA treba uraditi, a ne KAKO.

Page 5: SQL

ISTORIJAT SQL-A

Prvobitni naziv za SQL je bio Structured English Query Language ("SEQUEL") i bio dizajniran da manipulira i vadi podatke spremljene u System R.

Naziv SEQUEL je kasnije preimenovan u SQL. -Jezik je slabo razvijen do 80-tih godina.

(nekomercijalna primena) -1979. prvi komercijalni sastav temeljen na SQL jeziku -1986. zbog pojave raznih “dijalekata” donesen je

ISO/ANSI standard za SQL

Page 6: SQL

ISTORIJAT SQL-A

-1989. godine proširenje standarda (uvođenje referencijskog integriteta) pa nastaje SQL-89

-1992. godine SQL-2 ili SQL-92 – proširenje standarda u pisanoj formi (broj stranica)

-1999. godine objavljen SQL-3 ili SQL-99 s novim mogućnostima

-jezik se postepeno usavršavao, a njegova doterana varijanta pojavljuje se u današnjem IBM-ovom relacijskom DBMS-u zvanom DB2

Page 7: SQL

ISTORIJAT SQL-A

Neke softverske kuce su ugradile SQL u svoje DBMS-e,a neke su pokušale razviti svoje jezike.

SQL je uglavnom zasnovan na relacijskom računu, s time da je matematička notacija zamenjena ključnim rečima nalik na govorni engleski jezik.

SQL jezik je usvojio Komitet Američkog nacionalnog instituta za standarde (ANSI) kao standardni jezik relacionih baza podataka.

Page 8: SQL

SQL

Trenutno u svetu postoji više standarda SQL jezika, najpoznatije su: ANSI-92, ISO, Microsoft SQL itd.

U principu osnovni standard je ANSI, tako da se svi drugi standardi za neki stepen razlikuju od ovog, u najvećem broju slučajeva radi se o proširenjima osnovnog SQL standarda kojima se ovaj jezik pretvara u pravi proceduralni jezik.

Page 9: SQL

PODELA NAREDBI

1) naredbe za četiri osnovne operacije nad podacima u bazi podataka:

-pronalaženje (SELECT) -upis (INSERT)-brisanje ili izbacivanje ( DELETE) -promena ( UPDATE) podataka 2) naredbe za definisanje relacijske šeme baze podataka,

opis ograničenja u bazi podataka i definisanje pogleda na bazu podataka

3)naredbe za upravljanje bazom podataka (uspostavljanje indeksa, kontrolisanje pristupa bazi i sl)

Page 10: SQL

PRAVILA PISANJA KODA

SQL ne pravi razliku između malih i velikih slova, što znači da su sledeće dve naredbe jednake:

select prezime from osoba where ime =”Pero” SELECT prezime FROM osoba WHERE ime

=”Pero” Radi lakšeg čitanja koda, preporučuje se da

ključne reči (naredbe) budu napisane velikim slovima, a svi ostali elementi malim slovima.

Page 11: SQL

LOGIČKI OPERATORI AND, OR I NOT

Hijerarhija primene operatora glasi:

zagrada ()

deljenje / i množenje *

sabiranje + i oduzimanje –

NOT (ne)

AND (i)

OR (ili)

Page 12: SQL

FUNKCIJE SQL-A

SQL ima više korisnih funkcija kao što su:

AVG (atribut) – srednja vrednost atributa

MAX (atribut) – maksimalna vrednost atributa

MIN (atribut) – minimalna vrednost atributa

SUM (atribut) – zbir vrednosti atributa

COUNT (atribut) – služi za prebrojavanje

Page 13: SQL

PRIMER

ŠIFRA PROIZVODI MODEL TEŽINA VISINA ŠIRINA DEBLJINA

no3310 nokia 3310 133 113 48 22

no3330 nokia 3330 133 113 48 22

soz7 sony z7 95 91 50 25

mov60 motorola v60 109 85 45 25

soj70 sony j70 92 113 45 22

Tabela mobilni

Page 14: SQL

PRIMER

1) Prikaz svih mobilnih u bazi koji su lakši od 100 grama (težina <=100)

SELECT proizvodi, model, težina FROM mobilni WHERE težina <=100

PROIZVODI MODEL TEŽINA

sony j70 92

sony z7 95

Page 15: SQL

PRIMER

1b) Naći mobilne sa težinom između 90 i 100 grama.

SELECT proizvodi, model, tezina FROM mobilni

WHERE težina BETWEEN 90 AND 100

PROIZVODI MODEL TEŽINA

sony j70 92

sony z7 95

Page 16: SQL

Postoje naredbe Ascending (rastuće) i Descending (opadajuće).

1c) Mobilni sortirani po težini i modelu.

SELECT proizvodi, model, težina FROM mobilni

ORDER BY težina DESC, model ASC

PROIZVODI MODEL TEŽINA

nokia 3310 133

nokia 3330 133

motorola v60 109

sony z7 95

sony j70 92

Page 17: SQL

PRIMER ZA FUNKCIJU COUNT

SQL poseduje ugrađenu funkciju za prebrojavanje podataka (slogova) unutar baza podataka. Ova funkcija je funkcija COUNT, koja kao rezultat vraća broj slogova koji zadovoljavaju određeni uslov.

Page 18: SQL

PRIMER ZA FUNKCIJU COUNT

Tabela radnik

Ime Starost-----------------------------------Hadžic, Olga 34Škoro, Milan 45Petrić, Karlo 19

Ako koristimo upit sa funkcijom COUNT radi prebrojavanja svih radnika (upotrebićemo zvezdicu "*"), onda bi to ovako izgledalo:

SELECT COUNT(*)FROM Radnik

Rezultat ovog upita je "3". Znači ukupno imamo 3 radnika.

Page 19: SQL

PRIMER ZA FUNKCIJU COUNT

Ako koristimo funkciju count za prebrojavanje svih radnika koji su stariji od 20 godina, upit bi mogao ovako da izgleda:

SELECT COUNT(*)

FROM Radnik

WHERE Starost > 20; Rezultat upita je "2". Imamo 2 radnika koji imaju više

od 20 godina.

Page 20: SQL

Primer

Dat je SQL upit koji prikazuje kompletan sadržaj tabele RADNIK

SELECT * FROM RADNIK;

SELECT MatBr, ime, Sslovo, Prezime, DatRodj, Adresa, Pol, Plata, Rukovodilac, Sektor FROM RADNIK;

Page 21: SQL

PRIMER

SQL upit koji prikazuje samo imena i prezimena radnika.

SELECT Ime, Prezime FROM RADNIK;

Page 22: SQL

PRIMER

SQL upit koji prikazuje podatke o radnicima koji se prezivaju Petrović.

SELECT * FROM RADNIK WHERE Prezime = "Petrović";

Page 23: SQL

PRIMER

SQL upit koji prikazuje imena i prezimena radnika čija je plata jednaka ili veća od 40000.

SELECT Ime, Prezime FROM RADNIK WHERE PLATA >= 40000;

Page 24: SQL

ZADATAK

SQL upit koji prikazuje samo prezimena Petrović i Jovanović

SELECT * FROM RADNIK WHERE Prezime = "Petrović" OR Prezime = "Jovanović";

Page 25: SQL

ZAKLJUČAK

SQL je uspešno primenjen u sistemima za upravljanje bazom podataka kao što su MS Access, DB2, Informix, MS SQL Server, Oracle itd.

Prednosti SQL-a su velike, počevši od jednostavne primene pa do brzog dospevanja traženih informacija do korisnika.

Page 26: SQL

LITERATURA

1) http://www.google.com/url

2) www.wikepedia.org/

3) www.inteligencija.com

4) www.poslovanje.com

5) https://www.google.com/#q=sql+jezik&h