Upload
saleterzic
View
48
Download
2
Embed Size (px)
Citation preview
Univerzitet u Novom Sadu Univerzitet u Novom Sadu Tehnički fakultet »Mihajlo Pupin« Tehnički fakultet »Mihajlo Pupin« ZrenjaninZrenjanin
SEMINARSKI RAD
Tema: 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.
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.
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.
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
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
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.
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.
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)
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.
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)
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
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
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
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
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
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.
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.
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.
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;
PRIMER
SQL upit koji prikazuje samo imena i prezimena radnika.
SELECT Ime, Prezime FROM RADNIK;
PRIMER
SQL upit koji prikazuje podatke o radnicima koji se prezivaju Petrović.
SELECT * FROM RADNIK WHERE Prezime = "Petrović";
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;
ZADATAK
SQL upit koji prikazuje samo prezimena Petrović i Jovanović
SELECT * FROM RADNIK WHERE Prezime = "Petrović" OR Prezime = "Jovanović";
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.
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