Microsoft PowerPoint - Prve_i_druge_Vezbe.ppt [Compatibility Mode]

Величина: px
Почињати приказ од странице:

Download "Microsoft PowerPoint - Prve_i_druge_Vezbe.ppt [Compatibility Mode]"

Транскрипт

1 Sistemi baza podataka Slavica Aleksić

2 Rekapitulacija SQL-a

3 Kreiranje tabele CREATE TABLE [šema.]<naziv_tabele> (<naziv_kolone> <tip_podatka> [DEFAULT izraz] [,...]); šema poklapa se sa nazivom korisnika DEFAULT opcija: Specificira se predefinisana vrednost za kolonu, koja se koristi ukoliko se prilikom ubacivanja podataka izostavi vrednost za tu kolonu 3/

4 SQL tipovi podataka Data TypeDescription VARCHAR2(size) niz karaktera promenljive dužine, maksimalne dužine size; minimalna dužina je 1, maksimalna je 4000 CHAR(size) Niz karaktera fiksne dužine od size bajtova; default i minimalna dužina je 1, maksimalna dužina je 2000 NUMBER(p,s) broj ukupnog broja cifara p, od čega je s cifara iza decimalnog zareza; p može imati vrednosti od 1 do 38 DATE vrednosti za vreme i datum LONG niz karaktera promenljive dužine do 2 GB CLOB Karakter do 4 GB BLOB BFILE binarni podaci smešteni u eksternom fajlu do 4 GB ROWID jedinstvena adresa vrste u tabeli 4/

5 Izmena definicije tabele ALTER TABLE Alter table iskaz služi za: dodavanje nove kolone, modifikaciju postojeće kolone, definisanje podrazumevane vrednosti za novu kolonu, brisanje kolone dodavanje ograničenja. 5/

6 ALTER TABLE ALTER TABLE <naziv_tabele> ADD (<naziv_kolone> <tip_podatka> [DEFAULT izraz] [, <naziv_kolone> <tip_podatka>]...); ALTER TABLE <naziv_tabele> MODIFY (<naziv_kolone> <tip_podatka> [DEFAULT izraz] [, <naziv_kolone> <tip_podatka>]...); ALTER TABLE <naziv_tabele> DROP COLUMN (<naziv_kolone>); ALTER TABLE <naziv_tabele> ADD CONSTRAINT <naziv_ogranicenja> <definicija_ogranicenja>; 6/

7 Brisanje definicije tabele DROP TABLE <naziv_tabele>; 7/

8 Rad u učionici ITC L3 Podaci potrebni za konektovanje na bazu podataka orcl11 Host Name: Port Number: 1521 Oracle SID, database name: orcl11 User name: Exxxxx Password: ftn

9 Kreirati sledeće tabele: Primer - kreiranje radnik({mbr, Ime, Prz, Sef, Plt, God}, {Mbr}), projekat({spr, Ruk, Nap, Nar}, {Spr}), radproj({spr, Mbr, Brc}, {Spr, Mbr}), radnik[sef] radnik[mbr], projekat[ruk] radnik[mbr], radproj[mbr] radnik[mbr], radproj[spr] projekat[spr]. Prethodno ih obrisati ako postoje u bazi podataka 9/

10 Tabela radnik Mbr - maticni broj radnika Ime - ime radnika Prz- prezime radnika Sef- maticni broj direktno nadredjenog rukovodioca - radnika Plt - mesecni iznos plate radnika Pre godišnja premija na platu radnika God - Datum rodjenja radnika Obeležja Mbr, Ime, Prz ne smeju imati null vrednost. Plata ne sme biti manja od /

11 Tabela projekat Spr- sifra projekta Ruk - rukovodilac projekta Nap - naziv projekta Nar - narucilac projekta Obeležja Spr i Ruk ne smeju imati null vrednost, dok obeležje Nap mora imati jedinstvenu vrednost 11 /

12 Tabela radproj Spr - sifra projekta Mbr - maticni broj radnika Brc - broj casova nedeljnog angazovanja na projektu Sva tri obeležja ne smeju da imaju null vrednost 12 /

13 Tabela radnik CREATE TABLE radnik ( Mbr integer NOT NULL, Ime varchar(20) NOT NULL, Prz varchar(25) NOT NULL, Sef integer, Plt decimal(10, 2), Pre decimal(6, 2), Pre decimal(6, 2) God date NOT NULL, CONSTRAINT radnik_pk PRIMARY KEY (Mbr), CONSTRAINT radnik_fk FOREIGN KEY (Sef) REFERENCES Radnik (Mbr), CONSTRAINT radnik_ch CHECK (Plt>500) ); 13 /

14 Tabela projekat CREATE TABLE projekat ( Spr integer not null, Ruk integer not null, Nap varchar(30), Nar varchar(30), CONSTRAINT projekat_pk PRIMARY KEY (Spr), CONSTRAINT projekat_fk FOREIGN KEY (Ruk) REFERENCES Radnik (Mbr), CONSTRAINT projekat_uk UNIQUE (Nap) ); 14 /

15 Tabela radproj CREATE TABLE radproj ( Spr integer NOT NULL, Mbr integer NOT NULL, Brc integer NOT NULL, CONSTRAINT radproj_pk PRIMARY KEY (Spr, Mbr), CONSTRAINT radproj_rad_fk FOREIGN KEY (Mbr) REFERENCES radnik(mbr), CONSTRAINT radproj_prj_fk FOREIGN KEY (Spr) REFERENCES projekat(spr) ); 15 /

16 Osnovni oblik SELECT naredbe SELECT * {[DISTINCT] column expression [[AS] alias],...} FROM table WHERE condition ORDER BY {column expression alias order num [ASC DESC],...} 16 /

17 Primeri Izlistati imena i prezimena radnika koji rade na projektu sa šifrom 30. select ime, prz from radnik r, radproj rp where r.mbr=rp.mbr and spr=30; 17 /

18 Primeri Prikazati radnike, čije prezime ili ime sadrži znak '-'. SELECT Mbr, Ime, Prz, Plt FROM Radnik WHERE Ime LIKE '%-% OR Prz LIKE '%-%' Prikazati radnike, čije prezime ili ime sadrži znak '_'. SELECT Mbr, Ime, Prz, Plt FROM Radnik WHERE Ime LIKE '%\_%' ESCAPE '\' OR Prz LIKE '%\_%' ESCAPE '\' 18 /

19 Primeri Prikazati mbr, ime, prz, plt radnika koji zarađuju više od radnika sa matičnim brojem 40. select r.mbr, r.prz, r.ime, r.plt from radnik r, radnik r1 where r.plt>r1.plt and r1.mbr=40; Prikazati imena, prezimena i plate radnika koji zarađuju bar 1000 dinara manje od rukovodioca projekta na kom radnik radi. select r1.ime, r1.prz, r1.plt, p.nap from radnik r1, radnik r2, projekat p, radproj rp where r1.mbr=rp.mbr and rp.spr=p.spr and p.ruk=r2.mbr and r1.plt+1000<r2.plt; 19 /

20 Primeri Izlistati nazive projekata na kojima se radi više od 15 časova. select nap from projekat p, radproj rp where p.spr=rp.spr group by p.spr, nap having sum(brc)>15; 20 /

21 Primeri Izlistati šifre i nazive projekata na kojima radi više od dva radnika. select p.spr, p.nap from projekat p, radproj rp where rp.spr=p.spr group by p.spr, p.nap having count(mbr)>2; 21 /

22 Primeri Izlistati u rastućem redosledu plate mbr, ime, prz i plt radnika koji imaju platu veću od prosečne. select mbr, ime, prz, plt from radnik where plt>(select avg(plt) from radnik) order by plt asc; 22 /

23 Primeri Izlistati nazive i šifre projekata na kojima je prosečno angažovanje veće od prosečnog angažovanja na svim projektima. select p.spr, p.nap from projekat p, radproj rp where rp.spr=p.spr group by p.spr, p.nap having avg(brc)>(select avg(brc) from radproj); 23 /

24 Primeri Izlistati nazive i šifre projekata na kojima je prosečno angažovanje veće od prosečnog angažovanja na svakom projektu (najveće prosečno angažovanje). select p.spr, p.nap from projekat p, radproj rp where rp.spr=p.spr group by p.spr, p.nap having avg(brc)>=all(select avg(brc) from radproj group by spr); 24 /

25 Primeri Prikazati mbr, ime, prz, plt radnika čiji je broj sati angažovanja na nekom projektu veći od prosečnog broja sati angažovanja na tom projektu. select distinct r.mbr, ime, prz, plt, brc from radnik r, radproj rp1 where r.mbr=rp1.mbr and rp1.brc>(select avg(brc) from radproj rp2 where rp2.spr=rp1.spr); 25 /

26 Prirodno spajanje (NATURAL) Prikazati ime i prz radnika koji rade na projektu sa šifrom 30. select ime, prz from radnik natural join radproj where spr=30; Spajanje se vrši na osnovu imena kolona. 26 /

27 Unutrašnje spajanje (INNER) Prikazati ime i prz radnika koji rade na projektu sa šifrom 30. select ime, prz from radnik r inner join radproj rp on r.mbr=rp.mbr where spr=30; 27 /

28 Spoljno spajanje (OUTER) Levo (LEFT) Desno (RIGHT) Potpuno (FULL) 28 /

29 Spoljno spajanje (LEFT OUTER) Prikazati mbr, ime i prz radnika i šifre projekata na kojima rade. Prikazati, takođe, iste podatke i za radnike koji ne rade ni na jednom projektu, pri čemu za šifru projekta treba, u tom slučaju, prikazati nedostajuću vrednost. select r.mbr,ime, prz, spr from radnik r left outer join radproj rp on r.mbr=rp.mbr; 29 /

30 Spoljno spajanje (LEFT OUTER) Prikazati mbr, ime i prz svih radnika i nazive projekata kojima rukovode. Ukoliko radnik ne rukovodi ni jednim projektom ispisati: ne rukovodi projektom. select r.mbr,ime, prz, nvl(nap, 'ne rukovodi projektom') Projekat from radnik r left outer join projekat p on r.mbr=p.ruk; 30 /

31 Spoljno spajanje (RIGHT OUTER) Prikazati nazive svih projekata i mbr radnika koji rade na njima. Ukoliko na projektu ne radi ni jedan radnik ispisati nulu. select nvl(rp.mbr, 0) "Mbr radnika", nap from radproj rp right outer join projekat p on rp.spr=p.spr; select nvl(rp.mbr, 0) "Mbr radnika", nap from radproj rp, projekat p where rp.spr(+)=p.spr; 31 /

32 Spoljno spajanje (FULL OUTER) select nvl(rp.mbr, 0) "Mbr radnika", nap from radproj rp full outer join projekat p on rp.spr=p.spr; 32 /

33 Primer Prikazati matične brojeve, imena i prezimena radnika, zajedno sa šiframa projekata na kojima rade. Prikazati, takođe, iste podatke i za radnike koji ne rade ni na jednom projektu, pri čemu za šifru projekta treba, u tom slučaju, prikazati nedostajuću vrednost. 33 /

34 Rešenje SELECT r.mbr, r.prz, r.ime, rp.spr FROM Radnik r, Radproj rp WHERE r.mbr = rp.mbr (+) SELECT r.mbr, r.prz, r.ime, rp.spr FROM Radnik r LEFT OUTER JOIN Radproj rp ON r.mbr = rp.mbr 34 /

35 Primer Prikazati za sve radnike i projekte na kojima rade Mbr, Prz, Ime, Spr i Nap. Za radnike koje ne rade ni na jednom projektu, treba prikazati Mbr, Prz i Ime, dok za vrednosti obeležja Spr i Nap treba zadati, redom, konstante 0 i "Ne postoji". Urediti izlazni rezultat saglasno rastućim vrednostima obeležja Mbr. 35 /

36 Rešenje SELECT r.mbr, r.prz, r.ime, NVL(p.Spr, 0) AS Spr, NVL(p.Nap, 'Ne postoji') AS Nap FROM Radnik r, Radproj rp, Projekat p WHERE r.mbr = rp.mbr (+) AND rp.spr = p.spr (+) ORDER BY Mbr SELECT r.mbr, r.prz, r.ime, NVL(p.Spr, 0) AS Spr, NVL(p.Nap, 'Ne postoji') AS Nap FROM Radnik r LEFT OUTER JOIN Radproj rp ON r.mbr = rp.mbr LEFT OUTER JOIN Projekat p ON rp.spr = p.spr ORDER BY Mbr 36 /

37 Primer Prikazati imena i prezimena svih radnika i prezimena njihovih šefova ako ih imaju. Ako nema šefa ispisati: nema sefa. select r1.ime, r1.prz "Radnik", nvl(r2.prz, 'Nema sefa') Sef from radnik r1 left outer join radnik r2 on r1.sef=r2.mbr order by r1.prz; 37 /

38 Pogled CREATE [OR REPLACE] VIEW view [(alias[, alias]...)] AS subquery [WITH CHECK OPTION [CONSTRAINT constraint]] [WITH READ ONLY [CONSTRAINT constraint]] DROP VIEW view 38 /

39 Pogled Napraviti pogled koji će za sve radnike prikazati Mbr i ukupan broj sati angažovanja radnika na projektima na kojima radi. Za radnike koji nisu angažovani ni na jednom projektu, ukupan broj sati angažovanja treba da iznosi /

40 Pogled CREATE OR REPLACE VIEW angaz_po_radnicima (Mbr, SBrc) AS SELECT r.mbr, NVL(SUM(rp.Brc), 0) FROM radnik r, radproj rp WHERE r.mbr = rp.mbr (+) GROUP BY r.mbr 40 /

41 Pogled Nakon toga, napraviti pogled koji će za svakog šefa (rukovodioca radnika) prikazati njegov matični broj, prezime, ime, ukupan broj radnika kojima rukovodi i njegovo ukupno angažovanje na svim projektima, na kojima radi. Koristiti prethodno definisani pogled. Koliko je ukupno angažovanje svih šefova na projektima? 41 /

42 Pogled CREATE VIEW angaz_sefova (Mbr, Prz, Ime, BrRad, BrSat) AS SELECT DISTINCT r.sef, r1.prz, r1.ime, COUNT(*), a.sbrc FROM radnik r, radnik r1, angaz_po_radnicima a WHERE r.sef = r1.mbr AND r.sef = a.mbr GROUP BY r.sef, r1.prz, r1.ime, a.sbrc SELECT SUM(BrSat) AS UkAngSef FROM angaz_sefova 42 /

43 Neke funkcije za rad sa datumom i vremenom ADD_MONTHS(d, n) koristi se za dodavanje ili oduzimanje broja meseci od određenog datuma LAST_DAY(d) vraća datum poslednjeg dana u mesecu zadatog parametrom sa datumom MONTHS_BETWEEN(d1, d2) utvrđuje broj meseci između dva datuma NEXT_DAY(d, char) za zadati datum i dan u nedelji f-ja vraća prvi sledeći datum koji upravo predstavlja taj dan u nedelji ROUND(d [,fmt]) vraća datum i vreme zaokruženo na najveći sledeći deo datuma SYSDATE vraća trenutni datum i vreme TRUNC(d, [fmt]) vraća vrednost tipa DATE odsečenu do vrednosti navedene u parametru koji predstavlja masku za formatiranje d datum n broj meseci 43 /

44 Funkcije za rad sa datumom i vremenom Primeri upotrebe datumskih funkcija ROUND('29-JUL-2004', 'MONTH') '01-AUG-2004' TRUNC('29-JUL-2004', 'MONTH') '01-JUL-2004' ROUND('29-JUL-2004', 'YEAR') '01-JAN-2005' TRUNC('29-JUL-2004', 'YEAR') '01-JAN-2004 MONTHS_BETWEEN('29-JUL-2004', '28-JUN-2004') ADD_MONTHS('11-JAN-1995',6) '11-JUL-1995' NEXT_DAY('05-JUN-2004','SUNDAY') '06-JUN- 2004' LAST_DAY('05-JUN-2004') '30-JUN-2004' 44 /

45 Funkcije za rad sa datumom i vremenom Prikazati matični broj i razliku između današnjeg dana i datuma rođenja radnika, iskazanu u sedmicama, za svakog radnika. SELECT MBR, trunc((sysdate-god)/7, 0) "Nedelje od rodjenja" FROM Radnik; 45 /

46 Neke karakter funkcije LOWER(char) za konvertovanje svih znakova u mala slova UPPER(char) za konvertovanje svih znakova u velika slova INITCAP(char) prvo slovo svake reči u nizu znakova pretvara u veliko slovo, a ostatak reči u mala slova SUBSTR(char, m [,n]) koristi se za izdvajanje dela niza znakova TRIM(LEADING TRAILING BOTH, trim_character FROM trim_source) uklanja početne ili prateće znakove sa početka ili kraja niza znakova LENGTH(char) vraća broj znakova u nizu 46 /

47 Neke karakter funkcije - primeri LOWER ( Sva mala slova') 'sva mala slova UPPER ('Sva velika slova') SVA VELIKA SLOVA INITCAP( Velika početna slova') ' Velika Početna Slova SUBSTR('DobroJutro',1,5) 'Dobro TRIM('D' FROM 'DobroJutro') 'obrojutro' LENGTH('DobroJutro') /

48 Neke karakter funkcije - primer SELECT Mbr, Prz, Ime FROM Radnik WHERE UPPER(Prz) = PETRIC ; 48 /

49 Neke funkcije za konverziju podataka TO_CHAR(d [, fmt]) transformiše vrednosti tipa DATE u VARCHAR2, po izboru uz navedeni format datuma TO_CHAR(n [, fmt]) transformiše vrednost brojčanog tipa u VARCHAR2, po izboru uz navedeni format broja TO_DATE(char [, fmt]) za konvertovanje niza znakova u ekvivalentni datum TO_NUMBER(char [,fmt]) za konvertovanje znakovnih vrednosti u numeričke 49 /

50 Modeli za formatiranje datumskih podataka -/,.;:"text" Punctuation and quoted text is reproduced in the result. AD/A.D. AD indicator with or without periods. AM/A.M. Meridian indicator with or without periods. BC/B.C. BC indicator. with or without periods. CC/SCC Century; "S" prefixes BC dates with "-". D Day of week (1-7). DAY Name of day, padded with blanks to length of 9 characters. DD Day of month (1-31). DDD Day of year (1-366). DY Abbreviated name of day. IW Week of year (1-52 or 1-53) based on the ISO standard. IYY/IY/I Last 3, 2, or 1 digit(s) of ISO year. IYYY 4-digit year based on the ISO standard. HH/HH12 Hour of day (1-12). HH24 Hour of day (0-23). J Julian day; the number of days since January 1, 4712 BC. Number specified with 'J' must be integers. MI Minute (0-59). MM Month (01-12; JAN = 01) MONTH Name of month, padded with blanks to length of 9 characters. 50 /

51 Modeli za formatiranje datumskih podataka MON Abbreviated name of month. PM/P.M. Meridian indicator with and without periods. Q Quarter of year (1, 2, 3, 4; JAN-MAR = 1) RM Roman numeral month (I-XII; JAN = I). RR Last 2 digits of year; for years in other countries. SS Second (0-59). SSSSS Seconds past midnight ( ). WW Week of year (1-53) where week 1 starts on the first day of the year and continues to the seventh day of the year. W Week of month (1-5) where week 1 starts on the first day of the month and ends on the seventh. Y/YYY Year with comma in this position. YEAR/SYEAR Year, spelled out; "S" prefixes BC dates with "-". YYYY/SYYYY 4-digit year; "S" prefixes BC dates with "-". YYY/YY/Y Last 3, 2, or 1 digit(s) of year. TH Ordinal Number DDTH 4TH SP Spelled Number DDSP FOUR SPTH or THSP Spelled, ordinal number DDSPTH FOURTH FM "Fill mode". This modifier suppresses blank padding in the return value of the TO_CHAR function 51 /

52 Modeli za formatiranje numeričkih podataka Return value with the specified number of digits with a leading space if positive.return value with the specified number of digits with a leading minus if negative.leading zeros are blank, except for a zero value, which returns a zero for the integer part of the fixed point number Return leading zeros.return trailing zeros. $ $9999 Return value with a leading dollar sign. B B9999 Return blanks for the integer part of a fixed point number when the integer part is zero (regardless of "0"s in the format model). MI 9999MI Return negative value with a trailing minus sign "-".Returns positive value with a trailing blank. S S S Return negative value with a leading minus sign "-".Return positive value with a leading plus sign "+".Return negative value with a trailing minus sign "-".Return positive value with a trailing plus sign "+". PR 9999PR Return negative value in <angle brackets>.return positive value with a leading and trailing blank. 52 /

53 Modeli za formatiranje numeričkih podataka D 99D99 Return a decimal point (that is, a period ".") in the specified position. G 9G999 Return a group separator in the position specified. C C999 Return the ISO currency symbol in the specified position. L L999 Return the local currency symbol in the specified position., (comma) 9,999 Return a comma in the specified position.. (period) Return a decimal point (that is, a period ".") int the specified position. V 999V99 Return a value multiplied by 10n (and if necessary, round it up), where n is the number of "9"s after the "V". EEEE 9.9EEEE Return a value using in scientific notation. RNrn RN Return a value as Roman numerals in uppercase.rerturn a value as Roman numerals in lowercase.value can be an integer between 1 and FM FM90.9 Returns a value with no leading or trailing blanks. 53 /

54 Neke funkcije za konverziju podataka select MONTHS_BETWEEN(TO_DATE('29-Jul-2004', 'DD-Mon-YYYY'), TO_DATE('29-JUN-2004', 'dd-mon-yyyy')) from dual select Prz, TO_CHAR(God, 'fmdd Month YYYY') AS DatRodj FROM Radnik select TO_CHAR(Plt, '$99,999.00') Plata FROM Radnik 54 /

55 Primeri Prikazati Mbr, Prz i Ime svih radnika u formatu velikih slova, uređena u rastućem redosledu po obeležjima Prz i Ime. SELECT Mbr, UPPER(Prz), UPPER(Ime) FROM radnik ORDER BY Prz, Ime 55 /

56 Primeri Prikazati Mbr i podstringove prezimena i imena radnika dužine 5, koji počinju od pozicije 3. SELECT Mbr, SUBSTR(Prz, 3, 5) AS Prz_deo3_5, SUBSTR(Ime, 3, 5) AS Ime_deo3_5 FROM radnik 56 /

57 Primeri Prikazati vrednosti obeležja Mbr, Prz, Ime i Sef za sve radnike, pri čemu se kao vrednost obeležja Sef, onda kada Sef ima NULL vrednost u tabeli, pojavljuje konstanta "glavni rukovodilac". SELECT Mbr, Prz, Ime, NVL(TO_CHAR(Sef), 'glavni rukovodilac') Sef FROM radnik 57 /

58 Primeri Kog dana u nedelji ste rođeni? Napomena: iskoristiti tabelu koja ima samo jednu torku i jednu kolonu, pod nazivom: SYS.DUAL. Upit napisati tako da se datum rođenja može interaktivno unositi. SELECT TO_CHAR(TO_DATE('&Dat_rodj', 'DD.MM.YYYY'), 'DAY') as "Dan rodjenja" FROM SYS.DUAL 58 /

59 Sekvencer (Generator sekvence vrednosti) CREATE SEQUENCE sequence [INCREMENT BY n] [START WITH n] [{MAXVALUE n NOMAXVALUE}] [{MINVALUE n NOMINVALUE}] [{CYCLE NOCYCLE}] [{CACHE n NOCACHE}] ALTER SEQUENCE sequence... DROP SEQUENCE sequence 59 /

60 Primer upotrebe sekvencera CREATE SEQUENCE SEQ_Mbr INCREMENT BY 1 START WITH 300 NOCYCLE CACHE 10 INSERT INTO radnik (Mbr, Prz, Ime, God) VALUES (SEQ_Mbr.NEXTVAL, 'Misic', 'Petar', SYSDATE) 60 /

61 Primer upotrebe sekvencera SELECT SEQ_Mbr.CURRVAL FROM SYS.DUAL 61 /

62 Tabele u Oracle bazi podataka korisničke tabele kolekcije tabela koje kreira i održava korisnik sadrže korisničke informacije Data Dictionary (rečnik podataka) kolekcija tabela koje kreira i održava Oracle server sadrže informacije baze podataka vlasnik svih tabela u rečniku je SYS korisnik informacije smeštene u rečniku podataka obuhvataju imena korisnika Oracle servera, privilegije dodeljene korisnicima, nazive objekata baze podataka, ograničenja. postoji nekoliko kategorija pogleda rečnika podataka; svaka od njih ima odgovarajući prefiks: USER_ - ovi pogledi sadrže informacije o objektima čiji je vlasnik korisnik ALL_ - ovi pogledi sadrže informacije o svim tabelama (objektnim i relacionim) koje su dostupne korisniku DBA_ - ovi pogledi su zabranjeni, tj. dostupni su samo korisnicima koji imaju DBA ulogu 62 /

63 Tabele u Oracle bazi podataka Upiti u rečniku podataka se postavljaju kao i svi ostali upiti. Prikazati nazive tabela čiji je vlasnik korisnik. SELECT table_name FROM user_tables; Prikazati različite tipove objekata čiji je vlasnik korisnik. SELECT DISTINCT object_type FROM user_objects; Prikazati tabele, poglede, sinonime i sekvence čiji je vlasnik korisnik. SELECT * FROM user_catalog; 63 /

64 Uloga jezika PL/SQL i struktura PL/SQL programa PL/SQL - jezik III generacije PL/SQL - predstavlja proceduralno proširenje SQL-a PL/SQL se može koristiti iz različitih okruženja SQL*Plus Oracle Developer Suite (Forms, Reports, Oracle Portal, Oracle Discoverer) SQL Developer 64 /

65 Osobine jezika PL/SQL Strukturirano programiranje i organizacija programa po blokovima Proceduralna podrška osnovnih struktura: sekvenca, selekcija i iteracija Podrška neproceduralnog jezika SQL Mogućnost deklarisanja promenljivih i konstanti i upotreba osnovnih i složenih tipova podataka Upotreba kursora - proceduralna obrada rezultata SQL SELECT naredbe Mogućnost obrade grešaka i izuzetaka, indikovanih od strane DBMS ORACLE 65 /

66 Osnovna struktura PL/SQL bloka Tipovi PL/SQL blokova anonimni (netipizovani) tipizovani (procedura, funkcija) 66 /

67 Struktura anonimnog PL/SQL bloka [DECLARE Deklarativni (neobavezni) deo programa: * deklaracija i inicijalizacija promenljivih * deklaracija i inicijalizacija konstanti * deklaracija tipova podataka * deklaracija kursora * deklaracija izuzetaka * deklaracija procedura i funkcija ] BEGIN Izvršni (obavezni) deo programa: * Proceduralne naredbe * SQL naredbe [EXCEPTION Deo za obradu izuzetaka (neobavezni): * WHEN <izuzetak> THEN <blok izvršnih naredbi> ] END; 67 /

68 Primer jednog PL/SQL bloka -- Ovo je oznaka za jednolinijski komentar /* Ovo je način za definisanje višelinijskog komentara */ DECLARE -- Deklarativni deo bloka Br_torki NUMBER(6) := 0; -- Deklarisana i inicijalizovana lokalna promenljiva L_OznDeo Deo.OznDeo%TYPE; -- Deklaracija saglasno tipu kolone iz tabele Deo BEGIN -- Izvršni deo bloka SELECT COUNT(*) INTO Br_torki FROM Deo_koji_se_dobavlja WHERE OznDeo = :p_ozndeo; -- Referenca na promenljivu iz pozivajućeg okruženja IF Br_torki = 0 THEN SELECT COUNT(*) INTO Br_torki FROM Deo_iz_proizvodnje WHERE OznDeo = :p_ozndeo; -- Referenca na promenljivu iz pozivajućeg okruženja END IF; IF Br_torki = 0 THEN RAISE NO_DATA_FOUND; END IF; -- Deo za obradu izuzetaka EXCEPTION -- Povratak na izvršni deo programa NIJE MOGUĆ! /* NO_DATA_FOUND je predefinisani IZUZETAK */ WHEN NO_DATA_FOUND THEN Raise_application_error (-20000, 'Deo mora biti sadržan u najmanje jednoj potklasi'); END; 68 /

69 Osnovni leksički elementi Skup simbola A-Z, a-z, 0-9, (, ), &, <, >, =,!, ;,., %, ^, {, }, [, ], _, ", #,?, +, -, *, / Delimiteri (, ), %, <>,!=, *, **, :=, itd. Literali numerički (114, 12.5, -1.E3) karakter ('O''vo je string') logički (TRUE, FALSE, NULL) Komentari: jednolinijski (--) višelinijski (/* */) Identifikatori do 30 znakova, prvi znak mora biti slovo. Ostali: slova, brojevi, _, #, $. 69 /

70 Ugrađivanje blokova i tok izvršenja programa DECLARE Deklarativni deo programa: * GLOBALNE DEKLARACIJE * deklaracije procedura i funkcija PROCEDURE FUNCTION lokalne deklaracije BEGIN EXCEPTION BEGIN Izvršni deo programa: END; DECLARE lokalne deklaracije BEGIN EXCEPTION END; EXCEPTION Deo za obradu izuzetaka: * WHEN <izuzetak> THEN DECLARE lokalne deklaracije BEGIN EXCEPTION END; END; 70 /

71 Ugrađivanje blokova i tok izvršenja programa Važe uobičajeni mehanizmi toka izvršenja programa Nakon završetka ugrađenog bloka, kontrola izvođenja programa se predaje pozivajućem ("okružujućem") bloku Koncept lokalnosti i globalnosti deklaracija važi na uobičajen način Lokalne deklaracije nisu vidljive u pozivajućem bloku. Globalne deklaracije su vidljive u pozvanom bloku. 71 /

72 Skalarni (osnovni) Tipovi podataka Specifični Oracle tipovi i ANSI SQL standardni tipovi karakter VARCHAR2 (do 32767) CHAR (do 32767, default 1) LONG (do 32760) NVARCHAR2, NCHAR numerički NUMBER (do 38, celobrojni u rasponu od -84 do 127) BINARY_INTEGER (4B integer, u rasponu od (231-1) do 231-1) PLS_INTEGER (4B "pakovani" integer, u rasponu od (231-1) do 231-1) 72 /

73 Skalarni (osnovni) datumski Tipovi podataka DATE TIMESTAMP TIMESTAMP WITH TIME ZONE TIMESTAMP WITH LOCAL TIME ZONE INTERVAL DAY TO SECOND INTERVAL YEAR TO MONTH logički BOOLEAN 73 /

74 Složeni (Composite) RECORD TABLE VARRAY Tipovi podataka Pokazivački (Reference) REF CURSOR, REF objektni_tip ROWID, RAW LOB BFILE (fajl do 4GB) BLOB (do 4GB) CLOB (do 4GB), NCLOB (do 4GB) 74 /

75 Promenljive i konstante PL/SQL promenljive i konstante Skalarne (osnovne) Složene (Composite) Pokazivačke (Reference) LOB 75 /

76 Deklarisanje PL/SQL promenljivih i konstanti identifier [CONSTANT] datatype [NOT NULL] [:= DEFAULT expr] identifier [CONSTANT] {variable%type table.column%type} [NOT NULL] [:= DEFAULT expr] 76 /

77 Primeri deklaracija promenljivih i konstanti DECLARE V_prom1 NUMBER(2); V_prom2 CHAR; V_prom3 VARCHAR2(40) := ''; V_prom4 VARCHAR2(40) NOT NULL := ''; V_prom5 VARCHAR2(40) NOT NULL DEFAULT ''; V_prom6 DATE NOT NULL := SYSDATE + 2; C_prom7 CONSTANT DATE:= SYSDATE; V_prom8 V_Prom6%TYPE := TO_DATE(' ', 'DD.MM.YYYY'); V_prom9 Radnik.Mbr%TYPE := 100; BEGIN NULL; END; 77 /

78 Deklarisanje PL/SQL promenljivih i konstanti Pravila deklarisanja: Konstante moraju biti inicijalizovane. NOT NULL promenljive moraju biti inicijalizovane. Jedna deklaracija dozvoljava deklarisanje tačno jednog identifikatora. Uvesti i poštovati konvencije imenovanja promenljivih i konstanti. Ne nazivati promenljive i konstante istim imenima, kao što su nazivi kolona tabela, ili nazivi samih tabela. 78 /

79 PL/SQL izrazi Klasifikacija PL/SQL izraza: Numerički izrazi Karakter izrazi Logički izrazi Datumski izrazi Selekcioni izrazi (izrazi IF-tipa) 79 /

80 PL/SQL izrazi Izrazi se formiraju na uobičajen način, korišćenjem odgovarajućih operatora. U izrazima je dozvoljena upotreba najvećeg broja predefinisanih jednosložnih ORACLE SQL funkcija. U izrazima je dozvoljena upotreba jednosložnih, korisnički definisanih funkcija. Dozvoljena je upotreba predefinisanih operatora: [NOT] IN, [NOT] LIKE, [NOT] BETWEEN AND i IS [NOT] NULL. LOGIČKI TIP PODATAKA: BOOLEAN. Moguće vrednosti: TRUE, FALSE, NULL. Vrednost NULL se u logičkim izrazima tretira kao FALSE! 80 /

81 PL/SQL izrazi Konverzija podataka različitih tipova Pri izračunavanju izraza, vrši se implicitna konverzija podataka, kada je to moguće. Preporučljivo je koristiti uvek funkcije za eksplicitnu konverziju podataka TO_CHAR, TO_DATE i TO_NUMBER. 81 /

82 Selekcioni izrazi (Izrazi IF tipa) CASE [expr] WHEN comparison_expr1 THEN return_expr1 [ WHEN comparison_expr2 THEN return_expr2 WHEN comparison_exprn THEN return_exprn ] [ ELSE else_expr ] END; 82 /

83 Primer selekcionog PL/SQL izraza CASE Status WHEN 'A' THEN 'Odlican' WHEN 'B' THEN 'Zadovoljava' ELSE 'Ne zadovoljava END; CASE WHEN Status = 'A' THEN 'Odlican' WHEN Status = 'B' THEN 'Zadovoljava' ELSE 'Ne zadovoljava END; 83 /

84 Osnovne PL/SQL naredbe "Prazna" naredba NULL Primer upotrebe prazne naredbe BEGIN NULL; END; 84 /

85 Osnovne PL/SQL naredbe Naredba dodele vrednosti Variable := expression Primeri upotrebe naredbe za dodelu vrednosti DECLARE v_a BOOLEAN := TRUE; v_b NUMBER NOT NULL := 0; BEGIN v_a := 5 > 3; v_b := v_b + 1; END; 85 /

86 86 /

Fakultet tehničkih nauka, Novi Sad Predmet: ISIBP

Fakultet tehničkih nauka, Novi Sad Predmet: ISIBP Fakultet tehničkih nauka, Novi Sad Predmet: Informacioni sistemi i baze podataka dr Slavica Kordid Angelina Vujanovid Marina Nenid Marija Kukid Sistem ocenjivanja Ukupno: 100 bodova Teoretski deo (predavanja)

Више

03 SUBP

03 SUBP Osnovni SQL tipovi podataka Tip podataka NUMBER(p,s) Opis Broj sa maksimalno p cifara od kojih je s maksimalni broj decimala (1 < p < 38) (- 84 < s < 127) VARCHAR2(s) Promenjivi niz karaktera maksimalne

Више

01 SUBP

01 SUBP ER model šeme baze podataka: (Sef) (0, N) (0, N) RADNIK (0, 1) SEF (0, N) (Podredjeni) RUKOVODI RADI _NA (1, 1) (0, N) PROJEKAT Šema relacione baze podataka: RADNIK({Mbr, Prez, Ime, Sef, Plata, Datr},

Више

SQL_zadaci sredjeni 2008 baze podataka

SQL_zadaci sredjeni 2008 baze podataka ER model šeme baze podataka: (Sef) (0, N) (0, N) RADNIK (0, 1) SEF (0, N) (Podredjeni) RUKOVODI RADI _NA (1, 1) (0, N) PROJEKAT Šema relacione baze podataka: RADNIK({Mbr, Prez, Ime, Sef, Plata, Datr},

Више

Upitni jezik SQL

Upitni jezik SQL Šta je 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.

Више

Slide 1

Slide 1 SVEUČILIŠTE U MOSTARU FAKULTET STROJARSTVA I RAČUNARSTVA SUSTAVI BAZA PODATAKA Doc.dr.sc. GORAN KRALJEVIĆ SUSTAVI BAZA PODATAKA 1 Sustavi baza podataka Web: http://www.uni-mo.ba/~goran Pitanja, primjedbe,

Више

Microsoft Word - MySQL_3.doc

Microsoft Word - MySQL_3.doc 7. Data Manipulation Language (DML) Jezik za rad sa podacima (Data Manipulation Language (DML)) služi za umetanje, brisanje i ažuriranje podataka u bazi. 7.1. Umetanje novih redova u tabelu INSERT sintaksa

Више

Sveučilište u Zagrebu Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Katedra za primijenjeno računarstvo Vježba: #7 Kolegij: Ba

Sveučilište u Zagrebu Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Katedra za primijenjeno računarstvo Vježba: #7 Kolegij: Ba Sveučilište u Zagrebu Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Katedra za primijenjeno računarstvo Vježba: #7 Kolegij: Baze podataka Tema: Osnovna SELECT naredba Vježbu pripremili:

Више

Baza podataka

Baza podataka Baza podataka Marijan Šuflaj FER, 2018 Sadržaj Baza podataka Upravljanje sadržajem baza CREATE TABLE ALTER TABLE DROP TABLE INSERT SELECT Spajanje tablica UPDATE DELETE Baza podataka Apstrakcija pohrane

Више

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language 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

Више

Baza fakultet sadrži 3 tabele: tabela studenti sadrzi informacije o studentima Njeni atributi su: indeks indeks studenta (primarni kljuc) ime ime stud

Baza fakultet sadrži 3 tabele: tabela studenti sadrzi informacije o studentima Njeni atributi su: indeks indeks studenta (primarni kljuc) ime ime stud Baza fakultet sadrži 3 tabele: tabela studenti sadrzi informacije o studentima indeks indeks studenta (primarni kljuc ime ime studenta prezime - prezime studenta napomena - napomena tabela predmeti sadrzi

Више

Database Programming with SQL kurs 2017 database design and programming with sql students slajdovi 17-1 Controlling User Access Davanje dozvole (grant

Database Programming with SQL kurs 2017 database design and programming with sql students slajdovi 17-1 Controlling User Access Davanje dozvole (grant Database Programming with SQL kurs 2017 database design and programming with sql students slajdovi 17-1 Controlling User Access Davanje dozvole (grant) ili oduzimanje dozvole (take away) za pristup db

Више

Introduction to Programming

Introduction to  Programming SQL Podupiti o Podupit je upit unutar upita Mogućnosti podupita o Ima zadatak da razloži komplesnu logiku o Mozemo da prikažemo podatke koje nam where klauzula ne bi dozvolila, to se pre svega odnosi na

Више

Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić

Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić projektni zadatak projektovanje programa (algoritmi) pisanje programskog koda, izvorni kod,

Више

АГЕНЦИЈА ЗА БАНКАРСТВО РЕПУБЛИКЕ СРПСКЕ УПУТСТВО ЗА ЕЛЕКТРОНСКО ДОСТАВЉАЊЕ ПОДАТАКА ИЗ ОБЛАСТИ РЕСТРУКТУРИРАЊА БАНАКА Бања Лука, јули године

АГЕНЦИЈА ЗА БАНКАРСТВО РЕПУБЛИКЕ СРПСКЕ УПУТСТВО ЗА ЕЛЕКТРОНСКО ДОСТАВЉАЊЕ ПОДАТАКА ИЗ ОБЛАСТИ РЕСТРУКТУРИРАЊА БАНАКА Бања Лука, јули године АГЕНЦИЈА ЗА БАНКАРСТВО РЕПУБЛИКЕ СРПСКЕ УПУТСТВО ЗА ЕЛЕКТРОНСКО ДОСТАВЉАЊЕ ПОДАТАКА ИЗ ОБЛАСТИ РЕСТРУКТУРИРАЊА БАНАКА Бања Лука, јули 2019. године Садржај 1. НАЧИН ДОСТАВЉАЊА ИЗВЈЕШТАЈНИХ ДАТОТЕКА... 1

Више

3.Kontrlne (upravlja~ke) strukture u Javi

3.Kontrlne (upravlja~ke) strukture u Javi Објектно орјентисано програмирање Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ kartelj@matf.bg.ac.rs Низови у програмском језику Јава Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ

Више

Introduction to Programming

Introduction to  Programming 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

Више

PowerPoint Presentation

PowerPoint Presentation Programski jezici i strukture podataka UVOD Izvođači nastave Srđan Popov (JUG 215) Petar Marić (JUG 105) Milena Počuča (JUG 215) Milica Milutinović (JUG 215) Termini konsultacija naknadno Cilj vežbi Sticanje

Више

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language Obeležene petlje Obeležene petlje Obeležavanje petlje nekim identifikatorom omogućava da se programski tok usmeri na mesto u programu specificirano tim identifikatorom. Ako se iza naredbi break ili continue

Више

UPITI NAD JEDNOM TABELOM 1. Izdvojiti šifre svih knjiga select K_SIF from K 2. Izdvojiti šifre knjiga iz tabele K uz imenovanje kolone select K_SIF as

UPITI NAD JEDNOM TABELOM 1. Izdvojiti šifre svih knjiga select K_SIF from K 2. Izdvojiti šifre knjiga iz tabele K uz imenovanje kolone select K_SIF as UPITI NAD JEDNOM TABELOM 1. Izdvojiti šifre svih knjiga select K_SIF 2. Izdvojiti šifre knjiga iz tabele K uz imenovanje kolone select K_SIF as SIFRA_KNJIGE 3. Izdvojiti šifre knjiga i njihove naslove

Више

Microsoft PowerPoint - OOPpredavanja05 [Compatibility Mode]

Microsoft PowerPoint - OOPpredavanja05 [Compatibility Mode] OBJEKTNO ORIJENTISANO PROGRAMIRANJE PREDAVANJE 5 OBJEKTI U INTERAKCIJI Miloš Kovačević Đorđe Nedeljković 1 /25 OSNOVNI KONCEPTI - Abstrakcija - Modularizacija - Objektne reference - Klasni dijagram - Objektni

Више

Introduction to Programming

Introduction to  Programming SQL Familija JOIN operatora SQL: Familija JOIN operatora Select A 1,A 2,,A n From R 1,R 2,,R m Where uslov Explicitno Spajanje(Join) tabela Inner Join on uslov Natural Join Inner Join Using(attrs) Left

Више

Microsoft Word - WP_kolokvij_2_rjesenja.doc

Microsoft Word - WP_kolokvij_2_rjesenja.doc Napomena WEB PROGRAMIRANJE I PRIMJENE DRUGI KOLOKVIJ vrijeme predviđeno za rješavanje kolokvija je 60 minuta kolokvij se sastoji od 15 pitanja, a ukupan broj bodova je 165 (uz svaki zadatak istaknut je

Више

Microsoft PowerPoint - 13-Funkcije_2.ppt [Compatibility Mode]

Microsoft PowerPoint - 13-Funkcije_2.ppt [Compatibility Mode] Osnove programiranja Funkcije - Metode Prenos parametara Po vrednosti Po referenci Po izlazu Sadržaj Opseg važenja promenljive u drugim strukturama Rekurzije Prenos parametara Metoda može vratiti isključivo

Више

Model podataka

Model podataka Fakultet organizacionih nauka Uvod u informacione sisteme Doc. Dr Ognjen Pantelić Modeliranje podataka definisanje strategije snimanje postojećeg stanja projektovanje aplikativno modeliranje implementacija

Више

PROMENLJIVE, TIPOVI PROMENLJIVIH

PROMENLJIVE, TIPOVI PROMENLJIVIH PROMENLJIVE, TIPOVI PROMENLJIVIH Šta je promenljiva? To je objekat jezika koji ima ime i kome se mogu dodeljivati vrednosti. Svakoj promenljivoj se dodeljuje registar (memorijska lokacija) operativne memorije

Више

PHP proširenja za rad sa bazama podataka Postoje pojedinačna proširenja za različite tipove baza podataka sa svojim bibliotekama funkcija npr. postoji

PHP proširenja za rad sa bazama podataka Postoje pojedinačna proširenja za različite tipove baza podataka sa svojim bibliotekama funkcija npr. postoji PHP proširenja za rad sa bazama podataka Postoje pojedinačna proširenja za različite tipove baza podataka sa svojim bibliotekama funkcija npr. postoji podrška za IBM DB2, Oracle, Ingres, MySQL, PostgreSQL,

Више

PowerPoint Presentation

PowerPoint Presentation Python tutorijal - praktični primeri - Sadržaj: 1. Upoznavanje sa razvojnim okruženjem - Python proširenje (PTVS) za Visual Studio 2015 - Druga razvojna okruženja 2. Osnovi Python jezika - Sintaksa i konvencije

Више

Pojačavači

Pojačavači Programiranje u fizici Prirodno-matematički fakultet u Nišu Departman za fiziku dr Dejan S. Aleksić Programiranje u fizici dr Dejan S. Aleksić, vanredni profesor Kabinet 307 (treći sprat), lab. za elektroniku

Више

Funkcije predavač: Nadežda Jakšić

Funkcije predavač: Nadežda Jakšić Funkcije predavač: Nadežda Jakšić funkcije delovi programa koji izvršavaju neki zadatak, celinu; dele na ugrađene, korisničke i main funkciju ugrađene funkcije printf,scanf... da bi se one izvršile potrebno

Више

P1.2 Projektovanje asemblera

P1.2 Projektovanje asemblera ПРОЈЕКТОВАЊЕ АСЕМБЛЕРА Асемблер Модули асемблера 1 Дефинисање новог лингвистичког нивоа превођењем Потребан преводилац алат који преводи програм написан на једном језику (на једном лингвистичком нивоу)

Више

Microsoft Word - 02 Elementi programskog jezika Pascal

Microsoft Word - 02 Elementi programskog jezika Pascal Elementi programskog jezika Pascal Osnovni elementi jezika Osnovni simboli U programskom jeziku Pascal sve konstrukcije se grade od skupa osnovnih simbola jezika koji čine slova, cifre i specijalni znaci.

Више

SPR , IV godina, VHDL – Ispitna pitanja

SPR , IV godina, VHDL – Ispitna pitanja VHDL, SPR, II kolokvijum, priprema, 2016 Napomena: Na kolokvijumu dolazi 1 zadatak (40%) i 1 praktican projekat (60%). Radi se u grupama prema utvrdjenom rasporedu od I kolokvijuma. A. ZADAI Priloziti

Више

Introduction to Programming

Introduction to  Programming SQL Iskazi za modifkaciju nad podacima Unos novog podataka (2 metode) Insert Into Tabela Values(A 1,A 2,,A n ) Insert Into Tabela Select-iskaz Brisanje postojećeg podatka Delete From Tabela Where Uslov

Више

PDO

PDO PDO Marijan Šuflaj FER, 2018 Sadržaj PDO Osnove Izvršavanje upita Ranjivosti Dohvaćanje rezultata upita PDO - PHP Data Objects Jednostavno i konzistetno sučelje za pristup bazama podataka iz PHP-a Isti

Више

I grupa 1. Napisati program koji izračunava i ispisuje zbir 4 najveća od pet brojeva unetih sa standardnog ulaza. ulaz izlaz Analiza: 1.

I grupa 1. Napisati program koji izračunava i ispisuje zbir 4 najveća od pet brojeva unetih sa standardnog ulaza. ulaz izlaz Analiza: 1. I grupa 1. Napisati program koji izračunava i ispisuje zbir 4 najveća od pet brojeva unetih sa standardnog ulaza. ulaz izlaz 3 2 1 4 5 14 Analiza: 1. Odredimo zbir svih 5 unesenih brojeva (i sačuvamo u

Више

Programski jezici i strukture podataka 2018/2019. Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijsk

Programski jezici i strukture podataka 2018/2019. Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijsk Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijski program: Informacioni inženjering Informacioni inženjering 1 Rekurzivne funkcije Binarna stabla Informacioni

Више

PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije

PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije korake. Uz dobro razrađen algoritam neku radnju ćemo

Више

Baze podataka MySQL Community Server i MySQL Workbench

Baze podataka MySQL Community Server i MySQL Workbench Baze podataka MySQL Community Server i MySQL Workbench Preuzimanje i instalacija Iz Internet browser-a pristupiti adresi: www.mysql.com Kliknuti na link Downloads Kliknuti na link Community Kliknuti na

Више

MIP-heuristike (Matheuristike) Hibridi izmedu metaheurističkih i egzaktnih metoda Tatjana Davidović Matematički institut SANU

MIP-heuristike (Matheuristike) Hibridi izmedu metaheurističkih i egzaktnih metoda Tatjana Davidović Matematički institut SANU MIP-heuristike (Matheuristike) Hibridi izmedu metaheurističkih i egzaktnih metoda Tatjana Davidović Matematički institut SANU http://www.mi.sanu.ac.rs/ tanjad (tanjad@mi.sanu.ac.rs) 21. januar 2013. Tatjana

Више

Grananje u programu predavač: Nadežda Jakšić

Grananje u programu predavač: Nadežda Jakšić Grananje u programu predavač: Nadežda Jakšić u okviru linijske strukture izvršavaju se sve naredbe u okviru razgranate strukture uvek se ispituje neki uslov; u zavisnosti od toga da li je uslov ispunjen

Више

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language Uvod u programiranje dr Ninoslava Savić Predavanja (3) sreda: 11:15 13:50 Učionica 16 Konsultacije sreda: 15 17 h Kabinet 43 Uvod u programiranje Fond časova: 3+3 Broj ESPB: 7 Ocena znanja (max. broj poena

Више

KDP

KDP Региони Региони Програмска парадигма за приступ критичној секцији Увођење посебне синтаксе за експлицитно означавање критичних секција Обезбеђивање међусобног искључивања процеса Условни критични регион

Више

Microsoft PowerPoint - C-4-1

Microsoft PowerPoint - C-4-1 Pregled iskaza u C-u Izraz; Iskaz dodele, serijski komponovani iskaz; blok Uslovni iskazi i izrazi; složeno grananje Iterativni iskazi Iskaz dodele Promena vrednosti a = Ψ; Izračunava vrednost izraza Ψ,

Више

Microsoft Word - SYLLABUS -Dinamicki

Microsoft Word - SYLLABUS -Dinamicki Univerzitet UKSHIN HOTI PRIZREN Fakultet kompjuterskih nauka Nastava na bosanskom jeziku NASTAVNI PLAN - PROGRAM SYLLABUS Akademska Nivo studija Bachelor Departament god. PREDMET Dinamički sadržaj web

Више

PowerPoint Presentation

PowerPoint Presentation Visoka škola strukovnih studija za informacione i komunikacione tehnologije MVC - Modeli Školska 2017/18. Dr Nenad Kojić, dipl. inž. Luka Lukić, struk. inž. Danijela Nikitin, spec.stuk.inž MVC.htaccess

Више

Microsoft Word - 11 Pokazivaci

Microsoft Word - 11 Pokazivaci Pokazivači U dosadašnjem radu smo imali prilike da koristimo promenljive koje smo deklarisali na početku nekog bloka. Prilikom deklaracije promenljiva dobija jedinstveni naziv i odgovarajući prostor u

Више

Програмирај!

Програмирај! Листе Поред појединачних вредности исказаних бројем или ниском карактера, често је потребно забележити већи скуп вредности које су на неки начин повезане, као, на пример, имена у списку путника у неком

Више

(Microsoft PowerPoint - 903_\216nidari\346_Java Persistence.pptx)

(Microsoft PowerPoint - 903_\216nidari\346_Java Persistence.pptx) Java Persistence API (JPA) najbolje prakse Slavko Žnidarić Beta Tau Beta slavko.znidaric@btb.hr Vaš podatkovni sloj? Vaš šef, DBA ili klijent? Vi? Uzroci loših performansi Previše upita Spori upiti Loše

Више

Funkcije predavač: Nadežda Jakšić

Funkcije predavač: Nadežda Jakšić Funkcije predavač: Nadežda Jakšić do sada su korišćene "gotove" funkcije iz standardnih biblioteka (cin, cout...) one su pozivane iz main funkcije koja je glavna funkcija u programu jer izvršavanje programa

Више

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode]

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode] Programski jezik C organizacija izvornog programa Prevođenje Pisanje programa izvorni program Prevođenje programa izvršni program Izvršavanje programa rezultat Faze prevođenja Pretprocesiranje Kompilacija

Више

Uvod u računarstvo 2+2

Uvod u računarstvo 2+2 Ulaz i izlaz podataka Ulaz i izlaz podataka Nakon odslušanog bit ćete u stanju: navesti sintaksu naredbi za unos/ispis znakova znakovnih nizova cijelih brojeva realnih brojeva jednostruke i dvostruke preciznosti

Више

Microsoft PowerPoint - 10-Jednodimenzionalni nizovi.ppt [Compatibility Mode]

Microsoft PowerPoint - 10-Jednodimenzionalni nizovi.ppt [Compatibility Mode] Osnove programiranja Nizovi Sadržaj Definicija niza Vrste i elementi nizova Deklarisanje nizova Dodele (početne) vrednosti nizovima Jednodimenzionalni nizovi Primeri dodele vrednosti Petlja foreach Nizovi

Више

PowerPoint Presentation

PowerPoint Presentation Java konkurentno programiranje Životni ciklus niti i problemi sinhronizacije resursa Multitasking Multithreading Životni ciklus niti http://www.roseindia.net/java/thread/lifecycle-of-threads.shtml Životni

Више

Microsoft PowerPoint - Datoteke [Compatibility Mode]

Microsoft PowerPoint - Datoteke [Compatibility Mode] Датотеке стандардни улаз / излаз Датотека је именовани низ знакова (бајтова) У програмском језику C датотека је везана за улаз и излаз података функције стандардне библиотеке Најједностaвније

Више

Kako spriječiti petlju

Kako spriječiti petlju KAKO SPRIJEČITI ITI POJAVU PETLJE U HIJERARHIJSKOJ STRUKTURI PODATAKA Zlatko Sirotić, dipl.ing. Istra informatički inženjering d.o.o. Pula Stranica 1 Tema je rjer ješavanje određenog enog tipa poslovnih

Више

Primenjeno programiranje - Vežbe

Primenjeno programiranje - Vežbe VISOKA POSLOVNA ŠKOLA STRUKOVNIH STUDIJA NOVI SAD Primena integrisanih razvojnih alata Java i NetBeans IDE 7.0 vežba 9 i 10 Kreiranje desktop aplikacije sa konekcijom na bazu Pokrenuti NetBeans, u kartici

Више

Kombinatorno testiranje

Kombinatorno testiranje Kombinatorno testiranje Uvod Na ponašanje aplikacije utiče puno faktora, npr. ulazne vrednosti, konfiguracije okruženja. Tehnike kao što je podela na klase ekvivalencije ili analiza graničnih vrednosti

Више

Microsoft PowerPoint - Bitovi [Compatibility Mode]

Microsoft PowerPoint - Bitovi [Compatibility Mode] Оператори над битовима (Јаничић, Марић: Програмирање 2, тачка 5.6) Оператори за рад са појединачним битовима Само на целобројне аргументе: ~ битовска негација & битовска конјункција (и) битовска (инклузивна)

Више

PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste

PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, 5.06.019. godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekstenzija se najčešće koristi za tekstualne datoteke? a)

Више

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language Niz (array) Nizovi Niz je lista elemenata istog tipa sa zajedničkim imenom. Redosled elemenata u nizovnoj strukturi je bitan. Konkretnom elementu niza pristupa se preko zajedničkog imena niza i konkretne

Више

Microsoft PowerPoint - 6. Query Builder.pptx

Microsoft PowerPoint - 6. Query Builder.pptx Visokaškola strukovnihstudija za informacione i komunikacione tehnologije Query builder Query builder je sastavni deo Laravel framework-a koji pruža pouzdan interfejs za rad sa bazom podataka, kreiranje

Више

PowerPoint Presentation

PowerPoint Presentation Baze Podataka Tip veze (kardinalnost i referencijalni integritet) TIP VEZE (Kardinalnost) 1 : 1 (jedan prema jedan) 1 : N (jedan prema više) N : M (više prema više) RELACIJA 1 : N jedan Klijent više Porudzbina

Више

Programski jezik C

Programski jezik C SPR, 2016 Rad sa datotekama Komunikacija sa OS Rad sa datotekama Vrste datoteka Otvaranje / zatvaranje datoteka Pristup datotekama za upis / čitanje Funkcije za rad sa datotekama Ulazno / izlazni tokovi

Више

Microsoft Word - CAD sistemi

Microsoft Word - CAD sistemi U opštem slučaju, se mogu podeliti na 2D i 3D. 2D Prvo pojavljivanje 2D CAD sistema se dogodilo pre više od 30 godina. Do tada su inženjeri koristili table za crtanje (kulman), a zajednički jezik komuniciranja

Више

СТАРТ - СТОП ПАРКИНГ СИСТЕМ КОРИСНИЧКО УПУТСТВО страна 1 од 12

СТАРТ - СТОП ПАРКИНГ СИСТЕМ КОРИСНИЧКО УПУТСТВО страна 1 од 12 СТАРТ - СТОП ПАРКИНГ СИСТЕМ КОРИСНИЧКО УПУТСТВО страна 1 од 12 РЕГИСТРАЦИЈА НА СТАРТ-СТОП ПАРКИНГ СИСТЕМ За коришћење СТАРТ-СТОП ПАРКИНГ система, корисник (физичко или правно лице) попуњава упитник у просторијама

Више

Slide 1

Slide 1 predmet Inženjerska informatika Operativni sistem dr Anica Milošević Koji operativni sistemi postoje? Microsoft Windows Linux Suse Red Hat Ubuntu Unix 26.1.2018. 2 Šta je Windows operativni sistem? Operativni

Више

PowerPoint Presentation

PowerPoint Presentation II Karakteristike C jezika Programski jezik C je viši programski jezik opšte namene. Tesno je povezan sa UNIX OS uz koji je razvijan. Razvio ga je Dennis Ritchie 1970 u Bell Telephone Laboratories, Inc.

Више

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvrsnog_Programa [Compatibility Mode]

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvrsnog_Programa [Compatibility Mode] Организација извршног програма (Марић, Јаничић: Програмирање 1, 9.3.3) Извршавање програма После успешног превођења (претпроцесирања, компилације, повезивања) програм може да се изврши Извршавање се захтева

Више

Strukture predavač: Nadežda Jakšić

Strukture predavač: Nadežda Jakšić Strukture predavač: Nadežda Jakšić složeni tip podatka; kolekcija promenljivih različitog tipa koje su sakupljene radi lakše manipulacije sintaksa: struct [oznakastrukture] navede { definicija člana strukture;

Више

Slide 1

Slide 1 Što, zašto i kako? Noviteti Ispod haube... Malo reklame... Malo stvarnosti... Q&A Najbolje Oracle database rješenje za: Data Warehousing OLTP Konsolidaciju baza Najbolje Oracle database rješenje za: Data

Више

Uvod u PHP

Uvod u PHP Uvod u PHP Marijan Šuflaj FER, 2018 Sadržaj PHP Općenito Sintaksa Osnove Kontrola toka Zadatci Resursi Općenito Naziv od PHP Hypertext Preprocessor Obično koristi ekstenziju.php Tipovi su dinamički Trenutno

Више

Programiranje 1 Beleške sa vežbi Školska 2007/2008 godina Matematički fakultet, Beograd Jelena Tomašević December 5, 2007

Programiranje 1 Beleške sa vežbi Školska 2007/2008 godina Matematički fakultet, Beograd Jelena Tomašević December 5, 2007 Programiranje 1 Beleške sa vežbi Školska 2007/2008 godina Matematički fakultet, Beograd Jelena Tomašević December 5, 2007 2 Sadržaj 1 Programski jezik C 5 1.1 Oblast važenja lokalnih promenljivih..........................

Више

4. Веза између табела практичан рад 1. Повежите табеле Proizvodi и Proizvođači у бази података Prodavnica.accdb везом типа 1:N. 2. Креирајте табелу St

4. Веза између табела практичан рад 1. Повежите табеле Proizvodi и Proizvođači у бази података Prodavnica.accdb везом типа 1:N. 2. Креирајте табелу St 4. Веза између табела практичан рад 1. Повежите табеле Proizvodi и Proizvođači у бази података Prodavnica.accdb везом типа 1:N. 2. Креирајте табелу Stavke_računa која ће разрешити проблем везе типа N:N

Више

Algoritmi i arhitekture DSP I

Algoritmi i arhitekture DSP I Univerzitet u Novom Sadu Fakultet Tehničkih Nauka Katedra za računarsku tehniku i međuračunarske komunikacije Algoritmi i arhitekture DSP I INTERNA ORGANIACIJA DIGITALNOG PROCESORA A OBRADU SIGNALA INTERNA

Више

23. siječnja od 13:00 do 14:00 Školsko natjecanje / Osnove informatike Srednje škole RJEŠENJA ZADATAKA S OBJAŠNJENJIMA Sponzori Medijski pokrovi

23. siječnja od 13:00 do 14:00 Školsko natjecanje / Osnove informatike Srednje škole RJEŠENJA ZADATAKA S OBJAŠNJENJIMA Sponzori Medijski pokrovi 3. siječnja 0. od 3:00 do 4:00 RJEŠENJA ZADATAKA S OBJAŠNJENJIMA Sponzori Medijski pokrovitelji Sadržaj Zadaci. 4.... Zadaci 5. 0.... 3 od 8 Zadaci. 4. U sljedećim pitanjima na pitanja odgovaraš upisivanjem

Више

P11.3 Analiza zivotnog veka, Graf smetnji

P11.3 Analiza zivotnog veka, Graf smetnji Поједностављени поглед на задњи део компајлера Међурепрезентација (Међујезик IR) Избор инструкција Додела ресурса Распоређивање инструкција Инструкције циљне архитектуре 1 Поједностављени поглед на задњи

Више

Programiranje 2 0. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/4

Programiranje 2 0. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/4 Programiranje 2 0. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/48 Sadržaj predavanja Ponavljanje onog dijela C-a koji

Више

Microsoft PowerPoint - Topic04-Serbian.ppt

Microsoft PowerPoint - Topic04-Serbian.ppt Tema 4 Osnovni koncepti za opis razvoja softvera DAAD Project Joint Course on Software Engineering Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University

Више

Osnovi programiranja Beleške sa vežbi Smer Računarstvo i informatika Matematički fakultet, Beograd Jelena Tomašević i Sana Stojanović November 7, 2005

Osnovi programiranja Beleške sa vežbi Smer Računarstvo i informatika Matematički fakultet, Beograd Jelena Tomašević i Sana Stojanović November 7, 2005 Osnovi programiranja Beleške sa vežbi Smer Računarstvo i informatika Matematički fakultet, Beograd Jelena Tomašević i Sana Stojanović November 7, 2005 2 Sadržaj 1 5 1.1 Specifikacija sintakse programskih

Више

Programiranje 2 popravni kolokvij, 15. lipnja Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanj

Programiranje 2 popravni kolokvij, 15. lipnja Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanj Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje, te službeni šalabahter. Kalkulatori, mobiteli, razne neslužbene tablice, papiri i sl., nisu dozvoljeni! Sva rješenja napišite

Више

PASCAL UVOD 2 II razred gimnazije

PASCAL UVOD 2 II razred gimnazije PASCAL UVOD 2 II razred gimnazije Upis-ispis 1. Upis Read(a,b); --u jednom redu Readln(a,b); -- nakon upisa prelazi se u novi red 2. Ispis Write(a,b); -- u jednom redu Writeln(a,b); --nakon ispisa prelazi

Више

Универзитет у Нишу Електронски факултет Катедра за теоријску електротехнику Кратко упутство за коришћење програмског пакета FEMM 4.2 за израду вежби и

Универзитет у Нишу Електронски факултет Катедра за теоријску електротехнику Кратко упутство за коришћење програмског пакета FEMM 4.2 за израду вежби и Универзитет у Нишу Електронски факултет Катедра за теоријску електротехнику Кратко упутство за коришћење програмског пакета FEMM 4.2 за израду вежби из Лабораторијског практикума - Основи електротехнике

Више

Microsoft Word - 405_Prodan_kon.doc

Microsoft Word - 405_Prodan_kon.doc EDITION BASED REDEFINITION - VISOKA DOSTUPNOST KOD NADOGRADNJE APLIKACIJA EDITION BASED REDEFINITION ONLINE APPLICATION UPGRADE Alen Prodan Login d.o.o. Mihačeva draga b.b. 51000 Rijeka +385 91 156 44

Више

Fortran

Fortran FORTRAN Uvod Računala su samo strojevi: neznaju ništa, ne razmišljaju ni o čemu, ali mogu izuzetnom brzinom i vrlo točno, slijediti precizno napisane upute. Takve upute moraju se napisati u posebnom jeziku

Више

Računarski praktikum I - Vježbe 03 - Implementacija strukture string

Računarski praktikum I - Vježbe 03 - Implementacija strukture string Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 03 - Implementacija strukture string v2018/2019. Sastavio: Zvonimir Bujanović Stringovi u C-u String

Више

Microsoft PowerPoint - 07-DinamickeStrukturePodataka

Microsoft PowerPoint - 07-DinamickeStrukturePodataka Динамичке структуре података листа, стек, ред Програмирање 2: глава 6 Динамичке структуре података Динамичка алокација и динамичке структуре података Најзначајније динамичке структуре података листе и

Више

Programski jezik C

Programski jezik C Pojam funkcije Deklaracija i definicija funcije Poziv funkcije Memorijske klase promjenljivih Primjeri. Za kompajliranje koda koristen DEV-C++ 4.9.9.2 Compiler!!!! Moze is koristiti I bilo koji drugi standardni

Више

070-ALIP2-udzbenik.indb

070-ALIP2-udzbenik.indb 0. U uvodnom ćemo poglavlju ponoviti osnove programskog jezika C s kojima smo se susreli u. razredu. U kratkom pregledu navedeni su operatori (aritmetički, relacijski i logički), neke od funkcija iz biblioteka

Више

Primenjeno programiranje - vezbe GUI i baze podataka

Primenjeno programiranje - vezbe GUI i baze podataka Primenjeno programiranje - Vežbe Java i NetBeans IDE 6.5 Kreiranje korisničkog interfejsa Primer jednostavne aplikacije: 1. Odabrati opciju File > New Project 2. Meñu kategorijama odabrati Java i podkategoriju

Више

NN indd

NN indd PETAK, 13. STUDENOGA 2015. NARODNE NOVINE BROJ 124 STRANICA 27 PRILOG 1. STRANICA 28 BROJ 124 NARODNE NOVINE PETAK, 13. STUDENOGA 2015. PRILOG 2. PETAK, 13. STUDENOGA 2015. NARODNE NOVINE BROJ 124 STRANICA

Више