Proceduralni mehanizmi za kontrolu integriteta relacione baze podataka

Size: px
Start display at page:

Download "Proceduralni mehanizmi za kontrolu integriteta relacione baze podataka"

Transcription

1 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 okidača (eng. trigger), procedura (eng. stored procedures) i funkcija baza podataka. 1. Okidači (trigeri) Okidač je mehanizam SUBP koji se automatski pokreće i izvršava svaki put kada se izvrši odreďena operacija ažuriranja nad tabelom za koju je vezan triger. Okidači se najčešće koriste za realizaciju poslovnih pravila koji se tiču provere integriteta podataka i/ili obezbeďenja konzistentnog stanja baze podataka. Pri kreiranju okidača obavezno se navode predmet i vrsta ažuriranja koja bi trebala aktivirati okidač. Predmet ažuriranja je uvek neka tabela (ili pogled), a pod vrstom ažuriranja se podrazumevaju različite operacije ažuriranja, kao što su unos, modifikacija ili brisanje podataka. Uobičajeno je da se za svaku operaciju ažuriranja nad nekom tabelom definiše poseban okidač, mada je teoretski moguće koristiti isti okidač za sve tri operacije ažuriranja. Ono što ne može, jeste da se za istu operaciju ažuriranja nad jednom tabelom definiše više okidača. Okidač obično služi za proveru ili izmenu podataka pomoću odgovarajućih SQL iskaza i ne bi trebao vraćati neku vrednost(i) korisniku. DDL iskazi koji se koriste za rad sa okidačima su CREATE TRIGGER, ALTER TRIGGER i DROP TRIGGER. CREATE TRIGGER trigger_name ON { table view } { { FOR AFTER INSTEAD OF } { [DELETE] [,] [INSERT] [,] [UPDATE] } [ { IF UPDATE ( column ) [{ AND OR } UPDATE ( column )] [...n ] } ] sql_statement [...n ] } FOR AFTER INSTEAD OF Ključne reči koje odreďuju vreme aktiviranja okidača u odnosu na operaciju ažuriranja. Navodi se jedna od tri opcija. FOR AFTER FOR i AFTER imaju isti efekat. Ključna reč FOR je zaostavština iz prošlosti koja je sačuvana zbog kompatibilnosti sa prethodnim verzijama SUBP. Danas se u osnovi razlikuju tri vrste okidača: AFTER, BEFORE i INSTEAD OF od kojih SQL-Server podržava samo 2 vrste (AFTER i INSTEAD OF). AFTER okidač se aktivira tek nakon uspešnog izvršenja operacija ažuriranja. Ukoliko se pojavi neki problem pri izvršenju operacije ažuriranja okidač se neće ni pokrenuti.

2 INSTEAD OF Govori da će se okidač izvršavati umesto okidajućeg SQL iskaza. Koristi se kada se izvršenje operacije ažuriranja uslovljava ispunjenošću nekih preduslova, pa se u telu okidača prvo proverava ispunjenost ovih uslova pa tek onda izvršava sama operacija ažuriranja. Ovo ažuriranje se vrši na osnovu sadržaja logičkih tabela koje se automatski formiraju pri aktiviranju okidača (više o njima kasnije). [DELETE] [,] [INSERT] [,] [UPDATE] Ključne reči koje specificiraju koje operacije ažuriranja podataka, kada se izvrše nad specificiranom tabelom ili pogledom, aktiviraju okidač. Najmanje jedna opcija mora biti navedena. Ključna reč koja označava početak tzv. tela okidača u kome se navode akcije koje okidač treba da preduzme pri sopstvenom aktiviranju. Telo okidača sql_statement Okidači mogu sadržati proizvoljan broj i vrste Transact-SQL iskaza. Pored generičkih SQL iskaza (DDL i DML iskazi) u okidaču se mogu koristiti i naredbe kontrole toka kao i druge naredbe svojstvene strukturalnim programskim jezicima (naredbe dodeljivanja vrednosti (SET),...). Rad sa okidačima je povezan sa korišćenjem nekoliko specijalnih tabela: deleted i inserted su logičke (konceptualne) tabele. One su strukturalno identične tabeli nad kojom je okidač definisan i sadrže stare ili nove vrednosti torki koje su obuhvaćene operacijom ažuriranja koja je aktivirala okidač. Na primer, da bi se pretražile sve vrednosti u deleted tabeli, treba koristiti sledeću naredbu: SELECT * FROM deleted IF UPDATE (column) Testira da li je izvršena INSERT ili UPDATE operacija nad specificiranom kolonom. Može se navesti više kolona. UPDATE(column) se može koristiti bilo gde unutar tela okidača. Napomene: Ukoliko postoje ograničenja definisana nad trigerovanom tabelom, ona se proveravaju posle izvršenja INSTEAD OF okidača, odnosno pre izvršenja AFTER okidača. Ukoliko doďe do narušavanja ograničenja, akcije INSTEAD OF okidača se poništavaju (rollback), dok se AFTER okidač uopšte ne izvršava. SQL Server dozvoljava kreiranje više okidača za istu operaciju ažuriranja podataka (DELETE, INSERT ili UPDATE). Na primer, ukoliko se nad nekom tabelom koja već ima UPDATE okidač izvrši iskaz CREATE TRIGGER FOR UPDATE kreiraće se dodatni update okidač. CREATE TRIGGER ispit_i ON ispit FOR INSERT, UPDATE IF UPDATE(ocena) UPDATE student SET prosek = (SELECT avg(ispit.ocena) FROM ispit JOIN inserted ON ispit.bro_dos=inserted.bro_dos WHERE ispit.ocena>5), brisp = (SELECT count(*) FROM ispit JOIN inserted ON ispit.bro_dos=inserted.bro_dos WHERE ispit.ocena>5) WHERE bro_dos=(select bro_dos FROM inserted)

3 DECLARE data_type } CURSOR } } [,...n] Promenljivama se vrednost dodeljuje pomoću SET ili SELECT iskaza. Kursorske varijable se mogu koristiti samo u iskazima koji se tiču rada sa kursorima. Nakon deklaracije sve varijable imaju NULL vrednost. IF Boolean_expression { sql_statement statement_block } [ ELSE { sql_statement statement_block } ] Boolean_expression Je izraz koji vraća TRUE ili FALSE. Ukoliko sadrži SELECT iskaz isti se mora navesti u zagradama. {sql_statement statement_block} Ukoliko se IF ili ELSE grana odnosi samo na jedan SQL iskaz ovaj iskaz se može navesti odmah iza IF ili ELSE. Ukoliko se u nekoj grani mora izvršiti više od jedne naredbe ove naredbe treba grupisati kao blok iskaza. Blok iskaza se definiše pomoću ključnih reči (za označavanje početka) i END (za označavanje završetka bloka). CREATE TRIGGER ispit_if ON ispit FOR INSERT, UPDATE char(4); IF @sif_pre=sif_pre FROM inserted RAISERROR ('Ocena studenta sa brojem dosijea %s iz predmeta sa sifrom %s nije zadovoljavajuca!', ROLLBACK TRANSACTION END END DECLARE cursor_name [ INSENSITIVE ] [ SCROLL ] CURSOR FOR select_statement Rezultat bilo koje SELECT naredbe predstavlja neki skup torki. Ukoliko rezultujući skup čini samo jedna torka, tada će vrednost promenljivih, za koje je u SELECT klauzuli specificirana dodela vrednosti, biti jednaka vrednosti odgovarajućih izraza u rezultujućoj torci. Ako je rezultujući skup torki prazan skup, tada se promenljivama dodeljuje NULL vrednost. MeĎutim, ako se rezultujući skup sastoji od više torki, tada će vrednost promenljivih po izvršenju SELECT naredbe biti jednaka vrednosti odgovarajućih izraza u poslednjoj selektiranoj torki. Na ovaj način se gubi informacija o vrednostima izraza za sve ostale torke rezultujućeg skupa. Ukoliko je neophodno znati vrednosti za sve selektirane torke, a postoji mogućnost da rezultujući skup čini više torki, koriste se kursori. Rad sa kursorima obično podrazumeva sledeće korake: 1. DECLARE - Deklaracija kursora pri kojoj se kursoru pridružuje neki SELECT iskaz i definišu karakteristike kursora (npr. da li se torke u kursoru mogu modifikovati ili ne). 2. OPEN - Otvaranje kursora koje podrazumeva izvršavanje pridruženog SELECT iskaza i popunjavanje kursora torkama rezultujućeg skupa.

4 3. FETCH - Pregled torki u kursoru (pristup narednoj ili, eventualno, prethodnoj torki se naziva fetch-om). 4. Opcionalno, modifikaciju tekuće torke. 5. CLOSE - Zatvaranje kursora. INSENSITIVE Definiše kursor koji pravi privremenu kopiju podataka koje koristi kursor. Kursor se nakon punjenja isključivo koristi podacima iz ove privremene tabele (koja se kreira u tempdb bazi), te se izmene koje su u meďuvremenu učinjene nad baznim tabelama ne reflektuju na podatke koji se dobijaju pregledom kursora. Ovakav kursor ne dozvoljava modifikaciju torki rezultujućeg skupa. Ukoliko se izostavi ključna reč INSENSITIVE, (commit-ovana) brisanja i modifikacije nad baznim tabelama će se reflektovati pri narednim fetch-ovima. SCROLL Specificira da su sve fetch opcije (FIRST, LT, PRIOR, NEXT, RELATIVE, ABSOLUTE) na raspolaganju. Ukoliko nije naveden SCROLL jedina podržana fetch opcija je NEXT. select_statement Je standardni SELECT iskaz koji definiše rezultujući skup kursora. READ ONLY Onemogućuje vršenje modifikacija na osnovu sadržaja kursora (koje je, inače, dozovoljeno po default-u). Kursor se ne može referencirati u WHERE CURRENT OF klauzuli UPDATE ili DELETE iskaza. UPDATE [OF column_name [,...n]] Definiše kolone koje se mogu modifikovati unutar kursora. Ukoliko se koristi OF column_name [,...n], modifikacije je moguće vršiti samo nad navedenim kolonama. Ukoliko se navede samo UPDATE bez navoďenja liste kolona, sve kolone se mogu modifikovati. OPEN cursor_name Otvaranje kursora podrazumeva izvršavanje SQL naredbe definisane prilikom deklaracije kursora i podrazumeva popunjavanje kursora torkama rezultujućeg skupa izvršene SQL naredbe. Po otvaranju kursora aktuelna torka je prva torka rezultujućeg skupa. Naredni primer prikazuje otvaranje kursora i pregled torki unutar kursora. DECLARE Employee_Cursor CURSOR FOR SELECT LastName, FirstName FROM AdventureWorks2012.HumanResources.vEmployee WHERE LastName like 'B%'; OPEN Employee_Cursor; FETCH NEXT FROM Employee_Cursor; = 0 FETCH NEXT FROM Employee_Cursor END; CLOSE Employee_Cursor; DEALLOCATE Employee_Cursor;

5 FETCH [ [ NEXT PRIOR FIRST LT] { { [ GLOBAL ] cursor_name } [ [,...n ] ] FETCH omogućava pristup torkama koje se nalaze u kursoru. Pomoću FETCH naredbe možemo biti sigurni da će svaka torka koja se nalazi u kursoru proći odreďene modifikacije zadate u telu trigera. NEXT predstavlja defaultnu fetch opciju. Podrazumeva prisutp svakoj torci respektivno. Prvim fetch-om pristupa se prvoj torci, zatim drugoj Postupak se ponavlja sve dok se ne doďe do poslednje torke. PRIOR - podrazumeva prisutp, obradu, predhodne torke. Kursor se pozicionira tako da uvek pristupa predhodnoj torci i za nju daje rezultate. U slučaju da se radi o prvom fetch-u (pristup prvoj torci) kao rezultat promenljive će imati null vrednost i kursor će se pozicionirati na prvu torku. Tek pristupom drugoj torci, doći će do obrade prve torke. FIRST pozicioniranje na prvu torku u kursoru. LT pozicioniranje na poslednju torku u kursoru. CLOSE {cursor_name cursor_variable_name } Zatvara otvoren kursor što podrazumeva pražnjenje kursora (oslobaďa se memorijski prostor koji se koristio za čuvanje podataka kursora), ali njegova deklaracija ostaje i dalje aktuelna, te se zatvoren kursor uvek može ponovo otvoriti. DEALLOCATE { } Poništava deklaraciju kursora. Ukoliko se ovo ne bi uradilo prilikom sledećeg aktiviranja okidača bi nastao problem usled nemogućnosti ponovne deklaracije kursora sa istim Predefinisana (sistemska) varijabla koja vraća status poslednjeg FETCH iskaza nad aktivnim kursorom. Return vrednost 0 FETCH iskaz je bio uspešan. Opis -1 FETCH iskaz nije uspeo ili je torka izvan rezultujućeg skupa. -2 Fetch-ovana torka ne postoji.

6 DECLARE authors_cursor CURSOR FOR SELECT au_lname FROM authors WHERE au_lname LIKE "B%" ORDER BY au_lname OPEN authors_cursor -- Perform the first fetch. FETCH NEXT FROM authors_cursor -- Check to see if there are any more rows to fetch. WHILE = 0 -- This is executed as long as the previous fetch succeeds. FETCH NEXT FROM authors_cursor END CLOSE authors_cursor DEALLOCATE authors_cursor WHILE Boolean_expression { sql_statement statement_block } [ BREAK ] { sql_statement statement_block } [ CONTINUE ] U većini programskih jezika, while petlja je naredba koja dopušta iterativno izvršenje koda u zavisnosti od ispunjenosti datog bulovskog uslova. While petlja se može shvatiti kao ponavljajuća IF naredba. Sastoji se od uslova i bloka koda. Uslov je definisan na samom početku petlje i ukoliko je logički tačan (ispunjen), kod unutar bloka se izvršava. Posle svakog izvršenja bloka koda (iteracije petlje) ponovo se proverava ispunjenost uslova. Izvršenje bloka koda se ponavlja sve dok je uslov ispunjen. S obzirom da while petlja proverava uslov pre izvršenja bloka koda, ova upravljačka struktura je poznata kao pred-test petlja. U nekim situacijama postoji potreba za postavljanjem dodatnih uslova unutar bloka koda koji mogu dovesti do nasilnog prekida izvršavanja petlje (BREAK). U slučaju navoďenja iskaza CONTINUE nasilno se prekida dalje izvršenje ostatka bloka koda i inicira se ponovna provera ispunjenosti opšteg uslova izvršenja petlje. 2. Procedure baze podataka (stored procedures) Uskladištene procedure se mogu definisati kao kolekcija Transact - SQL iskaza koje mogu da vrate odreďene rezultate na osnovu prosleďenih parametara od strane korisnika. Uskladištene procedure se prevashodno koriste za neke standardne obrade koje podrazumevaju neka izračunavanja i ažuriranje sadržaja nekih tabela (obračun kamata na bankarske račune, obračun zarada, ). Ovi postupci obrade su mogu opisati i pomoću programa pisanim u nekom od programskih jezika ali je prednost korišćenja uskladištenih procedura u tome što se one mnogo brže izvršavaju. Kod procedura baza podataka postoje dve vrste parametara: input i output parametri. Input parametri su korisnički prosleďeni parametri koji služe za zadavanje uslova u samom telu procedure. Pomoću njih zadaju se odreďeni uslovi koji će izdvojiti torke (podatke) za obradu. Output parametri su parametri koji se vraćaju izvršavanjem tela procedure. Oni predstavljaju prikaz rezultata obrade podataka pomoću uskladištenih procedura.

7 Postoje dve osnovne vrste procedura - sistemske procedure i korisnički definisane procedure baze podataka. a) Sistemske procedure U SQL Serveru, mnoge administrativne i informativne aktivnosti mogu se obavljati pomoću sistemskih procedura. Svaki put kada se doda ili izmeni tabela, napravi rezervna kopija baze podataka (backup), kreira login, korisnik, dodeljuju korisnička prava ili obavljaju druge administratorske aktivnosti, zapravo se pozivaju sistemske procedure specijalno napisane da izvrše željenu aktivnost. Sistemske procedure imaju prefiks sp_ i čine deo SQL Server instalacije. Čuvaju se u master bazi podataka i dostupne su za korišćenje u bilo kojoj bazi podataka. b) Korisnički definisane procedure Korisnički definisana procedura je svaki program napisan od strane korisika u SQL Server okruženje čiji je prevashodni zadatak ažuriranje sadržaja nekih tabela na osnovu obraďenog sadržaja drugih tabela. Za razliku od sistemskih procedrua, korisnički definisane procedure se čuvaju u lokalnoj bazi i samo su u njoj dostupne za korišćenje. CREATE PROCEDURE INT OUTPUT = ManagerID FROM HumanResources.Employee WHERE EmployeeID END Kao što se vidi iz gore navedenog primera emplo eeid predstavlja input parametar dok managerid predstavlja output parametar. Ova procedura vraća vrednost za parametar (managerid), na osnovu navedene vrednosti u parametru (employeeid). U većini slučajeva se prilikom pozivanja procedura navode vrednosti za parametre, ali je moguće da se ne navedu vrednosti parametara. U tom slučaju se kao vrednost parametra uzima njegova podrazumevana (defaultna) vrednost. CREATE PROCEDURE nvarchar(30) = Belgrade SELECT * FROM AdventureWorks.Person.Address WHERE City U gore navedenom primeru ukoliko korisnik pokrene ovu proceduru bez ekspilictnog navoďenja vrednosti za parametre, procedura će koristiti podrazumevane vrednosti, te prikazati sve adrese koje se nalaze u tabeli Address gde je kao vrednost za kolonu City naveden Belgrade.

8 CREATE PROC [ EDURE ] procedure_name [ ; number ] [ data_type } [ OUTPUT ] ] [,...n ] sql_statement [...n ] procedure_name definisanje naziva procedure koja se data_type navoďenje parametara koji će se koristiti u telu procedure OUTPUT naglašavanje output parametra - ključna reč koja služi za označavanje početka tzv. tela procedure u kome se navode akcije koje procedura treba da preduzme pri njenom pozivu od strane korisnika. Svi Transact-SQL iskazi koji se mogu navesti u telu okidača stoje na raspolaganju i pri pisanju tela procedure. Za razliku od okidača kod procedura ne postoje inserted i deleted logičke tabele, jer se procedure kao takve ne vezuju za konkretnu tabelu. CREATE PROCEDURE INT OUTPUT SELECT Ord.EmployeeID, SummSales = SUM(OrDet.UnitPrice * OrDet.Quantity) FROM Orders Ord JOIN [Order Details] OrDet ON (Ord.OrderID = OrDet.OrderID) GROUP BY Ord.EmployeeID ORDER BY Ord.EmployeeID = MAX(Quantity) FROM [Order Details] RETURN (SELECT SUM(Quantity) FROM [Order Details]) [ [ EXEC [ UTE ] ] = ] { procedure_name } [ = ] { [ OUTPUT ] [ DEFAULT ] return_status - promenljiva koja čuva status procedure. Ova promenljiva mora biti deklarisana u telu uskladištene procedure_name - naziv procedure koja treba da se procedure_name_var koristi se kada je naziv koji predstavlja uskladištenu proceduru definisan pomoću lokalne parametar navode se vrednsti za input parametre koji se koriste u telu variable - navode se vrednsti lokalnih varijabli koje predstavljaju input parametre pozivane procedure. OUTPUT - navodi se kada uskladištena procedura vraća vrednsoti za output parametre. Koristite ovu ključnu reč kada koristite kursorske promenljive kao parametri. Ne možete da izvršavate proceduru navodeći izlaz za parametar koji nije definisan kao izlaz parametar u CREATE PROCEDURE saopštenju.

9 DEFAULT korišćenje podrazumevane vrednost za input parametre. INT INT -- Execute the procedure, which returns the result set from the first SELECT. = OUTPUT -- Use the return code and output parameter. PRINT 'The size of the largest single order was: ' + PRINT 'The sum of the quantities ordered was: ' + DROP PROCEDURE { procedure_name } [,...n ] Naredba za brisanje korisnički definisane procedure. 3. Funkcije baze podataka Kao i funkcije u programskim jezicima, SQL Server korisnički definisane funkcije su rutine koje prihvataju parametre, izvršavaju različite iskaze i vraćaju rezultate tih iskaza kao vrednosti. Povratna vrednost može biti jedna skalarna vrednost ili skup rezultata. Postoje sistemske i korisnički definisane funkcije baze podataka. Sistemske funkcije su uskladištene u master bazi i ne mogu se menjati. Kao primeri sistemskih funkcija mogu se navesti funkcije COUNT, SUM, DATEPART, GETDATE,. Bilo da se radi o sistemskim ili korisnički definisanim funkcijama, funkcije se mogu podeliti na: a) Skalarne - korisnički definisani skalarne funkcije vraćaju jednu vrednost podataka kao rezultat funkcije. Ukoliko telo funkcije sadrži više od jednog iskaza isti se moraju navesti kao blok iskaza. Povratna vrednost može biti bilo koji tip podataka, osim teksta, nteksta, slika, kursora i vremenskih tipova podataka. b) Table valued funkcije predstavljaju korisnički definisani funkcije koje vraćaju tabele kao rezultat rada funkcije. CREATE FUNCTION dbo.ufngetinventorystock(@productid int) RETURNS int -- Returns the stock level for the product. int; = SUM(p.Quantity) FROM Production.ProductInventory p WHERE p.productid AND p.locationid = '6'; IF (@ret IS NULL) = 0; END;

10 Navedeni primer prikazuje višeiskaznu skalarnu funkciju. Funkcija prihvata vrednost ulaznog parametra ProductID i vraća ukupnu količinu tog proizvoda na zalihama na lokaciji čiji je ID 6. CREATE FUNCTION Sales.ufn_SalesByStore (@storeid int) RETURNS TABLE RETURN ( SELECT P.ProductID, P.Name, SUM(SD.LineTotal) 'Total' FROM Production.Product P JOIN Sales.SalesOrderDetail SD ON SD.ProductID = P.ProductID JOIN Sales.SalesOrderHeader SH ON SH.SalesOrderID = SD.SalesOrderID JOIN Sales.Customer C ON SH.CustomerID = C.CustomerID WHERE C.StoreID GROUP BY P.ProductID, P.Name ); Navedeni primer prikazuje table valued funkciju. Funkcija prihvata vrednost ulaznog parametra storeid i vraća kolone ID proizvoda, naziv i ukupnu prodaju na godišnjem nivou. Pozivanje funkcije: SELECT * FROM Sales.ufn_SalesByStore (602); Razlike izmeďu procedura i funkcija baza podataka: Procedure Funkcije Može i ne mora vraćati vrednosti. Mora vratiti neku vrednost. Sve DML naredbe su dozvoljene. Od DML naredbi mogu se koristiti samo SELECT naradba, dok naredbe vezane za ažuriranje podataka (insert, update, delete) nisu dozvoljene. Ne podržava postojanje i ulaznih i izlaznih Podržava postojanje i ulaznih i izlaznih parametara. parametara. Ne postoji mogućnost korišćenja tr -catch Postoji mogućnost korišćenja tr -catch blokova. blokova. Mogu se koristiti transakcije u okviru Nisu dozvoljene transkacije u okviru funkcija. uskladištenih procedura. Mogu se korisiti i privremene tabele i tabele kao Ne postoji mogućnost kreiranja privremenih varijable. tabela. Tabele se mogu koristiti samo kao varijable. Uskladištene procedure mogu pozvati funkcije. Uskladištena procedura ne može biti pozvana iz tela funkcije. Uskladištene procedure ne mogu biti pozvane iz Funkcije mogu biti pozvane u SELECT naredbi. SELECT, WHERE, HAVING, naredbi. Ne može se korisiti u JOIN klauzuli. Mogu se koristiti u JOIN klauzuli kao skup rezultata.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Događaj koji se javlja u toku izvršenja programa i kvari normalno izvršenje. Kada se desi izuzetak, sistem pokušava da pronađe način da ga obradi.

Događaj koji se javlja u toku izvršenja programa i kvari normalno izvršenje. Kada se desi izuzetak, sistem pokušava da pronađe način da ga obradi. Obrada izuzetaka Šta je izuzetak? Događaj koji se javlja u toku izvršenja programa i kvari normalno izvršenje. Kada se desi izuzetak, sistem pokušava da pronađe način da ga obradi. Prosleđuje izuzetak,

More information

Lekcija 02 Uslovni iskazi i petlje, Funkcije. Miljan Milošević

Lekcija 02 Uslovni iskazi i petlje, Funkcije. Miljan Milošević Lekcija 02 Uslovni iskazi i petlje, Funkcije Miljan Milošević USLOVNI ISKAZI I PETLJE, FUNKCIJE 01 02 03 04 Uvod Uslovni iskazi i Ciklusi Operatori skoka Funkcije u C-u grananja Uslovni iskaz if Uslovni

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

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

[] 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

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

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

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

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

Zadatak. Sa tastature uneti broj projekta. Za uneseni broj preuzeti njegove podatke u posebne promenjive i prikazati ih u konzoli.

Zadatak. Sa tastature uneti broj projekta. Za uneseni broj preuzeti njegove podatke u posebne promenjive i prikazati ih u konzoli. Zadatak Sa tastature uneti broj projekta. Za uneseni broj preuzeti njegove podatke u posebne promenjive i prikazati ih u konzoli. Zadatak DECLARE V_Spr Projekat.Spr%TYPE := 10; V_Nap Projekat.Nap%TYPE;

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

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

Smart Database [Stored Procedures - Functions Trigger]

Smart Database [Stored Procedures - Functions Trigger] Smart Database [Stored Procedures - Functions Trigger] Stored Procedures A stored procedure is an already written SQL statement that is saved in the database. Benefits of Stored Procedures: 1. Precompiled

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

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

Šesti čas PL/SQL. Skraćenica za Procedural Language extension to SQL (proširenje SQL-a). Služi za složeniju i precizniju obradu podataka.

Šesti čas PL/SQL. Skraćenica za Procedural Language extension to SQL (proširenje SQL-a). Služi za složeniju i precizniju obradu podataka. Šesti čas PLSQL Skraćenica za Procedural Language extension to SQL (proširenje SQL-a). Služi za složeniju i precizniju obradu podataka. Mogu se kreirati: neimenovani blokovi, procedure, funkcije i okidači.

More information

relacionim bazama podataka (1)

relacionim bazama podataka (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 Sadržaj 1. Jezik SQL (Structured Query Language)

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

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

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

f2() f6() main() f3() f7() f4()

f2() f6() main() f3() f7() f4() VI Potprogrami i funkcije Uobičajeno je da se pri pisanju programa koji treba da reše složene probleme, problemi razlažu na niz jednostavnijih(elementarnih) delova Za njihovo rešavanje se pišu nezavisni

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

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

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

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

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

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

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

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

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

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

Prva recenica. Druga recenica.

Prva recenica. Druga recenica. Algoritmi i programiranje Predavanje 4 METODE LOKALNE, GLOBALNE VARIJABLE I KONSTANTE METODA je imenovani izdvojeni slijed naredbi koji rješava određeni zadatak i po potrebi se poziva jednom ili više puta

More information

PITANJA ZA II KOLOKVIJUM NASLJEĐIVANJE, VIRTUELNE FUNKCIJE I POLIMORFIZAM

PITANJA ZA II KOLOKVIJUM NASLJEĐIVANJE, VIRTUELNE FUNKCIJE I POLIMORFIZAM PITANJA ZA II KOLOKVIJUM NASLJEĐIVANJE, VIRTUELNE FUNKCIJE I 1. Definicija svake klase sadrzi kljucnu rec iza koje se navodi ime klase: class public extends 2. Kada je funkcija clanica definisana izvan

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

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

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

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

Veliki računski zadaci mogu se razbiti u manje delove i time se omogućava ljudima da iskoriste ono što su neki drugi već uradili, umesto da počinju

Veliki računski zadaci mogu se razbiti u manje delove i time se omogućava ljudima da iskoriste ono što su neki drugi već uradili, umesto da počinju Staša Vujičić Čas 9 Veliki računski zadaci mogu se razbiti u manje delove i time se omogućava ljudima da iskoriste ono što su neki drugi već uradili, umesto da počinju sve od početka. Odgovarajuće funkcije

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

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

Sberbank Business Online na Mozilla FireFox

Sberbank Business Online na Mozilla FireFox Sberbank Business Online na Mozilla FireFox Verzija 1.6 Srpanj 2016. Sberbank d.d. Stranica 1 SADRŽAJ 1 INSTALACIJA... 2 2 POKRETANJE MOZILLE FIREFOX... 3 2.1 IMPORT SECURITY MODULA... 4 2.2 AUTOMATSKI

More information

Iskočni okviri (eng. popup boxes)

Iskočni okviri (eng. popup boxes) 9. JavaScript 2.dio Iskočni okviri, funkcije, petlje, događaji M. Zekić-Sušac 1 Iskočni okviri (eng. popup boxes) U JavaScriptu mogu se koristiti 3 vrste iskočnih okvira: Upozoravajući okviri (eng. alert

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

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

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

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

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

PARALELNO PROGRAMIRANJE

PARALELNO PROGRAMIRANJE Predavanje 09 Odjel za matematiku 1 PARALELNO PROGRAMIRANJE POSIX threadovi za C++ Predavanje 09 Odjel za matematiku 2 Programske niti (thread) unutar procesa Danas ćemo se upoznati s POSIX thread bibliotekom

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

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

Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje. Office 2013 / Office 365

Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje. Office 2013 / Office 365 Windows 8 Licenciranje, razlike u verzijama Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje Serverski proizvodi Server 2012, System centar 2012, SQL 2012, Sharepoint

More information

UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a

UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a Webmail sistem ima podršku za SSL (HTTPS). Korištenjem ovog protokola sva komunikacija između Webmail sistema i vašeg Web čitača je kriptovana. Prilikom pristupa

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.ns.ac.yu 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

More information

RIP v2. Mr Nenad Krajnović Katedra za telekomunikacije

RIP v2. Mr Nenad Krajnović Katedra za telekomunikacije RIP v2 Mr Nenad Krajnović Katedra za telekomunikacije E-mail: krajko@etf.bg.ac.yu Istorijat Nastao kao pokušaj da se RIPv1 protokol popravi i prilagodi novim potrebama Definisan u okviru RFC-a 2453 Ima

More information

KURSORI BAZE PODATAKA U ORACLE 11g

KURSORI BAZE PODATAKA U ORACLE 11g KURSORI BAZE PODATAKA U ORACLE 11g SAŽETAK Kursor baze podataka je privatno SQL područje u kojem se čuvaju informacije za procesiranje određene SQL naredbe. Oracle PLSQL jezik koristi implicitne i eksplicitne

More information

NISKE (stringovi) u C-u: podsećanje. 1. Primer programa koji uvodi niske karaktera terminisane nulom

NISKE (stringovi) u C-u: podsećanje. 1. Primer programa koji uvodi niske karaktera terminisane nulom NISKE (stringovi) u C-u: podsećanje 1. Primer programa koji uvodi niske karaktera terminisane nulom #include main() /* Poslednji bajt niske karaktera s se postavlja na '\0' tj. 0 char s[] = 'a',

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

Rekurzivne metode. Posmatrajmo rekurzivan metod kojim u objektu listbox1 klase ListBox upisujemo sve prirodne brojeve od 1 do datog n.

Rekurzivne metode. Posmatrajmo rekurzivan metod kojim u objektu listbox1 klase ListBox upisujemo sve prirodne brojeve od 1 do datog n. Rekurzivne metode Rekurzivan metod je onaj metod koji u nekoj svojoj instrukciji sadrži poziv samog sebe. Svakako prilikom kreiranja rekurzivnog metoda moramo voditi računa da ne dodje do beskonačne rekurzije

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

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

Ugradjena promenljiva ans cuva poslednju vrednost koja nije dodeljena ni jednoj promenljivoj >> ans+3

Ugradjena promenljiva ans cuva poslednju vrednost koja nije dodeljena ni jednoj promenljivoj >> ans+3 Ugradjena promenljiva Pi >> pi 3.1416 Ugradjena promenljiva NaN (Not A Number) >> NaN NaN Beskonacno >> Inf Inf Ugradjena funkcija exp() za eksponencijalnu funkciju (npr. e na 3 stepen) >> exp(3) 20.0855

More information

public static void main(string []args) { System.out.println("Hello World"); /* prints Hello World */

public static void main(string []args) { System.out.println(Hello World); /* prints Hello World */ Java Uvod Hello world primer Java program predstavlja skup objekata koji prozivaju jedni drugima metode i tako komuniciraju. Izvorni kod se uvek čuva u datotekama sa ekstenzijom.java. Ispod je predstavljen

More information

Osnove RDBMS-a: Šta sačinjava SQL Server bazu podataka

Osnove RDBMS-a: Šta sačinjava SQL Server bazu podataka 1 Osnove RDBMS-a: Šta sačinjava SQL Server bazu podataka ŠTA ĆETE NAUČITI U OVOM POGLAVLJU: Shvatićete koji to objekti sačinjavaju SQL Server bazu podataka Naučićete koje su to vrste podataka dostupne

More information

PITANJA ZA II KOLOKVIJUM KLASE I OBJEKTI

PITANJA ZA II KOLOKVIJUM KLASE I OBJEKTI PITANJA ZA II KOLOKVIJUM KLASE I OBJEKTI 1. Enkapsulacija je podataka. skrivanje apstrakcija nasledivanje 2. Unutar deklaracije klase navode se: definicije funkcija clanica prototipovi (deklaracije) funkcija

More information

JavaScript JS Cookies

JavaScript JS Cookies Predmet: Aplikativni softver Predavač: dr Violeta Tomašević, vanr.prof. JavaScript JS Cookies Literatura Boško Nikolić, Internet programiranje: HTML, CSS, JavaScript, Panevropski univerzitet Apeiron za

More information

Uvod, varijable, naredbe, petlje

Uvod, varijable, naredbe, petlje 8. JavaScript Uvod, varijable, naredbe, petlje M. Zekić-Sušac 1 Što je JavaScript? JavaScript je najpopularniji skriptni jezik na Internetu kojeg podržavaju svi poznatiji preglednici (Internet Explorer,

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

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

Lekcija 07 C++ funkcije, stringovi, imenski prostor, memorija i fajlovi. Miljan Milošević

Lekcija 07 C++ funkcije, stringovi, imenski prostor, memorija i fajlovi. Miljan Milošević Lekcija 07 C++ funkcije, stringovi, imenski prostor, memorija i fajlovi Miljan Milošević C++ FUNKCIJE, STRINGOVI, IMENSKI PROSTOR, UPRAVLJANJE MEMORIJOM I FAJLOVI 01 02 03 04 Uvod Reference Funkcije u

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

32-Bit-Digital Signal Controller TMS320F2833x. Texas Instruments Incorporated

32-Bit-Digital Signal Controller TMS320F2833x. Texas Instruments Incorporated Modl 14: Programiranje Flash Flash memorije 32-Bit-Digital Signal Controller TMS320F2833x Texas Instrments Incorporated 14-1 Startp sekvenca iz Flash memorije 0x30 0000 FLASH (256Kw) _c_int00 rts2800_ml.lib

More information

HTML, CSS i JavaScript

HTML, CSS i JavaScript Tehnologije za Web HTML, CSS i JavaScript HTML, CSS i JavaScript su jezici koji se koriste pri pravljenju interaktivnih web sajtova. Ovi jezici dopunjuju jedan drugog, i zbog toga se često koriste zajedno.

More information

Aktuelna verzija Matlaba je 7, koja ima dosta poboljšanja u odnosu na prethodne.

Aktuelna verzija Matlaba je 7, koja ima dosta poboljšanja u odnosu na prethodne. 1. MATLAB UVOD Matlab predstavlja vrlo razvijen skup alata za računanje (matrice, kompleksni brojevi, simbolička matematika), vizualiziranje (2D i 3D), modeliranje, simulaciju i programiranje. Karakterizira

More information

Internet programiranje JavaScript - školska 2017/2018

Internet programiranje JavaScript - školska 2017/2018 Internet programiranje JavaScript - školska 2017/2018 Dražen Drašković, Elektrotehnički fakultet u Beogradu Sanja Delčev, Elektrotehnički fakultet u Beogradu Zašto JavaScript Nedostatak HTML strana je

More information

Modbus TCP i dva PLC S7 1200

Modbus TCP i dva PLC S7 1200 Industrijski sistemi i protokoli Modbus TCP i dva PLC S7 1200 1 Modbus TCP i dva PLC S7 1200 Laboratorijski deo - obavezno: Detaljno proučiti i testirati već napravljeni projekat za PLC-ove, koji se nalazi

More information

Aspektno programiranje u Javi. AOP + AspectJ

Aspektno programiranje u Javi. AOP + AspectJ 1 Aspektno programiranje u Javi AOP + AspectJ Posledice nemodularnosti? slabo praćenje toka izvršavanja smanjenja produktivnost smanjen code reuse smanjen krajnji kvalitet celog sistema teško održavanje

More information

JavaScript u Web design-u

JavaScript u Web design-u UNIVERZITET U NOVOM SADU PRIRODNO-MATEMATIČKI FAKULTET DEPARTMAN ZA MATEMATIKU I INFORMATIKU Milica Perišić JavaScript u Web design-u - diplomski rad - Novi Sad, 2007 Predgovor Autori Web prezentacija

More information

Sistemi baza podataka. Slavica Aleksić

Sistemi baza podataka. Slavica Aleksić Sistemi baza podataka Slavica Aleksić slavica@uns.ac.rs Primeri upotrebe promenljivih tipa tabele DECLARE TYPE T_Tab1 IS TABLE OF NUMBER; TYPE T_Mat1 IS TABLE OF T_Tab1; Mat1 T_Mat1 := T_Mat1(T_Tab1(1,

More information