skrip tao bp

Upload: damir-kalajdzic

Post on 25-Feb-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 Skrip Tao Bp

    1/25

    Osnove baza podataka

    Skup poznatih injenica koje mogu biti zapisane i imaju implicitno znaenje. Krozvrijeme se nain pohranjivanja podataka mijenjao, pa je od buenih papirnih traka ikartica dolo do diskova, CD-ova, DVD-ova.. Ona omoguava da razliiti korisnici viderazliite slike baze podataka (konkurentan rad), tako da sistem za upravljanje bazommora omoguiti korektno auriranje podataka.

    Podaci se mogu pisati uklasinim datotekamai datotekama koje su organizovane ubaze podataka.

    Baza podataka je dizajnirana i napunjena podacima za specifinu namjenu.Za svaki skup podataka potrebno je definisati osnovne elemente.

    - DBMS:Database management system(softverski sistem za upravljanje bazom podataka)je skup programa koji omoguavaju nama korisnicima definisanje, kreiranje i koritenjebaze podataka.

    - Definisanje baze:specificiranje tipova podataka, struktura podataka i uslova kojepodaci moraju zadovoljavati

    - Konstrukcija baze:priprema za pohranjivanje podataka- Manipulisanje bazom:pretraivanje, auriranje(izmjena, brisanje i upisivanje)

    Prednosti baze u odnosu na datoteke:

    U datotekama se nalaze samo podaci, a opis podataka u programima. To nije problem kodbaze podataka, gdje se uvaju opisi kao i podaci unutar same baze.Ako kod datoteka doe do promjene, onda se moraju mjenjati i svi programi koji koristetu datoteku, to i nije ba praktino. U bazama podataka, opis podataka smjeten je u emi,tako da postoji neovisnost programa od podataka.Kod datoteka se ne uvaju podaci ovezama izmeu podataka, dok se u bazi uvaju.

    U datotekama nemamo ni karakteristike nekih podataka, u bazi imamo. Nemogue uvatinedefinisane podatke u datoteci ali ne i u bazi.

    U svim bazama danas mogue je definisati metodu u samoj bazi podataka. Tokom radaprograma, on poziva metodu koja vri operacije nad podacima i rezultate isporuujeprogramu.

    Rad sa bazom podataka je sigurniji nego rad sa datotekama. Npr. Auriranje i izvrenja seurade ili do kraja, ili nikako. Kod baze podataka omoguena je kontrola pristupa, ikompletnosti auriranja. Automatski zapis kopija svih promjena u log datoteke, i Backupi recovery.

  • 7/25/2019 Skrip Tao Bp

    2/25

    Katalog baze podataka(metapodaci tj. opis podataka):Sadri opis skupova podataka injihovih veza, opis atributa svakog skupa, opis pristupnih podataka, opis prava pristupa i

    pravila za kontrolu korektnosti vrijednosti svakog polja.

    Grafika prezentacija eme naziva se dijagram eme podataka (ERD dijagram)

    DB administrator:odgovoran za autorizaciju pristupa bazi podataka, koordinira inadgleda rad baze, odgovoran za vrijeme pristupa, spaavanje i restauriranje podataka.

    Dizajnirana baza:definie skupove podataka, atributa, pristupne puteve, veze meupodacima, uslove tanosti podataka,

    - Korisnici:povremeni, neiskusni i sofisticirani korisnici-sistem analitiari(analiziraju zahtjeve krajnjeg korisnika), aplikacioni programeri, pisci

    alata, operatori, i serviseri

    Model podataka:

    - kolekcija koncepata koji slue za opis strukture(tipovi, odnosi, uslovi) podataka

    - Konceptualni model:visoki nivo, koncept blizak korisnicima- Implementacioni model:detalji o fizikom spremanju podatak

    - Fiziki model:niski nivo, kako su smjeteni podaci na eksterni medij, elementi: vrstadatoteka, veliina datoteka i zona u njima, raspored skupova podataka po datotekama,nain proirenja i pristupanja..

    Modeli bazirani na slogovima:

    Relacioni model podataka:veze izmeu slogova ostvarene na osnovu vrijednostipojedinih atributa

    Mreni model podataka:veze izmeu slogova ostvarene pokazivaima, mogua bilokakva veza izmeu slogova

    Hijerarhijski model podataka:veze o obliku stabla 1:N (ne moe u obliku mree)

    Postoje jo objektni modeli podataka i objektno relacioni modeli podataka(nisubazirani na slogovima). // ista podjela vrijedi i za klasifikaciju baza podataka

    Podjela broju korisnika:single-user i multiuser bazePodjela broju lokacija:centralizovane(na jednom raunaru) i distribuirane(na vieraunara)

  • 7/25/2019 Skrip Tao Bp

    3/25

    Jezici baza podataka:

    DDL - data definition language,SDL - storage definition language(za fizike karakteristike baza),DML data manipulation language (neproceduralni i proceduralni jezik)VDL view definition language

    DB System utilities:

    Loading program za brzo punjenje baze podatakaBackup Program za spaavanje podatakaFile reorganization program za reorganizaciju podatakaPerformans monitoring programi za nadzor efikasnosti rada baze podataka

    Osnovni pojmovi i tipovi veza izmeu tabela:

    Entitet:objekat (student, zaposlenik..)Atribut:osobina objekta (ime, plata..) - ime, tip, treba biti prostog tipa, sloeni se trebajurazbiti na proste

    Veza:veza izmeu entiteta (student upisan na fakultet..) - ostvaruje se pomouvrijednosti atributa u objektimaVrste veza su 1:N, 1:1, N:M. Predstavljaju se pomou konektora(roditelj-dijete)

    1:N vezaznai da kopija primarnog kljua jedne tabele se smjeta u drugu tabelu kaostrani klju, i ne predstavlja klju za tabelu u kojoj je smjeten.

    Vrijednost primarnog kljua u tabeli A moe biti povezan minimalno sa jednom imaksimalno sa jednom vrijednosti primarnog kljua u tabeli B, dok u tabeli B primarniklju moe biti povezan sa minimum ni jednim a maksimalo sa N primarnih kljueva u

  • 7/25/2019 Skrip Tao Bp

    4/25

    tabeli A. Ako je negdje vrijednost null onda se veza oznaava sa o.

    Tabela sa maksimalnim povezivanjem od N veza (roditelj veza) se zove roditelj-tabela.Tabela sa maksimalnim maksimalnim povezivanjem povezivanjem od 1 veze (dijete veza)

    se zove dijete-tabela.

    1:1 veza:

    Ukoliko je veza neobavezna, zavisnost kljua ne moe biti koritena, jer kombinacijakljua ne moe biti neobavezna. Za rjeenje se koristi null klju.

    N:M veza:

    Za ovakav tip veza mora se kreirati trea tabela, koja se zove tabela veze.U njoj se nalaze kopije primarnih kljueva tabela koje su u vezi, a njen primarni klju jesastavljen od 2 strana kljua.

    Primjer veza izmeu 2 tabele(binarna):

    Tabela R(tabela veze) je dijete-tabela za 2 roditelj tabele A i B.

  • 7/25/2019 Skrip Tao Bp

    5/25

    Veza izmeu n tabela(n-arna):

    Vie-na-vie primjer:

  • 7/25/2019 Skrip Tao Bp

    6/25

    Objekti u bazi podataka

    Imena objekata poinju malim slovom, dugi su od 1 do 30 karaktera, sadre slova,brojeve, _, $ i #, i ne smiju biti rezervisane rijei.

    Kreiranje tabele:

    Moramo imati create table privilegiju, jer tabele koje pripadaju drugim korisnicima nisuvidljive u okviru radne eme baza podataka. Mora se specificirati naziv tabele, naziv, tip iveliina kolone!

  • 7/25/2019 Skrip Tao Bp

    7/25

    Tabele ORACLE baze podataka

    Osnovni tipovi podataka u Oracle DB:

    Izrazi:

    -Korisnike tabele:kreira i odrava korisnik, sadri njegove podatke- Data Dictionary: kreirane i odravane od strane Oracle database system, i sadriinformacije o bazi podataka.

  • 7/25/2019 Skrip Tao Bp

    8/25

    - Za prikaz tabela koje je kreirao korisnik koristimo naredbu:SELECT *FROM ime_tabele.

    - Za prikat tipova objekta koristimo:SELECT DISTINCT tip_objekta FROM ime_tabele,

    gdje je tip_objekta zapravo ime kolone koju elimo da prikaemo iz tabele.

    - Za katalog koristimoSELECT *FROM ime_kataloga

    Ukoliko trebamo dodavati nove kolone, modifikovati postojee, ili definisati defaultvrijednosti za nove kolone koristimo ALTER TABLEizraze.

    - Dodavanje kolone:ALTER TABLE ime_tabele ADD ( ime_nove_kolone Tip(veliina));

    - Modifikovanje kolone (tip, veliina i dafault-na vrijednost se moe mijenjati):

    ALTER TABLE ime_tabele MODIFY(ime_kolone Tip(veliina));

    -Brisanje kolone:ALTER TABLE ime_tabele DROP COLUMN ime_kolone;

    - Za oznaavanje jedne ili vie kolona za ne koritenje koristimo SET UNUSED.DROP UNUSED COLUMNS brie one kolone koje su oznaene kao UNUSED:

    ALTER TABLE tabela SET UNUSED(kolona);

    - Brisanje tabele:DROP TABLE ime;

    - Mijenjanje imena tabele:RENAME ime_tabele TO novo_ime;

    -Brisanje slogova iz tabele(trankovanje tabele):TRUNCATE TABLE ime; // nakon ove komande nije mogue vratiti podatke

    -Dodavanje komentara tabelama:COMMENT ON TABLE ime_tabele IS Komentar;

    - Komentare je mogue vidjeti putem sistemskih pogleda putem data dictionary-a:

    ALL_COL_COMMENTSUSER_COL_COMMENTS

    ALL_TAB_COMMENTS

    USER_TAB_COMMENTS

  • 7/25/2019 Skrip Tao Bp

    9/25

    Podjela SQL iskaza:

    Osnovni SQL iskazi:

    SELECTidentificira koje kolone e se koristiti za prikaz, FROM iz kojih tabela.SQL iskaz moe pisati vie linija, ne mogu se koristiti skraenice kljunih rijei, i nije

    case sensitive.

    Default-a poravnanja:lijevo datumi i karakterne vrijednosti, a desno numerikeDefault-i prikazi naziva kolona i podataka:nazivi velikim, podaci malim slovima.

    Aritmetiki izrazi: +, - , *, / (oni koji koriste NULL, prosljeuju kao rezultat opetNULL)Null vrijednost:nepoznata, ili nije pronaena vrijendost.

  • 7/25/2019 Skrip Tao Bp

    10/25

    Alijasi za kolone: preimenovanje naziva kolona tokom pisanja iskaza, koristi se kljunarije AS.

    SELECT ime_kolone AS alijas FROM ime_tabele;

    Operator spajanja: || , daje novu kolonu koja sadri vrijednosti svih spojenih kolona.

    - stringove pisati pod jednostrukim navodnicima:string neki

    - Eliminacija duplih slogova sa DISTINCT:SELECT DISTINCT ime_kolone FROM ime_tabele;

    - DESCRIBEse koristi za prikazivanje strukture tabele.

    Restrikcije i sortiranje

    Ogranienje slogova- Za vraanje slogova prilikom dohvatanja putem upita koristi se WHEREklauzula- Ona uvijek slijedi nakon SELECT klauzule upita

    - Format je[WHERE uslov(i)]

    Stringovi i datumi- Karakterni stringovi i datumi su vrijednosti koji se definiu putem jednostrukih znakanavoda -' '.- Karakterne vrijednosti sucase sensitive.- Default-ni format datuma je 'DD-MON-YY'

  • 7/25/2019 Skrip Tao Bp

    11/25

    Operatori poreenja:- Osnovni operatori poreenja za uslove su: =(jednako), (razliito), >, >=,

  • 7/25/2019 Skrip Tao Bp

    12/25

    Spajanje tabela

    Tipovi spajanja:-Oracle 8i i raniji

    - Equijoin

    - Non- Equijoin- Outer join- Self join

    -SQL 1999- Cross joins- Natural joins- Using klauzula- Full ili outer joins sa obje strane- Proizvoljan uslov spajanja za outer joins

    - Spajanje (JOIN) je spajanje dvije ili vie tabela u okviru jednog upita.

    - Podrava uslove spajanja putem WHERE klauzule.-Format je: (npr.)[WHERE tabela1.kolona1=tabela2.kolona2]- Sugerie pisanje prefiksa(naziva tabele) za kolone koje imaju isto ime.

    Alijasi za nazive tabela

    - Alijasi su zamjenska imena za tabelu- U upitu se koristi na isti nain kao to bi se koristio i naziv tabele- Upotrebom alijasa jednostavno je precizirati kojoj tabeli kolona pripada

    - Format je[FROM tabela1 t1, tabela2 t2] gdje su t1 i t2 alijasi njihovih tabela

    Kartezijanski proizvod-Kartezijanski proizvodnastaje kada se:

    Izostavi uslov spajanja tabela u WHERE klauzuli Kada je uslov spajanja pogrean Kada se slogovi prve tabele spajaju sa svim slogovima druge tabele

    - Da bi izbjegao Kartazijanski proizvod mora se ukljuiti uslov spajanja u WHERE iliFROM klauzuli

    CROSS JOIN- CROSS JOINspajanje daje rezultat unakrsnog spajanja (Kartazijanskog produkta)dvije tabele.

    -Format je[ FORM tabela1 CROSS JOIN tabela2]- NPR: SELECT last_name, departement_nameFROM employees

    CROSS JOIN departments;

  • 7/25/2019 Skrip Tao Bp

    13/25

    -EQUIJOIN- je spajanje tabela po jednakosti- NPR: SELECT ...

    FROM emp, deptWHERE emp.deptno=dept.deptno;

    -NON EQUIJOINS je spajanje tabela po nejednakosti- NPR: SELECT ...

    FROM emp, deptWHERE emp.sal BETWEEN s.min_sal AND s.max_sal

    -SELF JOINS je spajanje tabela sa samom sobom- NPR: SELECT ...

    FROM emp worker, emp managerwhere worker.mgr=manager.empno;

    INNER i OUTER JOIN- INNER naspram OUTER spajaju (?)- U SQL: 1999, spajanje dvije tabele vraa samo uparene slogove u INNER Join- OUTER join spajanja dvije tabele je kao i INNER join proireno sa neuparenimslogovima lijeve (LEFT) ili desne strane tabele (RIGHT)- FULL OUTER JOIN spajanja dvije tabele je kao spajanje koji vraa sve slogove koji surezultat INNER join kao i sve slogove LEFT i RIGHT join-a

    NATURAL JOIN- NATURAL JOIN je bazirano na spajanju dvije tabele po svim poljima koje imaju isti

    naziv- U rezultatu rezultatu iz dvije tabele se biraju redovi koji imaju istu vrijednost u svimkolonama sa istim nazivom- Ako kolone sa istim nazivom imaju razliite tipove podataka pojavit e se greka

    NPR: SELECT ...FROM departments NATURAL JOIN locations;

    ON klauzula- Uslov spajanja kod prirodnog (Natural JOIN) spajanja je osnova za spajanje po

    jednakosti po svim kolonama koje imaju isti naziv- Za specificiranje proizvoljnog uslova ili spajanje po specifinim kolonama koristi se ON

    klauzula- Uslov spajanja je odvojen od drugih uslova pretraivanja

    -Format je [FROM tabela1 t1 JOIN tabela2 t1 ON (t1.kolona1=t2.kolona2)]

    Spajanje putem WHERE klauzule

    -Format je[FROM tabela1 t1, tabela2 t2 WHERE t1.kolona1=t2.kolona2]

  • 7/25/2019 Skrip Tao Bp

    14/25

    USING klauzula- Ako kolone imaju ista imena, a razliite tipove, NATURAL JOIN klauzula se moezamijeniti sa USING klauzulom koja specificira kolone koje slue za spajanje po

    jednakosti. (USING i NATURAL JOIN se uzajamno iskljuuju)

    - USING klauzula klauzula se koristi koristi za uparivanje uparivanje po jednoj kolonikada se u tabelama ima vie kolona sa istim imenom- Alijas tabela ili naziv tabele se ne koristi pri referenciranju kolona u uslovu spajanja

    NPR: SELECT ...WHERE employees e JOIN departments d

    USING (department_id);

    Dodatni uslovi prilikom spajanja tabela- Za spajanje n tabela potrebno je minimum n-1 uslov spajanja.-Pored ovih osnovnih i obaveznih uslova pri spajanju tabela mogu se dodati i jo nekiuslovi potebni za specifinije pretraivanje podataka

    Kreiranje tabela

    - Kreiranje tabele se vriCREATE TABLEklauzulom- NPR: CREATE TABLE OSOBA (Maticni_broj integer primary key,

    Ime Varchar(50),

    Prezime Varchar(50), ...)

    -Primary key oznaava primarni klju tabele.- U argumentima koji su navedeni u zagradi mora se navesti samo jedan primarni kljutabele, ostali kljuevi(atributi) tabele te eventualne reference (kljuevi preko kojih se

    povezujemo sa drugim tabelama).

    Veza 1:n

    CREATE TABLE ODJEL (OdjelID integer primary key,

    Naziv Varchar(50),Adresa Char(40));

    CREATE TABLE OSOBA (MaticniBroj Char(13) primary key,

    Ime Varchar(30),

    DatumRodjenja Date,OdjelID integer references osoba (OdjelID));

  • 7/25/2019 Skrip Tao Bp

    15/25

    Veza n:m

    CREATE TABLE PROIZVOD (ProizvodID integer primary key,Naziv Varchar(50),

    Cijena Integer,

    Stanje Integer);

    CREATE TABLE NARUDZBA (NarudzbaID integer primary key,Kupac Varchar(50),

    Datum Date);

    CREATE TABLE STAVKE_NAR (StavkaID Integer primary key,ProizvodID Integer references proizvod (ProizvodID),

    NarudzbaID Integer references narudzba (NarudzbaID),

    Kolicina Integer);

    Agregacija je dio od

  • 7/25/2019 Skrip Tao Bp

    16/25

    Specijalizacija

    SQL Funkcije

    - Dva osnovna tipa SQL funkcija:- Single-row funkcije- Multiple-row funkcije

    Single-row funkcije- Prihvataju argumente i vraaju jednu vrijednost- Vraaju rezultat za svaki izabani red- Mogu modificirati tip podatka- Mogu biti ugnijedene- Format je:[ime_funkcije (kolona(e)|izraz (arg1, arg2,..);]

    Funkcije za rad sa karakterima- Funkcije za konverziju iz malih u velika i obrnuto

    -LOWER('SQL Course') -> sql course-UPPER('SQL Course') -> SQL COURSE-INITCAP('SQL Course') - > Sql Course

    - Funkcije za manipulacije karakterima-CONCAT(string1, string2 ili kolone) funkcija za spajanje dva karaktera-SUBSTR('string', od koje pozicije(int), koliko(int)) - koristi se za izdvajanje

    podstringa iz stringa koji se prosljeuje kao prvi argument funkcije-LENGTH(kolona ili 'string') duina stringa-INSTR(kolona ili 'string', 'ta se pretrauje', odakle se vri pretraivanje(int), koji

    karakter u stringu se uzima u obzir prilikom pretrage(int)) - koristi se za pronalaenjepozicije u stringu koja posjeduje karakter koji se pretrauje

    -REPLACE(kolona ili 'string', 'ta mjenja', 's im') - koristi se za zamjenuodreenog karaktera ili niza karaktera u stringu

    -RTRIMiLTRIM(kolona ili 'string', 'karakter') - iz stringa izuzima s lijeve ili desnestrane odreene karaktere definisane putem drugog argumenta funkcije

  • 7/25/2019 Skrip Tao Bp

    17/25

    -LPADi RPAD(kolona ili 'string', koliko(int), 'ega') - koriste za nadopunjavanjekarakternih vrijednosti do odreene duine karakternim oznakama definisanim krozargument funkcije

    Funkcije za rad sa brojevima

    - ROUND(broj(double), br. dec mjesta(int)) zaokruuje na odreen broj dec. mjesta- TRUNC(broj(dobule), do kojeg mjesta(int)), - Odbacuje sve vrijednosti doodgovarajueg decimalnog mjesta- MOD(br1, br2) - Vraa ostatak od dijeljenja dva broja

    Rad sa datumima- Datumi se pohranjuju u internom numerikom formatu: vijek, godina, mjesec, dan, sat,minuta, sekunda- Defaultni ispis datuma je u formatu: DD-MON-YY-SYSDATEfunkcija vraa datum i vrijeme

    - Dodavanje ili oduzimanje broja od datuma kao rezultat vraa opet datum sa dodatim/oduzetim brojem dana- Oduzimanjem dva datum kao rezultat vraa broj dana izmeu navedena dva datuma

    -Funkcije za rad sa datumima(prosljeivanje datuma funkcijama se vri defaultformatu, sati u formatu HH:MM:SS a naziv dana 'PUNI NAZIV DANA'

    -MONTHS_BETWEEN(datum1, datum2) - Vraa broj mjeseci izmeu dvadatuma

    -ADD_MONTHS(datum, broj_mjeseci) - Dodaje kalendarski mjesec na datum-NEXT_DAY(datum, dan) - Sljedei dan od specificiranog datuma-LAST_DAY(datum) - Zadnji dan u mjesecu

    -ROUND(datum vrijeme) - Zaokruenje datuma-TRUNC(datum vrijeme) - Skraivanje datum

    Funkcije konverzije

    -TO_CHAR(date, 'format datuma') -

  • 7/25/2019 Skrip Tao Bp

    18/25

    -TO_NUMBER(karakteri_koji_se_konverzuju, format) - namjena ove funkcije je

    konverzija karaktera u broj-TO_DATE(niz karaktera, format datuma')- pretvara niz znakova u datumsku vrijednost

    NVL Funkcija- NVL funkcija konvertujeNULLu aktuelnu vrijednost- Prilikom konverzije NULL vrijednosti aktuelna vrijednost mora biti istog tipa kao ikolona koja se konvertuje i tipovi podataka moraju odgovarati

    - Single-Row funkcije mogu seugnijedavatina bilo kojem nivou.

    Manipulacija podacima

    DML Data Manipulation Language- DML naredbe se izvravaju kada:

    Dodajete novi red u tabelu

    Modifikujete postojee redove u tabeli Briete Briete postojee postojee redove iz tabele

    INSERT naredba- Dodavanje novog reda u tabelu koristei INSERT naredbu- Ovako se moe ubacivati samo jedan red!

    - Format:[INSERT INTO naziv_tabele(kolona1, kolona2, kolona3..)

    VALUES(vrijednost1, vrijednost2, vrijednost3...]- Ovo je ubacivanje novog reda koji ima vrijednosti za svaku kolonu- Karakterni i podaci tipa datum se piu u navodnicima- Datumi se ubacuju preko funkcije To_Date

    - Ubacivanje redova sa NULL vrijednostima:- Implicitni metod: Izostavljanje kolona iz liste kolona- Eksplicitna metoda: Navoenje NULL vrijednosti u VALUES dijelu komande

    UPDATE naredba-Auriranje postojeih podataka u tabeli koristei UPDATE naredbu- Svi redovi se auriraju kada ne postoji WHERE klauzula- Za auriranje samo odgovorajuih redova, kojim se dodjeljuje odgovarajua vrijednost

  • 7/25/2019 Skrip Tao Bp

    19/25

    za kolunu/kolone tabele, koristi se WHERE klauzula- NPR: UPDATE employees

    SET last_name = PhenixWHERE employee_id = 102;

    -Integrity constraint error nastaje kada se mijenjaju vrijednosti koji nisu u opsegu

    dozvoljenih vrijednosti za navedenu kolonu

    DELETE naredba- Brisanje postojeih podataka u tabeli koristei DELETE naredbu- Svi redovi se briu kada ne postoji WHERE klauzula, Za brisanje samo odgovarajuihredova koristi se WHERE klauzula- NPR: DELETE FROM departments

    WHERE department_name = 'DEVELOPMENT';-Integrity constraint error greka kada se pokuava brisati red u tabeli u kojoj je prim.klju referenca na neku drugu tabelu

    Kopiranje slogova iz drugih tabela- Ne koristi se VALUES klauzula- Broj kolona u insertu mora odgovarati broju kolona u SELECT klauzuli- NPR: INSERT INTO managers (id, name, salary, hiredate)

    SELECT empno, ename, sal, hiredate

    FROM empWHERE job = 'MANAGER';

    Grupisanje podataka

    Grupne funkcije- rade nad skupinom redova i kao rezultat vraaju jedan red.

  • 7/25/2019 Skrip Tao Bp

    20/25

    Tipovi grupnih funkcija: AVG i SUM(za numerike podatke), COUNT(ukupan brojslogova sa ne NULL vrijednostima), MAX, MIN(za vrijednosti), STDDEV, VARIANCE

    - NVL:forsira da grupne funkcije prihvate i null vrijednost kolona.- GROUP BY:za podjelu redova u tabeli na manje grupe

  • 7/25/2019 Skrip Tao Bp

    21/25

    Greke pri koritenju group funkcija:- Sve kolone ili izrazi iz SELECT liste koji nisu grupne funkcije moraju biti u GROUP

    BY klauzuli.- Ne moe se koristiti u WHERE klauzuli;

    Having klauzula:

    Podupiti

    - Podupit se izvrava jednom prije izvravanja glavno upita, i njegovo izvrenje se koristiu osnovnom upitu.

    - Potrebno je staviti podupit u zagrade, na desnoj strani operatora usporedbe, i on nesmije sadrati ORDER BY klauzulu.

  • 7/25/2019 Skrip Tao Bp

    22/25

    Vrste podupita:

    Single-row:

    - Vraa samo jedan red

    - Koriste se operatori: =, >=,

  • 7/25/2019 Skrip Tao Bp

    23/25

    Upareni parovi podataka:

    - Vrijednosti iz vie kolona u unutranjem upitu(podupitu) se poredi sa parovimapodataka osnovnog upita, a ne njihove pojedinane vrijednosti.

    Neupareni parovi podataka:

    - Vrijednosti iz vie kolona u unutranjem upitu se poredi sa pojedinanim vrijendostimau ostanovom upitu, a ne sa parovima podataka.

    NULL vrijednosti:u osnovnom upitu, i u podupitu poreenje sa NULL vrijednou neevratiti nikakav rezultat. I NULL vrijendosti se ne mogu porediti sa =, >=,

  • 7/25/2019 Skrip Tao Bp

    24/25

    - NPR: SELECT emp_id, job_idFROM employeesMINUS

    SELECT emp_id, job_idFROM job_history

    - Rezultat se sortira u rastuem poretku osim u UNION ALL operatoru

    Kontrola pristupa

    Privilegije- Sistemske privilegije: privilegije za pristup bazi podataka- Privilegije objekata: manipulacija sa sadrajem objekata u bazi podataka

    Sistemske privilegijePrivilegija DBA je jedna od najaveih privilegija u bazi podatka koji ima prava da:

    Kreiran novog korisnika u sistemu Brie postojeeg korisnika sistema Brie tabele

    Vri backup tabela

    - Kreiranje korisnika se izvrava putemCREATE USER iskaza-NPR: CREATE USER user

    IDENTIFIED BY password

    - Programer bi trebao posjedovati sljedee privilegije u bazi podataka: CREATE SESSION CREATE TABLE CREATE SEQUENCE CREATE VIEW

    CREATE PROCEDURE

    - Sistemke privilegije dodjeljuju se novo kreiranom korisniku u sistemu putem GRANTiskaza- NPR: GRANT create table, create squence, create view

    TO user

  • 7/25/2019 Skrip Tao Bp

    25/25

    Uloge

    - Kreiranje uloge:CREATE ROLE manager;

    - Odobravanje privilegija ulogama:GRANT create table, create view

    TO manager

    iliGRANT manager TO user1, user2..

    - Promjena lozinke:ALTER USER user1

    IDENTIFIED BY password

    Privilegije nad objektima baze podataka-Privilegije nad objektima variraju od objekata do objekata baze podataka- Vlasnik objekta ima sve privilegije nad objektom- Vlasnik objekta moe dodjeljivati posebne privilegije nad datim objektom drugimkorisnicima sistema- NPR: GRANT privilegija(kolona)

    ON objekatTO user ili PUBLIC

    [WITH GRANT OPTION];

    Ukidanje privilegija

    -Pozivom REVOKE izraza oduzimaju se dodijeljene privilegije drugim korisnicimasistema- Privilegija dodijeljene putem WITH GRANT OPTION e takoer biti oduzete oddrugih korisnika u sistemu- NPR: REVOKE privilegija(e)

    ON objekat

    FROM user