User Tools

Site Tools


sql

This is an old revision of the document!


SQL

SQL (Structured Query Language) je programski jezik koji se koristi za spremanje i procesiranje informacija u relacijskim bazama podataka. Relacijske baze podataka pohranjuju podatke u tablicama, gdje su redovi tablice N-torke (1 redak = 1 relacija), dok su stupci atributi relacija koje sve relacije u tablici posjeduju.

KorisnikID Prezime Ime Adresa Grad
1 Anić Ana Branimirova 5 Zagreb
1 Anić Ana Branimirova 5 Zagreb
1 Anić Ana Branimirova 5 Zagreb
1 Anić Ana Branimirova 5 Zagreb
1 Anić Ana Branimirova 5 Zagreb

Slika 1 - Primjer SQL baze podataka

Kada neki sustav mora pohranjivati veću količinu strukturiranih informacija, tada je prikladno koristiti relacijske baze podataka. S pomoću SQL upita dohvaćaju se tražene informacije iz baze podataka, na primjer, korisnik je na Njuškalu zatražio prikaz svih stanova za kupnju s cijenom između dvjesto i tristo tisuća eura u Rijeci. Tada sustav zaprima zahtjev za dohvat svih relacija tipa stan s traženim atributima iz baze podataka sustava te zahtjev pretvara u SQL upit koji izvršava nad bazom podataka i dohvaćene informacije prosljeđuje nazad korisniku.

Unutar iste baze podataka se često nalaze podatci namijenjeni korisnicima, ali i osjetljivi podatci kojima bi samo administratori baza i drugi entiteti viših razina prava trebali imati pristup. Isto tako, neki podatci se smiju samo prikazivati korisnicima, ali ih on nikako se ne smije mijenjati. Na primjer, u slučaju baze podataka jedne banke, svaki korisnik smije vidjeti samo stanje svojeg računa, ali to isto stanje ne smije mijenjati. Važno je ispravno ograničiti mogućnosti i akcije korisnika različitih razina privilegija. Ne smijemo se pouzdati u to da korisnici baze podataka neće pokušati napraviti nešto nedozovljeno, već baza mora imati implementirana dovoljno stroga ograničenja koja će prepoznati spriječiti svaki pokušaj neovlaštene akcije.


SQL upiti

SQL upiti (eng. queries) strukturirane su SQL naredbe kojima se upravlja podatcima relacijske baze podataka. Izvršavaju se radi dohvata, izmjene ili stvaranja novih podataka. SQL podržava četiri osnovne operacije nad podatcima, a to su stvaranje (INSERT), čitanje (SELECT), izmjena (UPDATE) i brisanje (DELETE). Ime operacije piše se odmah na početku upita. Svaka se operacija može izvršiti nad jednom ili više tablica unutar iste baze podataka. Zato se nakon odabira željene operacije u upitu dodaje naredba FROM u kojoj navodimo točno nad kojim tablicama izvodimo upit. Ako ne želimo izvesti upit nad cijelom tablicom, već samo nad nekim podatcima koji zadovoljavaju određeni uvjet, tad koristimo naredbu WHERE <uvjet>. Uvjeta može biti proizvoljno mnogo, a međusobno ih povezujemo logičkim operatorima (AND, OR).

PRIMJER - SQL upiti nad tablicom sa slike 1 Odaberimo imena i prezimena ljudi koji žive u Zagrebu.

SELECT Ime, Prezime 
FROM Korisnici 
WHERE Grad = "Zagreb"

Primijetimo da su se podatci naveli onim redom kojim su zadani u upitu, a ne onim kojim su u tablici.

Odaberimo sve podatke od korisnika koji se zovu “Ivo” i prezivaju “Ivić”. Oznaka za sve podatke je *.

SELECT * FROM Korisnici 
WHERE Ime = "Ivo" AND Prezime="Ivić"

Rezultat su zadnje dvije n-torke.

Tablice nad kojima se vrše željene akcije se mogu na različite načine spajati naredbama kao što su UNION i JOIN.

Izvori

sql.1700833055.txt.gz · Last modified: 2025/12/01 11:40 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki