You are on page 1of 5

1.

Data Manipulation Language (DML)

- SELECT (dohvat podataka)

- INSERT (umetanje redaka)

- UPDATE (ažuriranje redaka)

- DELETE (brisanje redaka)

2. Data Definition Language (DDL)

- CREATE (stvaranje nove relacije)

- ALTER (promjena strukture relacije)

- DROP (brisanje relacije)

- TRUNCATE (brisanje svih redaka relacije)

3. Prava pristupa

- GRANT (dodjeljivanje prava korisniku)

- REVOKE (oduzimanje prava korisniku)

primarni ključ – atribut ili skup atributa koji jednoznačno određuju svaki redak u tablici

jedinstven

ne smije biti prazno, odnosno NULL vrijednost

• neosjetljiv na velika i mala slova (engl. case insensitive)

NULL VRIJEDNOSTI

• vrijednosti koje nisu dodijeljene

• NULL vrijednost nije nula

• korištenje NVL funkcije (mijenja NULL vrijednost

u neku korisnički zadanu vrijednost)

SELECT first_name, NVL(commission_pct,0)

FROM employees;

problem duplih redova rješava naredba DISTINCT


ER model (jedan od načina konceptualnog prikaza informacijskog sustava), a sastoji se od entiteta, veza i
atributa.

Jednostavne funkcije

- odnose se na jedan redak tablice

- izvršavaju se ponovo za svaki selektirani redak

- brojčane, znakovne, datumske, funkcije za konverziju


ostale funkcije

Grupne funkcije

- odnose se na više redaka tablice

- Jednostavne SQL funkcije se mogu ugnježđivati na svim razinama

- sve grupne funkcije osim COUNT funkcije ignoriraju NULL

vrijednosti

- kako bi grupne funkcije koristile NULL vrijednosti prethodno nad kolonama sa NULL vrijednostima
treba primijeniti NVL funkciju

- pojedine redove možemo isključiti iz grupiranja korištenjem WHERE klauzule

- za sve operacije nad skupom redaka obavezna je GROUP BY klauzula

- koristi se za uključivanje ili isključivanje pojedinih grupa redaka

- SELECT department_id, COUNT(*)

- FROM employees

- GROUP BY department_id;

- - ispisuje se broj radnika za pojedine odjele

- SELECT department_id, COUNT(*)

- FROM employees

- GROUP BY department_id

- HAVING COUNT(*) > 3;

- - ispisuje se broj radnika za one odjele u kojima radi više od 3 radnika

- Pogrešna sintaksa! Grupna funkcija


se ne koristi u WHERE klauzuli!
- 7 grupnih SQL funkcija (sumiranja, statistika)

- redovi se grupiraju pomoću GROUP BY klauzule

- pojedini redovi se mogu eliminirati pomoću WHERE klauzule

- grupe redova se mogu uključivati ili isključivati pomoću HAVING klauzule

- podaci se mogu dohvaćati iz više tablica korištenjem jedne SELECT naredbe

- spajanje podataka iz više tablica uz uvjet da postoje zajedničke kolone (ključevi)

- PRIMARNI KLJUČ (engl. primary key) – jednoznačno određuje podatak

u tablici, a definira se na nivou jedne ili više kolona

- STRANI KLJUČ (engl. foreign key) – koristi se za vezu između

pojedinih tablica i ne mora biti jednoznačno određen unutar tablice

Glavni načini spajanja tablica:

EQUI-JOIN – povezivanje tablica pomoću zajedničke

kolone (korištenje ključeva)

-za spajanje tablica koristi se klauzula WHERE

NON-EQUI JOIN – povezivanje tablica korištenjem pojedinih SQL

Operatora

-vrijednosti unutar odredenih raspona

Ostale metode spajanja tablica:

OUTER JOIN – koristi se u slučajevima spajanja tablica kada u jednoj tablici ne postoji
vrijednost za određenu kolonu, dok u drugoj tablici ta vrijednost postoji

SELF JOIN – spajanje podataka tablice sa podacima te iste tablice

SET OPERATORS – skup operatora koji se koristi za kombiniranje rezultata


od više izvedenih SELECT naredbi na nivou kolone (stupaca)

Union izvrsava distinct.

Union all ne izvrsava.


Ugnijezdeni upiti

- koriste se za pisanje upita kada je nepoznati podatak u

uvjetnoj klauzuli

- realizira se kao upit unutar upita (SELECT unutar SELECT-a)

- ugniježđeni upit sastoji se od dva upita:

- unutarnji upit (pod-upit)

- vanjski upit (glavni upit)

1. Jednostavni pod-upit

- izvršava se samo jedanput

- kao rezultat vraća samo jedan redak

2. Pod-upit koji vraća više od jednog retka

- izvršava se samo jedanput

- kao rezultat vraća više od jednog retka pri čemu se mogu uspoređivati vrijednosti više kolona

3. Korelirani (povezani) pod-upiti

- izvršava se onoliko puta koliko ima redaka vezanih uz glavni upit

- unutarnji upit je povezan sa vanjskim upitom preko odgovarajuće kolone definirane u


vanjskom upitu

SOME/ANY

- koriste se u pod-upitima koji kao rezultat vraćaju više od jednog retka

- koriste se unutar WHERE ili HAVING klauzuli u kombinaciji sa logičkim operatorima

ALL operator

- koristi se u pod-upitima koji kao rezultat vraćaju više od jednog retka

- uspoređuje vrijednosti sa svim vrijednostima dobivenih pod-upitom

HAVING klauzula

- može se koristiti u ugniježđenim upitima


ORDER BY klauzula

- ne može se koristiti u unutarnjim upitima, već se jedino može koristiti u glavnom upitu

EXISTS operator

- koristi se za provjeru rezultata unutarnjeg upita

- ako unutarnji upit nađe podatak tada je rezultat TRUE, a u protivnom je FALSE

- postoji i negativni oblik: NOT EXISTS

- unutarnji upiti ne smiju sadržavati ORDER BY klauzulu

- preporuča se korištenje EXISTS i NOT EXISTS operatora u koreliranim ugniježđenim upitima

You might also like