relacionim bazama podataka (1)

Size: px
Start display at page:

Download "relacionim bazama podataka (1)"

Transcription

1 Tema 09: SQL - jezik za rad s relacionim bazama podataka (1) dr Vladislav Miškovic vmiskovic@singidunum.ac.rs Studijski program Poslovna ekonomija 2016/2017

2 Sadržaj 1. Jezik SQL (Structured Query Language) 2. Kreiranje objekata 3. Pogledi 4. Postavljanje upita 2

3 Jezik SQL Grupe naredbi jezika SQL 1. Jezik SQL (Structured Query Language) Režimi upotrebe jezika SQL Operatori u jeziku SQL Tipovi podataka u jeziku SQL Sintaksa naredbi jezika SQL 3

4 Jezik SQL Strukturni upitni jezik za RBP - modifikovana rel. algebra Razvio ga je IBM u okviru projekta System R Danas je SQL ugrađen u sve vodeće SUBP ANSI standard (American National Standards Institute) Standardizacija: Zaštita programa od zastarevanja Vertikalna kompatibilnost Prenosivost programa na druge računare Standardizacija za relacione BP Prvi standard 1986, dopunjen 1989 Značajnije dopune (ANSI SQL), 1995., 1999., Razvoj SQL-a traje i danas 4

5 Jezik SQL Neproceduralan, deklarativan jezik: ŠTA, a ne KAKO će nešto biti urađeno Šta SQL može da uradi? SQL omogućava: pristup bazi podataka pronalaženje podataka u bazi podataka dodavanje novih podataka izmene postojećih podataka brisanje podataka iz baze kreiranje novih baza podataka kreiranje novih tabela u bazi podataka kreiranje uskladištenih procedura u bazi podataka kreiranje pogleda u bazi podataka postavljanje prava pristupa tabelama, procedurama i pogledima 5

6 Jezik SQL Svaki programski jezik obuhvata podatke i manipulacije nad tim podacima U jeziku SQL: objekti manipulacije su relacije rezultati manipulacija su relacije Terminologija: relacija tabela n-torka red (vrsta) Vrednosti u n-torkama za jedan atribut kolona SQL se zasniva na relacionom računu n-torki 6

7 Grupe naredbi jezika SQL SQL sadrži naredbe za: definisanje relacija (shema) ažuriranje podataka (unos, izmena, brisanje) postavljanje upita sortiranje i formatiranje ispisa aritmetičke operacije nad podacima definisanje pogleda (view) kontrolu sigurnosti, itd... SQL podržava 3 osnovne funkcije BP: definicije, manipulacije i kontrole 7

8 Jezik SQL: definicije Definicija BP: struktura, koje tabele, koji atributi, koji tipovi, koja ograničenja, pomoćni indeksi za direktan pristup (DDL Data Definition Language) CREATE TABLE kreiranje tabele u BP DROP TABLE uklanjanje tabele iz BP ALTER TABLE izmena definicije tabele CREATE INDEX kreiranje indeksa DROP INDEX uklanjanje indeksa CREATE VIEW kreiranje pogleda DROP VIEW uklanjanje pogleda 8

9 Manipulacija BP: upit nad bazom podataka (izveštavanje), ažuriranje (unos, izmena, brisanje) (DML Data manipulation Language) SELECT prikaz željenog sadržaja RBP UPDATE izmena vrednosti kolona tabele DELETE izbacivanje redova tabele INSERT dodavanje redova u tabelu Jezik SQL: manipulacije 9

10 Kontrola pristupa podacima: koji korisnici imaju pristup, kojim podacima, šta mogu da rade sa tim podacima (DCL Data Control Language) Jezik SQL: kontrole GRANT - dodeljivanje ovlašćenja nad objektima baze drugim korisnicima od strane vlasnika REVOKE - ukidanje ovlašćenja dodeljenih pomoću naredbe GRANT 10

11 Režimi upotrebe jezika SQL SQL je neodgovarajući naziv, jer nije samo upitni jezik SQL podržava dva režima rada s BP: Interaktivni: korisnik zadaje jednu po jednu SQL naredbu, preko tastature, ishod se prikazuje na monitoru, pristup BP je ograničen jedino pravima korisnika Programski (batch): korisnik pokreće program u kome su ugrađene SQL naredbe, pristup BP je ograničen pravima korisnika i sadržajem programa SQL blokovi ugrađeni u klasični viši programski jezik 11

12 Operatori u jeziku SQL Logičke operacije: AND, OR i NOT Operacije poređenja: =, <, >,,, IN, ANY, ALL, BETWEEN, IS NULL, LIKE, Skupovne operacije: UNION, INTERSECT, EXCEPT Funkcije nad skupovima podataka: COUNT, SUM, MIN, MAX, AVG Izrazi se mogu grupisati pomoću zagrada 12

13 Tipovi podataka u jeziku SQL INTEGER: (INT), ceo broj sa ili bez predznaka čiji broj cifara zavisi od konkretne implementacije SMALLINT: ceo broj sa brojem cifara manjim u odnosu na INTEGER REAL: realni broj sa ili bez predznaka, preciznost zavisi od konkreten implement. DOUBLE PRECISION: (DOUBLE), proširena preciznost u odnosu na REAL DECIMAL(m,n): (DEC(m,n)), decimalni broj sa ili bez predznaka, m-cifara, od čega n-decimalnih 13

14 Tipovi podataka u jeziku SQL CHARACTER(n):(CHAR(n)),niz znakova fiksne dužine n konstanta tipa CHAR se piše između jednostrukih navodnika VARCHAR(n) - niz znakova dužine najviše n TEXT tekst proizvoljne dužine Praktično sve implementacije SQL-a podržavaju dodatne tipove podataka kao što su: BOOLEAN TRUE/FALSE (tačno/netačno) DATE datum ( ) TIME vreme ( 16:50:07 ) 14

15 Tipovi podataka u jeziku SQL SQL ne pravi razliku između velikih i malih slova (case insensitive). Sledeće dve naredbe su jednake: select prezime from osoba where ime = Marko ; SELECT prezime FROM osoba WHERE ime = Marko ; Komentari: -- ovo je komentar /* ovo je komentar koji se proteže u više redova */ Za nazive (imena) ne smeju se koristiti rezervisane reči 15

16 Sintaksa naredbi jezika SQL Separator naredbi: naredba1; naredba2; Format naredbi - sledeće naredbe su ispravno napisane: SELECT * FROM student WHERE BrInd 100; SELECT * FROM student WHERE BrInd 100; SELECT * WHERE FROM student BrInd 100; 16

17 2. Kreiranje objekata 1. Kreiranje baze podataka 2. Kreiranje tabela 3. Uklanjanje tabela 4. Kreiranje indeksa 5. Izmene tabela 17

18 2.1 Kreiranje baze podataka Jedan DBMS može da upravlja sa više baza podataka CREATE DATABASE moja_baza; CREATE DATABASE prodaja; CREATE DATABASE biblioteka; USE DATABASE prodaja; Korišćenje baze podataka DROP DATABASE prodaja; Uklanjanje baze podataka 18

19 2.2 Kreiranje tabela Prilikom kreiranja tabele (definicija njene strukture i osobina) neophodno je navesti: Ime tabele, mora biti unikatno u BP Ime svake kolone, mora biti unikatno unutar tabele Tip svake kolone Jedno ili više ograničenja za kolone, koje ih imaju Jedno ili više ograničenja za svaku tabelu, ako postoje 19

20 Kreiranje tabela Sintaksa naredbe kreiranja tabele: CREATE TABLE ImeTabele ( ImeKolone TipKolone OgraničenjeKolone... {, ImeKolone TipKolone OgraničenjeKolone...} [OgraničenjeTabele {, OgraničenjeTabele}]); ImeTabele i ImeKolone pravila koja važe za većinu promenljivih: prvi znak je slovo, ostali znaci su slova, cifre, posebni znaci itd. TipKolone SQL tip podataka Uz svaku kolonu mogu se navesti jedno ili više ograničenja za tu kolonu 20

21 Kreiranje tabela Osnovne klauzule OgraničenjeKolone (ograničenje integriteta): NOT NULL u koloni nije dozvoljena NULL UNIQUE u koloni nije dozvoljeno ponavljanje iste vrednosti PRIMARY KEY kolona je primarni ključ, nije dozvoljena NULL vrednost niti ponavljanje vrednosti CHECK (Predikat) svaka vrednost u koloni mora da zadovolji uslov zadat logičkim izrazom Predikat. U izrazu se ne mogu navoditi druge kolone 21

22 Kreiranje tabela DEFAULT = Konstanta - ako se prilikom unošenja jednog reda podataka u tabelu za kolonu ne zada vrednost, podrazumeva se Konstanta REFERENCES ImeTabele - specifikacija referencijalnog integriteta za jednu kolonu kolona je strani ključ u odnosu na tabelu ImeTabele mora imati ili vrednost primarnog ključa u toj tabeli ili NULL (ako nema NOT NULL ograničenja) 22

23 Kreiranje tabela Za celu tabelu se mogu zadati: ni jedno, jedno ili više ograničenja Ograničenja mogu da važe za jednu ili više kolona UNIQUE(ListaKolona) nije dozvoljeno ponavljanje istih vrednosti kombinacija vrednosti PRIMARY KEY(ListaKolona) navedene kolone su primarni ključ,... konstrukcija ListaKolona označava: ImeKolone {, ImeKolone} 23

24 Kreiranje tabela Klauzule za dinamičku specifikaciju referencijalnog integriteta šta se dešava u slučaju pokušaja brisanja reda u ciljnoj tabeli ImeTabele, šta se dešava u slučaju pokušaja izmene vrednosti primarnog ključa u ciljnoj tabeli ImeTabele DELETE OF ImeTabele {RESTRICTED CASCADES NULLS} UPDATE OF ImeTabele {RESTRICTED CASCADES NULLS} 24

25 Kreiranje tabela Sva ograničenja navedena u CREATE TABLE su aktivna u svakom trenutku postojanja tabele SUBP će odbiti svaki pokušaj sa tabelom, koji je u suprotnosti sa ograničenjima Olakšica za projektante i programere BP: provere se ne moraju ugrađivati u aplikativne programe Deklarativna moć naredbe CREATE TABLE je od velikog značaja, naročito kod dinamičke specifikacije referencijalnog integriteta 25

26 Primer (1/5) 26

27 Primer (2/5) Student(BrInd, Ime, Prezime, Adresa, Telefon, ) Profesor(IdProf, Ime Prezime, NaucnoZvanje) Predmet(IdPredmet, Naziv) Ispit(Brind, IdPredmet, IdProf, Ocena, Sala, Datum, Vreme) 27

28 Primer (3/5) Kreiranje tabele Studenti CREATE TABLE Studenti ( BrInd INT PRIMARY KEY CHECK(0<BrInd 300), Ime VARCHAR(20) NOT NULL, Prezime VARCHAR(20) NOT NULL, Adresa VARCHAR(50) NOT NULL, Telefon VARCHAR(15), VARCHAR(30)); 28

29 Primer (4/5) Kreiranje tabele Predmet CREATE TABLE Predmet ( IdPredmet VARCHAR(20) PRIMARY KEY, Naziv VARCHAR(20) NOT NULL UNIQUE); 29

30 Primer (5/5) CREATE TABLE Ispit ( BrInd INT REFERENCES Student, IdPredmet INT REFERENCES Predmet, IdProf INT REFERENCES Profesor, Ocena INT NOT NULL CHECK (5 Ocena 10), Sala CHAR(5), Datum DATE, Vreme TIME, UNIQUE (Sala, Datum, Vreme), PRIMARY KEY (BrInd,IdPredmeta,IdProf), UPDATE OF Student CASCADES, DELETE OF Student RESTRICTED, UPDATE OF Predmet CASCADES, DELETE OF Predmet RESTRICTED, UPDATE OF Profesor CASCADES, DELETE OF Profesor RESTRICTED); 30

31 2.3 Uklanjanje tabela Izbor dinamičke specifikacije referencijalnih integriteta, kod uklanjanja predstavlja delikatnu operaciju Ako se nepromišljeno koristi RESTRICTED, nameće se krut režim, npr. ne mogu se ukloniti pogrešno uneti podaci iz tabele Naredba uklanjanja tabele iz BP DROP TABLE ImeTabele ; Brišu se u BP sve informacije o tabeli ImeTabele Zavisno od SUBP-a: tabela koja se uklanja mora biti prazna (u suprotnom SUBP neće izvršiti tu naredbu) ili ne mora biti prazna (SUBP će obavezno izvršiti naredbu) 31

32 2.4 Kreiranje indeksa Indeks pomoćna datoteka za ubrzanje pristupa podacima u osnovnoj datoteci povećanje brzine obrade podataka u osnovnim tabelama analogija s indeksima na kraju knjiga U osnovnoj datoteci zapisi se nalaze u nekom fizičkom redosledu (redosled unošenja) Indeks se može se preuređivati u rastućoj ili opadajućoj vrednosti indeksnog niza Sintaksa naredbe kreiranja indeksa: CREATE [UNIQUE] INDEX ImeIndeksa ON ImeTabele (ListaKolona) 32

33 Kreiranje indeksa UNIQUE opcija da indeks mora biti unikatan. U tabeli na koju se indeks odnosi ne sme se više puta ponoviti vrednost ListaKolona ImeIndeksa unikatni naziv indeksa u BP Ime Tabele tabela na koju se indeks odnosi ListaKolona navođenje jedne ili više kolona, po kojima se formira INDEKS Nad istom tabelom se može definisati više indeksa (za različite pristupe podacima) Indeks se može kreirati odmah (dok je tabela prazna) ili naknadno 33

34 Kreiranje i uklanjanje indeksa Klauzula UNIQUE u definiciji indeksa ima efekat na klauzulu UNIQUE kod tabele: SUBP odbija svaku izmenu podataka u tabeli koja narušava unikatnost indeksa SUBP odbija kreiranje unikatnog indeksa za tabelu čiji zatečeni sadržaj narušava tu unikatnost Indeks se može bilo kada i bez obzira na sadržaj svoje tabele ukloniti naredbom: DROP INDEX ImeIndeksa 34

35 Indeksi Primer: Ako se želi brz pristup podacima u tabeli Ispit po dva osnova, po BrInd i IdPredmeta, kreiraju se dva indeksa: CREATE INDEX Ispit_i1 ON Ispit(BrInd); CREATE INDEX Ispit_i2 ON Ispit(IdPredmeta); 35

36 Indeksi Napomene: Svaka indeksna datoteka ima dva dela: ListaKolona, po kojima se vrši pretraživanje i po kojima se vrši uređivanje indeksa Indeks - služi za vezu sa osnovnom datotekom Indeks za vezu sa osnovnom datotekom je redni broj unosa 36

37 Indeksi 37

38 Indeksi Nisu svi atributi dobri kandidati za indeks, npr. bit-map, text ili slika Po pravilu su strani ključevi kandidati za indeks Indeksiranje ima i svojih nedostataka: prilikom ažuriranja osnovne tabele (brisanje, unošenje) mora se vršiti reindeksiranje, pa se gubi na vremenu Tabele sa malim brojem podataka u zapisu se ne indeksiraju, jer se pretraga može efikasno izvršiti brzim računarima 38

39 2.5 Izmene tabela Izmena postojeće tabele - naredba ALTER Sintaksa: ALTER TABLE ImeTabele ADD (ImeKolone Tip, [ImeKolone Tip]...); MODIFY (ImeKolone Tip, [ImeKolone Tip]...); DROP (ImeKolone...); Primer: U tabelu Odeljenje dodati kolone Sef_Od i Br_Zap ALTER TABLE Odeljenje ADD (Sef_Od INTEGER, Br_Zap NUMBER(2)); Primer: U istoj tabeli povećati dužinu za Br_Zap ALTER TABLE Odeljenje MODIFY (Br_Zap NUMBER(6)); 39

40 3. Pogledi Osnovne tabele fizički postoje na disku Pogled je virtuelna (izvedena) tabela, koja nastaje kao rezultat upita Sintaksa naredbe kreiranja pogleda: CREATE VIEW ImePogleda [ListaKolona] AS Upit; ImePogleda - unikatno ime u BP Upit naredba upita SELECT Pogled nasleđuje tipove kolona iz osnovnih tabela Uklanjanje pogleda DROP VIEW ImePogleda 40

41 Prednosti pogleda Jednostavnost korišćenja - uprošćavaju se upiti Tajnost - mehanizam za kontrolu pristupa podacima (korisnik vidi samo neke podatke) Performanse - definicija pogleda se čuva u kompajliranom, prevedenom obliku Nezavisnost podataka - menjaju se definicije pogleda, a ne aplikacije koji koriste podatke iz BP preko pogleda Vrsta potprograma u SQL-u Jednom kreiran može da se koristi u podupitima, u WHERE i HAVING klauzulama Zamenjuje komplikovane upite 41

42 4. Postavljanje upita 1. Upit SELECT 2. Prosti upiti nad jednom tabelom 3. Prosti upiti nad jednom tabelom s izvedenim rezultatom 42

43 4.1 Upit SELECT Najznačajnija i najčešće korišćena SQL naredba za manipulaciju podacima izbegava se korišćenje komplikovanih manipulacija nad podacima, kao što su u programskim jezicima C++, Java, itd. Kod svakog upita zadajemo (u principu): koje podatke tražimo kao rezultat, iz kojih tabela to tražimo, koji uslov treba da zadovolje podaci, da bi bili uključeni u rezultat u kom redosledu želimo prikaz podataka 43

44 Upit SELECT Principijelna šema za postavljanje upita je: SELECT koji atributi FROM iz kojih tabela WHERE uslov nad zapisima date tabele; 44

45 Upit SELECT Tipičan SQL upit: SELECT A 1, A 2,..., A n FROM r 1, r 2,...r m WHERE P; gde su A i atributi, r i relacije, a P je uslov selekcije (predikat) Navedeni upit je ekvivalentan sledećem upitu relacione algebre π A1, A2,..., An (σ P (r 1 r 2... r m )) Rezultat SQL upita je opet relacija 45

46 4.2 Prosti upiti nad jednom tabelom Sintaksa Primeri 46

47 Prosti upiti nad jednom tabelom: SELECT * {[ALL DISTINCT] R-Lista} FROM ImeTabele [WHERE R-Predikat] [ORDER BY ImeKolone [DESC] {, ImeKolone [DESC]} ]; R-Lista se zadaje kao jedan ili više R-Izraza, pored naziva kolone javljaju se i konstante sintaksa * predstavlja specijalni slučaj R-liste, kada u rezultat želimo da uključimo sve kolone tabele ALL iz rezultata ne uklanja istovetne redove, a DISTINCT uklanja istovetne redove. Podrazumeva se ALL 47

48 Prosti upiti nad jednom tabelom: sintaksa Klauzula FROM ("odakle") navodi ImeTabele - osnovne tabele ili pogleda nad kojim se vrši upit. Obavezna klauzula R_Predikat je uslov prikazivanja rezultata logički izraz izračunljiv nad svakim pojedinim redom tabele rezultat upita se dobija samo za one vrednosti R_Predikata koje daju istinitosnu vrednost najčešće je to relacioni izraz (>,<,=, ) s kolonama, a s desne strane može se javiti i konstanta ORDER BY daje željeni redosled prikaza rezultata. Podrazumeva se rastući redosled (ASC) U suprotnom se navodi DESC uz odgovarajuću kolonu Uvek je poslednja klauzula u SELECT bloku 48

49 Prosti upiti nad jednom tabelom: Najjednostavniji mogući SQL upit je u formi: SELECT * FROM ImeTabele; sintaksa naredba prikazuje sve redove tabele čije je ime navedeno iza FROM klauzule u svakom redu prikazuju se vrednosti svih kolona, onim redom kako je to zapisano u datoteci (tj. kreirano sa CREATE TABLE) Kod upita se obično traži prikaz samo određenih kolona, ili prikaz svih kolona u redosledu koji je drugačije određen. Ovo odgovara operaciji projekcije, ali se ne eliminišu višestruka ponavljanja istih vrednosti (potreban DISTINCT) 49

50 Prosti upiti nad jednom tabelom: Upit za prikaz cele tabele (simbol *) Ogovara restrikciji σ - kada nema uslova P SELECT * FROM Student ; primeri 50

51 Tri iste naredbe! SELECT * FROM Student; SELECT BrInd, Ime, Prezime FROM Student; Prosti upiti nad jednom tabelom: SELECT Student.BrInd, Student.Ime, Student.Prezime FROM Student; primeri 51

52 Prosti upiti nad jednom tabelom: Upit za prikaz cele tabele u željenom redosledu SELECT * FROM Student ORDER BY Ime; primeri 52

53 Prosti upiti nad jednom tabelom: primeri Upit za prikaz samo jedne kolone iz tabele i bez eliminacije duplikata SELECT Fakultet FROM Student; Odgovara upitu relacione algebre π Fakultet (Student) 53

54 Prosti upiti nad jednom tabelom: primeri Upit za prikaz samo jedne kolone iz tabele i s eliminacijom duplikata : SELECT DISTINCT Fakultet FROM Student ; 54

55 Prosti upiti nad jednom tabelom: primeri Upit za prikaz samo jedne kolone iz tabele i s eliminacijom duplikata, u željenom redosledu: SELECT DISTINCT Fakultet FROM Student ORDER BY Fakultet ; 55

56 Prosti upiti nad jednom tabelom: Upit za prikaz više kolona sa zadavanjem uslova: SELECT BrInd, Ime, Prezime FROM Student WHERE Fakultet= FIM ; primeri 56

57 Prosti upiti nad jednom tabelom: primeri Upit za prikaz dve kolone sa zadavanjem uslova, u željenom redosledu: SELECT BrInd, Ime, Prezime FROM Student WHERE Fakultet= FIM ORDER BY Ime; 57

58 Prosti upiti nad jednom tabelom: U WHERE klauzuli se mogu koristiti logičke i aritmetičke operacije: SELECT BrInd, Ime, Prezime FROM Student WHERE Fakultet= FIM OR Fakultet= FTHM ORDER BY Ime; primeri 58

59 Prosti upiti nad jednom tabelom: primeri Komanda SELECT može da sadrži aritmetičke izraze koji uključuju operacije +,,, / nad konstantama ili atributima: SELECT SifP, NazivP, Cena 100 FROM Racun; 59

60 Prosti upiti nad jednom tabelom: primeri Pojedine vrednosti atributa mogu biti NULL vrednost. Predikat IS NULL se koristi za proveru null vrednosti. Npr: naći sve šifre proizvoda kod kojih je cena NULL vrednost SELECT SifP FROM Racun WHERE Cena IS NULL ; 60

61 Sintaksa Primeri Napomene 4.3 Prosti upiti nad jednom tabelom s izvedenim rezultatom 61

62 Prosti upiti nad jednom tabelom s izvedenim rezultatom: sintaksa Podrazumeva se naredba upita SELECT nad jednom tabelom koja kao rezultat daje jedan red podataka koji su izvedeni iz svih redova tabele, koji zadovoljavaju zadati uslov SELECT lista takvog upita se sastoji iz jednog ili više izraza Zadavanje redosleda redova u rezultatu nema smisla (dobija se samo jedan red) 62

63 Prosti upiti nad jednom tabelom s izvedenim rezultatom: sintaksa Sintaksa za SELECT za prost upit nad jednom tabelom sa svodnim rezultatom: SELECT G-Izrazi FROM ImeTabele [WHERE R-Predikat]; G-Izrazi: najčešće ih čine posebne SQL funkcije (svodne ili agregatne funkcije) Svodne funkcije: SUM (ImeKolone) nalazi sumu svih ne-null vrednosti zadate kolone AVG (ImeKolone) nalazi prosečnu vrednost svih ne-null vrednosti zadate kolone 63

64 Svodne funkcije (nastavak): Prosti upiti nad jednom tabelom s izvedenim rezultatom: sintaksa MIN (ImeKolone) nalazi minimalnu vrednost svih ne-null vrednosti zadate kolone MAX (ImeKolone) nalazi maksimalnu vrednost svih ne-null vrednosti zadate kolone COUNT(*) nalazi ukupan broj redova u tabeli COUNT([ALL DISTINCT] ListaKolona) bez DISTINCT, nalazi ukupan broj ne-null vrednosti zadate kombinacije kolona (ALL) sa DISTINCT, nalazi ukupan broj različitih ne-null vrednosti zadate kombinacije kolona 64

65 Prosti upiti nad jednom tabelom s izvedenim rezultatom: primer Upit za prikaz ukupnog broja studenata (odgovara broju redova u tabeli Student) SELECT COUNT(*) FROM Student ; 65

66 Prosti upiti nad jednom tabelom s izvedenim rezultatom: primer Upit za prikaz broja fakulteta na koje su upisani studenati (odgovara broju različitih vrednosti kolone Fakultet u tabeli Student) SELECT COUNT(DISTINCT Fakultet) FROM Student ; 66

67 Prosti upiti nad jednom tabelom s izvedenim rezultatom: primer Upit za prikaz broja studenata koji su upisali FTHM SELECT COUNT(*) FROM Student WHERE Fakultet= FTHM ; 67

68 Prosti upiti nad jednom tabelom s izvedenim rezultatom: primer Upit za prikaz sume cena svih proizvoda: SELECT SUM(Cena) FROM Racun; 68

69 Prosti upiti nad jednom tabelom s izvedenim rezultatom: primer Upit za prikaz minimalne i maksimalne cene iz računa: SELECT MIN(Cena), MAX(Cena) FROM Racun; 69

70 Prosti upiti nad jednom tabelom s izvedenim rezultatom: primer Upit za prikaz sume i proseka cena za proizvod P1: SELECT SUM(Cena), AVG(Cena) FROM Racun WHERE NazivP= P1 ; Napomena: rezultat AVG funkcije preuzima tip podataka od argumenta (tip kolone) 70

71 Prosti upiti nad jednom tabelom s izvedenim rezultatom: napomene Rezultat bilo kog aritemitičkog izraza sa NULL je NULL, npr. 10+NULL daje NULL Agregatne funkcije ignorišu NULL vrednosti, izuzev COUNT(*) Poređenje sa NULL daje unknown, npr. 10<NULL, NULL<>NULL, NULL=NULL Istinosna logika sa unknown: OR: (unknown OR true) = true, (unknown OR false) = unknown, (unknown OR unknown) = unknown AND: (true AND unknown) = unknown, (false AND unknown) = false, (unknown AND unknown) = unknown NOT: (NOT unknown) = unknown "P is unknown" je true ako je predikat P unknown Ako je rezultat predikata u WHERE unknown, tretira se kao false 71

72 dr Vladislav Miškovic Baze podataka Pitanja? 72

Baze podataka SQL Jezik relacione BP

Baze podataka SQL Jezik relacione BP Baze podataka SQL Jezik relacione BP SQL 1 SQL - Structured Query Language Strukturni upitni jezik za RBP - modifikovana rel. algebra Razvio ga je IBM u okviru projekta System R Danas je SQL ugrađen u

More information

Jezik Baze Podataka SQL. Jennifer Widom

Jezik Baze Podataka SQL. Jennifer Widom Jezik Baze Podataka SQL SQL o Jezik koji se koristi u radu sa relacionim bazama podataka o Nije programski jezik i manje je kompleksan. o Koristi se isključivo u radu za bazama podataka. o SQL nije case

More information

1/42 SQL DDL. CREATE ALTER DROP Schema Table Tablespace Index View Domain Constraint... DECLARE TABLE (DB2)

1/42 SQL DDL. CREATE ALTER DROP Schema Table Tablespace Index View Domain Constraint... DECLARE TABLE (DB2) 1/42 SQL DDL CREATE ALTER DROP Schema Table Tablespace Index View Domain Constraint... DECLARE TABLE (DB2) 2/42 SQL DDL: CREATE SCHEMA CREATE SCHEMA ime-sheme [ AUTHORIZATION ime-vlasnika-sheme] [ CREATE

More information

VRIJEDNOSTI ATRIBUTA

VRIJEDNOSTI ATRIBUTA VRIJEDNOSTI ATRIBUTA Svaki atribut (bilo da je primarni ključ, vanjski ključ ili običan atribut) može i ne mora imati ograničenja na svojim vrijednostima. Neka od ograničenja nad atributima: Null / Not

More information

Uvod u relacione baze podataka

Uvod u relacione baze podataka Uvod u relacione baze podataka Ana Spasić 5. čas 1 Podupiti, operatori exists i in 1. Izdvojiti imena i prezimena studenata koji su položili predmet čiji je identifikator 2001. Rešenje korišćenjem spajanja

More information

Programiranje III razred

Programiranje III razred Tehnička škola 9. maj Bačka Palanka Programiranje III razred Naredbe ciklusa for petlja Naredbe ciklusa Veoma često se ukazuje potreba za ponavljanjem nekih naredbi više puta tj. za ponavljanjem nekog

More information

Informacioni sistemi i baze podataka

Informacioni sistemi i baze podataka Fakultet tehničkih nauka, Novi Sad Predmet: Informacioni sistemi i baze podataka Dr Slavica Kordić Milanka Bjelica Vojislav Đukić Rad u učionici (1/2) Baze podataka (db2015): Studentska korisnička šema

More information

Uvod u programiranje - vežbe. Kontrola toka izvršavanja programa

Uvod u programiranje - vežbe. Kontrola toka izvršavanja programa Uvod u programiranje - vežbe Kontrola toka izvršavanja programa Naredbe za kontrolu toka if, if-else, switch uslovni operator (?:) for, while, do-while break, continue, return if if (uslov) naredba; if

More information

Oracle Proprietary Joins Za upite nad više od jedne tabele korišćenjem Oracle proprietary sintakse koristiti join uslov u WHERE izrazu:

Oracle Proprietary Joins Za upite nad više od jedne tabele korišćenjem Oracle proprietary sintakse koristiti join uslov u WHERE izrazu: Database Programming with SQL kurs 2017 database design and programming with sql students slajdovi 7-1 Oracle Equijoin and Cartesian Product Prethodna sekcija se bavila upitima preko više od jedne tabele

More information

BAZE PODATAKA. SQL Opis podataka. Neđeljko Lekić Irena Orović

BAZE PODATAKA. SQL Opis podataka. Neđeljko Lekić Irena Orović BAZE PODATAKA SQL Opis podataka Neđeljko Lekić Irena Orović www.etf.ac.me U OVOJ LEKCIJI SQL SQL jezik SQL, relacioni model i E/R diagram CREATE TABLE Kolone Primarni ključevi Spoljnji ključevi DROP TABLE

More information

PRINCIPI SOFTVERSKOG INŽENJERSTVA TIM NAZIV_TIMA

PRINCIPI SOFTVERSKOG INŽENJERSTVA TIM NAZIV_TIMA PRINCIPI SOFTVERSKOG INŽENJERSTVA TIM NAZIV_TIMA SPECIFIKACIJA BAZE PODATAKA ZA PROJEKAT NAZIV_PROJEKTA Veb knjižara - Specifikacija baze podataka 1 10.04.2017. Verzija V 1.0 Datum: 20. mart 2017. Istorija

More information

Ciljevi. Poslije kompletiranja ove lekcije trebalo bi se biti u mogućnosti: Opisati ograničenja Generisati i održavati ograničenja u bazi

Ciljevi. Poslije kompletiranja ove lekcije trebalo bi se biti u mogućnosti: Opisati ograničenja Generisati i održavati ograničenja u bazi Ograničenja Ciljevi Poslije kompletiranja ove lekcije trebalo bi se biti u mogućnosti: Opisati ograničenja Generisati i održavati ograničenja u bazi Generisati i održavati ograničenja u bazi podataka Uvod

More information

Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi

Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi DELEGATI Bezbedni pokazivači na funkcije Jer garantuju vrednost deklarisanog tipa. Prevodilac prijavljuje grešku ako pokušate da povežete

More information

CREATE DATABASE naziv-baze-podataka [IN naziv-dbspace]

CREATE DATABASE naziv-baze-podataka [IN naziv-dbspace] SQL Vežbe V CREATE DATABASE CREATE DATABASE naziv-baze-podataka [IN naziv-dbspace] [WITH LOG LOG MODE ANSI] [ ON < filespec > [,...n ] ] [ LOG ON < filespec > [,...n ] ] < filespec > ::= ( [ NAME = logical_file_name,

More information

IV SQL. Slika 1. SQL*Plus ikona. Slika 2. Dijalog provere identifikacije korisnika. Slika 3. Prozor SQL*Plus programa

IV SQL. Slika 1. SQL*Plus ikona. Slika 2. Dijalog provere identifikacije korisnika. Slika 3. Prozor SQL*Plus programa IV SQL SQL (Structured Query Language) je jezik koji je Američki Institut za Nacionalne Standarde (ANSI - American National Standards Institute) prihvatio kao standardni jezik za relacione baze podataka.

More information

Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak...

Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak... Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak... Prof. dr. sc. Tomislav Pribanić Izv. prof. dr. sc. Vedran Podobnik Doc. dr. sc. Marija Seder Sveučilište u Zagrebu Fakultet elektrotehnike

More information

Integritet u relacionim bazama podataka

Integritet u relacionim bazama podataka Integritet u relacionim bazama podataka Nenad Mitić Matematički fakultet nenad@matf.bg.ac.rs a a - DATE-AIDB Pojam se u kontekstu baza podataka odnosi na preciznost, punovažnost i korektnost podataka u

More information

PREDMET. Osnove Java Programiranja. Čas JAVADOC

PREDMET. Osnove Java Programiranja. Čas JAVADOC PREDMET Osnove Java Programiranja JAVADOC Copyright 2010 UNIVERZITET METROPOLITAN, Beograd. Sva prava zadržana. Bez prethodne pismene dozvole od strane Univerziteta METROPOLITAN zabranjena je reprodukcija,

More information

pojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1

pojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1 NIZOVI Niz deklarišemo navođenjemtipa elemenata za kojim sledi par srednjih zagrada[] i naziv niza. Ako je niz višedimenzionalni između zagrada[] se navode zarezi, čiji je broj za jedan manji od dimenzija

More information

Programiranje Programski jezik C. Sadržaj. Datoteke. prof.dr.sc. Ivo Ipšić 2009/2010

Programiranje Programski jezik C. Sadržaj. Datoteke. prof.dr.sc. Ivo Ipšić 2009/2010 Programiranje Programski jezik C prof.dr.sc. Ivo Ipšić 2009/2010 Sadržaj Ulazno-izlazne funkcije Datoteke Formatirane datoteke Funkcije za rad s datotekama Primjeri Datoteke komunikacija između programa

More information

Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući Java konstrukt

Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući Java konstrukt Funkcionalno programiranje Interoperabilnost jezika Scala i Java Prevođenje u Java bajt kod Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući

More information

Uputstvo za korišćenje logrotate funkcije

Uputstvo za korišćenje logrotate funkcije Copyright AMRES Sadržaj Uvod 3 Podešavanja logrotate konfiguracionog fajla 4 Strana 2 od 5 Uvod Ukoliko je aktivirano logovanje za RADIUS proces, može se desiti da posle određenog vremena server bude preopterećen

More information

Programske paradigme Funkcionalna paradigma

Programske paradigme Funkcionalna paradigma Programske paradigme Funkcionalna paradigma 1. čas: Uvod u funkcionalno programiranje. Programski jezik Haskel. Upoznavanje sa razvojnim okruženjem. Tipovi podataka. Funkcionalno programiranje Stil u programiranju

More information

SQL Rukovanje podacima

SQL Rukovanje podacima BAZE PODATAKA SQL Rukovanje podacima Neđeljko Lekić Irena Orović www.etf.ac.me www.elektronika.t-com.me U OVOJ LEKCIJI SQL INSERT, UPDATE, i DELETE Rječnik podataka SQL SELECT WHERE klauzule SELECT iz

More information

Struktura i organizacija baza podataka

Struktura i organizacija baza podataka Fakultet tehničkih nauka, DRA, Novi Sad Predmet: Struktura i organizacija baza podataka Dr Ivan Luković, Mr Slavica Aleksić, Milan Čeliković, Vladimir Dimitrieski Sistem ocenjivanja Ukupno: 100 bodova

More information

VHDLPrimeri Poglavlje5.doc

VHDLPrimeri Poglavlje5.doc 5. VHDL opis kola koja obavljaju osnovne aritmetičke funkcije Sabirači Jednobitni potpuni sabirač definisan je tablicom istinitosti iz Tabele 5.1. Tabela 5.1. cin a b sum cout 0 0 0 0 0 0 0 1 1 0 0 1 0

More information

Ime ograničenja je clients_client_num_pk. Ono inforsira biznis pravila po kojem client_number je PK u clients tabeli Naming Constraints

Ime ograničenja je clients_client_num_pk. Ono inforsira biznis pravila po kojem client_number je PK u clients tabeli Naming Constraints Database Programming with SQL kurs 2017 database design and programming with sql students slajdovi 14-1 Intro to Constraints; NOT NULL and UNIQUE Constraints Ograničenja (constraints) se koriste za sprečavanje

More information

Baze podataka. Ovaj fajl je skinut sa sajta Uvod u SQL (Structured Query Language)

Baze podataka. Ovaj fajl je skinut sa sajta  Uvod u SQL (Structured Query Language) Baze podataka Uvod u SQL (Structured Query Language) Pregled predavanja Baze podataka Predavanje 1 Uvod Relacione baze SQL komande Kreiranje baze Unos podataka Pretraživanje podataka Predavanje 2 Dodatne

More information

Relacione baze podataka

Relacione baze podataka Relacione baze podataka Sadržaj Uvod u baze podataka Osnove relacionog modela Sistemi za upravljanje bazama podataka SQL Obrada sa bazom podataka Integrisanost Organizacija prema potrebama korisnika Definicija

More information

NIZOVI.

NIZOVI. NIZOVI LINKOVI ZA KONZOLNI C# OSNOVNO http://www.mycity.rs/net/programiranje-u-c-za-osnovce-i-srednjoskolce.html http://milan.milanovic.org/skola/csharp-00.htm Niz deklarišemo navođenjem tipa elemenata

More information

Učitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0.

Učitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0. Kontrolne naredbe Primjeri: Opšti oblik razgranate strukture (if sa ) if (uslov) Naredba 1 ili blok naredbi1 Naredba 2 ili blok naredbi2 Učitati broj x i štampati vrijednost double x, z; Scanner in=new

More information

(1,M) (1,1) PEVA. idpevaca Ceo broj Većeg opsega da. ime String Max. 30 karaktera da. prezime String Max. 30 karaktera da

(1,M) (1,1) PEVA. idpevaca Ceo broj Većeg opsega da. ime String Max. 30 karaktera da. prezime String Max. 30 karaktera da 1. Napisati MySQL skript za kreiranje baze podataka pod nazivom PESME, sa strukturom tabela koja odgovara relacionom modelu podataka koji se dobija prevođenjem datog EER dijagrama u relacioni model. Prilikom

More information

Brčko, Brčko Distrikt BiH. OSNOVE BAZA PODATAKA/UPRAVLJANJE BAZAMA PODATAKA Strukturirani jezik za upite - SQL

Brčko, Brčko Distrikt BiH. OSNOVE BAZA PODATAKA/UPRAVLJANJE BAZAMA PODATAKA Strukturirani jezik za upite - SQL empirica VISOKA ŠKOLA RAČUNARSTVA I POSLOVNIH KOMUNIKACIJA Brčko, Brčko Distrikt BiH OSNOVE BAZA PODATAKA/UPRAVLJANJE BAZAMA PODATAKA Strukturirani jezik za upite - SQL http://www.empirica.ba/ Studijski

More information

CSS CSS. selector { property: value; } 3/20/2018. CSS: Cascading Style Sheets

CSS CSS. selector { property: value; } 3/20/2018. CSS: Cascading Style Sheets CSS CSS CSS: Cascading Style Sheets - Opisuje izgled (appearance) i raspored (layout) stranice - Sastoji se od CSS pravila, koji defini[u skup stilova selector { property: value; 1 Font face: font-family

More information

Vidljivost TipPovratneVrednosti ImeFunkcije (NizParametara) { TeloFunkcije }

Vidljivost TipPovratneVrednosti ImeFunkcije (NizParametara) { TeloFunkcije } 1. FUNKCIJE I STRUKTRUE PROGRAMA Složeni problemi lakše se rašavaju ako se podele na manje celine koje mogu nezavisno da se rešavaju. Rešenje celokupnog složenog problema dobija se kombinovanjem rešenja

More information

namespace spojneice { public partial class Form1 : Form { public Form1() { InitializeComponent(); }

namespace spojneice { public partial class Form1 : Form { public Form1() { InitializeComponent(); } Spojnice using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO;

More information

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET Katedra za elektroniku Računarska elektronika Grupa br. 11 Projekat br. 8 Studenti: Stefan Vukašinović 466/2013 Jelena Urošević 99/2013 Tekst projekta :

More information

[] znači opciono; znači ili. Strana 3 od 5

[] znači opciono; znači ili. Strana 3 od 5 Database Programming with SQL kurs 2017 database design and programming with sql students slajdovi 2-1 Columns Characters and Rows Concatenation (pridruživanje) stanje povezanosti kao kod lanca; unija

More information

Izrada VI laboratorijske vježbe

Izrada VI laboratorijske vježbe Izrada VI laboratorijske vježbe 1. Programirati proceduru koja se aktivira sa Standard palete alatki klikom na button Fajlovi. Prilikom startovanja procedure prikazuje se forma koja sadrži jedan list box

More information

b) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end.

b) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end. NAREDBA CIKLUSA SA PREDUSLOVOM WHILE 1.Odrediti vrednosti s i p nakon izvrsenja sledecih naredbi za dato a=43, a=34, a=105 program p1; var a,s,p:integer; write('unesite a:');readln(a); p:=a; s:=0; while

More information

INFORMACIONE TEHNOLOGIJE U MEDICINI 2012/13 LEKCIJA 6

INFORMACIONE TEHNOLOGIJE U MEDICINI 2012/13 LEKCIJA 6 INFORMACIONE TEHNOLOGIJE U MEDICINI 2012/13 LEKCIJA 6 Mateja Opačić PROJEKTOVANJE BAZE PODATAKA Baza podataka predstavlja kolekciju formatizovanih podataka organizovanih za laku pretragu i obradu. Neki

More information

Definicije kolona su odvojene zarezima CREATE TABLE Example Sledeći primer poklazuje CREATE TABLE iskaz:

Definicije kolona su odvojene zarezima CREATE TABLE Example Sledeći primer poklazuje CREATE TABLE iskaz: Database Programming with SQL kurs 2017 database design and programming with sql students slajdovi 13-1 Creating Tables Treba znati kao DBA koji db objekti se najčešće koriste, kako posmatrati strukturu

More information

24/03/2018. Deklaracija promenljivih. Inicijalizacija promenljivih. Deklaracija i inicijalizacija promenljivih

24/03/2018. Deklaracija promenljivih. Inicijalizacija promenljivih. Deklaracija i inicijalizacija promenljivih Deklaracija promenljivih Inicijalizacija promenljivih Deklaracija promenljive obuhvata: dodelu simboličkog imena promenljivoj i određivanje tipa promenljive (tip određuje koja će vrsta memorijskog registra

More information

Projektovanje baze podataka kreiranje i uklanjanje tabela, indeksa, pogleda, trigeri

Projektovanje baze podataka kreiranje i uklanjanje tabela, indeksa, pogleda, trigeri Projektovanje baze podataka kreiranje i uklanjanje tabela, indeksa, pogleda, trigeri Naredbe za definisanje podataka omogućuju definisanje resursa relacione baze podataka. Pod resursima baze podataka se

More information

Naredbe za kontrolu toka

Naredbe za kontrolu toka Naredbe za kontrolu toka Naredbe za kontrolu toka Nakon odslušanog bit ćete u stanju: objasniti semantiku naredbi za kontrolu postupaka navesti sintaksu naredbi if, if-else i case u programskom jeziku

More information

PROGRAMIRANJE. Amir Hajdar

PROGRAMIRANJE. Amir Hajdar PROGRAMIRANJE Amir Hajdar Teme 2 Klase i objekti u Javi Primjer kroz klasu Krug Atributi i metode Inicijalizacija objekata (konstruktori) Polymorphism Statičke varijable i metode This Klase i objekti u

More information

var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Items.LoadFromFile('d:\brojevi.

var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Items.LoadFromFile('d:\brojevi. 1 PANEL komponenta kontejnerska, slična GropBox. Roditeljska komponenta za komp. postavljene na nju. Zajedno se pomeraju. Caption svojstvo za naziv; Alighment pomera svojstvo Caption levo i desno; Align

More information

Prirodno-matematički fakultet u Nišu Departman za fiziku. dr Dejan S. Aleksić Programiranje u fizici

Prirodno-matematički fakultet u Nišu Departman za fiziku. dr Dejan S. Aleksić Programiranje u fizici Programiranje u fizici Prirodno-matematički fakultet u Nišu Departman za fiziku dr Dejan S. Aleksić Programiranje u fizici 7-8 Definicija, inicijalizacija promenljivih 2/21 u C-u Program napisan u programskog

More information

Vežbe - XII nedelja PHP Doc

Vežbe - XII nedelja PHP Doc Vežbe - XII nedelja PHP Doc Dražen Drašković, asistent Elektrotehnički fakultet Univerziteta u Beogradu Verzija alata JavaDoc za programski jezik PHP Standard za komentarisanje PHP koda Omogućava generisanje

More information

2. Linijska algoritamska struktura

2. Linijska algoritamska struktura Univerzitet u Nišu Građevinsko-arhitektonski fakultet Informatika 2 2. Linijska algoritamska struktura Milica Ćirić Blokovi za prikaz algoritma Algoritam se vizuelno može prikazati pomoću blok dijagrama,

More information

Rad sa MySQL bazom podataka

Rad sa MySQL bazom podataka 13. PHP 4.dio Rad sa MySQL bazom podataka M. Zekić-Sušac 1 Što je MySQL? MySQL je relacijska baza podataka. Relacijski model podrazumijeva određenu strukturu podataka, pohranjenu u tablice. Jedna baza

More information

12. Uskladištene procedure (Stored Procedures)

12. Uskladištene procedure (Stored Procedures) 12. Uskladištene procedure (Stored Procedures) Uskladištena procedura je skup SQL iskaza koji su kompajlirani i sačuvani u trenutku njenog kreiranja. Veoma su moćne i preko njih mogu da se izvršavaju sve

More information

For. 1) program ispis; {ispisuje brojeve od 1 do 5 jedan ispod drugog} uses wincrt; var s,i:integer; begin for i:=1 to 5do writeln(i); end.

For. 1) program ispis; {ispisuje brojeve od 1 do 5 jedan ispod drugog} uses wincrt; var s,i:integer; begin for i:=1 to 5do writeln(i); end. For 1) program ispis; {ispisuje brojeve od 1 do 5 jedan ispod drugog} for i:=1 to 5do writeln(i); 2) program ispis; {ispisuje brojeve od 5 do 1 jedan ispod drugog} for i:=5 downto 1 do writeln(i); 3) program

More information

Programiranje 1 Programski jezik C 2. čas. Mirko Spasić

Programiranje 1 Programski jezik C 2. čas. Mirko Spasić Programiranje 1 Programski jezik C 2. čas Mirko Spasić Operatori U C-u postoji veliki broj operatora. Mogu biti unarni (imaju jedan argument) i binarni (dva argumenta). Unarni operatori mogu biti prefiksni

More information

Računarske osnove Interneta (SI3ROI, IR4ROI)

Računarske osnove Interneta (SI3ROI, IR4ROI) Računarske osnove terneta (SI3ROI, IR4ROI) Vežbe MPLS Predavač: 08.11.2011. Dražen Drašković, drazen.draskovic@etf.rs Autori: Dražen Drašković Naučili ste na predavanjima MPLS (Multi-Protocol Label Switching)

More information

Osnovne strukture podataka

Osnovne strukture podataka Osnovne strukture podataka Osnovni pojmovi Promenljive i konstante su osnovni oblici podataka sa kojima se operiše u programu Deklaracije listaju spisak promenljivih koje ce se koristiti, određuju kog

More information

Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb,

Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb, Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb, 13.04.2017. Podešavanje Hyper-V Servera 2016 za RSAT upravljanje Dario Štefek Lokacije za preuzimanje: Microsoft Hyper-V Server 2016 https://www.microsoft.com/en-us/evalcenter/evaluate-hyper-v-server-2016

More information

Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list.

Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list. Ime i prezime: Asistent: Predava : Programiranje (C) 1. kolokvij 14. 4. 2003. 1. 2. 3. 4. 5. 6. 7. Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj

More information

Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo

Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo Nasledjivanje klasa Modifikator new class A { public virtual void F() { Console.WriteLine("I am A"); } } class B : A { public override void F()

More information

Dežurni nastavnik: Kolokvijum traje 1.5 sat, prvih sat vremena nije dozvoljeno napuštanje kolokvijuma. Upotreba literature nije dozvoljena.

Dežurni nastavnik: Kolokvijum traje 1.5 sat, prvih sat vremena nije dozvoljeno napuštanje kolokvijuma. Upotreba literature nije dozvoljena. Dežurni nastavnik: Elektrotehnički fakultet u Beogradu Katedra za računarsku tehniku i informatiku Predmet: Testiranje Softvera (SI3TS) Nastavnik: doc. dr Dragan Bojić Asistent: dipl. ing. Dražen Drašković

More information

Univerzitet u Nišu Građevinsko-arhitektonski fakultet. 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje.

Univerzitet u Nišu Građevinsko-arhitektonski fakultet. 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje. Univerzitet u Nišu Građevinsko-arhitektonski fakultet Informatika 2 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje Milica Ćirić Ciklična algoritamska struktura Ciklična struktura (petlja)

More information

Ovde će se raditi na funkcijama konverzija: konverzija tipa datuma u znak tip i obrnuto, konverzija broja u karakter tip i obrnuto

Ovde će se raditi na funkcijama konverzija: konverzija tipa datuma u znak tip i obrnuto, konverzija broja u karakter tip i obrnuto Database Programming with SQL kurs 2017 database design and programming with sql students slajdovi 5-1 Conversion Functions U db formatiranje i promene izgleda se izvode pomoću funkcija konverzija Ove

More information

Univerzitet u Beogradu Matematički fakultet. Projekat. Poređenje Cassandra i DB2 modela

Univerzitet u Beogradu Matematički fakultet. Projekat. Poređenje Cassandra i DB2 modela Univerzitet u Beogradu Matematički fakultet Projekat Poređenje Cassandra i DB2 modela Dragan Ðurđević, 1059/2012 ime i prezime Nikola Stanković, 1033/2012 Nikola Stanojević, 1064/2012 predmet Distribuirane

More information

Sadržaj. Verzija 03/2017 Primjenjuje se od 20. novembra godine

Sadržaj. Verzija 03/2017 Primjenjuje se od 20. novembra godine Sadržaj 1 Web hosting 3 2 Registracija domena 3 3 Internet marketing 3 4 E mail paketi 4 5 Virtuoz 4 6 Internet Security servis 5 7 Kolokacija servera 6 8 Cloud usluge 6 9 Aktivni servisi koji nijesu u

More information

SVEUČILIŠTE U MOSTARU FAKULTET PRIRODOSLOVNO-MATEMATIČKIH I ODGOJNIH ZNANOSTI BAZE PODATAKA 2. Doc.dr.sc. GORAN KRALJEVIĆ BAZE PODATAKA 2 1

SVEUČILIŠTE U MOSTARU FAKULTET PRIRODOSLOVNO-MATEMATIČKIH I ODGOJNIH ZNANOSTI BAZE PODATAKA 2. Doc.dr.sc. GORAN KRALJEVIĆ BAZE PODATAKA 2 1 SVEUČILIŠTE U MOSTARU FAKULTET PRIRODOSLOVNO-MATEMATIČKIH I ODGOJNIH ZNANOSTI BAZE PODATAKA 2 Doc.dr.sc. GORAN KRALJEVIĆ BAZE PODATAKA 2 1 Baze podataka 2 Web: http://www.fpmoz.ba/gkraljevic Pitanja, primjedbe,

More information

Programiranje III razred

Programiranje III razred Tehnička škola 9. maj Bačka Palanka Programiranje III razred Konverzija tipova Konverzija tipova Prilikom komunikacije aplikacije sa korisnikom, korisnik najčešće unosi ulazne podatke koristeći tastaturu.

More information

/*#include <iostream> // Prvi zadatak sa integralnomg ispita

/*#include <iostream> // Prvi zadatak sa integralnomg ispita /*#include // Prvi zadatak sa integralnomg ispita 27.01.2015 #include using std::setw; using std::cout; const int red(5), kolona(4); void unos(int[]); void ispis(int[][kolona]); float

More information

JavaScript i HTML DOM

JavaScript i HTML DOM 4. vježbe iz WEB programiranja četvrtak, 22. ožujka 2012. JavaScript 1. dio JavaScript i Što je DOM? Kako JS koristi DOM? Pristup elementima dokumenta Promjena i učitavanje vrijednosti tagova Primjer 1.

More information

for i:=2 to n do if glasovi[i]>max then begin max:=glasovi[i]; k:=i {*promenljiva k ce cuvati indeks takmicara sa najvise glasova *} end;

for i:=2 to n do if glasovi[i]>max then begin max:=glasovi[i]; k:=i {*promenljiva k ce cuvati indeks takmicara sa najvise glasova *} end; {*Na Evroviziji je ucestvovalo n izvodjaca. Koji od njih je osvojio najvise glasova publike?*} program Evrovizija; glasovi:array[1..50] of integer; max,k:integer; writeln('unosi se broj izvodjaca:'); writeln('unose

More information

GUI - događaji (Events) i izuzeci. Bojan Tomić

GUI - događaji (Events) i izuzeci. Bojan Tomić GUI - događaji (Events) i izuzeci Bojan Tomić Događaji GUI reaguje na događaje (events) Događaj je neka akcija koju korisnik programa ili neko drugi izvrši korišćenjem perifernih uređaja (uglavnom miša

More information

... ; ako je a n parno. ; ako je a n neparno

... ; ako je a n parno. ; ako je a n neparno Zadaci vezani za ciklus sa preduslovom (WHILE) Zad. Napisati program za izračunavanje n_tog stepena broja a. Zad2. Napisati program za izračunavanje sume S kvadrata parnih i kubova neparnih prirodnih brojeva

More information

KLASIFIKACIJA JELENA JOVANOVIĆ. Web:

KLASIFIKACIJA JELENA JOVANOVIĆ.   Web: KLASIFIKACIJA JELENA JOVANOVIĆ Email: jeljov@gmail.com Web: http://jelenajovanovic.net PREGLED PREDAVANJA Šta je klasifikacija? Binarna i više-klasna klasifikacija Algoritmi klasifikacije Mere uspešnosti

More information

Cjenovnik usluga informacionog društva

Cjenovnik usluga informacionog društva Cjenovnik usluga informacionog društva Verzija: 01/2018 Sadržaj 1 Web hosting 3 2 Registracija domena 3 3 Internet marketing 3 4 E mail paketi 4 5 Virtuoz 4 6 Internet Security servis 5 7 Kolokacija servera

More information

Uputstva za instaliranje čitača Datalogic Skorpio u operativnom sistemu Windows 7 i višim POM-NA-XX-46, V3.0

Uputstva za instaliranje čitača Datalogic Skorpio u operativnom sistemu Windows 7 i višim POM-NA-XX-46, V3.0 POM - Pomoć korisnicima Uputstva za instaliranje čitača Datalogic Skorpio u operativnom sistemu Windows 7 i višim POM-NA-XX-46, V3.0 IZUM, 2016 COBISS, COMARC, COBIB, COLIB, IZUM su zaštićeni znaci u posedu

More information

Algoritmi i strukture podataka 2. Čas, Uvod u C++

Algoritmi i strukture podataka 2. Čas, Uvod u C++ Algoritmi i strukture podataka 2. Čas, Uvod u C++ Aleksandar Veljković 2017/2018 1 Uvod Jezik C++ je jezik koji pripada objektno orijentisanoj paradigmi, ipak, u okviru ovog kursa naglasak neće biti na

More information

Z1. Dati RDF graf predstavljen u JSON-LD sintaksi potrebno je grafički predstaviti u skladu sa RDF notacijom. (5 poena)

Z1. Dati RDF graf predstavljen u JSON-LD sintaksi potrebno je grafički predstaviti u skladu sa RDF notacijom. (5 poena) Z1. Dati RDF graf predstavljen u JSON-LD sintaksi potrebno je grafički predstaviti u skladu sa RDF notacijom. (5 poena) "@context": "http://schema.org", "@type": "JobPosting", @id : http://example.com/person/ab12,

More information

x y = z Zadaci - procedure

x y = z Zadaci - procedure Zadaci - procedure Zad1. Data je kvadratna meta u koordinatnom sistemu sa koordinatama A(0,0), B(1,0), C(1,1), D(0,1). Sastaviti proceduru Gadjanje koja će odrediti broj poena na sledeći način: ako je

More information

Brisanje podataka. Unošenje podataka. Izmjena podataka (SQL) Indeks. Kreiranje i brisanje indeksa (SQL) UNIQUE indeks

Brisanje podataka. Unošenje podataka. Izmjena podataka (SQL) Indeks. Kreiranje i brisanje indeksa (SQL) UNIQUE indeks Unos podataka Unošenje podataka Brisanje podataka Brisanje podataka INSERT INTO FAKULTET(IME_FAK, SJEDISTE) VALUES ('PMF', 'PODGORICA') INSERT INTO FAKULTET(IME_FAK, SJEDISTE) VALUES ('ETF', NULL) INSERT

More information

Mašinska vizija. Dr Nenad Jovičić tnt.etf.rs/~mv

Mašinska vizija. Dr Nenad Jovičić tnt.etf.rs/~mv Mašinska vizija Dr Nenad Jovičić 2017. tnt.etf.rs/~mv Linearne 2D geometrijske transformacije 2D geometrijske transformacije Pretpostavka: Objekti u 2D prostoru se sastoje iz tačaka i linija. Svaka tačka

More information

Tema 8: Koncepti i teorije relevantne za donošenje odluka (VEŽBE)

Tema 8: Koncepti i teorije relevantne za donošenje odluka (VEŽBE) Tema 8: Koncepti i teorije relevantne za donošenje odluka (VEŽBE) SISTEMI ZA PODRŠKU ODLUČIVANJU dr Vladislav Miškovic vmiskovic@singidunum.ac.rs Fakultet za računarstvo i informatiku 2013/2014 Tema 8:

More information

Ispit iz Programiranja 1

Ispit iz Programiranja 1 ELEKTROTEHNIČKI FAKULTET UNIVERZITETA U BEOGRADU BEOGRAD, 27.06.2018. Ispit iz Programiranja 1 Ispit traje 120 minuta Napomene: a) Pažljivo proučite Uputstvo pre popunjavanja Obrasca za odgovore. b) Vrednost

More information

Java. Ugnježdeni tipovi IMI PMF KG OOP 09 AKM. najveći deo teksta je preuzet sa slajdova Prof. Dragana Milićeva (ETF Bg) namenjenih pedmetu OOP2

Java. Ugnježdeni tipovi IMI PMF KG OOP 09 AKM. najveći deo teksta je preuzet sa slajdova Prof. Dragana Milićeva (ETF Bg) namenjenih pedmetu OOP2 Java IMI PMF KG OOP 0 AKM 1 Ugnježdeni tipovi najveći deo teksta je preuzet sa slajdova Prof. Dragana Milićeva (ETF Bg) namenjenih pedmetu OOP2 Ugneždeni tipovi IMI PMF KG OOP 0 AKM 2 Unutrašnje klase

More information

Sveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 08. Zvonimir Bujanović Slaven Kožić Vinko Petričević

Sveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 08. Zvonimir Bujanović Slaven Kožić Vinko Petričević Sveučilište u Zagrebu PMF Matematički odsjek Mreže računala Vježbe 08 Zvonimir Bujanović Slaven Kožić Vinko Petričević Uvod: (X)HTML i CSS Na ovim i idućim vježbama naučit ćemo osnove jezika za opisivanje

More information

Fortran 90. Numeričke Metode DECEMBAR ĐURĐEVAC NATAŠA

Fortran 90. Numeričke Metode DECEMBAR ĐURĐEVAC NATAŠA Fortran 90 Numeričke Metode DECEMBAR 2007. ĐURĐEVAC NATAŠA Zašto Fortran? jer je konstruisan da bi se koristio za rešavanje matematičkih problema. jer je jednostavan jezik sa dobrim performansama (odlična

More information

Programiranje kroz aplikacije. Kontrola toka programa Nizovi

Programiranje kroz aplikacije. Kontrola toka programa Nizovi Programiranje kroz aplikacije Kontrola toka programa Nizovi Kontrola toka u VBA If naredba Select Case naredba GoTo naredba For petlja While petlja Do While petlja Do Until petlja If naredba Opšti oblik

More information

VHDLPrimeri Poglavlje3.doc. end process seq; Slika 3.1: Anatomija osnovne definicije test bench-a

VHDLPrimeri Poglavlje3.doc. end process seq; Slika 3.1: Anatomija osnovne definicije test bench-a 3. Verifikacija projekta - Test bench entity TestBench is end entity TestBench; architecture TB_Arhitektura of TestBench is component UUT (Arhitektura_UUT) port( end component UUT; prazan entitet -- deklarisanje

More information

VEŽBA 5 do while petlja, switch case

VEŽBA 5 do while petlja, switch case VEŽBA do while petlja, switch case Petlja sa ulaznim uslovom do while U slučaju do while petlje obavezno izvršavanje bar jedne iteracije se postiže tako što je upravljački izraz petlje na samom dnu petlje.

More information

Desktop IKONE START MENI. TASK BAR traka zadataka RADNA POVRŠINA

Desktop IKONE START MENI. TASK BAR traka zadataka RADNA POVRŠINA Windows XP Windows XP Operativni Sistem koji podržava multi-tasking Kompatibilan sa prethodnim verzijama Windows-a Koristi grafičko okruženje Jednostavan za instalaciju i upotrebu Desktop IKONE START MENI

More information

Operativni Sistem koji podržava multitasking

Operativni Sistem koji podržava multitasking Windows Windows Operativni Sistem koji podržava multitasking Kompatibilan sa prethodnim verzijama Windows-a Koristi grafičko okruženje Jednostavan za instalaciju i upotrebu IKONE Desktop START MENI TASK

More information

Objektno-relacioni model

Objektno-relacioni model Objektno-relacioni model Osnovne karakteristike Korisnički definisani tipovi Distinct tip Struktuirani tip Metode Konstruisani tipovi Referentni tipovi Tip vrsta Kolekcija Distinkt tip Distinkt tip je

More information

Proceduralni mehanizmi za kontrolu integriteta relacione baze podataka

Proceduralni mehanizmi za kontrolu integriteta relacione baze podataka Proceduralni mehanizmi za kontrolu integriteta relacione baze podataka Proceduralni mehanizmi za proveru uslova integriteta se, u sistemima za upravljanje bazom podataka, najčešće realizuju korišćenjem

More information

VB komande. Programiranje 1

VB komande. Programiranje 1 VB komande Programiranje 1 Zadatak 1: Sastaviti program koji se sastoji iz jedne ListBox kontrole, jedne Textbox kontrole i dva komandna dugmeta. Klikom na prvo komandno dugme umeće se u ListBox sadržaj

More information

OPEN SOURCE PROJECT :: BAST Business Account Software Technology 1/23 CSYSTEMS PROGRAMSKI PAKET ZA KNJIGOVODSTVO

OPEN SOURCE PROJECT :: BAST Business Account Software Technology 1/23 CSYSTEMS PROGRAMSKI PAKET ZA KNJIGOVODSTVO OPEN SOURCE PROJECT :: BAST Business Account Software Technology 1/23 CSYSTEMS PROGRAMSKI PAKET ZA KNJIGOVODSTVO COBA Systems EXCEL TABELE kao digitalna knjigovodstvena dokumenta Tabele sadrže naslove

More information

Proširena stvarnost - Augmented Reality (AR) Dr Nenad Gligorić

Proširena stvarnost - Augmented Reality (AR) Dr Nenad Gligorić Proširena stvarnost - Augmented Reality (AR) Dr Nenad Gligorić Šta je Augmented Reality? Termin Augmented Reality prvi put se pominje 1990 od strane istraživača u Boingu Augmented Rality su nazivali aplikaciju

More information

9. RAD S DATOTEKAMA PODATAKA

9. RAD S DATOTEKAMA PODATAKA Rad s datotekama 7-1 9. RAD S DATOTEKAMA PODATAKA U programiranju se često radi sa skupovima podataka koji se čuvaju na jedinicama perfernih memorija, a koji se organizuju u posebne cjeline koje nazivamo

More information

Programski jezik JAVA PREDAVANJE

Programski jezik JAVA PREDAVANJE Programski jezik JAVA PREDAVANJE 8 2018 www.etf.ac.me Polja za potvrdu i Radio tasteri Polja za potvrdu i radio tasteri nijesu uzajamno isključivi, što znači da ako imate pet polja za potvrdu u jednom

More information

Uputstvo za podešavanje mail klijenta

Uputstvo za podešavanje mail klijenta Uputstvo za podešavanje mail klijenta 1. Podešavanje Thunderbird mail klijenta 1.1 Dodavanje mail naloga Da biste podesili Vaš mail klijent (u ovom slučaju Thunderbird) da prima i šalje mail-ove potrebno

More information

PRIJEMNI ISPIT IZ INFORMATIKE

PRIJEMNI ISPIT IZ INFORMATIKE PRIRODNO-MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Petak,04.09.2015 PRIJEMNI ISPIT IZ INFORMATIKE PITANJA I ZADACI IZ INFORMATIKE 1. Kombinacija tastera Ctrl+C koristi se u Windows aplikacijama

More information

VDSL modem Zyxel VMG1312-B10A/B30A

VDSL modem Zyxel VMG1312-B10A/B30A VDSL modem Zyxel VMG1312-B10A/B30A Default Login Details LAN IP Address http://192.168.2.1 User Name user Password 1234 Funkcionalnost lampica Power lampica treperi kratko vrijeme nakon uključivanja modema,

More information

Sistemi baza podataka. Slavica Aleksić

Sistemi baza podataka. Slavica Aleksić Sistemi baza podataka Slavica Aleksić slavica@uns.ac.rs Rekapitulacija SQL-a Rad u učionici Podaci potrebni za konektovanje na bazu podataka (db2013) Host Name: 192.168.0.102 Port Number: 1521 Oracle SID,

More information