PRETRAŽIVANJE PODATAKA U OBJEKTNIM WEB APLIKACIJAMA

Size: px
Start display at page:

Download "PRETRAŽIVANJE PODATAKA U OBJEKTNIM WEB APLIKACIJAMA"

Transcription

1 Sveučilište Josipa Jurja Strossmayera u Osijeku Ekonomski fakultet u Osijeku Diplomski studij Poslovna informatika Amanda Draganjac PRETRAŽIVANJE PODATAKA U OBJEKTNIM WEB APLIKACIJAMA Diplomski rad Osijek, 2017.

2 Sveučilište Josipa Jurja Strossmayera u Osijeku Ekonomski fakultet u Osijeku Diplomski studij Poslovna informatika Amanda Draganjac PRETRAŽIVANJE PODATAKA U OBJEKTNIM WEB APLIKACIJAMA Diplomski rad Kolegij: Poslovne simulacije JMBAG: adraganj@efos.hr Mentor: prof.dr.sc. Marijana Zekić-Sušac Osijek, 2017.

3 Josip Juraj Strossmayer University of Osijek Faculty of Economics in Osijek Graduate Study of Business Informatics Amanda Draganjac QUERYING DATA IN OBJECT-ORIENTED WEB APPLICATIONS Graduate paper Osijek, 2017

4

5 Pretraživanje podataka u objektnim web aplikacijama SAŽETAK Svrha je rada objasniti pretraživanje podataka u bazi podataka u objektno-orjentiranim web aplikacijama, a to će se postići kroz ciljeve: (1) opis objektnog modela podataka, (2) opis načina dohvaćanja podataka, i (3) opis primjene LINQ upita u svrhu pretraživanja podataka iz baze u alatu Visual Studio. S rastom popularnosti web aplikacija, raste i potreba za istraživanjem problematike njihovih različitih aspekat. Ovaj rad obrađuje jedan od njih, konkretno pretraživanje podataka u objektnim web aplikacijama. Jednako koliko je korisniku baze podataka važna sigurna pohrana podataka, važna mu je i njihova dostupnost i čitljivost. Tvrtke na temelju podataka iz baze podataka donose poslovne odluke, kako taktičke tako i strateške. Neki drugi poslovni subjekti na temelju rezultata pretrage dobivaju informacije o pojedincima koje su im potrebne. Neovisno o tome tko je korisnik informacija, neophodna je kvalitetna informacija, a da bi to tako bilo iza nje moraju stojati kvalitetna aplikacija i isto takva baza podataka. Za potrebe rada napravljena je ASP.NET MVC aplikacija kao primjer koda za prikaz rada pretraživanja podataka pod proizvoljnim nazivom VolonteriApp. Ključne riječi: pretraživanje podataka, baze podataka, web aplikacije, LINQ upiti, MVC aplikacija

6 Querying data in object-oriented web applications ABSTRACT The main purpose of this graduate paper is to explain the search function on database in object-oriented web applications, through these objectives: (1) description of object data model, (2) description of different ways of fetching data, (3) explanation of application of LINQ queries to search data from the database in Visual Studio. As the popularity of web applications grows, also grows a need to explore the issues of their different aspects. This paper deals with one of them, precisely querying data in object-oriented web applications. For a database user, safety of data is very important, as well as their accessibility and readability. Companies, based on data from the database, make business decisions, both tactical and strategical. Also other business entities, based on search results, receive needed information about individuals. No matter who is the user of the information, it is necessary to have high quality information. The excellent application and the database are the basis for those results. For the paper purposes, the ASP.NET MVC application named VolonteriApp was created as an example of the code to display the data search operation. Key words: querying data, databases, web applications, LINQ queries, MVC application

7 SADRŽAJ 1. Uvod Teorijska podloga i prethodna istraživanja Objektno-orijentirani pristup modeliranja aplikacije Koncepti objektno-orijentiranog modeliranja Objekti i klase kao koncepti objektno-orijentiranog modela Operacije kao koncept objektno-orijentiranog modela Asocijacija, nasljeđivanje i agregacija kao koncepti objektnoorijentiranog modela Web aplikacije NET i baze podataka ASP.NET MVC aplikacija Entity Framework ADO.NET Entity Framework Pristupi implmentacije Entity Framework-a Prethodna istraživanja Metodologija rada Opis istraživanja i rezultati istraživanja Dohvaćanje podataka LINQ upiti Prednosti i nedostaci LINQ upita SQL upiti Prednosti i nedostaci SQL upita...14

8 4.2. Pretraživanje podataka uz pomoć LINQ-a u MVC aplikaciji Database First pristup i kreiranje baze u SSMS Model baze podataka Prijenos baze podataka u Visual Studio Render Action metoda i LINQ upiti Implementacija search-a Izrada ostalih dijelova aplikacije DropDown lista za izbor akrivnosti studenta jquery Datepicker Generiranje podataka Prikaz rada pretraživanja u aplikaciji VolonteriApp Rasprava Zaključak...31 Literatura...33 Popis slika...35 Popis tablica...36

9 1. UVOD U posljednjih desetak godina IT industrija doživjela je veliki procvat. Trenutno je to najbrže rastuća industrija, te se pretpostavlja da će se taj trend i nastaviti. Osim razvoja novih uređaja i tehnologija, razvija se i programiranje. Gotovo svake godine izlaze nove inačice programskih jezika, te im mogućnosti sve više rastu. Između ostalog, tu su se našle i web aplikacije. One su postale nezaobilazni dio poslovanja. Kako i sam naziv kaže, njima se pristupa putem interneta, te ih nije potrebno imati, odnosno korisnik ih ne mora instalirati na računalu. Samim time dostupne su i izvan njegovog doma. Na suprotnoj su strani klijent-server aplikacije. Njih je potrebno instalirati na računalu, te im se može pristupiti samo s tog računala. Prednost web aplikacija leži u tome što rade bez obzira na operacijski sustav na korisnikovom računalu što uvelike olakšava posao programerima. Svaka web aplikacija mora imati i bazu podataka u koju sprema podatke koje korisnik unese. Ta baza podataka nalazi se u oblaku (eng. cloud computing), te kao i sama aplikacija ne ovisi o tome kakvo računalo korisnik posjeduje. U ovom radu naglasak je na objektnim aplikacijama. Mnogobrojne su njihove prednosti u odnosu na relacijski orijentirane (ER) aplikacije, a jedna od njih je nasljeđivanje koje omogućuje brže i lakše davanje svojstava npr. jedne klase nekoj drugoj klasi. Objektni model bez ograničenja može prikazati složene pojave i veze. Svrha je rada objasniti pretraživanje podataka u bazi podataka u objektno-orjentiranim web aplikacijama, a to će se postići kroz ciljeve: (1) opis objektnog modela podataka, (2) opis načina dohvaćanja podataka, i (3) opis primjene LINQ upita u svrhu pretraživanja podataka iz baze u alatu Visual Studio. U prvom dijelu rada bit će dana teorijska podloga za lakše razumijevanje rada, te će biti riječi o prethodnim istraživanjima koja su rađena na ovu temu. Središnji dio rada bavi se problematikom rada te kreće od okvira tematike, te se u završnom potpoglavlju svodi na izrađenu MVC aplikaciju pod nazivom VolonteriApp u kojoj se pretražuju podaci. Posljedni dio rada obuhvaća raspravu o svemu uočenom i napravljenom, dok će u zaključku biti dana završna misao i osvrt na cjelokupan rad. 1

10 2. TEORIJSKA PODLOGA I PRETHODNA ISTRAŽIVANJA 2.1. Objektno-orijentirani pristup modeliranja aplikacije Objektno-orijentirani model se temelji na objektima, na isti način kako se ER model temelji na entitetima. Bitna razlika je u tome što objekt enkapsulira i podatke i ponašanje ukazujući na to da se objektno-orijentirani pristup koristi ne samo za modeliranje podataka, nego i za modeliranje ponašanja sustava. (Gašpar, D., 2014:87) Objektno-orijentirana paradigma sastoji se od toga da programer shvati kompleksnost problema, na način da na to ne gleda kao skup funkcija već kao skup povezanih objekata koji su međusobno u određenoj interakciji. Ciljevi objektno-orijentiranog modeliranja su pojednostavljenje realnosti, omogućivanje boljeg razumijevanja sustava kojeg se razvija, predstavljanje vizualizacije sustava, specificiranje strukture i ponašanja, itd. (autopoiesis.foi.hr, 2008) Objektni model nudi prednosti kao što su sposobnost realizacije u iznimno izazovnim problemskim domenama, poboljšanje komunikacije između korisnika, analitičara, dizajnera i programera. Poboljšana konzistentnost između analize, dizajna i programskih aktivnosti, izravno predstavljanje onoga što je zajedničko za komponente sustava. Robusnost sustava, ponovna uporaba rezultata analize, dizajna i programiranja također su prednosti koje nudi objektni model podataka (Gašpar, D., 2014) Na Slici 1. vizualno je prikazan objektno-orijentirani pristup programiranju na primjeru klase Pas, njegovih pripadajućih svojstava i metoda. U ovom slučaju vidljivo je da svojstva predstavljaju obilježja psa, a metode su radnje koje pas može izvršiti. Slika 1. Objektno-orijentirani pristup programiranju (Izvor: prilagođeno prema medium.com, 2015) 2

11 2.2. Koncepti objektno-orijentiranog modeliranja Osnovni (eng. core) koncepti objektno-orijentiranog modela podataka su: Objekti, klase, enkapsulacija atributa i operacija, asocijacija, generalizacija i agregacija veza, polimorfizam, nasljeđivanje te kardinalnost i drugi oblici ograničenja. (Gašpar, D., 2014:88) Objekti i klase kao koncepti objektno-orijentiranog modela Prema Gašpar, D. (2014) objekt čini temelj objektnog pristupa. On može biti bilo što sposobno za omogućavanje, odnosno pribavljanje ograničenog skupa korisnih servisa ili usluga. Svaki objekt ima sposobnost primanja poruke, obrade podataka i slanja poruke drugim objektima. Klasa je tip entiteta koji ima dobro definiranu ulogu u aplikacijskoj domeni i o čemu organizacija želi održavati stanje, ponašanje i identitet. Objekt je instanca klase koji omotava ili enkapsulira podatke i ponašanje neophodno za održavanje tog objekta. (Gašpar, D., 2014:90-91) Operacije kao koncepti objektno-orijentiranog modela Operacije se u objektno-orijentiranom programiranju nazivaju metode. Mogu se klasificirati, ovisno o tipu tražene usluge od strane klijenta, u četiri skupine: konstruktor, upit, ažuriranje i opseg klase. (Gašpar, D., 2014) Asocijacija, nasljeđivanje i agregacija kao koncepti objektno-orijentiranog modela Asocijacija predstavlja vezu između ili unutar instanci objekata klasa. Stupanj asocijacije može biti jedan (unarna), dva (binarna), tri (tenarna) ili viša (n-arna). Prikazuje se kao puna crta između participirajućih klasa. (Gašpar, D., 2014) Nasljeđivanje omogućuje da klasa poprimi mogućnosti od jedne nadklase. U tom se slučaju radi o jednostrukom nasljeđivanju. Postoji i višestruka klasifikacija. (Gašpar, D., 2014) Slika 2. Nasljeđivanje (Izvor: Rossel, S., 2016:11) Na Slici 2. vidljiv je primjer gdje klasa Employee nasljeđuje svojstva od klase Person. To znači da će Employee imati sve što ima Person, a mogu joj se dodati i nova svojstva koja će imati samo ta klasa. 3

12 Agregacija predstavlja vezu part-of (eng.) između komponente ili dijela objekta i složenog ili agregiranog objekta. Uključuje skup različitih instanci objekata, jednu koja se sastoji ili je sastavljena od drugih. (Gašpar, D., 2014) Na Slici 3. prikazana je UML (eng. Unified Modeling Language) notacija koja se koristi za označavanje veza kod objektnog modela podataka, pri grafičkom crtanju modela. Slika 3. UML notacija veza asocijacije, nasljeđivanja i agregacije (Izvor: autorica, 2017) 2.3. Web aplikacije Web aplikacije su programska rješenja kojima se pristupa putem internet preglednika koristeći internet ili intranet. (dimedia.hr, 2011) Slika 4. Prikaz rada web aplikacije (Izvor: prilagođeno prema maxcdn.com, 2016) Rad web aplikacije mogao bi se objasniti u pet faza. Najprije korisnik šalje zahtjev web serveru preko interneta putem web preglednika ili korisničkog sučelja aplikacije. Zatim web server prosljeđuje taj zahtjev odgovarajućem aplikacijskom web serveru. U trećoj fazi aplikacijski web server obavlja traženi zadatak kao što su upiti na bazu podataka ili procesuiranje podataka. Zatim se generira rezultat zatraženih podataka. Nadalje, aplikacijski web server šalje rezultat web serveru sa zahtjevanom informacijom ili procesuiranim podatkom. U konačnici, web server odgovara klijentu sa zahtjevanom informacijom koja se prikazuje na korisnikovom ekranu. (maxcdn.com, 2016) Grafički prikaz opisanog procesa vidljiv je na Slici 4. 4

13 Niz je prednosti web aplikacija. One se pokreću na različitim platformama neovisno o operacijskom sustavu i uređaju sve dok postoji kompatibilan preglednik. Također, svi korisnici mogu pristupiti istoj verziji, ne istaliraju se na tvrdi disk te samim time nema memorijskog ograničenja, smanjuje se piratstvo kroz SaaS model aplikacija, te se smanjuju troškovi i u poslovanju i za krajnjeg korisnika. (maxcdn.com, 2016) 2.4..NET i baze podataka.net je razvojna (eng. development) platforma. Može biti korištena za bilo koji tip aplikacije (business, web...) ili radni tijek kod kojeg se koriste rješenja općenite namjene. Ima nekoliko ključnih specifikacija koje su bitne developerima, uključujući automatsko upravljanje memorijom, API-jima (eng. Application Programming Interface 1 ) i modernim programskim jezicima (C#, C++, F#...), što za rezultat ima efikasniju izradu visoko kvalitetnih aplikacija. (prilagođeno prema msdn.microsoft.com, 2017) Baza podataka je organizirana zbirka informacija. U bazi su pohranjeni zapisi. Zapis se sastoji od polja koja sadrže sve podatke potrebne za identifikaciju i pretragu (npr. broj, ime i prezime...). Pretraživanjem u pojedinom polju dolazi se upravo do onih zapisa u bazi koji u tom određenom polju sadrže riječi iz upita pretrage. (sfzg.unizg.hr, 2011) ASP.NET MVC aplikacija ASP.NET je unificirani web development model koji uključuje servise potrebne za izgradnju velikih aplikacija s minimalnom količinom kodiranja. ASP.NET je dio.net Framework-a te se prilikom kodiranja ima pristup klasama iz.net okvira. Aplikacije se mogu praviti u bilo kojem jeziku kompatibilnom sa CLR-om (eng. Common Language Runtime) uključujući Microsoft Visual Basic i C#. (prilagođeno prema msdn.microsoft.com, 2017) ASP.NET MVC cilja na developere koji žele uzorke (eng. patterns) i principe kao što su test driven development, separation of concerns, inversion of control (IoC), i dependency injection (DI). Ovaj pristup potiče razdvajanje business logic (eng.) sloja web aplikacije od njezinog prezentacijskog sloja. Dijeljenjem aplikacije na Model (M), Views (V) i Controller (C), ASP.NET MVC može olakšati upravljanje kompleksnošću u velikim aplikacijama. U 1 API je set rutina, protokola i alata za izradu softverskih aplikacija. On specificira interakciju između softverskih komponenti te svi programeri slijede iste standarde. (prilagođeno prema webopedia.com, 2014) 5

14 ovom slučaju može postojati više timova koji rade na jednoj web stranici developeri mogu raditi na business logic dijelu, dok dizajneri rade na markup i JavaScript dijelu koji su vidljivi u pregledniku (eng. browser). (prilagođeno prema msdn.microsoft.com, 2017) Sve do sada objašnjeno, vizualno je prikazano na Slici 5. Kao temelj vidljiv je.net Framework, na njemu se nalazi ASP.NET, a zatim je napravljena podjela stranica i usluga. Plavo zaokruženo je MVC na kojem je fokus u ovom radu, a kod servisa je vidljiv i prethodno spomenuti API. Slika 5. Struktura.NET, ASP.NET i ASP.NET MVC (Izvor: codeproject.com, 2013) Entity Framework Tehnologija koja podupire razvoj podatkovno orijentiranih softverskih aplikacija na različitim platformama naziva se Entity Framework (EF). Entity Framework omogućuje developerima rad s podacima u obliku domenski specifičnim objektima i svojstvima, bez brige o tablicama i stupcima u bazi podataka gdje su podaci pohranjeni. Uz pomoć Entitiy Framework-a developeri mogu raditi na većoj razini apstrakcije i mogu kreirati podatkovno orijentirane aplikacije s manje koda od tradicionanog pristupa. (prilagođeno prema msdn.microsoft.com, 2017) Kako bi se EF omogućio u Visual Studio-u, najprije se mora instalirati ekstenzija NuGet Package Manager (ukoliko već nije instalirana). Nakon toga odlazi se na Tools Library Package Manager Manage NuGet Packages for Solutions, te se u Search-u upiše Entity Framework. Nakon toga slijedi odabir Install. Automatski će se dodati referenca na Entity Framework u Solutionu. 6

15 ADO.NET Entity Framework Ako se bazi podataka kreiranoj u SQL serveru želi pristupiti iz Visual Studio-a, nakon što je instaliran Entitiy Framework, potreban je desni klik na naziv projekta, te odabir stavke New Item. U Data Template-u izabire se ADO.NET Entity Data Model, zatim se daje proizvoljan naziv te se odabire generiranje iz postojeće baze. Zatim Next naziv servera naziv connection stringa u Web Config-u. U nastavku se označe tablice koje se žele povući iz baze i postupak je gotov. Na Slici 6. prikazan je ADO.NET (eng. ActiveX Data Objects.NET) kao veza između baze i aplikacije. Ovaj postupak primjenjuje se kod Database First pristupa koji će biti objašnjen u idućem potpoglavlju, a ujedno će biti korišten i za izradu MVC aplikacije VolonteriApp. Slika 6. Položaj ADO.NET-a između baze podataka i klijentske aplikacije (izvor: prilagođeno prema msdn.microsoft.com, 2002) Pristupi implementacije Entity Framework-a Tri su pristupa kroz koje Entity Framework može biti implementiran: 1) Code First pristup, 2) Database First pristup, 3) Model First pristup. 1) Code First pristup Kod ovog pristupa najprije se kreiraju entiteti klasa sa definiranim svojstvima u njima. Entity Framework će kreirati bazu i tablice na temelju definiranih entiteta klasa. Dakle, baza podataka generirana je iz koda, a baza će se kreirati pri pokretanju.net koda. (prilagođeno prema c-sharpcorner.com, 2016) 7

16 Prednosti: a) Baza i tablice mogu se kreirati iz poslovnih objekata, b) Moguće je specificirati koje povezane kolekcije će ući u obzir, a koje uopće ne, c) Odgovarajuće za manje aplikacije. (prilagođeno prema c-sharpcorner.com, 2016) Nedostaci: a) Mora se napisati cijeli kod za sve vezano za bazu podataka u Visual Studio-u, b) Za spremanje procedura moraju se mapirati spremljene procedure koristeći Fluent API, c) Ako se želi napraviti promjena u tablici baze podataka, mora biti napravljena promjena u klasi entiteta u kodu i potrebno je pokrenuti update-database u Package Manager Console-u, d) Ne preporuča se za podatkovno usmjerene aplikacije. (prilagođeno prema c-sharpcorner.com, 2016) 2) Database First pristup Kod ovog pristupa najprije se kreiraju baza podataka i tablice. Zatim se kreira Entity Data Model koristeći kreiranu bazu. (prilagođeno prema c-sharpcorner.com, 2016) Prednosti: a) Jednostavno kreiranje podatkovnog modela, b) Graphical User Interface GUI (eng.), c) Mapiranje i kreiranje ključeva i veza je jednostavno jer se ne mora pisati kod, d) Preferira se kod podatkovno usmjerenih i kod velikih aplikacija. (prilagođeno prema c-sharpcorner.com, 2016) Nedostaci: a) Korištenje postojeće baze podataka za generiranje.edmx datoteke i povezanih modela koda rezultira gomilom auto - generiranog koda, b) Kada se želi dodati funkcionanost u generirani model, mora se proširiti model generirane klase. (prilagođeno prema c-sharpcorner.com, 2016) 8

17 3) Model First pristup Ovim pristupom, najprije se kreiraju modeli klasa i njihove relacije (veze) uz pomoć ORM 2 dizajnera, te će baza podataka biti generirana koristeći ovaj model. Model First pristup znači kreiranje dijagrama entiteta i relacija koji će automatski biti pretvoreni u kod modela. (prilagođeno prema c-sharpcorner.com, 2015) Prednosti: a) Visual Designer za kreiranje sheme baze podataka, b) Model dijagram se može jednostavno ažurirati nakon promjene baze, c) Entity Framework generira kod i skriptu baze podataka, d) Proširenja su moguća korištenjem parcijalnih klasa. (prilagođeno prema c- sharpcorner.com, 2015) Nedostaci: a) Kada se promijeni model i generira SQL za sinkronizaciju baze podataka, onda će to uvijek rezultirati gubitkom podataka jer su tablice uvijek prve izvršene, b) Nema puno kontrole nad entitetima i bazom podataka, c) Potrebno je dobro poznavanje Entity Framework-a za ažuriranje modela i baze podataka. (prilagođeno prema c-sharpcorner.com, 2015) Od ova tri navedena, najčešće su u upotrebi Database First i Code First pristupi. Odabir pristupa uvelike ovisi o vrsti i namjeni aplikacije koja se izrađuje. Na Slici 7. grafički je prikazan postupak uz pomoć kojeg se može odlučivati o tome koji pristup odabrati ovisno o korisničkim zahtjevima. 2 Eng. Object Relational Mapper 9

18 Slika 7. Hodogram odabira odgovarajućeg pristupa (Izvor: prilagođeno prema Prethodna istraživanja c-sharpcorner.com, 2015) Brojni su radovi koji se bave proučavanjem web aplikacija i Microsoft-ovih tehnologija. Kolac, K., Sanjković, V. i Knok, Ž. (2012) u svom stručnom radu Uvod u razvoj višeslojnih poslovnih aplikacija u Microsoft.NET okolini navode da primarna orijentacija na desktop klijente znači da se želi bogato korisničko sučelje, dobra interakcija s korisnikom aplikacije te prirodna integracija aplikacije u operativni sustav klijentskog računala. Upravo to je nedostatak web aplikacije jer se kod njezine izrade 'žrtvuje' gore navedeno. Škvorc. S. i Kukec, M. (2015) u stručnom radu pod nazivom Razvoj informacijskog sustava za evidentiranje podataka na primjeru obrasca zahtjeva za odgodu nastave i definiranje termina nadoknade implementiranog tehnologijom MVC tvrtke Microsoft govore kako je primarna snaga i korist korištenja obrasca oblikovanja MVC-a odvajanje pojedinih dijelova aplikacije u zasebne komponente ovisno o njihovoj namjeni, te da je u novije vrijeme obrazac oblikovanja programske podrške MVC-a pronašao svoju primjenu u web aplikacijama i izravno je podržan u razvojnim alatima tvrtke Microsoft. Za potrebe ovog rada bit će izrađena MVC aplikacija te će njezini dijelovi u nastavku biti dodatno objašnjeni. 10

19 3. Metodologija rada U svrhu nastajanja ovog rada korišteni su, kako primarni, tako i sekundarni izvori podataka. Sekundarni izvori u obliku stručnih radova, knjiga i niza internetskih izvora koji čine teorijsku okosnicu tematike koja se obrađuje ovim diplomskim radom. Primarni podaci proizlaze iz praktičnog dijela rada, odnosno u obliku izrađene aplikacije koja služi kao primjer koda za prikaz rada pretraživanja podataka u objektim web aplikacijama. Aplikacija je izrađena u Microsoft-ovom programskom alatu i razvojnom okruženju Visual Studio. 11

20 4. Opis istraživanja i rezultati istraživanja 4.1. Dohvaćanje podataka S obzirom na to da baze podataka služe za spremanje podataka koje u bilo kojem budućem trenutku korisnik želi imati dostupne, kreirane su i naredbe za pretragu tih podataka. Uz pomoć upita korisnik odabire koje podatke želi pretraživati, npr. korisnik može odrediti koja slova abecede da se izbace, redoslijed, starost itd. ovisno o tome što je u bazi pohranjeno. Rad s bazom podataka ne znači samo dohvaćanje podataka nego i njihovo brisanje, mijenjanje i dodavanje, (eng. CRUD 3 ), no u ovom radu naglasak će biti samo na njihovom dohvaćanju, odnosno pretraživanju. Podaci se dohvaćaju uz pomoć upita (eng. query) na bazu koju se želi pretraživati, a ako je baza dobro dizajnirana, generirana i upiti pravilno napisani, rezultat pretrage bi se trebao točno prikazati. Postoji više različitih pristupa podacima, jednako kao što je bilo više načina kreiranja baza podataka i generiranja podataka. Za ovaj rad odabrana su dva načina, a to su LINQ integrirani upiti u C# jeziku, te upiti uz pomoć SQL jezika LINQ upiti LINQ je stvoren s namjerom olakšanja posla programerima jer u ovom slučaju ne moraju znati različite jezike za upite, kao što je npr. SQL, mysql i sl. Programeri za pretragu podataka koriste modele i metode koji se uobičajeno nalaze u aplikaciji. Prema Zekić-Sušac, M., Mitrović, S. (2016), LINQ (eng. Language Integrated Query) predstavlja dodatak C# programskom jeziku koji sadrži izraze za upite za rad s kolekcijama informacija kroz upotrebu programskih jezika u okviru.net okoline. LINQ omogućava pretraživanje svake kolekcije koja implementira sučelje (eng. interface) IEnumerable<T>. To uključuje i niz vrijednosti, lista ili XML DOM dokument, kao i udaljene izvore podataka, kao što su tabele na SQL Serveru. LINQ pruža prednosti provjeravanja ispravne upotrebe tipova u vrijeme prevođenja i dinamičkog sastavljanja upita. (mikroknjiga.rs, 2015) 3 CRUD je kratica od početnih slova pojmova Create, Read, Update i Delete. 12

21 Dva su načina pisanja LINQ upita. Oni su prikazani u Tablici 1. Tablica 1. Dva načina pisanja LINQ upita (izvor: prilagođeno prema bhrnjica.net, 2010) U prvom stupcu prikazana je Metodna (ili točka) sintaksa, dok je u drugom stupcu prikazana Upitna (ili Lambda) sintaksa. Upitna sintaksa koristi deklarativni način pozivanja LINQ operatora i izgleda slično kao SQL jezik. Metodna sintaksa koristi metode za pozivanje LINQ-u operatora i ugrađena je u.net Framework (System.Linq). (Zekić-Sušac, M., Mitrović, S., 2016) Prednosti i nedostaci LINQ upita Više je prednosti korištenja LINQ upita: Smanjuje količinu koda koju je potrebno pisati, Bolje razumijevanje toga što kod zapravo radi, Naučeni LINQ upiti na sličan način se mogu koristiti na različitim izvorima podataka (in-memory objekti, izvori kao što su SQL server ili Twitter), Upiti se mogu graditi u fazama, itd. (prilagođeno prema Roberts, J., 2015:12) Nedostaci LINQ-a: Dopuštenja (eng. permissions) nisu dobro vidljiva, Mali setovi podataka trebaju više vremena za kreiranje upita, nego za njegovo izvršenje, Postoji gornja granica za kreiranje upita, Kada su upiti premješteni iz SQL-a u aplikaciju, veze su jako spore, Problem podudaranja DBML-a (eng. DataBase Markup Language), Teže razumijevanje naprednijih upita korištenjem izraza. (prilagođeno prema social.msdn.microsoft.com, 2010) 13

22 SQL upiti Entity Framework mapira (pretvara) relacijske tablice u objekte razumljive C# jeziku jer su C# objekti različiti od tablica pohranjenih u relacijskoj bazi podataka. (Zekić-Sušac, M., Mitrović, S., 2016) SQL jezik služi za pretraživanje podataka u relacijskim bazama podataka, te je iz tog razloga gore navedeno neophodno za funkcioniranje objektno-orijenitrane aplikacije. Primjer jednog SQL upita slijedi u nastavku. SELECT EmployeeID, FirstName, LastName, HireDate, City FROM Employees WHERE City = 'London' /*(izvor: )*/ Rezultat pretrage bit će Id zaposlenika, ime, prezime, datum zaposlenja i grad iz tablice Zaposenici, pod uvjetom da su izlistani zaposlenici iz Londona. S kosim crticama i zvjezdicama označava se komentar i taj dio koda se ne izvršava. Kako bi se SQL upiti izvršili kroz Visual Studio, potreban je ADO.NET, te je nužno kreiranje SqlConnection-a i SqlCommand-a. (stackoverflow.com, 2014) Ako se usporede LINQ i SQL upiti, dolazi se do zaključka da je LINQ teško debugirati, a lagano napisati, dok su SQL upiti primjereni za jednolinijske upite. (prilagođeno prema forums.asp.net, 2015) Prednosti i nedostaci SQL upita Prednosti korištenja SQL upita su: SQL upiti mogu biti korišteni za izvođenje velike količine zapisa iz baze podataka brzo i efikasno, SQL se koristi za pregled podataka bez spremanja podataka u objekt, SQL spaja dvije ili više tablica i pokazuje ih korisniku kao jedan objekt, Korištenjem standardnog SQL-a je lakše upravljati sustavom baze podataka bez potrebe za pisanjem znatne količine koda, itd. (prilagođeno prema quora.com, 2017) 14

23 Neki od nedostataka su sljedeći: Sučelje SQL baze podataka je mnogo kompleksnije od nekoliko linija koda, Kada je tablica obrisana, pogled postaje neaktivan jer on ovisi o tabličnim objektima, Iako su SQL baze podataka u skladu s ANSI & ISO standardima, određene baze podataka idu na vlasnička proširenja standardnog SQL-a kako bi se osiguralo prodavačevo zaključavanje, On je objekt, pa zauzima prostor. (prilagođeno prema quora.com, 2017) 4.2. Pretraživanje podataka uz pomoć LINQ-a u MVC aplikaciji Database First pristup i kreiranje baze u SSMS 2017 Za potrebe izrade aplikacije, bit će primjenjen Database First pristup. Kao što je rečeno u poglavlju Pristupi implementacije Entity Framework-a, ovaj pristup omogućuje korisniku da prvo kreira bazu podataka, a zatim će se iz toga generirati kod za tu bazu podataka. Za ovaj rad je korišten SQL Server Management Studio (SSMS) 2017 koji se besplatno može preuzeti na Microsoft-ovoj stranici. Uz njega je potrebno imati i SQL Server Express koji se također može preuzeti kod Microsoft-a. Nakon što se program pokrene, potrebno je upisati naziv servera na koji se korisnik želi povezati. Nakon toga, u prostor za kod se upišu naredbe za kreiranje baze, te tablica i svih svojstava koje će ta tablica imati. Kod u konačnici izgleda ovako. CREATE DATABASE VolonteriDb; GO USE VolonteriDb; GO CREATE TABLE dbo.fakultet ( Id int IDENTITY(1,1) PRIMARY KEY, OIB bigint, Naziv varchar(max) NOT NULL, Skracenica varchar(40) NOT NULL, Grad varchar(50) NOT NULL, Adresa varchar(max) 15

24 ); GO USE VolonteriDb; GO CREATE TABLE dbo.institucija ( Id int IDENTITY(1,1) PRIMARY KEY, OIB bigint, Naziv varchar(max) NOT NULL, Grad varchar(50) NOT NULL, Adresa varchar(max), Djelatnost varchar(max) ); GO USE VolonteriDb; GO CREATE TABLE dbo.studentvolonter ( Id int IDENTITY(1,1) PRIMARY KEY, FakultetId int NOT NULL FOREIGN KEY REFERENCES dbo.fakultet (Id), InstitucijaId int NOT NULL FOREIGN KEY REFERENCES dbo.institucija (Id), Ime varchar(50) NOT NULL, Prezime varchar(50) NOT NUll, Aktivnost varchar(50), VolontiranjeUDanima int, PocetakVolontiranja Date ); USE VolonteriDb; GO ALTER TABLE dbo.studentvolonter ADD OIB int NOT NULL; Ova baza podataka ima naziv VolonteriDb i sastoji se od tri tablice: Fakultet, Institucija i StudentVolonter. Tablica Fakultet ima Id, OIB, Naziv, Skracenicu, Grad i Adresu. Tablica Institucija sastoji se od Id-a koji se automatski povećava (eng.autoincrement), te je on i primarni ključ tablice, OIB-a, Naziva, Grada, Adrese i Djelatnosti. Polja sa oznakom NOT NULL ne dopuštaju da to polje ostane prazno, odnosno da mu se ne upiše vrijednost. Tablica StudentVolonter ima Id, Ime, Prezime, Aktivnost, VolontiranjeUDanima, PočetakVolontiranja, te vanjske ključeve FakultetId i InstitucijaId. Naknadno je dodan i OIB, na način da je upotrebljena naredba Alter Table. 16

25 Model baze podataka U Object Explorer-u, desnim klikom na Database Diagrams moguće je kreirati model baze podataka. Tablice su povezane vezama 1:N, odnosno fakultet može imati više studenata, a više studenata može biti na jednom fakultetu. Isto vrijedi i za institucije. Na Slici 8. vidljiv je model za bazu VolonteriDb. Slika 8. Model baze podataka (Izvor: autorica, 2017) Prijenos baze podataka u Visual Studio Najprije je potrebno kreirati novi projekt u Visual Studio-u koji je također dostupan besplatno na Microsoft-ovoj stranici. U ovom slučaju odabrana je ASP.NET web aplikacija, zatim Empty ASP.NET template, te je označeno dodavanje core referenci i mapi za MVC. Postupak za dodavanje baze: Solution Explorer desni klik na Models Add New Item Data ADO.NET Entity Data Model EF Designer from Database New Connection. Zatim korisnik upisuje naziv servera i baze na koje se želi spojiti. U nastavku se još odabiru tablice koje se želi dodati. 17

26 Osim EF Designera from database, ponuđene su još tri opcije. Ovisno o tome što korisnik želi dobiti kao rezultat, može birati još između Empty EF Designer modela, Empty Code First modela i Code First from database. Prikaz ekrana iz Visual Studio-a nalazi se na Slici 9. Slika 9. Opcije sadržaja modela (Izvor: autorica, 2017) Na Slici 10. prikazane su klase koje su kreirane iz tablica uz pomoć Entity Framework-a. Slika 10. Klase aplikacije VolonteriApp (Izvor: autorica, 2017) U nastavku slijedi kod koji je automatski kreiran za klasu StudentVolonter. public partial class StudentVolonter { public int Id { get; set; } [Display(Name = "Naziv fakulteta")] public int FakultetId { get; set; } [Display(Name = "Naziv institucije")] public int InstitucijaId { get; set; } [Display(Name = "Ime")] public string Ime { get; set; } [Display(Name = "Prezime")] public string Prezime { get; set; } [Display(Name = "Aktivnost")] 18

27 public string Aktivnost { get; set; } [Display(Name = "Volontiranje u danima")] public Nullable<int> VolontiranjeUDanima { get; set; } [Display(Name = "Početak volontiranja ")] [DataType(DataType.Date)] public Nullable<System.DateTime> PocetakVolontiranja { get; set; } [Display(Name = "OIB")] public int OIB { get; set; } } public virtual Fakultet Fakultet { get; set; } public virtual Institucija Institucija { get; set; } Kod je generiran sa svojstvima koja su definirana u SQL Server Management Studio-u, te se može uočiti da je kod gotovo jednako napisan kao i kada ga programer prvo sam piše kod CodeFirst pristupa. Važno je napomenuti da je DisplayName naknadno dodan, te on nije automatski generiran što i nema smisla jer sam korisnik odlučuje kako će se koji naziv prikazati Render Action metoda i LINQ upiti U SearchController-u koji je kreiran, napravljeni su LINQ upiti za svaku tablicu, odnosno klasu. Korišteni su Render pogledi kako bi se u konačnici sve tri tablice prikazale na jednoj stranici, a time će biti omogućeno pretraživanje podataka iz sve tri tablice istovremeno. Dakle, korištenjem Render Action metode, više modela prikazivat će se u jednom pogledu. Iz danog koda je vidjivo da će npr. pogled fakulteti prikazati rezultat upita koji pretražuje podatke u tablici Fakultet gdje se upisana riječ podudara ili sa skraćenicom ili nazivom ili gradom ili adresom ili OIB-om. S obzirom na to da OIB ima format integer, ovdje je pretvoren u string, jer je pretraživanje napravljeno samo za prepoznavanje slova. Naredba.ToString na jednostavan način je omogućila da i OIB postane dio pretrage. Ista naredba je primjenjena i kod pretvorbe datuma u string, odnosno pisani znak. public PartialViewResult RenderFakultet(string searchstring) { IEnumerable<Fakultet> fakulteti = db.fakultet.select(x => x); if (!string.isnullorwhitespace(searchstring)) { fakulteti = db.fakultet.where(x => x.skracenica == searchstring x.naziv == searchstring x.grad == searchstring x.oib.tostring() == searchstring x.adresa == searchstring); } return PartialView(fakulteti); } 19

28 public PartialViewResult RenderInstitucija(string searchstring) { IEnumerable<Institucija> institucija = db.institucija.select(x => x); } if (!string.isnullorwhitespace(searchstring)) { institucija = db.institucija.where(x => x.naziv == searchstring x.adresa == searchstring x.djelatnost == searchstring x.grad == searchstring x.oib.tostring() == searchstring); } return PartialView(institucija); public PartialViewResult RenderStudentVolonter(string searchstring) { IEnumerable<StudentVolonter> studentivolonteri = db.studentvolonter.select(x => x); } if (!string.isnullorwhitespace(searchstring)) { studentivolonteri = db.studentvolonter.where(x => x.ime == searchstring x.prezime == searchstring x.aktivnost == searchstring x.volontiranjeudanima.tostring() == searchstring x.fakultet.naziv == searchstring x.pocetakvolontiranja.tostring() == searchstring x.oib.tostring() == searchstring x.institucija.naziv == searchstring); } return PartialView(studentiVolonteri); Iz prikazanog koda je vidljivo da je pri pisanju LINQ upita primjenjena Metodna (točka) sintaksa. Za svaku tablicu pretražuju se sva polja iz pojedine tablice. Iz tog razloga korišten je operator ILI (oznaka ). Korištena je IEnumerable lista te je u tražilicu potrebno upisati riječ ili brojeve točno onako kako su pohranjeni u bazi podataka. Render pogledi nalaze se u Views Search. Tri su render pogleda jer su tri tablice sadržane u bazi podataka. Render pogledi sadrže kod jednak kao i obični pogledi, no oni su omogućili kao što je prethodo rečeno, da se tri tablice prikažu na jednoj stranici. Sadržaj pogleda Search vidljiv je na Slici 11. Slika 11. Sadržaj pogleda Search (Izvor: autorica 2017) 20

29 Implementacija search-a Render pogledi prenose podatke na još jednu dodatnu stranicu, u ovom slučaju na pogled koji se prikazuje nakon klika na gumb Tražilica. Kod iz datoteke PartialView koji se odnosi na prikaz polja i gumba za pretraživanje prikazan je u (Html.BeginForm("PartialView", "Search", FormMethod.Get)) <input type="submit" value="pretraži" class="btn btn-info" /> } Vidljivo je da se referira na SearchController i na searchstring koji je u tom kontroleru kreiran Izrada ostalih dijelova aplikacije Kako bi aplikacija bila cjelovita i kako bi se moglo prikazati pretraživanje koje ima smisla, napravljeni su i ostali dijelovi aplikacije od kojih će bitniji biti prikazani u nastavku rada. Konačan izgled aplikacije, odnosno početne naslovne stranice, vidljiv je na Slici 12. Slika 12. Izgled naslovne stranice aplikacije VolonteriApp (Izvor: autorica, 2017) 21

30 Aplikacija VolonteriApp ima kreirano pet kontrolera. U njima se nalazi sva logika aplikacije. Njihovim kreiranjem, kreirali su se i pripadajući pogledi u kojima je definirano kako će izgledati pojedini ekran. To se ne odnosi na dizajnerski dio stranice. Kontroleri su vidljivi na Slici 13. Slika 13. Kreirani kontroleri (Izvor: autorica, 2017) Pozadinska fotografija dodana je na način da je najprije željena fotografija dodana u mapu Content u samoj datoteci kreiranog rješenja koja se nalazi na računalu. Zatim je u Content Site.css napisan sljedeći kod. body { padding-top: 50px; padding-bottom: 20px; background-image: Url("Photos/home.jpg"); background-size: cover; background-repeat: no-repeat; background-position: center ; background-attachment: fixed; } Ostatak aplikacije uređen je uz pomoć besplatne bootstrap teme, koja je dostupna svima online DropDown lista za izbor akrivnosti studenta U Views StudentVolonter Create također se nalazi i kod za predefiniranu padajuću (eng. DropDown list) na kojoj se nalaze dvije vrijednosti: Aktivan i Neaktivan. Lista je napravljena u svrhu jedinstvenosti unosa vrijednosti za traženu aktivnost studenta, te će to u konačnici olakšati i rad tražilice. 22

31 U kodu koji se nalazi ispod, vidljivo je da je kreirana lista povezana s poljem aktivnosti, te da su dodane dvije stavke u tu listu. Prije nego li se klikne na polje za unos, korisniku je ispisano Odaberite aktivnost. <div => model.aktivnost, htmlattributes: new = "control-label col-md-2" }) <div new List<SelectListItem> { new SelectListItem {Text = "Aktivan", Value = "Aktivan" }, new SelectListItem {Text = "Neaktivan", Value = "Neaktivan" }, }, "Odaberite aktivnost", new = "form-control" => model.aktivnost, "", new = "text-danger" }) </div> </div> Na Slici 14. prikazano je kako to izgleda u aplikaciji. Slika 14. DropDown lista za aktivnost (Izvor: autorica, 2017) jquery DatePicker Najprije je potrebno u NuGet Package Manager Manage NuGet Packages for Solutions instalirati jquery.ui.combined. Nakon toga u Scripts je moguće vidjeti da su se dodale skripte za DatePicker. U Shared _Layout potrebno je napisati odnosno, dodati referencu na jquery skriptu za DatePicker i CSS kod potreban za oblikovanje kalendara koji će biti ponuđen. Kod izgleda ovako. <link href="~/content/themes/base/jquery-ui.css" rel="stylesheet" /> <script src="~/scripts/jquery min.js"></script> <script src="~/scripts/jquery-ui js"></script> 23

32 S obzirom na to da je u aplikaciji kalendar potreban kod dodavanja novog studenta u polju za unos kada je student počeo volontirati, kod će se dodati u Views StudentVolonter Create i Edit. U kod koji se nalazi u datoteci Create potrebno je u dijelu koji se odnosi na početak volontiranja dodati id koji će se vezati za DatePicker. Konkretno u ovom primjeru id je nazvan id ="date-picker", a naziv proizvoljno može odrediti korisnik. Cijeli kod slijedi u nastavku. <div => model.pocetakvolontiranja, htmlattributes: new = "control-label col-md-2" }) <div => model.pocetakvolontiranja, new { htmlattributes = new = "form-control", id ="date-picker" } => model.pocetakvolontiranja, "", new = "text-danger" }) </div> </div> Također, u datoteci Create, potrebno je definirati u kojem će se formatu prikazivati datum, odnosno napisati JavaScript kod za prikazivanje kalendara. Izabran je format 'yy-mm-dd'. <script type="text/javascript"> $(document).ready(function () { $('#date-picker').datepicker({ dateformat: 'yy-mm-dd' }); }); </script> U datoteci Edit, potrebno je na istim mjestima iste dijelove koda napisati kako bi jednak pogled bio i kada se klikne na gumb kreiranje i na gumb uređivanje. Konačno klikom u aplikaciji VolonteriApp na karticu Studenti Dodaj novog studenta, prikazat će se kalendar kao na Slici 15. Moguće je odabrati željeni datum, te je time olakšano unošenje podatka o početku volontiranja studenta. 24

33 Slika 15. jquery DatePicker (Izvor: autorica, 2017) Generiranje podataka Generiranje podataka u bazu omogućeno je kroz aplikaciju. Korisnik unosi podatke o fakultetu, instituciji i studentu. Za sve tri tablice postoji gumb Kreiraj novi zapis. Klikom na njega otvara se prozor za unos podataka. Kod kreiranja fakulteta potrebno je unijeti OIB, Naziv fakulteta, Skraćenicu, Grad i Adresu. Ekran za unos izgleda kao na Slici 16. Slika 16. Ekran za kreiranje novog fakulteta (Izvor: autorica, 2017) U konačnici lista više dodanih fakulteta vidljiva je na Slici

34 Slika 17. Prikaz liste dodanih fakulteta (Izvor: autorica) Postupak je jednak i za unos, odnosno kreiranje novih institucija. Pri dodavanju novog studenta ekran za unos izgleda kao na Slici 18. Slika 18. Dodavanje novog studenta (Izvor: autorica, 2017) Vidljivo je da su u polju za unos fakulteta na kojem student studira već ponuđeni fakulteti koji su prethodno dodani u bazu podataka. Isto vrijedi i za institucije. 26

35 Prikaz rada pretraživanja u aplikaciji VolonteriApp Nakon što su podaci generirani i u bazu je uneseno sve što je korisnik htio, moguće je pretražiti te podatke. Pretraživanje u ovom primjeru radit će prema zadanim LINQ upitima koji su u prethodnim potpoglavljima prikazani. Na Slici 19. Prikazane su sve tri tablice na jednom ekranu koji se prikaže klikom na gumb Tražilica. Tu je vidljiv rezultat Render Action metode. Slika 19. Prikaz ekrana tražilice (Izvor: autorica, 2017) Bilo koji upit upisan u tražilicu pretraži će se u sve tri tablice, te se ovdje radi o multitabličnom pretraživanju, i pretraživanju više polja. Nakon što se u tražilicu upiše Ekonomski fakultet u Osijeku rezultat pretrage vidljiv je na Slici

36 Slika 20. Rezultat pretrage (Izvor: autorica, 2017) Iz tablice Fakulteti kao rezultat se prikazao Ekonomski fakultet u Osijeku, u tablici Institucije nema traženog pojma, te se u tablici Studenti prikazao student koji studira na traženom fakultetu. U ovom slučaju to je bio samo jedan student iz baze. Na jednak način pretraživanje radi i za sve druge pojmove koji se upišu. Ako rezultata nema niti u jednoj tablici, svaka od njih će biti prikazana prazna. 28

37 Rasprava Krenuvši od samog odabira pristupa implementacije Entity Frameworka pa sve do implementacije tražilice, korisnik se može naći u mnogo dvojbi što i kako napraviti i za što se odlučiti. Nakon što odluči da će kreirati aplikaciju, korisnik odlučuje o pristupu impementacije. No taj odabir i nije tako težak ako korisnik zna što želi u konačnici postići. Ako raspolaže s puno podataka, bolja opcija je Database First pristup, a u suprotnom Code First pristup. Tu je još i Model First za korisnike koji žele krenuti od nečeg vizualnog, odnosno najprije si kreiraju izgled modela, te se nakon toga generira kod. Odluku mu može olakšati i hodogram koji je prikazan u radu. Nakon što se korisnik odlučio koji će pristup koristiti, slijedi mu teži zadatak, a to je kreiranje aplikacije. Dijeljenje aplikacije na Model, View i Controller može biti korisno jer je lakše upravljati pojedinim dijelom aplikacije i lakše je prepoznati u kojem je dijelu nastao problem. To osobito vrijedi za programere početnike koji se još ne snalaze u velikoj količini koda. MVC aplikacije su veoma zastupljene u primjeni, te postoji mnogobrojna literatura koja obrađuje njihovu probematiku. Korisnik mora razumijeti što se događa u kojem dijelu aplikacije kako bi znao u koji dio će smjestiti npr. problemski istraživani pretraživanje podataka. Brojne su rasprave na svjetskim forumima i stranicama koje okupljaju ljude iz IT svijeta, o tome što kako u aplikaciji napraviti. To proizlazi i iz činjenice da za svaki korak u izradi postoji više različitih verzija i pisanja koda i odabira pristupa. Zbog lakšeg povezivanja klasa projekta s bazom podataka, ovdje je odabran Database First pristup. U prednosti ovog pristupa bi se moglo dodati i jednostavno upravljanje SQL Management Studiom, koji je user-friendly, te uz osnovno poznavanje SQL koda i njegovog pojmovnika, korisnik ne nailazi na neke značajne prepreke. Također, Visual Studio je omogućio jednostavno povezivanje sa SQL Serverom, gdje se u nekoliko klikova baza prenosi i iz nje se generira kod za kreiranje klasa u modelu. Jedna od dvojbi u kojoj se korisnik može naći je da li da izabere LINQ ili SQL upite. U ovom radu primjer je rađen uz pomoć LINQ upita. LINQ upiti su već implementirani u C# te nije potrebno pamtiti sve naredbe iz SQL-a, te je ovim istraživanjem zaklučeno da ima više prednosti nego sam SQL. Također, upotrebom LINQ-a pisanje koda je brže, te se programer drži jednog slijeda kojeg ne prekida. 29

38 Krajnji korisnik aplikacije očekuje jednostavnost, točnost i prilagodljivost. Te tri stvari kreator aplikacije treba imati na umu jer u suprotnom aplikacija neće donijeti željene rezultate. Točnost podataka u rezultatima pretraživanja ima primarnu važnost jer ako taj dio izostane, cijelo pretraživanje nema smisla, te niti jednom korisniku podataka neće imati nikakvo značenje. Složeni upiti pišu se uz pomoć logičkih operatora. Iako je ovdje korišten samo jedan, postoje još dva. Osim logičkog ILI (oznaka ), tu su još i negacija (oznaka! ), te logičko I (oznaka &&). U primjeru je korišten logički operator ILI jer je cilj bio da se u rezultatima izbaci bilo koja vrijednost koja zadovoljava pojam pretraživanja. Taj se cilj ne bi mogao ispuniti s druga dva operatora. Arhitektura aplikacije u ovom primjeru nije dijeljena na više slojeva, te se sve nalazi u jednom projektu. Slojevita arhitektura se uglavnom koristi kod složenih aplikacija i onih za komercijalnu upotrebu te u ovom slučaju to nije bilo potrebno primjenjivati. Objektno-orijentirano programiranje zbog svojih prednosti biva sve zastupljenije jos od 80ih godina kada se pojavilo, te je postalo osnovna sastavnica razvoja softvera (eng. software development). U ovom radu prikazano je kako izgleda jedna objektna web aplikacija. Promatranje dijelova kao objekata u stvarnom svijetu, značajno olakšava razumijevanje svega što se u aplikaciji nalazi. Objektima se upravlja na jednostavniji način, te kao što je u radu već rečeno, koncepti objektno-orijentiranog modeliranja kao što su nasljeđivanje, polimorfizam i enkapsulacija, uvelike mijenjaju način na koji se aplikacija izgrađuje. Web aplikacije kao i objektno-orijentirano programiranje imaju brojne prednosti te zajedno čine dobitnu kombinaciju. Web aplikacije gotovo su u potpunosti zamijenile desktop aplikacije, te svaki korisnik želi mogućnost korištenja aplikacije i na mobilnom uređaju. S obzirom na to da krajnji korisnik želi jednostavnot, web aplikacije su se pokazale idealnima jer ne zahtjevaju skidanje na računalo, kupovanje hard diska s više memorije, instalaciju, provjeravanje postoji li ažuriranje itd. Web aplikacije osim krajnjem korisniku, štede vrijeme i kreatoru aplikacije jer se pravi jedna univerzalna verzija, te se ne mora prilagođavati različitim operacijskim sustavima računala. 30

39 Zaključak S rastom popularnosti web aplikacija, raste i potreba za istraživanjem problematike njihovih različitih aspekat. Ovaj rad obrađuje jedan od njih, konkretno pretraživanje podataka u objektnim web aplikacijama. Iz toga je proizašla i svrha rada. Svrha rada je bila objasniti pretraživanje podataka u bazi podataka u objektno-orjentiranim web aplikacijama, a to je postignuto kroz ciljeve: (1) opis objektnog modela podataka, (2) opis načina dohvaćanja podataka, i (3) opis primjene LINQ upita u svrhu pretraživanja podataka iz baze u alatu Visual Studio. Teorijskom okviru teme u ovom radu dana je posebna pažnja kako bi se čitatelj upoznao s pojmovima te na ovaj način stekao sliku o problematici teme i o tome što će se u nastavku rada proučavati. Najprije je objašnjeno objektno modeliranje podataka, zatim web aplikacije i njihovo funkcioniranje te način kako se podaci obrađuju i vraćaju na klijentovo računalo. Također, prikazana je.net razvojna platforma kao temelj ASP.NET MVC aplikacije. Prikazana su tri ptistupa implementacije Entity Framework-a, a u radu je upotrebljen Database First pristup zbog jednostavnosti implementacije i pristupačnosti alata potrebnog za primjenu. Uspoređene su prednosti i nedostaci LINQ i SQL upita, te je prednost dana LINQ upitima zbog njihove integriranosti u C# te je upotrebom LINQ-a pisanje koda brže, a programer se drži jednog slijeda kojeg ne prekida. U praktičnom dijelu rada napravljena je MVC aplikacija za evidenciju volonterskog rada, a za cilj je imala na konkretnom primjeru prikazati rad tražilice čiji su upiti pisani LINQ upitima. Pretraživanje više polja i multitablično pretraživanje rezultat su pročavanja problematike pretraživanja podataka u objektnim web aplikacijama. Aplikacija iz primjera bi uz daljnju nadogradnju i proširenje, te dijeljenje u više slojeva, mogla poslužiti i u poslovne svrhe. Korisnik aplikacije bi imao pregled svih studenata koji volontiraju, ili su trenutno neaktivni, te podatke o tome s kojeg studija dolaze i u kojoj instituciji volontiraju. Potencijalni kupac, odnosno korisnik aplikacije bi npr. moglo biti sveučilište jer bi se na taj način imala jasna evidencija o tome koliko studenata s kojeg fakulteta volontira i koja su prema tome njihova interesna područja. U nadogradnji aplikacije bi se moglo dodati još tablica, te napraviti puno složenija baza podataka. Korisno bi bilo dodati tablicu odgovornih osoba kako bi se znalo koji student ima kojeg mentora, i tko je zadužen za koordiniranje zadataka u pojedinoj instituciji. 31

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

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

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

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

Uputa za instaliranje programske potpore za operativni sustav WINDOWS

Uputa za instaliranje programske potpore za operativni sustav WINDOWS ZABA SignErgy Desktop aplikacija Uputa za instaliranje programske potpore za operativni sustav WINDOWS SADRŽAJ 1. UVOD 3 2. PODRŽANI OPERATIVNI SUSTAVI 3 3. PROGRAMSKI PREDUVJETI ZA INSTALACIJU PROGRAMSKE

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

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

Upute za postavljanje Outlook Expressa

Upute za postavljanje Outlook Expressa Upute za postavljanje Outlook Expressa Prije postavljanja klijenata morate obavezno obaviti prvu prijavu na web mail kako bi aktivirali vaš račun na novom sustavu. Ukoliko niste obavili prvu prijavu, nećete

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

JavaScript i HTML DOM

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

More information

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

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

OUR KNOWLEDGE FOR YOUR SUCCESS. Iskustva u razvoju i implementaciji ADF aplikacije

OUR KNOWLEDGE FOR YOUR SUCCESS. Iskustva u razvoju i implementaciji ADF aplikacije Iskustva u razvoju i implementaciji ADF aplikacije Sadržaj Opis aplikacije za AZ Mirovinski Fond Internacionalizacija aplikacije Integracija sa Oracle Reports Iskorištenje postojeće PL/SQL logike Kreiranje

More information

Sveučilište u Zagrebu Fakultet strojarstva i brodogradnje. WEB programiranje HTML & CSS

Sveučilište u Zagrebu Fakultet strojarstva i brodogradnje. WEB programiranje HTML & CSS Sveučilište u Zagrebu Fakultet strojarstva i brodogradnje WEB programiranje HTML & CSS Autor/i: Juraj Benić 2018 1. Zadatak Kreirati stranicu kojoj će naslov biti Zadatak 1. i veličina teksta 20px te staviti

More information

PKI Applet Desktop Application Uputa za instalaciju programske potpore

PKI Applet Desktop Application Uputa za instalaciju programske potpore 1 SADRŽAJ 1. UVOD 3 2. PODRŽANI OPERATIVNI SUSTAVI 3 3. PROGRAMSKI PREDUVJETI ZA INSTALACIJU PROGRAMSKE POTPORE 3 4. INSTALACIJA PROGRAMSKE POTPORE 3 5. DEINSTALACIJA PROGRAMSKE POTPORE 6 2 1. Uvod PKI

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

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

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

More information

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

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

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

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

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

Case Study Hrvatska pošta: Korisničko iskustvo iz snova. Tomislav Turk Samostalni sistem inženjer, Combis d.o.o. Zagreb,

Case Study Hrvatska pošta: Korisničko iskustvo iz snova. Tomislav Turk Samostalni sistem inženjer, Combis d.o.o. Zagreb, Case Study Hrvatska pošta: Korisničko iskustvo iz snova Tomislav Turk Samostalni sistem inženjer, Combis d.o.o. Zagreb, 27.12.2018. Sadržaj Hrvatska pošta prije projekta Izazovi projekta Tehnologije korištene

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

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

Single Sign-On s Officeom 365 na Kineziološkom fakultetu Sveučilišta u Zagrebu

Single Sign-On s Officeom 365 na Kineziološkom fakultetu Sveučilišta u Zagrebu Single Sign-On s Officeom 365 na Kineziološkom fakultetu Sveučilišta u Zagrebu Stipe Gorenjak, Kineziološki fakultet Sveučilišta u Zagrebu e-mail: stipe.gorenjak@kif.hr Sponzori Ugasite mobitele. Hvala.

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

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

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

Razvoj hibridnih mobilnih aplikacija pomoću PhoneGap platforme

Razvoj hibridnih mobilnih aplikacija pomoću PhoneGap platforme INFOTEH-JAHORINA Vol. 12, March 2013. Razvoj hibridnih mobilnih aplikacija pomoću PhoneGap platforme Igor Dujlović Elektrotehnički fakultet Banja Luka Banja Luka, BiH dujlovic@gmail.com Zoran Đurić Elektrotehnički

More information

Geant2 - JRA1. Upravljanje mjerenjem i performansama mreža (perfsonar, baza multi-domain nadzorne usluge) Danijel Matek (Srce)

Geant2 - JRA1. Upravljanje mjerenjem i performansama mreža (perfsonar, baza multi-domain nadzorne usluge) Danijel Matek (Srce) Geant2 - JRA1 Upravljanje mjerenjem i performansama mreža (perfsonar, baza multi-domain nadzorne usluge) Danijel Matek (Srce) 21.11.2007, CUC2007, Rijeka Što je to JRA1? Glavni zadatak JRA1 (Performance

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

Rad sa MySQL bazom podataka

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

More information

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

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

JAVA DESKTOP APLIKACIJA ZA PREGLED I VOĐENJE FINANCIJA

JAVA DESKTOP APLIKACIJA ZA PREGLED I VOĐENJE FINANCIJA SVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU FAKULTET ELEKTROTEHNIKE, RAČUNARSTVA I INFORMACIJSKIH TEHNOLOGIJA OSIJEK Sveučilišni studij računarstva JAVA DESKTOP APLIKACIJA ZA PREGLED I VOĐENJE FINANCIJA

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

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Sustavi za praćenje i vođenje procesa Seminarski rad LOGIČKI ANALIZATOR (PC kao instrument) 26. svibnja 2007. Ivan Grubišić 0036404380 1. Logički analizator Logički

More information

NASLOV SEMINARSKOG RADA (16 pt, Bold) Seminarski rad. (16 pt, Bold)

NASLOV SEMINARSKOG RADA (16 pt, Bold) Seminarski rad. (16 pt, Bold) Sveučilište u Zagrebu (12 pt, Bold) Ekonomski fakultet (12 pt, Bold) Naziv diplomskog studija (12 pt, Bold) NASLOV SEMINARSKOG RADA (16 pt, Bold) Seminarski rad (16 pt, Bold) Ime i prezime studenta/studentice,

More information

ILM implementacija DWH baza u T-mobile

ILM implementacija DWH baza u T-mobile ILM implementacija DWH baza u T-mobile Bojan Šumljak, PS Consultant Hrvoje Dubravica, PS Head Consultant www.snt-world.com 1 Što je ILM? - information Lifecycle Management praksa primjenjivanja pravila

More information

Vjež ba 3-3: Ražvoj ASP.NET MVC 4 Pogleda s Ražor sintaksom

Vjež ba 3-3: Ražvoj ASP.NET MVC 4 Pogleda s Ražor sintaksom Vjež ba 3-3: Ražvoj ASP.NET MVC 4 Pogleda s Ražor sintaksom U ovoj vježbi trebate dodati sljedeće view-ove u OnlineVrijednosnice aplikaciju: Details view za Graf model objekte ovaj view će prikazivati

More information

dr. sc.. Josip Musić Originalne slideove izradio:

dr. sc.. Josip Musić Originalne slideove izradio: Uvod u programiranje Programiranje 1 (450) Poglavlje 1 Uvod u računala, Microsoft.NET i VB.NET (dio 2 od 2): Pregled.NET platforme dr. sc.. Josip Musić jmusic@fesb.hr 1 Originalne slideove izradio: Teo

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

VMware Workstation. VMwareWorkstation ESX ($) (vmotion, DRS, HA, Storage vmotion) vcenter Server ($) Server. Guest OS

VMware Workstation. VMwareWorkstation ESX ($) (vmotion, DRS, HA, Storage vmotion) vcenter Server ($) Server. Guest OS VMware Workstation ESX ($) vcenter Server ($) (license manager) Server hardware (vmotion, DRS, HA, Storage vmotion) ESXi (freeware) (ESXi freeware is managed by the Virtual Infrastructure (or vsphere)

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

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

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

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

SMARTPHONE TO MICROCONTROLLER COMMUNICATION ANDROID FRAMEWORK FOR STUDENTS

SMARTPHONE TO MICROCONTROLLER COMMUNICATION ANDROID FRAMEWORK FOR STUDENTS DOI: 10.19279/TVZ.PD.2016-4-3-11 SMARTPHONE TO MICROCONTROLLER COMMUNICATION ANDROID FRAMEWORK FOR STUDENTS SUSTAV ZA IZRADU ANDROID APLIKACIJE ZA KOMUNIKACIJU S MIKROUPRAVLJAČEM NAMIJENJEN STUDENTIMA

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

Binarne hrpe. Strukture podataka i algoritmi VJEŽBE 26. siječnja / 133

Binarne hrpe. Strukture podataka i algoritmi VJEŽBE 26. siječnja / 133 Binarne hrpe Potpuno binarno stablo binarno stablo u kojem svaki čvor koji nije list ima točno 2 nasljednika. Binarna hrpa potpuno binarno stablo u kojem svaki čvor koji nije list ima veću ključnu vrijednost

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

Implementacija MVC arhitekture u JSP tehnologiji

Implementacija MVC arhitekture u JSP tehnologiji INFOTEH-JAHORINA Vol. 12, March 2013. Implementacija MVC arhitekture u JSP tehnologiji Jelena Ćosović, Miljan Radojičić studenti drugog ciklusa studija Elektrotehnički fakultet Istočno Sarajevo, Bosna

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

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

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

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

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

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

Prihvaćen: UDK :004.62

Prihvaćen: UDK :004.62 Primljen: 23.11.2015. Stručni rad Prihvaćen: 25.11.2015. UDK 004.03:004.62 Razvoj informacijskog sustava za evidentiranje podataka na primjeru obrasca zahtjeva za odgodu nastave i definiranje termina nadoknade

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

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

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

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

NOSQL BAZA PODATAKA RAČUNALNIH KOMPONENTI

NOSQL BAZA PODATAKA RAČUNALNIH KOMPONENTI SVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU ELEKTROTEHNIČKI FAKULTET Sveučilišni studij NOSQL BAZA PODATAKA RAČUNALNIH KOMPONENTI Završni rad Vladimir Anić Osijek, 2016 Obrazac Z1P - Obrazac za ocjenu

More information

SVEUČILIŠTE U ZAGREBU FAKULTET ORGANIZACIJE I INFORMATIKE V A R A Ţ D I N

SVEUČILIŠTE U ZAGREBU FAKULTET ORGANIZACIJE I INFORMATIKE V A R A Ţ D I N SVEUČILIŠTE U ZAGREBU FAKULTET ORGANIZACIJE I INFORMATIKE V A R A Ţ D I N Senko Pušec ZODB ZAVRŠNI RAD Varaţdin, 2016. SVEUČILIŠTE U ZAGREBU FAKULTET ORGANIZACIJE I INFORMATIKE V A R A Ţ D I N Senko Pušec

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

Sveučilište Jurja Dobrile u Puli Fakultet ekonomije i turizma «Dr. Mijo Mirković» GORAN ANTOLOVIĆ ALATI ZA KONCEPTUALNO MODELIRANJE PODATAKA

Sveučilište Jurja Dobrile u Puli Fakultet ekonomije i turizma «Dr. Mijo Mirković» GORAN ANTOLOVIĆ ALATI ZA KONCEPTUALNO MODELIRANJE PODATAKA Sveučilište Jurja Dobrile u Puli Fakultet ekonomije i turizma «Dr. Mijo Mirković» GORAN ANTOLOVIĆ ALATI ZA KONCEPTUALNO MODELIRANJE PODATAKA Završni rad Pula, 2016. Sveučilište Jurja Dobrile u Puli Fakultet

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

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

INTERNET APLIKACIJA ZA EVIDENCIJU ZALIJEVANJA CVIJEĆA

INTERNET APLIKACIJA ZA EVIDENCIJU ZALIJEVANJA CVIJEĆA SVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU FAKULTET ELEKTROTEHNIKE, RAČUNARSTVA I INFORMACIJSKIH TEHNOLOGIJA OSIJEK ZAVRŠNI RAD INTERNET APLIKACIJA ZA EVIDENCIJU ZALIJEVANJA CVIJEĆA Sara Aleksi Osijek,

More information

PREDNOSTI I NEDOSTACI UPORABE Node.js PLATFORME

PREDNOSTI I NEDOSTACI UPORABE Node.js PLATFORME SVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU FAKULTET ELEKTROTEHNIKE, RAČUNARSTVA I TELEKOMUNIKACIJA Stručni studij PREDNOSTI I NEDOSTACI UPORABE Node.js PLATFORME Završni rad Roberta Raguž Osijek,

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

Wireframes, Mockups, Prototypes

Wireframes, Mockups, Prototypes Wireframes, Mockups, Prototypes Wireframe je važan alat u dizajnu i razvoju nekog proizvoda Koriste ga svi sudionici uključeni razvoj proizvoda (dizajneri, programeri, project manageri ) Wireframe je nacrt

More information

Elektrotehnički fakultet Osijek Kneza Trpimira 2b. Stručni studij. Rent a Car. Projektni zadatak iz kolegija Baze podataka

Elektrotehnički fakultet Osijek Kneza Trpimira 2b. Stručni studij. Rent a Car. Projektni zadatak iz kolegija Baze podataka Elektrotehnički fakultet Osijek Kneza Trpimira 2b Stručni studij Rent a Car Projektni zadatak iz kolegija Baze podataka Ime Prezime, Axxxx Osijek, 2011. Sadržaj I. Opis projektnog zadatka... 1 II. ER dijagram...

More information

OSVRT NA NOSQL BAZE PODATAKA ČETIRI OSNOVNE TEHNOLOGIJE REVIEW OF NOSQL DATABASES FOUR BASIC TECHNOLOGIES

OSVRT NA NOSQL BAZE PODATAKA ČETIRI OSNOVNE TEHNOLOGIJE REVIEW OF NOSQL DATABASES FOUR BASIC TECHNOLOGIES POLYTECHNIC & DESIGN OSVRT NA NOSQL BAZE PODATAKA ČETIRI OSNOVNE TEHNOLOGIJE REVIEW OF NOSQL DATABASES FOUR BASIC TECHNOLOGIES Aleksandar Stojanović Tehničko veleučilište u Zagrebu Vol. 4, No. 1, 2016.

More information

MATIJA RISEK INTEGRACIJA ASP.MVC APLIKACIJE S OFFICE 365 PLATFORMOM

MATIJA RISEK INTEGRACIJA ASP.MVC APLIKACIJE S OFFICE 365 PLATFORMOM MEĐIMURSKO VELEUČILIŠTE U ČAKOVCU STRUČNI STUDIJ RAČUNARSTVA MATIJA RISEK INTEGRACIJA ASP.MVC APLIKACIJE S OFFICE 365 PLATFORMOM ZAVRŠNI RAD ČAKOVEC, 2015. MEĐIMURSKO VELEUČILIŠTE U ČAKOVCU STRUČNI STUDIJ

More information

KINEMATIČKA ANALIZA MEHANIZAMA INDUSTRIJSKIH ROBOTA KORIŠTENJEM PROGRAMSKOG JEZIKA MATLAB

KINEMATIČKA ANALIZA MEHANIZAMA INDUSTRIJSKIH ROBOTA KORIŠTENJEM PROGRAMSKOG JEZIKA MATLAB 10 th International Scientific Conference on Production Engineering DEVELOPMENT AND MODERNIZATION OF PRODUCTION KINEMATIČKA ANALIZA MEHANIZAMA INDUSTRIJSKIH ROBOTA KORIŠTENJEM PROGRAMSKOG JEZIKA MATLAB

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

IZRADA INTERAKTIVNOG TESTA U ANGULAR OKRUŽENJU

IZRADA INTERAKTIVNOG TESTA U ANGULAR OKRUŽENJU SVEUČILIŠTE U SPLITU PRIRODOSLOVNO-MATEMATIČKI FAKULTET ZAVRŠNI RAD IZRADA INTERAKTIVNOG TESTA U ANGULAR OKRUŽENJU Student: Krešimir Sudar Mentor: doc.dr.sc. Ani Grubišić Split, rujan 2016. Sadržaj 1.

More information

Moja naslovnica / Sveučilište u Zagrebu / Fakultet prometnih znanosti / Baze podataka / Opći dio / Izvanredni studenti - test za potpis

Moja naslovnica / Sveučilište u Zagrebu / Fakultet prometnih znanosti / Baze podataka / Opći dio / Izvanredni studenti - test za potpis Moja naslovnica / Sveučilište u Zagrebu / Fakultet prometnih znanosti / Baze podataka / Opći dio / Izvanredni studenti - test za potpis Započeto Četvrtak, 27 Listopad 2016, 22:34 Stanje završen Završeno

More information

WEB APLIKACIJA ZA REZERVACIJU PACIJENATA

WEB APLIKACIJA ZA REZERVACIJU PACIJENATA SVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU FAKULTET ELEKTROTEHNIKE, RAČUNARSTVA I INFORMACIJSKIH TEHNOLOGIJA Sveučilišni studij računarstva WEB APLIKACIJA ZA REZERVACIJU PACIJENATA Diplomski rad Dino

More information

Hybrid Cloud najbolje od oba svijeta

Hybrid Cloud najbolje od oba svijeta Partneri: Hybrid Cloud najbolje od oba svijeta Drazen.Bzik@COMBIS.HR Cloud okolina Hybrid infrastruktura Gartner & Hyperconverged Infrastruktura Source: Gartner, Magic Quadrant for Hyperconverged Infrastructure,

More information

TP-LINK TL-WPA4220 strujni prijenosnik Internet ili IPTV signala s bežičnim modulom. Priručnik za korištenje i brzu instalaciju

TP-LINK TL-WPA4220 strujni prijenosnik Internet ili IPTV signala s bežičnim modulom. Priručnik za korištenje i brzu instalaciju TP-LINK TL-WPA4220 strujni prijenosnik Internet ili IPTV signala s bežičnim modulom Priručnik za korištenje i brzu instalaciju Sadržaj ŠTO JE TP-LINK TL-WPA4220... 3 KAKO KORISITI TP-LINK TL-WPA4220...

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

UNIX & UNIX-u slični OS Uvod u Linux

UNIX & UNIX-u slični OS Uvod u Linux UNIX & UNIX-u slični OS Uvod u Linux Željko Jeričević, Ph.D. www.riteh.hr/~zeljkoj/zeljko_jericevic.html zeljkoj@medri.hr UNIX Što je UNIX i zašto je važan Povijesni pregled Osnove Linux-a 2 November 2009

More information

Nove značajke u Liferay portalu v6.2. Ivica Čardić Senior Software Engineer, Liferay Inc.

Nove značajke u Liferay portalu v6.2. Ivica Čardić Senior Software Engineer, Liferay Inc. Nove značajke u Liferay portalu v6.2 Ivica Čardić Senior Software Engineer, Liferay Inc. Fokus u Liferay v6.2 Mobilna platforma Poboljšano web iskustvo Kolaboracijska platforma Aplikacijska platforma Mobilna

More information

Uputa za korištenje Office365 usluga

Uputa za korištenje Office365 usluga Uputa za korištenje Office365 usluga Sadržaj 1. Prijava na Office365... 1 2. Instalacija Office paketa na Vaše uređaje... 3 2.1. Instalacija Office 2016 alata na Vaše računalo... 3 2.2. Instalacija drugih

More information

DA LI POSTOJI SAMO JEDNA "ISPRAVNA" ARHITEKTURA WEB POSLOVNIH APLIKACIJA

DA LI POSTOJI SAMO JEDNA ISPRAVNA ARHITEKTURA WEB POSLOVNIH APLIKACIJA DA LI POSTOJI SAMO JEDNA "ISPRAVNA" ARHITEKTURA WEB POSLOVNIH APLIKACIJA Zlatko Sirotić, univ.spec.inf. Istra informatički inženjering d.o.o. Pula Stranica 1 Malo marketinga Stranica 2 Autor je (bar neko

More information

Backup i Restore C particije ili Windowsa sa NORTON-om

Backup i Restore C particije ili Windowsa sa NORTON-om BRZO KOPIRANJE I RESTAURIRANJE DISKOVA (programski paket Norton SystemWorks) OBJAŠNJENJE Backup i Restore C particije ili Windowsa sa NORTON-om Je li vam se nekada srušio operativni sustav ili pokvario

More information

OBJEKTNO ORIJENTISANO PROGRAMIRANJE

OBJEKTNO ORIJENTISANO PROGRAMIRANJE OBJEKTNO ORIJENTISANO PROGRAMIRANJE PREDAVANJE 12: NASLEĐIVANJE Miloš Kovačević Đorđe Nedeljković 1 /17 OSNOVNI KONCEPTI - Statički i dinamički tipovi podataka - Prepisivanje metoda superklase - Polimorfizam

More information

Lab. vježba PROGRAMIRANJE ZA INTERNET. Upute za laboratorijske vježbe. (izradio: Marin Bugarić) CSS3

Lab. vježba PROGRAMIRANJE ZA INTERNET. Upute za laboratorijske vježbe. (izradio: Marin Bugarić) CSS3 Lab. vježba 6 PROGRAMIRANJE ZA INTERNET Upute za laboratorijske vježbe (izradio: Marin Bugarić) CSS3 P R O G R A M I R A N J E Z A I N T E R N E T Općenito Posljednja verzija Cascading Style Sheetsa, verzija

More information

String. String. Kreiranje string objekta pomoću string literala (konstanti) Kreiranje string objekta

String. String. Kreiranje string objekta pomoću string literala (konstanti) Kreiranje string objekta String string ili znakovni niz (string) nije niz znakova u Javi su stringovi klase String paketa java.lang!!! Usporedba: char gf = G ; Niz znakova String char [] gf = { G, e, o, d, e, t, s, k, i ; String

More information

IBM Endpoint Manager. Maja Kehić. security

IBM Endpoint Manager. Maja Kehić. security IBM Endpoint Manager Maja Kehić security IBM Endpoint Manager Endpoints Jedinstven agent Desktop / laptop / server endpoint Mobile Purpose specific Jedinstvena konzola Zajednička infrastruktura Jedan server

More information

MEĐIMURSKO VELEUČILIŠTE U ČAKOVCU STRUČNI STUDIJ RAČUNARSTVO IVAN SLAMEK USPOREDBA XML I RELACIJSKE BAZE PODATAKA ZAVRŠNI RAD

MEĐIMURSKO VELEUČILIŠTE U ČAKOVCU STRUČNI STUDIJ RAČUNARSTVO IVAN SLAMEK USPOREDBA XML I RELACIJSKE BAZE PODATAKA ZAVRŠNI RAD MEĐIMURSKO VELEUČILIŠTE U ČAKOVCU STRUČNI STUDIJ RAČUNARSTVO IVAN SLAMEK USPOREDBA XML I RELACIJSKE BAZE PODATAKA ZAVRŠNI RAD ČAKOVEC, 2017. MEĐIMURSKO VELEUČILIŠTE U ČAKOVCU STRUČNI STUDIJ RAČUNARSTVO

More information

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

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

More information

IZRADA MOBILNIH APLIKACIJA KORIŠTENJEM IZOMORFNOG METEOR.JS RADNOG OKVIRA

IZRADA MOBILNIH APLIKACIJA KORIŠTENJEM IZOMORFNOG METEOR.JS RADNOG OKVIRA SVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU ELEKTROTEHNIČKI FAKULTET Sveučilišni studij IZRADA MOBILNIH APLIKACIJA KORIŠTENJEM IZOMORFNOG METEOR.JS RADNOG OKVIRA Završni rad Denis Prpić Osijek, 2016.

More information

WEB SUSTAV ZA UPRAVLJANJE SADRŽAJEM ZA POCDOC APLIKACIJU

WEB SUSTAV ZA UPRAVLJANJE SADRŽAJEM ZA POCDOC APLIKACIJU SVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU FAKULTET ELEKTROTEHNIKE, RAČUNARSTVA I INFORMACIJSKIH TEHNOLOGIJA, OSIJEK Stručni studij Informatike WEB SUSTAV ZA UPRAVLJANJE SADRŽAJEM ZA POCDOC APLIKACIJU

More information

Programski jezik JAVA PREDAVANJE

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

More information