51
PREDAVANJE 7. DTP (dijagram toka podataka) Dijagram tokova podataka definiše koji podaci ulaze u sistem, gdje se to obrađuju i koji podaci izlaze iz sistema, tj. DTP predstavlja grafički prikaz određenog algoritma koji opisuje kretanje podataka kroz sistem. Ovakav način pristupa omogudava da se uvidi koji su to procesi koji se dešavaju unutar sistema. DTP se fokusira na to kako se podaci kredu kroz sistem i uočava procese u sistemu. Ukoliko se kvalitetno uradi DTP onda i krajnji korisnik ima jasnu sliku o tome kako funkcioniše. Dakle, dijagram toka dokumenata (podataka) je slika sastavljena od standardnih, unaprijed propisanih grafičkih simbola koji predstavljaju pojmove iz organizacijskog a. Metoda je pogodna za prikazivanje toka dokumenata u u. DTP opisuje paralelne (istovremene) procese iz stvarnog a i temeljni je dio strukturnih metoda analize. Dijagram toka podataka se sastoji od: - ulaznih i izlaznih tokova podataka (zaslona, dokumenata) koje dobiva ili daje u okruženje, - vanjskih objekata (organizacija, ljudi, drugih a) koji šalju prema ili primaju tokove podataka od a, - procesa a (programa, aktivnosti, postupaka, poda) koji transformiraju ulazne tokove podataka u izlazne, - spremišta podataka (baze podataka, kartoteke) u kojima se čuvaju podaci potrebni za izvršenje procesa ili dobiveni kao rezultat rada procesa. Dakle, osnovni elementi koji se koriste za kreiranje dijagrama tokova podataka su: procesi, tokovi podataka, skladišta podataka i interfejsi. Navedeni koncepti prikazuju se grafičkim simbolima koji mogu biti različiti kod različitih autora(dijagram toka podataka opdeg procesa prikazan je na slici): Tok podataka predstavlja se vektorom ili usmjerenim lukom. Vanjski (izvorište ili odredište, granični entitet) predstavlja se pravougaonikom ili pravougaonicima u nizu poput karata. Neki autori radije koriste elipse. Proces (funkcija) predstavlja se zaobljenim pravougaonikom, elipsom i sl. Spremište (skladište) podataka predstavlja se s dvije paralelne crte. Postoje različite notacije koje se koriste kod izrade DTP. Najčešde primjenjivane notacije su: Gane/Sarson, Yourdon/DeMarco, SSADM, koje su navedenim redoslijedom prikazane na slici. “Skripta” 2 parcijala Informacioni sistemi u saobradaju I komunikacijama

Skripta informacioni sistemi

Embed Size (px)

DESCRIPTION

informacioni sistemi skripta, obiljezja informacionih sistema, dtp dijagram, e-r dijagram,

Citation preview

Page 1: Skripta informacioni sistemi

PREDAVANJE 7.

DTP (dijagram toka podataka) Dijagram tokova podataka definiše koji podaci ulaze u sistem, gdje se to obrađuju i koji podaci izlaze iz sistema, tj. DTP predstavlja grafički prikaz određenog algoritma koji opisuje kretanje podataka kroz sistem. Ovakav način pristupa omogudava da se uvidi koji su to procesi koji se dešavaju unutar sistema. DTP se fokusira na to kako se podaci kredu kroz sistem i uočava procese u sistemu. Ukoliko se kvalitetno uradi DTP onda i krajnji korisnik ima jasnu sliku o tome kako funkcioniše. Dakle, dijagram toka dokumenata (podataka) je slika sastavljena od standardnih, unaprijed propisanih grafičkih simbola koji predstavljaju pojmove iz organizacijskog a. Metoda je pogodna za prikazivanje toka dokumenata u u. DTP opisuje paralelne (istovremene) procese iz stvarnog a i temeljni je dio strukturnih metoda analize. Dijagram toka podataka se sastoji od: - ulaznih i izlaznih tokova podataka (zaslona, dokumenata) koje dobiva ili daje u okruženje,

- vanjskih objekata (organizacija, ljudi, drugih a) koji šalju prema ili primaju tokove podataka od a,

- procesa a (programa, aktivnosti, postupaka, poda) koji transformiraju ulazne tokove podataka u izlazne,

- spremišta podataka (baze podataka, kartoteke) u kojima se čuvaju podaci potrebni za izvršenje procesa ili dobiveni kao rezultat rada procesa. Dakle, osnovni elementi koji se koriste za kreiranje dijagrama tokova podataka su: procesi, tokovi podataka, skladišta podataka i interfejsi. Navedeni koncepti prikazuju se grafičkim simbolima koji mogu biti različiti kod različitih autora(dijagram toka podataka opdeg procesa prikazan je na slici): Tok podataka predstavlja se vektorom ili usmjerenim lukom.

Vanjski (izvorište ili odredište, granični entitet) predstavlja se pravougaonikom ili pravougaonicima u nizu poput karata. Neki autori radije koriste elipse.

Proces (funkcija) predstavlja se zaobljenim pravougaonikom, elipsom i sl.

Spremište (skladište) podataka predstavlja se s dvije paralelne crte. Postoje različite notacije koje se koriste kod izrade DTP. Najčešde primjenjivane notacije su: Gane/Sarson,

Yourdon/DeMarco, SSADM, koje su navedenim redoslijedom prikazane na slici.

“Skripta” 2 parcijala

Informacioni sistemi u saobradaju I komunikacijama

Page 2: Skripta informacioni sistemi

Dijagram toka podataka na vrhu hijerarhije naziva se dijagram konteksta, a procesi na najnižem nivou (procesi koji se dalje ne dekomponuju) nazivaju se primitivni procesi. Tok podataka mora da ima izvor i ponor (tokovima se ne mogu neposredno povezati dva skladišta, dva interfejsa ili skladište i interfejs). Važno je zapamtiti da dijagram toka podataka NIJE dijagram toka programa i ne sadrži opise programske

logike.

Osnovni elementi i simboli DTP-a Dijagram toka podataka koristi simbole: - krug ili elipsa – funkcija ili proces obrade podataka

- pravougaonik – interfejs

- usmjerena linija – tok podataka

- dvije paralelne linije (”otvoreni pravougaonik”) – skladište podataka Umjesto dijagrama toka podataka (posebno u ranim fazama analize) može se srtati i dijagram toka

dokumenata

Page 3: Skripta informacioni sistemi

Proces

Proces predstavlja dio a koji transformiše ulazne podatke u izlazne i omoguduje strukturisanje i konzistentno prikazivanje aktivnosti. Proces se na grafiku predstavlja elipsom. Slika. Oznaka procesa kod DTP dijagrama Proces predstavlja određenu radnju ili aktivnost nad podacima, te je zato vrlo važno uočiti koji su to procesi prisutni u u i dati im simbolično ime koje de nas asocirati šta oni zapravo rade. Običaj je da se njihov naziv iskaže parom „predikat-objekat“, međutim ponekada se objekat u nazivu može izostaviti ukoliko je on očigledan. Neki od naziva elemenata procesa mogu biti: Evidentiranje kandidata, Izdavanje potvrde o položenom ispitu, Obrada ispita itd. Ulazni podaci za procese mogu biti različitog tipa. To može biti neka papirna dokumentacija, na primer kada nego preda dokumenta potrebna za upis ili pristup određenoj organizaciji preko procesa Učlanjivanje, zatim to može biti neki elektronski vid podataka, na primer popunjavanje korisničkog naloga kod procesa Logovanje itd. Slika. Proces Ukoliko je funkcionalnost procesa složena onda se on može raščlaniti na podprocese koji ga detaljnije opisuju,

ali prethodno je potrebno uvesti određenu numeričku notaciju. Ta notacija se ogleda u tome što proces koji se

raščlanjuje sadrži redni broj (npr. 1, 2, 3 ....),

Page 4: Skripta informacioni sistemi

Ono što je takođe karakteristično za procese u nekoj organizaciji jeste to da se oni ne odvijaju jedan za drugim,

ved se izvršavaju paralelno. Na primeru funkcionisanja neke pekare može se uvideti paralelizam odvijanja

procesa. Naime, proces se započinje narudžbinom brašna i svih ostalih potrebnih sastojaka. Zatim se krene sa

izradom testa i pečenjem istog, da bi se na kraju izvršila njegova prodaja. Međutim, nikada se sa narudžbinom

ne čeka dok ne nestane brašna, ved se ona unapred obavlja, a takođe i pečenje ne prestaje kada trenutno

imamo hleba u prodaji, ved se on unapred peče. Tako da, može se zaključiti da u jednom trenutku u

organizaciji se odvijaju sva tri procesa: nabavka sastojaka, pečenje hleba i prodaja.

Tok podataka Tok podataka se tretira kao vod kroz koji stalno teku podaci ili kao pokretna traka koja stalno prenosi pakete podataka iz jednog dijela a u drugi, i na taj način ostvaruje vezu između komponenti a.1 Tok podataka se na grafiku predstavlja pomodu usmjerene linije.

Pošto se radi o usmjerenoj liniji, to samim tim povlači za sobom činjenicu da tok podataka prikazuje smjer

kretanja podataka. To dalje znači da svaki tok podataka mora da ima lokaciju sa koje polazi i svoju destinaciju

(tzv. izvor i kraj). Kao i kod elementa proces, neophodno je adekvatno imenovanje toka podataka. Nepisano

pravilo je da im se obično pridodaju nazivi na osnovu podataka koje prenose, i da ti nazivi budu potpuni (bez

ikakvih skradenica). Tako, neki od primjera za nazive tokova podataka mogu biti: PrijavaZaPolaganje,

PotvrdaOPladanju, ZahtevZaUpis itd.

Skladište podataka Skladište podataka predstavlja podatke u stanju mirovanja.2 Skladište podataka se predstavlja pomodu dve horizontalne linije, između kojih se obično piše naziv skladišta.

Slika. Skladište podataka kod DTP dijagrama Nepisano pravilo kod davanja naziva ovog elementa DTP-a je da se koristi množina imenice tokova podataka koji pristižu u skladište podataka. Skladišta podataka se mogu simbolički opisati kao određene baze podataka ukoliko se radi o nekom

savremenom u ili organizaciji, a takođe mogu predstavljati i određene arhive u organizacijama koje još uvijek

koriste tradicionalni način poslovanja. Naime, u njima se čuvaju svi relevantni podaci za poslovanje, i u onom

trenutku kada ih treba one su mu uvijek na raspolaganju. Obično je da se dvaprocesa nikada ne povezuju

direktno, ved uvijek upravo preko skladišta podataka. Postavlja se pitanje zašto je to tako? Odgovor leži u

tome, da zavšetak prethodnog procesa u nekom lancu odvijanja procesa, ne znači i automatski započinjanje

narednog procesa, ved se najprije podaci smještaju u skladištima podataka i tu stoje sve dok naredni proces ne

bude spreman za njihovu dalju obradu.

Page 5: Skripta informacioni sistemi

Interfejs Interfejs predstavlja spoljni objekat sa kojim komunicira.3 Interfejs se na grafiku predstavlja pomodu

pravougaonika, u kome se upisuje njegov naziv

.

Obično se vodi polemika oko toga šta zapravo znači spoljni objekat. Spoljni objekat se može definisati kao

određeno lice, odjeljenje pa i čitava organizacija koja koristi ovaj . Primjer za ovo može biti prodavnica

računara i pratede opreme, koja nudi svojim korisnicima online naručivanje proizvoda. Naplata se vrši preko

posebnog servisa za naplatu, koji nije dio organizacije ali su u tijesnoj poslovnoj vezi i on koristi određene

podatke IS organizacije.

Pravila kreiranja dijagrama toka podataka Za pravilno kreiranje DTP-a postoje definisana pravila kojih bi se trebalo pridržavati radi što efikasnijeg kreiranja istog, a i kasnije njegovog lakšeg tumačenja od strane krajnjeg korisnika a koji se modeluje. Pravila i preporuke za kreiranje Dijagrama tokova podataka su sljededa:

- Svaki proces mora da ima barem jedan ulazni i jedan izlazni tok podataka. - Svaka dva procesa bi trebalo da se povezuju samo posredno preko skladišta podataka. - Tokovi podataka koji idu ka, odnosno od skladišta podataka ne moraju biti imenovani. - Tokovi podataka koji poniru u jedno skladište ili iz njega izviru, mogu da prenose samo one pakete

podataka koji se u skladištu mogu čuvati. - Svaki Tok podataka mora da ima izvor i ponor. Iz ovog pravila slijedi da dva interfejsa, dva skladišta, ili

interfejs i skladište ne mogu direktno biti povezani tokom podataka. - Svako skladište mora da ima barem jedan ulazni i barem jedan izlazni tok podataka. - Interfejsi moraju biti povezani sa om, odnosno procesima a barem sa jednim ulaznim ili izlaznim tokom

podataka.

Pravilo balansa tokova: “količina tokova koji ulaze u proces i izlaze iz procesa mora odgovarati količini tokova

podprocesa na nižem nivou hijerahije.”5 Oganičenja i posebni slučajevi: svi objekti moraju biti povezani.

uslučaju nepovezanosti objekata ukazuje da taj model nije potpun, npr:process bez ulaza i/ili izlaza, izlaz za koji

nemamo dovoljnu količinu ulaza i nepovezanos spremišta. Nije dozvoljena povezanost spremišta i vanjskog

entiteta i obratno. ne dozvoljava es razlaganje toka u različite tokove, vezivanje različitih tokova. Prilikom

izrade DTP treba voditi računa o trivijalnim tokovima podataka, neposredno povezanim procesima i procesima

koji ne obavljaju pretvaranje podataka. Trivijalni tokovi su izlazi iz proces koji ne ulaze u spremišta ili odredišta.

Page 6: Skripta informacioni sistemi

Obično imaju posebno značenje, a mogu se koristiti za prikaz posebnih stanja kao što je dojava poruke a (npr.

dojava greške). Neposredno povezani procesi su kada jedan od procesa čeka na završetak prethodnog. Procesi

koji ne obavljaju pretvaranje podataka su kada je izlazni tok jednak ulaznom. U tom slučaju treba preimenovati

jedan od tokova ili treba obaviti prespajanje tokova, šta je učinjeno sa tokom podataka b.

Procesi se mogu odvijati istovremeno. Preporuka vezana za preglednost dijagrama kaže, da se u cilju izbjegavanja nepotrebnog presjecanja linija bilo skladište bilo interfejs na jednoj slici može višestruko ponoviti. U tom slučaju potrebno je samo pored imena koncepta dodati znak „*“. Da bi dijagram toka podataka prikazivao ispravan logički slijed procesa u u potrebno ga je povezati s dijagramom dekompozicije poslovnih procesa koji se također izrađuje pri analizi a. Na razini 0 nalazi se samo jedan proces i dijagram tijeka podataka koji sadrži samo taj proces zove se kontekst

dijagram. Kontekst dijagram prikazuje odnos a s okolinom i važan je za utvrđivanje potrebe za povezivanjem s

drugim ima.

Hijerarhijska dekompozicija dijagrama tokova podataka Osnovno pitanje kod analize funkcionisanja nekog a jeste kako to da obuhvatimo sve procese koji se u njemu dešavaju a da to ne bude glomazno i nerazumljivo. Ovo se može riješiti na dva načina.

Page 7: Skripta informacioni sistemi

Prvi način se ogleda u tome da obuhvatimo samo najvažnije procese u organizaciji i da njih opišemo. Ovakav način se karakteriše obuhvatanjem malog broja procesa, što samo po sebi povladi činjenicu da što je nešto nedovoljno objašnjeno tu je i prostor gdje mogu nastati brojni problemi i nejasne situacije. Dakle, ovakav način realizovanja može dovesti do nekvalitetnog opisa funkcionisanja a u vidu nedovoljno informacija što de za krajnjeg korisnika, koji je u najgorem slučaju možda i potpuni laik u ovoj oblasti, biti apsolutno neprihvatljivo. Zato se u praksi najčešde ovaj problem riješava na drugi način. Drugi, i mnogo bolji način, je da se izvrši određeno raščlanjivanje složenih procesa na podprocese. Na ovaj način mogu se obuhvatiti svi procesi u organizaciji i obraditi se do detalja, tako da krajnji korisnik može u potpunosti da razumije kako i šta se to zapravo odvija u samoj organizaciji. Međutim, uvodi se i pojam hijerarhije. Hijerarhija se ogleda u tome što postoje dijagrami različitih nivoa složenosti. Kod složenih a se najprije krene od opštih dijagrama koji prikazuju IS kao jednu cijelinu, i oni prikazuju samo tokove podataka koji se tiču interagovanja spoljašnjih objekata sa om. Takvi dijagrami se nazivaju dijagami konteksta i oni se karakterišu svojom grafičkom jednostavnošdu i preglednošdu. Obično nose naziv cijelog IS-a, i od suštinskog je značaja prepoznati sve ulazne i izlazne tokove iz a. Izostavljanje jednog ili drugog može dovesti do nepravilnog i ne logički korektnog dijagrama tokova podataka, koji u krajnjem slučaju može da pruži krajnjem korisniku lažni uvid u funkcionisanje organizacije. Daljom dekompozicijom ovih dijagrama dobijaju se dijagrami nižih nivoa, koji sadrže podprocese glavnog procesa i koji bolje opisuju njegovu funkcionalnost. Ukoliko su ovi procesi i dalje nedovoljno jasni i složeni, nastavlja se sa dekompozicijom. Logično je da se sada postavlja pitanje dokle treba idi sa njom. Onog trenutka kada se procesi jednostavno ne mogu dalje dekomponovati i kada su svi potrebni procesi do detalja obrađeni, treba prestati sa dekompozicijom. Ovi procesi se nazivaju primitivnim procesima, a u nekim literaturama se još nazivaju i atomskim procesima, po analogiji na to da su oni nešto nedjeljivo

Primjer DTP-a kod IS studentske službe Na dijagramu konteksta definisana su dva interfejsa, objekta van a sa kojima IS studentske službe komunicira, STUDENT i NASTAVNIK. Zatim je dan dijagram prvog nivoa dekompozicije. Svaki proces sa dijagrama prvog nivoa, UPIS, OBRADA_ISPITA, IZDAVANJE_UVJERANJA, predstavljen je posebnim dijagramom toka podataka. Primitivni procesu u ovoj hijerarhijskoj strukturi su:

- EVIDENTIRANJE_KANDIDATA, OBRADA_REZULTATA_PRIJEMNOG,

- UPIS_GODINE, RASPOREĐIVANJE (studenata u grupe za predavanja i vježbe),

- IZVJEŠT_KANDIDATA, zatim EVIDENTIRANJE_ISPITNIH_PRIJAVA,

- ZAVOĐENJE_REZULTATA_ISPITA i na kraju,

- IZDAVANJE_UVJERENJA_O_POL_ISPIT i

- IZDAVANJE_UVJERENJA_O_STATUSU.

Page 8: Skripta informacioni sistemi

Proces EVIDENTIRANJE_KANDIDATA, na osnovu ulaznih dokumeneta DIPLOMA_SREDNJE_ŠKOLE, SVJEDOČANSTVO i NAGRADE, formira skladište podataka KANDIDATI_ZA_UPIS i generiše SPISAK_ZA_ PRIJEMNI_ISPIT, koji se šalje nastavniku koji treba da obavi prijemni ispit. Po obavljanju ispita, nastavnik vrada REZULTATI_PRIJEMNOG_ISPITA koji se obrađuju u procesu OBRADA_REZULTATA_ PRIJEMNOG i ažurira se skladište KANDIDATI_ ZA_UPIS (registruju se rezultati kandidata). Koristedi se podacima iz ovog skladišta, process IZVJEŠTAVANJE_KANDIDATA generiše IZVJEŠTAJ_O_PRIJEMNOM_ISPITU koji se šalje kandidatima (studentima). Proces UPIS_GODINE obuhvata kako upis prve, tako i upis svih drugih godina (semestara). Student podnosi standardna dokumenta za upis. Za studente koji upisuju prvu godinu provjeravaju se rezultati 16 prijemnog ispita u skladištu KANDIDATI_ZA_UPIS, a za sve ostale,

ispunjavanje uslova u skladištu DOSIJE_STUDENTA. U oba slučaja

proces UPIS_GODINE ažurira skladište DOSIJE_STUDENTA. Na

osnovu: NASTAVNOG_PLANA u kome se daju predmeti u

semestru i broj časova nastave i vježbi; opštih pravila o veličini

grupa za pojedine predmete; DOSIJEA_STUDENATA i, na kraju,

KADROVSKE_ EVIDENCIJE u kojoj su dani podaci o nastavnicima i

asistentima po predmetima, proces RASPOREĐIVANJE raspoređuje

studente po grupama i šalje odgovarajude spiskove

(NASTAVNE_GRUPE) nastavniku.

Page 9: Skripta informacioni sistemi

Dijagrami tokova podataka

Page 10: Skripta informacioni sistemi
Page 11: Skripta informacioni sistemi
Page 12: Skripta informacioni sistemi
Page 13: Skripta informacioni sistemi

PREDAVANJE 8.

Pojam baze podataka BAZA PODATAKA je softverska konstrukcija namjenjena za pohranjivanje, analizu i pretraživanje grupe srodnih i povezanih podataka, kao što su podaci o kupcima, klijentima, radnicima, pacijentima, telefonskim brojevima, studentima i sl. Baza podataka je jedna od osnovnih komponenti IS i ima zadatak da čuva i stavlja na raspolaganje podatke o stanju realnog sistema. Pojam baza podataka se može definisati kao skup informacija organiziranih na takav način da se te informacije mogu pronadi i koristiti. Sistem upravljanja bazama podataka – SUBP (eng. DataBase Management System – DBMS) može se definisati kao alat, koji nam omogudava upravljanje bazom podataka, odnosno sredstvo izvršavanja raznih operacija nad bazom podataka (unos, ažuriranje, brisanje, itd.). Baza podataka sastoji se od jedne ili više (dvodimenzionalnih) tabela koje međusobno mogu biti povezane. Svaka tabela čuva istovrsne podatke (npr. podatke o nekoj osobi, klijentu, predmetu i sl.). Svaki red u tabeli predstavlja jedan slog (najmanja grupa podataka u bazi koja u potpunosti opisuje neki od koncepata koje baza modelira), a svaka kolona jedno od polja unutar tog sloga. Dakle, slog može biti grupa podataka koja opisuje npr. neku osobu, a polja unutar tog sloga mogu sadržavati ime, prezime, adresu stanovanja ili datum rođenja te osobe itd. Slog se u literaturi još naziva i entitet, a polje se naziva atribut. Svaki slog tabele se može jedinstveno identificirati putem jedne ili kombinacijom vrijednosti nekog od polja tog sloga. To polje ili kombinaciju polja tada nazivamo primarni dio ili osnovni (primarni) ključ. Tako neku osobu može jedinstveno identificirati njen matični broj ili kombinacija vrijednosti polja imena i prezimena. U jednoj tabeli može postojati više polja ili kombinacija polja koji mogu biti kao primarni ključ. Pored toga što primarni ključ ima ulogu jedinstvenog identificiranja sloga on ima ulogu i u povezivanju tabela. Npr. ako tabela predstavlja listu pisaca, a pored te tabela imamo i listu knjiga, te je potrebno ove dvije tabele povezati tako da se oznadi koji je pisac napisao koju knjigu. Ako u slog knjige ubacimo polje koje sadrži vrijednost primarnog ključa pisca, ove dvije tabele su povezane. Ovo novo polje (koje iskljudivo služi za povezivanje dvije tabele) u tabeli knjige se zove strani ključ. Ovakav način povezivanje podataka nazivamo relacioni model baza podataka. Od samog početka razvoja računara i informatike, obrada podataka bila je jedan od najzanimljivijih i najznačajnijih segmenata tog razvoja. Potrebe za što sveobuhvatnijom obradom podataka, jednostavnom manipulacijom, te što bržim i sigurnijim pristupom podacima, dovele su do razvoja nekoliko modela podataka i čitavog niza programskih paketa za upravljanje podacima. Namjera ovog radnog materijala – skripte je da pruži uvid u teoretske postavke danas najdominantnijeg, relacijskog modela podataka, te da ga upozna s bitnim pojmovima s kojima se susredu svi korisnici savremenih sistema za upravljanje bazama podataka. Baze podataka su potrebne da bi se prevazišli nedostaci nepovezanih datoteka koje su se ranije upotrebljavale

za smještanje podataka. Neki od tih nedostataka su

redundantnost (višestruko ponavljanje) podataka,

zavisnost programa od podataka,

nejednak stepen ažurnosti istih podataka u različitim datotekama,

visoka cijena razvoja programa i održavanja aplikacija,

nedostatak fleksibilnosti, nedovoljna sigurnost podataka.

Page 14: Skripta informacioni sistemi

Primjer redundantnosti u skupu nepovezanih datoteka je ako na disku postoji više primjeraka biografija (više datoteka) jedne osobe, a u svakoj stoji adresa (adresa je tada redundantan podatak). Zavisnost programa od podataka u skupu nepovezanih datoteka je naprimjer ako su u datotekama tipa .docx (kreirane pomodu programa Word 2007) sačuvana poslovna pravila, te datoteke ne mogu da čitaju korisnici koji imaju instaliran Word 2003. Dakle, podaci zavise od instaliranog programa. Nejednak stepen ažurnosti istih podataka u različitim datotekama: ako na disku postoji više primjeraka svojih biografija (više datoteka), a u svakoj adresa jedne osobe, mogude je da (npr. greškom) u nekim datotekama ne stoji ispravna adresa (npr. jedno slovo pogrešno). Iz toga se može zaključiti da su neki podaci ažurni, a neki nisu. Visoka cijena razvoja programa i održavanja aplikacija je zbog toga što se servisne intervencije obavljaju i nad podacima i nad programima. Nedostatak fleksibilnosti je naprimjer ako program koji NE koristi koncept baze podataka, ved koristi skup povezanih datoteka. Ako tražimo da takav program prikazuje podatke koji nisu originalno projektovani prilikom pisanja programa, potrebna je intervencija u samom programskom kodu. Da bi se prevazišli navedeni problemi, potreban je novi koncepr čuvanja podataka, a to se postiže primjenom

baza podataka i sistema za upravljanje istim. Naime, korisnik nije u direktnoj interakciji sa bazom podataka,

ved sa softverom – sistemom za uptavljanje bazom podataka - DBMS (Database Management System). DBMS

omogudava korisniku da kreira bazu podataka, da je održava i eksploatiše. Interakciju korisnika i baze

podataka možemo predstaviti narednom slikom:

Modeli baza podataka Primarni cilj modela podataka u kontekstu baze podataka jeste da osigura formalni sistem za predstavljanje podataka i manipulisanje podacima u bazi podataka. Modeli podataka se mogu shvatiti kao kolekcija tri skupa: skup tipova objekata (struktirni dio),

skup operacija nad objektima definisanih tipova (manipulativni dio),

skup pravila integriteta (integralni dio). Veoma korisno (nerijetko i neophodno) prilikom kreiranja baze podataka korištenjem nekog od SUBP (sistema za upravljanje bazama podataka) je kreiranje modela baze podataka. SUBP obično podržavaju neki od modela koji su objašnjeni u nastavku, npr.

Relacione baze podataka (Relational Data Bases,RDB)

Objektno-relacione baze podataka(Object-Relational Data Bases,ORDB)

Objektno-orjentisane baze podataka(Object-Oriented Data Bases,OODB)

Page 15: Skripta informacioni sistemi

Relacijski model je zasnovan na matematičkom pojmu relacije. Podaci i veze među podacima prikazuju se

“pravougaonim” tabelama. Veza nije materijalizirana, ved se dinamički uspostavlja za vrijeme rada s podacima, usporedbom vrijednosti atributa u n-torkama raznih relacija. Relacijski DML (Data Manipulation Language) je jezik za manipulisanje podacima, uspostavljanje veze između aplikacijskog programa i baze. Osim jednostavnih operacija s jednom relacijom, DML mora omoguditi slobodno kombiniranje podataka i raznih relacija. I ovaj pristup ima svoje prednosti i nedostatke. Nedostatak je dase veza svaki put mora iznova uspostavljati, potrebno je pretraživanje podataka, a to troši vrijeme. Prednost je da korisnik može uspostaviti i one veze koje nisu bile predviđene u fazi modeliranja podataka. Kao kriterij za povezivanje, osim jednakosti za vrijednost atributa, mogu poslužiti i razni drugi (složeniji) kriteriji. To još više povedava fleksibilnost upotrebe baze.

Slika. Primjer relacijskog model baze podataka

Relacioni model ima tri glavna gledišta:

Strukture su dobro definisani objekti (kao što su tablice, pogledi, indeksi itd.), koji pohranjuju ili pristupaju podacima unutar baze podataka. Strukturama i podacima pohranjenima unutar njih može se manipulisati uz pomod operacija.

Operacije su jasno definisane akcije, koje omogudavaju korisnicima manipulisanje podacima i strukturama u bazi podataka. Operacije se moraju uskladiti pravilima cjelovitosti.

Page 16: Skripta informacioni sistemi

Pravila cjelovitosti (Integirity rules) su pravila koja određuju koje operacije su dozvoljene nad kojim podacim i strukturama u bazi podataka. Pravila cjelovitosti štite podatke i strukture u bazi podataka.

Prednosti relacionih DBMS-ova su:

neovisnost fizičke pohrane podataka o logičkoj strukturi baze podataka

promjenjivi i jednostavan način pristupa svim podacima

potpuna fleksibilnost pri dizajniranju baze podataka

smanjena redundancija (ponavljanje podataka), a samim time i smanjeni zahtjevi za prostorom - prilikom pohranjivanja podataka

Mrežni model karakteriše da je baza predočena usmjerenim grafom. Čvorovi su tipovi zapisa, a lukovi

definiraju veze među tipovima zapisa. Mrežni odnosno hijerarhijski DML omoguduje samo

jednostavneoperacije s jednim zapisom (upis, promjena, brisanje, čitanje), te “manevrisanje” kroz shemu

putem veza (dohvat prvog zapisa, koji je u zadanoj vezi sa zadanim zapisom, dohvat idudeg zapisa,...). Ovakav

pristup ima svoje prednosti i nedostatke. Prednost je da je rad s bazom u tehničkom pogledu brz i efikasan.

Nedostatak je da korisnik može upotrijebiti samo one veze koje su predviđene shemom pa su u skladu s time i

materijalizirane.

Čvorovi su tipovi zapisa, a hijerarhijski odnos “nadređeni-podređeni” izražava veze među tipovima zapisa.

Hijerarhijski model podataka baziran je na slogovima (eng. record) koji se sastoje od polja (eng. field). Uređeni

skup slogova u hijerarhijskom modelu naziva se stablo (eng. three), a baza podataka sastavljena je od

uređenog skupa stabala. Svako stablo ima jedan osnovni slog (eng. root) i nula ili višeslogova podstabla. Odnos

između tih slogova naziva se odnos roditelj dijete (eng. parent-child relationship). Jedan slog kao roditelj (eng.

parent) može imati više slogova djece (eng. child), ali jedan child slog može imati samo jedan parent slog.

Page 17: Skripta informacioni sistemi

Objektni model je inspiriran objektno-orijentiranim programskim jezicima. Baza je skup trajno pohranjenih objekata koji se sastoje od svojih internih podataka i “metoda” (operacija) za rukovanje s tim podacima. Svaki objekt pripada nekoj klasi. Između klasa se uspostavljaju veze nasljeđivanja, agregacije, odnosno međusobnog korištenja operacija. U objektnim modelima podaci se definiraju kroz objekte, a sam model suplementira se kroz objektnu bazu podataka. U njoj korisnik vidi skup objekata koji mogu biti vrlo kompleksni. Korisnik upravlja kompleksnošdu baze podataka dodavajudi ili izuzimajudi objekte. Posebno je važno da je u samom objektu opisano njegovo ponašanje. Sve što je vezano uz objekt opisano je u objektu i izvan njega nema ništa što bi opisivalo njegovu strukturu ili ponašanje. Pristup objektima, odnosno njegovim podacima opisan je metodama, funkcijama, servisima ili operacijama definiranim za svaki objekt. Prema tome se može redi da objektni model podataka (Object Oriented Data Model) je logički model podataka koji prihvada semantiku objekata podržanu u objektno- orjentiranom programiranju. Objektna orjentacija je danas preovladavajuda u programiranju i programskim jezicima, metodološkim pristupima razvoju softvera i informacionih sistema, a postepeno preuzima vodedu ulogu i u sistemima za upravljanje bazama podataka. Radi se o pristupu u kome se neki sistem organizuje kao kolekcija međusobno povezanih objekata koji sarađujudi ostvaruju postavljene ciljeve. Za objektne modele je karakteristično da podržavaju modeliranje bilo kakvih, pa i veoma složenih struktura. Zbog apstrakcija koje podržava veoma je pogodan za modeliranje realnih sistema. Apstrakcija omogudava jednostavnije održavanje softvera, ponovo korištenje ved izgrađenih softverskih komponenti, razvoj informacionih sistema u distribuiranim heterogenim sistemima. Veoma je značajno to da pridruživanjem operacija objektima, objektni model tretira bazu podataka kao dinamički sistem. Objektni modeli su se na početku koristili u tehničkim sistemima, ali zbog potrebe da se objedine poslovni i tehnički aspekt, kao i zbog razvoja i standardizacije objektnog upitnog jezika (OQL-a), oni nalaze sve širu primjenu. Osnovni dijelovi objektnog modela Kada se želi defnisati koji su osnovni dijelovi svakog objektnog modela, tada je potrebno izvršiti sljededu podjelu i to na: objekt, struktura, atribut, subjekat, servis. Objekat predstavlja osnovni pojam objektnih modela i predstavlja element, odnosno neku cjelinu koja se može

samostalno posmatrati i obrađivati. Objekt je apstrakcija nečega u problemskoj domeni, isto tako da bismo

imali osnovne informacije o objektu prvo se moraju prikupiti podaci koji de dati prikaz osnosvnih karakteristika

objekta.

Svaki objekat ima više atributa koji karakterisziraju, odnosno objekt sadrži vrijednosti svojih atributa, tj. obilježja i svog ponašanja. Jedan od osnovnih dijelova objekta je klasa. Klasa se definiše kao opis jednog ili više objekata koji imaju isti skup atributa i jednak opis ponašanja. Tačnije objekt predstavlja pojavu klase, a klasa tip objekta. Kada se obrati pažnja na samo ponašanje objekta uočava se to da se to ponašanje može izraziti pomodu servisa, odnosno pomodu operacija koje se obavljaju nad njima (npr. formiranje novog objekta u klasi, brisanje objekta iz klase...). Objekt se može uporediti sa varijablama u progamskom jeziku. U osnovne dijelove objekta spadaju:

Identitet – svaki objekt ima identifikator koji se za vrijeme životnog ciklusa ne mijenja,

tip (klasa) – određuje strukturu i ponašanje objekta. Konkretni objekti nastaju kao instance, odnosno primjeri tipa objekta,

vrijednost (stanje) – u nekom trenutku životnog ciklusa objekt ima određeno stanje dato vrijednostima atributa i postojedih veza sa drugim objektima.

Page 18: Skripta informacioni sistemi

Osnovni koncepti objektno orjentisane baze podataka Kao osnovne koncepte bitno je napomenuti sljedede:

apstrakcija,

enkapsulacija,

modularnost,

hijerarhija. Apstrakcija se može definisati kao jedan od fundamentalnih principa pomodu kojih se ljudi bore protiv kompleksnošdu. Ono što predstavlja bit apstrakcije jeste uočavanje suštinskih karakteristika objekta koji se posmatra i njegovom razlikovanju od ostalih objekata na osnovu uočenih osobina. Bit apstrakcije se fokusira na spoljašnji izgled objekta, zanemarujudi potpuno njegovu unutrašnjost, tj. njegovu implementaciju. Osnovni zadatak koji svaki projektant softvera mora riješiti je to da na samom početku razvoja softverskog sistema uoči i jasno definiše osnovne apstrakcije iz domena problema. Svakoj apstrakciji iz domena problema odgovara po jedna klasa. Klase su prototip iz koga se kreiraju primjerci (instance). Objekti u programskom jeziku su primjerci klasa, i do njih se dolazi instanciranjem (stvaranjem primjerka klase). Enkapsulacija predstavlja koncept koji je potpuno komplementaran apstrakciji. Dok se apstrakcija fokusira na zapažanje osobina i ponašanja objekata, sa druge strane enkapsulacija se fokusira na implementaciju koja de dovesti do željenog ponašanja. Unutar klase zajedno su smješteni i podaci i metode koje rade nad tim podacima. Sami podaci mogu ali i ne moraju biti vidljivi drugim klasama. Uobičajno je da se podacima pristupa pozivom metoda klase koje rade nad tim podacima, tj. objektu određene klase se šalje poruka, čime se poziva izvršenje određene metode. Modularnost predstavlja koncept povezan isključivo sa samim programom, tj. domen problema više nije toliko bitan, a sastoji se u formiranju modula koji mogu da se provode odvojeno, ali koji ipak imaju dobro definisane veze prema drugim modulima. Kada se govori o tradicionalnom struktuiranom dizajnu, modularizacija programa se uglavnom sastojala od grupisanja potprograma, dok je u objektom dizajnu prvo potrebno uočiti logičke cjeline koje čini izvjestan broj klasa, pa potom predi na samo formiranje modula. Hijerarhija klasa se u programskim jezicima ostvaruje preko mehanizma nasljeđivanja (inheritance), a sastoji se

u tome da jedna apstrakcija može biti vrsta neke druge apstrakcije sa dodatnim osobinama. Ovo omogudava

da se klasi može pristupiti putem interfejsa, koji ne implementira nijednu metodu. Interfejs klase obuhvata

samo spoljašnji izgled klase i preko njega se ustanovljava da li apstrakcija ima željeno ponašanje. Sa druge

strane, implementacija obuhvata realizaciju svih mehanizama koji dovode da tog željenog ponašanja.

Page 19: Skripta informacioni sistemi

Strukture baze podataka

Centralizirana baza podataka – terminalski pristup podrazumijeva smještaj podataka na jednom

mjestu (centralnom računaru) i terminalski pristup od strane korisnika. Ovakav pristup znači da se svi zahtjevi i obrade podataka vrše na centralnom računaru, na kojem su smješteni i podaci. Korisnik preko terminala, jedino unosi svoje zahtjeve, te dobija prikaz rezultata željenih operacija. Ovakav način organizacije baze postavlja velike zahtjeve za centralni računar, koje osim smještaja svih podataka, vrši i sve operacije obrade podataka, njihovog formatiranja i prikaza. Zbog toga centralni računar mora imati vrlo veliku procesorsku snagu i visoke performanse.

Klijent - server pristup ili struktura podrazumijeva, smještaj podataka na centralnom računaru (server),

koji vrši glavninu zahtjeva za manipuliranje i obradu podataka. Korisnici koji pristupaju bazi, taj pristup ostvaruju preko svojih PC računara, koji su mrežom povezana sa serverom. Za razliku od terminalskog pristupa, kod kojeg terminalske stanice nemaju nikakve mogudnosti sudjelovanja u obradi podataka, PC računari na strani klijenta djelomično sudjeluju u obradi podataka. Korisnik preko programskog interfejsa formira zahtjev za određenim podacima, koji se proslijeđuje serveru. Serverski računar prihvada zahtjev, te ga obrađuje, a rezultate te obrade vrada klijentu. Klijentski računar prihvada tako obrađene podatke, te ih formira u obliku kojeg definira korisničko interfejs.

Paralelna struktura baze podataka podrazumijeva formiranje baze u okruženju računara međusobno

povezanih u lokalnu mrežu. Između računara postoji brza veza. Podaci su najčešde smješteni na samo jednom računaru, ali se pri obradi podataka može koristiti procesorska snaga svih računara u mreži. Ovakvim konceptom baze dobija se mogudnost istovremenog korištenja resursa više računara, pa pojedini računari mogu imati i nešto slabije karakteristike.

Distribuirana baza podataka podrazumijeva strukturu baze podataka u kojoj su podaci rašireni na više

računara, koji su mrežno povezani. Jednostavno rečeno, distribuirana baza podrazumijeva više lokalnih, međusobno povezanih baza. Pred samim korisnikom je ta “raspršenost” podataka skrivena, te on ima osjedaj da pristupa jednoj središnjoj bazi. U današnjim uslovima postoji sve veda potreba za realizacijom distribuiranih baza podataka. Razlozi za to su brojni, a neki od njih su objašnjeni u nastavku. - Mnogi korisnici za koje se rade baze podataka po svojoj prirodi su distribuirani na više lokacija, npr. kod mnogih multinacionalnih kompanija, koje imaju podružnice diljem svijeta. Svaka podružnica u mjestu u kojem se nalazi formira svoju lokalnu bazu podataka, a sve te baze zatim se povezuju u distribuiranu bazu podataka, koja objedinjava sve lokalne baze. Rukovodstvo kompanije ima mogudnost pristupa u sve baze i nadzor nad podacima koji se nalaze u bilo kojoj lokalnoj bazi.

- Distribucijom baze podataka povedava se raspoloživost i pouzdanost sistema. U slučaju ispada bilo kojeg računara u mreži, podaci na tom mjestu postaju nedostupni korisnicima, ali su podaci na svim ostalim mjestima sačuvani i dostupni.

- U distribuiranim sistemima se koristi tehnika repliciranja istih podataka na više lokacija u mreži. Zbog obrade manjih baza podataka, brzina obrade na pojedinim mjestima je veda u odnosu na brzinu koju bi imao sistem koji obrađuje veliku centraliziranu bazu. Da bi se u potpunosti iskoristile prednosti koje pružaju distribuirani sistemi, osim zadataka koji su zajednički sa zadacima centraliziranih sistema, distribuirani sistemi moraju omoguditi: - pristup udaljenim računarima u mreži te prijenos upita i podataka između računara,

- postojanje sistemskog kataloga s podacima o distribuciji podataka u mreži,

- održavanje konzistentnosti podataka koji se repliciraju,

- oporavak sistema u slučaju ispada pojedinog računara iz mreže,

- izradu strategije za pretraživanja i obrada koje dohvadaju podatke iz više lokalnih baza.

Page 20: Skripta informacioni sistemi

Sistemi za upravljanje bazom podataka Računarski program korišten za upravljanje i ispitivanje baze podataka nazvan je sistem upravljanja bazom podataka (SUBP) ili DBMS. DBMS je softversko – hardverski paket koji omogudava da baza podataka bude lahko dostupna svim korisnicima. Softverski dio DBMS-a, koji neki proizvođači zovu rukovodilac bazom, služi kao veza (interfejs) između korisnika i baze podataka. On obezbjeđuje softverske alate potrebne za kreiranje, primjenu, pristupanje i ažuriranje baze podataka. On također upravlja ulazno-izlaznim operacijama, a na vedim sistemima vodi računa o tajnosti i problemima istovremenog korištenja od strane više korisnika. Dobro projektovan DBMS de osigurati softver koji omogudava korisniku da lahko komunicira sa bazom podataka. DBMS je programski sistem koji osigurava osnovne funkcije odabranog modela podataka u radu sa bazom podataka. Dakle, yistem za upravljanje bazama podataka (DBMS - Data Base Management System) je softverski sistem koji se koristi za kreiranje, održavanje i manipulisanje podacima, kao i za kontrolu prava pristupa bazi podataka. Slika. DBMS kao intefejs između aplikacije (korisnika) i i baze podataka smještene na disku Osnovni zahtjevi koji se postavljaju pred DBMS su:

opis i manipulacija podacima pomodu posebnog jezika (npr. SQL),

zaštita integriteta podataka,

prilagođen interfejs prema korisniku, bez obzira na strukturu podataka,

skup programskih pomagala za jednostavno korištenje podataka spremljenih u bazi.

Sistemi za upravljanje bazama podataka nastoji ispuniti sljedede ciljeve:

Fizička nezavisnost podataka. Razdvaja se logička definicija baze od njene stvarne fizičke građe. Znači, ako se fizička građa promijeni (npr. podaci se prepišu u druge datoteke na drugim diskovima), to nede zahtijevati promjene u postojedim aplikacijama.

Logička nezavisnost podataka. Razdvaja se globalna logička definicija cijele baze podataka od lokalne logičke definicije za jednu aplikaciju. Znači, ako se logička definicija promijeni (npr. uvede se novi zapis ili veza), to nede zahtijevati promjene u postojedim aplikacijama. Lokalna logička definicija obično se svodi na izdvajanje samo nekih elemenata iz globalne definicije, uz neke jednostavne transformacije tih elemenata.

Fleksibilnost pristupa podacima. U starijim mrežnim i hijerarhijskim bazama, putanje pristupanja podacima bile su unaprijed definisane. Dakle, korisnik je mogao pretraživati podatke jedino onim redoslijedom koji je bio predviđen u vrijeme projektiranja i implementiranja baze. Danas se zahtijeva da korisnik može slobodno pretraživati po podacima, te po svom nahođenju uspostavljati veze među podacima. Ovaj zahtjev je zadovoljen korištenjem jedino relacijske baze.

Page 21: Skripta informacioni sistemi

Istovremeni pristup do podataka. Baza mora omoguditi da vedi broj korisnika istovremeno koristi iste podatke. Korisnici ne smiju ometati jedan drugoga, te svaki od njih treba imati dojam da sam radi s bazom.

Čuvanje integriteta. Nastoji se automatski sačuvati korektnost i konzistencija podataka, i to u situaciji kad postoje greške u aplikacijama, te konfliktne istrovremene aktivnosti korisnika.

Mogudnost oporavka nakon kvara. Mora postojati pouzdana zaštita baze u slučaju kvara hardvera ili grešaka u radu sistemskog softvera.

Zaštita od neovlaštenog korištenja. Mora postojati mogudnost da se korisnicima ograniče prava korištenja baze, dakle da se svakom korisniku reguliraju ovlaštenja što on smije a što ne smije raditi s podacima.

Zadovoljavajuda brzina pristupa. Operacije s podacima moraju se odvijati dovoljno brzo, u skladu s potrebama određene aplikacije. Na brzinu pristupa može se utjecati odabirom pogodnih fizičkih struktura podataka, te izborom pogodnih algoritama za pretraživanje.

Mogudnost podešavanja i kontrole. Velika baza zahtijeva stalnu brigu: pradenje performansi, mijenjanje parametara u fizičkoj građi, rutinsko pohranjivanje rezervnih kopija podataka, reguliranje ovlaštenja korisnika. Također, svrha baze se vremenom mijenja, pa povremeno treba podesiti i logičku strukturu. Ovakvi poslovi moraju se obavljati centralizirano. Odgovorna osoba

DBMS može se podijeliti na dva dijela:

backend - omogudava funkcije definisanja podataka, integritet i zaštitu podataka, manipulaciju itd.,

frontend - aplikacije, bilo da ih je napisao korisnik ili su sastavni dio DBMS-a (database tools). Osnovne funkcije koje moraju biti ugrađene u svaki sistem za upravljanje bazom podataka su:

DBMS mora omoguditi definiciju podataka,

DBMS mora biti u stanju da definicije podataka, izrečene u nekom jeziku, pretvori u oblik interne pohrane podataka,

DBMS mora imati mogudnost obrade (manipuliranja) podataka prema zahtjevima korisnika. Zahtjevi mogu biti dodavanje novih, brisanje ili promjena vrijednosti postojedih podataka itd.,

DBMS mora omoguditi integritet i zaštitu podataka,

DBMS mora prepoznati i odbaciti zahtjeve korisnika koji narušavaju integritet podataka.

oporavak u slučaju pogreške,

DBMS mora imati mogudnost uspostave konzistentnosti podataka u slučaju pogrešnog manipuliranja istim,

DBMS mora omoguditi efikasnost kod manipulisanja i pretraživanja podataka i sve nabrojane funkcije mora osigurati uz što bolje performanse.

Administrator baze podataka (DBA – Database Administrator) je osoba zadužena za izvedbu i održavanje baze podataka.

Prilikom izrade, osoba koja stvara bazu podataka postaje i njezin DBA.

Page 22: Skripta informacioni sistemi

Sistemi za upravljanje bazama podataka Postoji nekoliko sistema za upravljanje bazama podataka (SUBP) koji su u široj upotrebi, npr. SQL Server,

Microsoft Access, My SQL, itd. U zavisnosti od namjene i drugih karakteristika svak od ovih SUBP ima određene

prednosti i nedostatke o kojima se mora voditi računa prilikom planiranja uvođenja baze podataka u neki

sistem. Uvođenje baze podataka u neku firmu ili ustanovu predstavlja složeni zadatak koji zahtijeva timski rad

stručnjaka raznih profila. To je projekat koji se može podijeliti u pet faza: analiza potreba, modeliranje

podataka, implementacija, testiranje i održavanje.

SQL Server Baze podataka se u pravilu realiziraju korištenjem nekog od provjerenih softverskih paketa. Konkurencija među proizvođačima softvera za baze podataka je izuzetno velika, tako da je posljednjih godina često dolazilo do njihovog nestanka, spajanja ili preuzimanja. SQL Server predstavlja prizvod koji u sebi ujedinjuje snagu i fleksibilnost velikih baza podataka, uz istovremenu lahkodu administracije kao u Windows operativnom sistemu. Nudi mogudnost prenosa baze podataka sa jednog na više fizičkih servera, koji se sa aspekta korisnika ponašaju kao jedan. SQL Server dozvoljava korisniku da upite postavlja koristedi obični engleski jezik. SQL Server dolazi u pet različitih verzija, tako da de svaki korisnik bez obzira na veličinu baze koje ima, nadi odgovarajudi server za svoje potrebe. SQL Server je po mnogima najbrža i najpouzdanija baza podataka, ali još uvijek se dokazuje na enterprise tržištu.

MySQL

MySQL se cijenom i prihvatljivim performansama nametnuo kao odlično riješenje za male ili srednje web sajtove bez obzira rade li oni na Linuxu ili Windowsima. Nedostaci su mu što ne podržava tzv. stored procedure, što može nedostajati prilikom razvoja velikih projekata. Pored toga ne podržava podupite (subqueries), što je prije svega praktičan problem obzirom da se vedina takvih upita može prepisati na drugačiji način. Podrška za foreign ključeve postoji na transparentnom nivou odnosno samo da bi se zadovoljila sintaksna kompatibilnost sa drugim SQL implementacijama, pa možemo redi da foreign (strani) ključevi u MySQL-u zapravo ni ne postoje. U traženju npr. najjednostavnijeg načina za povezivanje PHP stranica i baza podataka, možemo koristiti bilo koji sistem za upravljanje podacima. Ali, zašto izabrati baš MySQL i zašto se ovaj sistem i koristi u najvedem broju slučajeva? MySQL predstavlja relacioni sistem za upravljanje bazama podataka (RSUBP) koji omogudava da čuvate podatke, da im pristupate i da ih organizujete na najbolji mogudi način (ovo zadire u široku temu zvanu organizacija podataka). Pri tome, ovaj RSUBP može da služi u organizaciji podataka i to od nivoa obične liste podataka, pa sve do velike kolekcije tabela sa milionskim brojem slogova. Inače, relacione baze podataka su vrlo modna alatka koja obezbeđuje da se crpe informacije iz višestrukih izvora i pri tome se vrši njihova komparacija, kombinovanje i sumiranje radi dobijanja prave informacije u bilo koje doba. Na primjer, može se dobiti jednostavna lista klijenata, ili iskombinovati klijenti sa njihovim narudžbama i pozicijama koje su naručili. Baze podataka obezbeđuju potrebnustrukturu i organizaciju koja je potrebna radi operacija za efikasan pristup podacima, čak i kada ovo podrazumijeva veliku količinu informacija i veliki broj tabela (entiteta). Ipak, šta je to što MySQL čini tako posebnim

MySQL je Open Source RDBMS. Dostupan je na Internetu i pri tome je besplatan. Ovo je veliki kontrast drugim komercijalnim sistemima za baze podataka (kao što su Oracle, MS SQL, Informix i sl.), kreiranih od strane velikih kompanija, koji su pri tome veoma skupi.

Brzina. Svaki od sistema za baze podataka ima oblasti u kojima se posebno ističe. Za MySQL, jedna

od ovih oblasti je brzina - široko je priznato da su odgovori ovog sistema brži nego kod drugih sistema.

Page 23: Skripta informacioni sistemi

SQL-orijentacija. MySQL podržava standardni Structured Query Language (SQL), najkorišteniji jezik za definisanje i ekstrakciju podataka

Lahkoda upotrebe. Distribucija MySQL je relativno mali paket, koji ne zahtijjeva veliku memoriju kao drugi SUBP. Razvojna filozofija ovog sistema fokusirana je na široku i lahku upotrebljivost

Portabilnost. MySQL

Rapidni razvoj.

Interoperabilnost. MySQL može da se koristi u kombinaciji sa velikim brojem drugih softvera, koji su također besplatni.

Programibilnost. Ukoliko postojedi softver ne odgovara vašim potrebama, možete kreirati sopstveni. Dostupni su interfejsi za veliki broj programskih jezika, kao što su: C, C++, Perl, PHP, Python, Java, Ruby, itd.

Microsoft Access Jedan od najpoznatijih sistema za upravljanje bazom podataka je Microsoft Access. Microsoft Access je program koji zajedno sa Word (tekstualni procesor), Excel (sistem za rad sa tabelarnim podacima), Outlook (korištenje elektronske pošte) i Power Point (prezentacioni program) programom pripada Microsoft Office programskom paketu. Dakle, MS Access je sastavni dio office paketa i u potpunosti je integrisan sa ostatkom paketa. Osnovne osobine Access-a su:

potpuna podrška za SQL Server bazu podataka,

Access posjeduje integrisanu podršku za povezivanje ili za slično korištenje SQL Server formata baze podataka. Mogude je pratiti ovakve baze, a kasnije ih prebaciti na Server, ali i koristiti one koje su ved smještene na Server,

potpuna, dvosmjerna u program integrisana podrška za XML,

podrška za uvoz XML pri čemu se odmah vide je li mogude izbjedi ogromni posao prilikom pravljenja neke baze.

Microsoft Access omogudava lahku izradu tabela za smještanje podataka, organizovanje pretrage podataka, forme za pregled, dodavanje i mijenjanje podataka u tabelama, povezivanje određenih dijelova tabele kao i njihov pregled i analizu putem Interneta ili lokalne mreže. Također je mogude i povezivanje podataka između više tabela i njihovo usaglašavanje. Izrada formi i upita je jednostavna, svakoj formi mogude je dodijeliti drugačiji izgled, ubaciti sliku ili je napraviti kao osnovu za pokretanje drugih formi. Forme mogu biti u više oblika kao npr. forme za unos podataka (data-entry form), forme za pokteranje drugih formi (switchboard form) ili proizvoljni dijalog prozori (dialog box). Još jedna korisna mogudnost ovog programa su tzv. reports odnosno izveštaji koji omogudavaju predstavljanje podataka u štampanoj formi. Povoljnost je ta što korisnik ima kontrolu nad izgledom i veličinom svega što se nalazi u izveštaju, kako bi se konačan izgled prilagodio potrebama i zahtjevima korisnika. Izveštaji su također povezani sa bazom podataka i iz nje, kao i iz tabela na koje se odnose, dobijaju podatke. Jedna od najvadnijih razlika izmeođu Accessa i proizvoda za rad s bazama podataka kao što je SQL Server, jeste to što je Access klijentska baza podataka. Opisano netehničkim riječima, to znači da Access radi na lokalnom računaru. Mašine za rad s bazama podataka kao što je SQL Server jesu serverskog tipa: one skladište podatke na jakom serverskom računaru, kojem se pristupa sa standardnog PC računara.

Page 24: Skripta informacioni sistemi

Baze podataka koje rade na serverima znatno je složenije podešavati i održavati, ali pružaju bolje performanse i garantuju stabilnost rada, čak i kada ih hiljade ljudi koristi u isto vreme. Međutim, jedini ljudi kojima su neophodne vrhunske baze podataka kao što je SQL Server, rade u velikim organizacijama. Telekom operatori ne bi osloniti svoje poslovanje na Accessovu bazu podataka. Ali Access sasvim dobro obavlja posao u vedini malih i srednjih firmi i odličan je za ličnu upotrebu. Druga vadna razlika izmeođu Accessa i baza podataka koje rade na serveru, jeste to što Access omogudava i

skladištenje podataka i rad sa njima. Serverske mašine baze podataka, kao što je SQL Server, usredsređuju se

isključivo na skladištenje podataka (i slanje podataka drugim računarima kada oni to zahtijevaju). Međeutim,

tako usko specijalizovan dizajn ima priličnu cijenu.

Oracle Oracle zajedno sa SQL Serverom je baza podataka namijenjena za velike ustanove i korporacije gdje se podaci

ne mjere stotinama i hiljadama slogova ved milionima, gdje od pouzdanosti baze podataka ovisi opstanak

kompanija ili sigurnosti država. Oracle je relaciona baza podataka koja pored baze podataka uključuje i cijeli

skup pomodnih alata i palikacija kao što su e-mail i web serveri. Oracle predlaže klaster-ujedinjavanje više

manjih računara u jednu logičku cjelinu koja gledana iz vana djeluje kao jedan veliki računar. Ovo praktično

znači da koristedi RAC tehnologiju, kompanije više ne moraju ulagati u skupu opremu za koju ne znaju da li de

ikada biti upotrebljena u svom punom kapacitetu, ved u slučaju potrebe za vedim kapacitetom obrade on

postiže dodavanjem novih jeftinih mašina u klaster (kao što su obični PC serveri). Dodatna prednost je

poboljšana pouzdanost (eng. reliability) ovakvog sistema jer je do sada sistem zavisio od jednog računara, dok

sada u slučaju pada jednog ili više računara unutar klastera ostali računari unutar tog klastera nastavljaju

raditi. Standardno jako polje Oracle baze podataka oduvijek je bila velika mogudnost programiranja unutar

okruženja. Oracle baze podataka nisu namijenjene masovnom tržištu.

Data Warehouse DW (Data Warehouse) je baza podataka (DataBase) sa posebnom strukturom podataka, projektovanom tako

da se relativno brzo i jednostavno mogu izvoditi složeni upiti nad velikom količinom podataka. Glavna osobina

je da pruža brz pogled i analizu velike količine poslovnih podataka. IBM za DW ponekad koristi termin

„Informaciono skladište“. Uobičajeno je da je DW smješten na mainframe serverima u preduzedu.

Page 25: Skripta informacioni sistemi

Spremište podataka se formira na temelju podataka iz transakcijskog sistema. Podaci u njemu su integrirani i često prikupljeni iz više izvora. Glavni izazov kod formiranja spremišta je prikupljanje podataka iz različitih izvora, njihovo uspoređivanje i dovođenje u standardizirani oblik. Namjena spremišta podataka je čuvanje podataka na dučji vremenski rok (arhiviranje), te kao izvor povijesnih podataka za daljnju analizu. Podaci u spremištu podataka su spremljeni na način da su:

organizirani prema području interesa,

integrirani,

nepromjenjivi,

sadrže vremensku dimenziju. DW obavlja najmanje tri različite aplikacije:

Osnovne radne aplikacije – odnose se na tabele i statističke pakete, grafičke alate koji su korisni za upravljanje i predstavljanje podataka na PC-u

Aplikacije za upite i izveštaje – obrađuju podatke pomodu jednostavnih radnih upita i generisanje osnovnih raporta

Aplikacije za analizu i planiranje – zadovoljavaju suštinske poslovne potrebe kao što su predviđanje, analiza proizvodnih linija, finansijska konsolidacija, profitabilnost, proizvodne mix.-analize

Page 26: Skripta informacioni sistemi

Kod savremenog pristupa upravljanju podacima se mogu prepoznati četiri različita principa čuvanja podataka:

- Operacijski (transakcijski) nivo - podaci iz transakcija koji se upisuju onim redoslijedom kako nastaju.

- Spremište podataka - (Data Warehouse) spremaju se integrirani podaci iz povijesti poslovanja, složeni prema unaprijed određenim temama. Služi za brži pristup velikoj količini podataka koja je nastala kroz povijest.

- Pod-skladište podataka (Data mart) - spremaju se sumarni podaci, ovisno o njihovoj namjeni. Iz istih podataka o prodaji de, primjerice, odjel financija imati podatke o zaduženjima i bilanci pojedinog kupca, a odjel marketinga o prodaji pojedinih vrsta proizvoda po regijama. Podaci u Data Mart-ovima su denormalizirani, sumirani i oblikovani prema potrebama pojedinih korisnika. Primjer podataka u Data Mart-u je mjesečni popis prodaje po kupcima.

- Individualni (ad-hoc) podaci - Podaci koji sluše najčešde za individualnu upotrebu, i generiraju se po potrebi iz svoh dostupnih izvora. Primjer je kada voditelj prodaje za velike kupce može, primjerice, izvudi popis svih kupaca od 2000. godine koji su kupovali u iznosu vedem od 100.000 kn mjesečno i pladali na vrijeme. Podataka ove vrste ima relativno malo, nastaju po potrebi i u svaki put mogu imati drukčiju strukturu.

Page 27: Skripta informacioni sistemi

PREDAVANJE 10.

Dijagram entiteti-veze Modeliranje podataka je tehnika organizovanja i dokumentovanja podataka IS. Sinonim je modeliranje baze podataka, bududi da se podaci najčešde pohranjuju u BP. Prema mnogim autorima modeliranje podataka je najvažnija tehnika oblikovanja informacionog sistema. Podaci su resurs koji se dijeli između vedeg broja procesa i zbog toga moraju biti organizirani na način koji je prilagodljiv poslovnim zahtjevima. Strukture podataka i njihova svojstva su trajniji i stabilniji od procesa. Modeliranje podataka se završava brže nego modeliranje procesa i modeli podataka se brže približavaju rezultatu nego modeli procesa. Pored toga, modeli podataka su bitno manji od modela procesa. Modeli podataka postojedeg i bududeg sistema međusobno su sličniji nego modeli procesa postojedeg i bududeg sistema, a i lakše ih je preoblikovati, pa se manje posla “baca”. Omogudavaju dobru komunikaciju sa korisnicima i lakše utvrđivanje naziva. E-R (Entity-Relations) dijagrami predstavljaju detaljan logički prikaz entiteta veza i podataka radi

modeliranja baze podataka ili poslovanja organizacije

Entiteti i atributi Entitet (eng. Entity) je skup objekata iz realnog svijeta koji imaju neka zajednička svojstva. Svojstva entiteta se nazivaju atributima. Slika. Entitet kao skup Entitet je definisan kao skup (slika) E={e1 , e2 , e3 , e4 ... en}, gdje su e1 ...en elementi entiteta (entity instance, entity occurence). Ovi elementi prema definiciji imaju neke zajedničke osobine koje ih opisuju tj. definiraju. Primjer: Za opis procesa studiranja osnovni entitet je STUDENT, tj. skup svih studenata sa nekim zajedničkim svojstvima. Svaki student - pojedinac predstavlja jedan element skupa (entiteta STUDENT). Mogudi zajednički atributi (svojstva) studenata: ime, prezime, adresa, JMBG, matični broj, datum rođenja, itd. Za prikaz entiteta, kao skupa objekata potrebno je utvrditi: - Selekciju atributa - utvrditi koji atributi (osobine, svojstva) su potrebni za opisivanje entiteta. Prilikom opisivanja entiteta potrebno je u skladu sa potrebama posla zbog kojeg se radi baza podataka izvršiti selekciju atributa. - Integritet atributa – tip podataka, ograničenja i pravila vezana za pojedini atribut. Npr. za entitet STUDENT i atribut DATUM ROĐENJA potrebno je osigurati da podatak o datumu rođenja bude u standardnom formatu datuma dan.mjesec.godina., te da po svojoj vrijednosti bude logičan.

- Kardinalitet atributa – podatak o zastupljenosti pojedinih atributa. Kardinalitet atributa je broj koji kazuje koliko vrijednosti pojedini atribut daje za opis jednog elementa

entiteta.

U gornjem primjeru za entitet STUDENT i atribut IME vrijedi: min card(IME, STUDENT)=1, jer svaki student ima najmanje i obavezno 1 ime. max card(IME, STUDENT)=1, jer svaki student ima samo jedno ime. Iz ovoga slijedi: card(IME,STUDENT)=(1,1)

Page 28: Skripta informacioni sistemi

Prikazivanje modela podataka pomodu dijagrama Dijagram entiteta predstavlja grafički prikaz entiteta i njegovih atributa. Osnovna pravila grafičkog prikaza entiteta:

entitet se prikazuje pravougaonim znakom u koji se upisuje naziv entiteta,

pojedini atributi se prikazuju ovalnim znakovima i povezani su s entitetom. Unutar oznake atributa upisuje se naziv atributa,

viševrijednosni atributi imaju dvostruku poveznicu sa entitetom, koja podrazumijeva kardinalitet (0,n),

naziv atributa koji predstavlja primarni ključ se podcrtava,

kardinalitet atributa upisuje se na njegovu poveznicu sa entitetom. Osnovni principi prikaza relacije u dijagramu su:

relacija se simbolički ucrtava deltoidnim znakom (◊) između entiteta koji sudjeluju u relaciji, te se povezuje s njima.

na poveznicu entiteta i relacije upisuje se kardinalitet entiteta u relaciji u obliku uređenog para.

atributi koji su posljedica relacije ucrtavaju se ovalnim simbolom kao i atributi entiteta, te se povezuju sa relacijom iz koje proizlaze.

Page 29: Skripta informacioni sistemi

Viševrijednosni atributi Viševrijednosni atributi su atributi, koji mogu imati više vrijednosti za pojedini element entiteta. Primjer: Neka je pri opisu studenata potrebno znati na koliko je međunarodnih takmičenja bio student. Posmatrano za studenta-pojedinca, ovaj atribut može imati više različitih vrijednosti, jer pojedini student može biti učesnik na jednom ili više međunarodnih takmičenja, a neki od studenata nije učestvovao na međunarodnim takmičenjima. Vrijedi: min card(TAKMICENJE,STUDENT)=0, jer je mogude da student nije bio na takmičenjima max card(TAKMICENJE, STUDENT)=n, jer student može biti učesnik na više takmičenja Iz ovoga slijedi da je: card(TAKMICENJE,STUDENT)=(0,n). Atributi koji imaju ovako definirani kardinalitet nazivaju se viševrijednosni atributi (multi-valued attributes).

Opisni atributi i identifikatori Nakon selekcije atributa koji se koriste za opisivanje osobina entiteta, mogude je razlučiti dvije vrste atributa: opisne i identifikacijske. Ako se posmatraju entitet STUDENT i atributi Ime, Prezime, Mjesto rođenja, Datum rođenja, JMBG, Završena škola, takmičenja, može se izvesti sljededa definicija: Definicija: Identikator (Identifikacijski atribut) je atribut koji jedinstveno određuje pojedine elemente entiteta. U entitetu (skupu) ne mogu postojati dva elementa sa istom vrijednošdu identifikatora. U predhodnom primjeru atribut Ime ne može biti identifikator, jer je realna mogudnost da dva studenta imaju isto ime. Isto vrijedi i za sve ostale atribute, osim atributa JMBG. Ovaj atribut je jedinstven za svaki element entiteta, tj. ne postoje dva studenta sa istim JMBG brojem. Stoga je atribut JMBG identifikator, za razliku od ostalih atributa koji se smatraju opisnim atributima jer opisuju pojedina svojstva entiteta. Za svaki identifikator vrijedi da je njegov maksimalni kardinalitet jednak 1. Uobičajeni prikaz entiteta kakav se u praksi često koristi je u tabličnom obliku, gdje redovi odgovaraju

elementima entiteta, a stupci pojedinim atributima. Dakle svaki redak predstavlja jednog studenta.

Svaki element skupa, tj. svaki student pojedinac predstavlja jedinstvenu jedinku, koja mora biti jednoznačno definirana. U tu svrhu u entitetu mora postojati identifikator koji jednoznačno definira elemente entiteta. Taj identifikator mora imati kardinalitet (1,1), tj. mora imati vrijednost za svaki element entiteta, ali ne mogu postojati dva elementa sa istom vrijednošdu tog identifikatora. Takav jedinstveni identifikator za svaki element entiteta naziva se primarni ključ (eng. Primary key). Primarni ključ je atribut ili skup atributa koji jedinstveno identificiraju svaki element entiteta (redak u tablici).

Page 30: Skripta informacioni sistemi

Primarni ključ mora zadovoljavati tri osnovna pravila (uslova):

Jedinstvenost: u tablici ne mogu postojati dva reda sa istom vrijednošdu primarnog ključa.

Minimalnost: ako je primarni ključ složen tj. sastoji se od više atributa, tada se niti jedna njegova komponenta ne može ukloniti a da se ne naruši pravilo jedinstvenosti.

Pravilo integriteta primarnog ključa: niti jedna komponenta primarnog ključa ne smije imati null vrijednost tj. atribut koji je sastavni dio primarnog ključa mora imati definisan kardinalitet (1,1). Pravilo integriteta posljedica je pravila minimalnosti. Kada bi bilo dopušteno da neki atribut kao dio primarnog ključa poprimi null vrijednost, to bi značilo da se elementi entiteta mogu identificirati i bez poznavanja vrijednosti tog atributa..

Prethodno smo ustanovili da samo jedan od ovih atributa može biti identifikator, a to je atribut JMBG, jer ne

postoje dva studenta sa istim JMBG, dakle ovaj atribut može jednoznačno definirati svakog studenta.

Međutim, ovaj atribut ima definiran kardinalitet (0,1), što znači da se student može evidentirati i bez tog

podatka (nije obvezan). Iz toga proizlazi da JMBG ne može biti primarni ključ ovog entiteta. Ovaj problem može

se riješiti na način da se uvede novi atribut - jedinstveni redni broj studenta. Svaki student dobija svoj redni

broj, koji ga jednoznačno određuje u skupu studenata. Uz entitet STUDENT vezuje se brojač, koji automatski

svakom novom studentu dodijeljuje jedinstveni redni broj, pri čemu ne mogu postojati dva studenta sa istim

rednim brojem.

Page 31: Skripta informacioni sistemi

Relacije U sistemu baze podataka entiteti su međusobno povezani logičkim vezama relacijama. Naprimjer, ako se

posmatraju dva entiteta: STUDENT i UPISNI LIST, koji opisuju proces studiranja svakog studenta. Prilikom upisa

u pojedini semestar svaki student predaje upisni list dokument koji sadrži sve potrebne podatke za upis. Dakle,

uz ved spomenuti entitet STUDENT, koji predstavlja skup studenata, uvodi se novi entitet UPISNI LIST. Kao i

svaki entitet i UPISNI LIST je predstavljen svojim atributima, svojstvima, npr. SEMESTAR, ŠK.GODINA,

OBRAZOVNI PROGRAM. Ali ovaj entitet povezan je sa prethodnim entitetom STUDENT jer svaki upisni list

pripada nekom studentu. Dakle između ova dva entiteta postoji logička veza – relacija. Veza između skupova-

entiteta ostvaruje se vezom između pojedinih elemenata tih skupova. Relacija između ova dva entiteta se

može predstaviti grafički kao na slici.

Definicija: Kardinalitet entiteta u relaciji definisan je brojem veza pojedinog elementa tog entiteta sa elementima entiteta s kojim je relacijski povezan. Primjer: Relacijska veza entiteta STUDENT i UPISNI LIST. Jedan student može imati više upisnih listova (za svaki semestar po jedan), ali ne mora nužno imati upisni list. Sa druge strane, svaki upisni list mora pripadati nekom studentu, i to samo jednom određenom. Vrijedi: min card (STUDENT, PREDAJE)=0 min card (UPISNI LIST,PREDAJE)=1 max card (STUDENT,PREDAJE)=n max card (UPISNI LIST,PREDAJE)=1 odnosno: card (STUDENT, PREDAJE)=(0,n) card (UPISNI LIST, PREDAJE)=(1,1)

Stepen veze je broj entiteta koji sudjeluju u vezi. Uopšteno, može se povezati bilo koji broj entiteta. Tako veza drugog stepena je binarna veza, veza tredeg stepena je ternarna veza, dok je, uopšte, veza n-tog stepena: n-arna veza. Posebni slučaj je veza nekog entiteta sa tim istim entitetom. To je veza prvog stepena: unarna veza

(refleksivna, rekurzivna, involucijska). U nekim metodama se smatra posebnim slučajem binarne veze, tj.

posebnom vezom 2. stepena. Primjeri relacija su prikazani na slikama.

Page 32: Skripta informacioni sistemi

Relacijski model podataka Model entiteti-veze (E-R model – engl. Entity, Relationship, Attributes koji je postavio Chen 1976.) izrađuje se pri logičkom modeliranju podataka i ne ovisi ni o računalnoj opremi (hardveru) niti o softveru za upravljanje bazom podataka. E-R model je grafički prikaz znanja o objektima, vezama i svojstvima podataka i osnova i uvod za prikaz podataka u relacijskom modelu. Iz izvedbe E-R dijagrama vrši se realizacija relacijskog modela baze podataka. Taj model podataka je vremenom usavršavan i danas je de facto najrašireniji, opdeprihvadeni model podataka. Najveda prednost relacijskog modela podataka jest u tome da on počiva na matematičkoj teoriji relacijske algebre. Transformacijska pravila omogudavaju razvoj relacijskog modela baze podataka temeljem E-R dijagrama. Entitet je stvarni ili apstraktni predmet ili događaj o kojemu se u informacijskom sistemu pamte podaci. Entitet se odnosi na točno jednu određenu pojavnost (primjerice određenu kudu u gradu). Tip entiteta odnosi se na istu klasu srodnih entiteta, dakle sve kude u nekom gradu, ili sve jednokatnice u nekom gradu i slično. U praksi se često pojmom entitet označava tip entiteta. Oznaka za entitet je pravokutnik u koji je velikim štampanim slovima upisana imenica (naziv entiteta) u jednini (dakle KUDA, OSOBA, ŠKOLA, KUPAC). Bududi da naziv mora biti jasan i nedvosmislen treba koristiti pojmove koji se koriste u poslovanju. Entitet se kao skup objekata prikazuje tablicom. Svaki redak u tablici odgovara jednom elementu entiteta, a svaki stupac je odgovarajudi atribut. Ime tablice jednako je nazivu entiteta.

Page 33: Skripta informacioni sistemi

Entiteti su opisani svojstvima (atributima). Atribut može biti:

identifikacijski, koji jednoznačno i nedvosmisleno identificira jednu pojavu entiteta među svim ostalima, trajno je pridružen entitetu i često se zove ključni atributi ili šifra (jedinstveni matični broj građana (JMBG), matični broj pravnog subjekta (MBS), matični broj indeksa studenta na nekom fakultetu i slično),

opisni, koji opisuje kvalitativna ili kvantitativna svojstva entiteta, pa se stoga mijenja s vremenom jer se mijenjaju i stanja i svojstva entiteta (boja kose, broj osobne iskaznice, adresa stanovanja i slično),

izvedeni, koji se izvode logičkim ili aritmetičkim operacijama iz definiranih vrijednosti nekih drugih atributa, pri čemu su uključene formule, algoritmi i logički izrazi (iznos poreza i prireza po zaposleniku i slično).

Dekompozicija logičkog modela i atributa Dekompozicija se može raditi kod cjelokupnog modela ili samo atributa. Ako se posmatra primjer ved opisanog

entiteta STUDENT (slika), koji je definisan sa pripadajudim atributima. Svi atributi opisuju neko od osobina

zajedničko svim elementima skupa studenata. Atribut MJESTO ROĐENJA za svakog studenta daje podatak gdje

je rođen, međutim postoji mogudnost da postoji više različitih mjesta, koja imaju isti naziv. Stoga bi se, za

studente koji su rođeni u dva potpuno različita mjesta pojavila ista vrijednost atributa MJESTO ROĐENJA (npr.

mjesto Kalesija postoji u Opdini Olovo, ali i postoji druga opdina u BiH sa istim nazivom). Očito je da opis ovog

atributa nije ispravno postavljen, tj. za opis jednog mjesta nije dovoljan samo naziv (ime) mjesta

.

Page 34: Skripta informacioni sistemi

PREDAVANJE 12.

Organizacija informacionog sistema Poslovni sistem čine ljudi, njihovo znanje i tehnička oprema koju koriste za obavljanje svakodnevnog posla. Stoga je potrebno, posebno u velikimi složenim poslovnim sistemima, organizirati posao na način da se uz što manje troškove realiziraju postavljeni ciljevi. Iz navedenog proizlazi da: "organizacija predstavlja svjesno udruživanje ljudi kojima je cilj da odgovarajudim sredstvima ispune određene zadatke s najmanjim mogudim naporom, na bilo kojem području rada i života". Organizacija poslovnog sistema podložna je određenim objektivnim faktorima odnosno ograničenjima prostorne prirode (npr. preduzede može djelovati na malom i ograničenom prostoru ili može djelovati na širem geografskom području), vremenske prirode jer se uslovi poslovanja neprekidno mijenjaju pa se i organizacija može mijenjati sukladno njima, ekonomske prirode gdje se pokušava ostvariti maksimalnu korist uz minimalne troškove, te tehnološke prirode (primjerice primjena novih tehnologija za unapređenje poslovanja i realizaciju poslovnih ciljeva). Informacijski sistem dio je svakog poslovnog sistema, što znači da je organizacija informacijskog sistema način usklađivanja ljudi i informacijske tehnologije u djelatnoj cjelini kojoj je cilj načinom, oblikomi vremenomprimjereno zadovoljavanje informacijskih potreba ljudi u poslovnom sistemu, radi ostvarivanja mogudnosti učinkovitog upravljanja tim sistemom. «Orgware» je tada skup zamisli, pravila i postupaka u skladu s kojima se informacijski sistem oblikuje, razvija i djeluje. Organizacijski ustroj poslovnog sistema može se prikazati različitim modelima, u obliku:

centralizirana organizacijska shema, kod koje je upravljanje poslovnim sistemom koncentrirano na jednom mjestu,

decentralizirana organizacijska sheme, kod koje poslovni subjekt posluje na više lokacija na kojima obavlja sve poslove (kaoda se na svakoj lokaciji nalazi posebno preduzede),

distribuirana organizacijska shema, kod

Centralizirana organizacija informacijskog sistema Centralizirano organizirani model informacijskog sistema prvi je primijenjeni model organizacije informacijskog sistema u poslovnom sistemu, sukladno tada dostupnoj informatičkoj tehnologiji. Za centraliziranu organizaciju informacijskog sistema karakteristična je koncentracija svih procesnih informatičkih resursa na jednoj lokaciji (uvijek postoji središnji računar ili server), koncentracija softvera (podataka i programa na središnjem računaru), te koncentracija informatičkog osoblja (uglavnomu sklopu posebne organizacijske jedinice koja se često zvala Elektronski računski centar - ERC u preduzedu). Unatoč prednostima takve organizacije informacijskog sistema za neke djelatnosti (primjerice za penzione i zdravstvene financijske fondove, osiguravajuda društva, pa i banke), njeni nedostaci ograničavali su rast i razvoj preduzeda. Zaposlenici ERC-a postali su elita jer bez njih nije bilo mogude obaviti niti jedan posao na računaru, što je proizvelo loš komunikacijski odnos između njih i korisnika. Informacijski sistem koji je razvijan, prilagođavan je potrebama poslovodstva a ne krajnjeg korisnika, što je dodatno produbilo jaz i posredno utjecalo na širenje međusobno nekompatibilnih aplikacija za krajnjeg korisnika. S obziromda se radilo samo na jednom središnjem računaru, unaprijed je planirano vrijeme rada računara i raspored poslova koje treba napraviti, tako da se javljao problem organizacije "vršnih opteredenja" (posebno u vrijeme obračuna plada i slično). Centralizirano organiziran informacijski sistem pokazao se nedjelotvornim uvijek kada su se poslovi

Page 35: Skripta informacioni sistemi

delegirali nižim razinama upravljanja, tako da je uvođenje nove organizacije bilo samo pitanje mogudnosti informacijske tehnologije.

PRIMJER: Osiguravatelj posluje na jednoj lokaciji, a prodaju osiguranja obavlja putem prodajne mreže bilo

gdje. Svi informatički resursi nalaze se kod osiguravatelja. Na prodajnim mjestima koriste se terminali vezani za

centralni računar ili se radi ručno, na papiru. Dokumenti se dostavljaju u centralu ili šalju poštom, pa ih

zaposlenici osiguravatelja unose u centralni računar. Podaci potrebni prodajnoj mreži štampaju se i šalju na

papiru.

Decentralizirana organizacija informacijskog sistema Glavni razlozi za prijelaz na novu organizaciju bili su nezadovoljstvo centraliziranom organizacijom i njenim ograničenjima, ali i relativan pad cijena informatičke opreme, te uvođenje u primjenu osobnih računara. Dok je informatička oprema bila skupa korisnici ispoljavali nezadovoljstvo jer su mogudnosti nabavke nove opreme bile ograničene. Međutim, pad cijena opreme omogudio je preduzedima, posebno velikima, nabavu više manjih računara koja su mogla biti smještena na raznim lokacijama. Na svakoj lokaciji se tada počinje formirati poseban, mali računarski centar, koji zadovoljava potrebe korisnika na toj lokaciji. Dakle, decentraliziranu organizaciju informacijskog sistema karakterizira smještaj više nezavisnih samostalnih računara na različitim lokacijama, razvoj i instalacija softvera na više mjesta i formiranje računarskih centara na više mjesta. Nedostaci decentralizirane organizacije primijedeni su vrlo brzo. Prvo je uočena nedovoljna funkcijska i

vremenska usklađenost aktivnosti (koordinacija i sinkronizacija) između pojedinih računara na lokacijama, pa

je informacijski sistem počeo djelovati kao sistem međusobno nepovezanih cjelina. Razmjena podataka i

rezultata obrade među korisnicima postala je mora za informatičare jer se obavljala na razne načine u

ovisnosti o vrsti instaliranog softvera na računaru na lokaciji. Često uopde nije bilo mogude međusobno

povezati programsku podršku lokalnih sistema.

Page 36: Skripta informacioni sistemi

Onemogudeno je upravljanje sistemom na jednoobrazan (unificiran) način, a redundantnost podataka i

njihovih obrada pobudila je sumnju u njihovu vjerodostojnost i usporedivost. Naravno da se krivnja za nastale

probleme počela prebacivati s jedne strane na drugu, pa dolazi do loših komunikacijskih odnosa i među

korisnicima različitih sistema te među zaposlenicima različitih ERC-ova (pri čemu su često svi zaposleni u

jednom preduzedu).

Distribuirana organizacija informacijskog sistema

Osnovne pretpostavke za uvođenje nove organizacije informacijskog sistema bio je razvoj komunikacija uz drastičan pad cijena hardvera, ubrzani razvoj programskih paketa i alata za razvoj softvera, te nezadovoljstvo poslovodstava postojedim, najčešde nepouzdanim, informacijskim sistemom. Distribuirana organizacija informacijskog sistema nastala je kao kombinacija centralizirane i decentralizirane organizacije, s namjerom da se u novoj organizaciji zadrže samo dobre osobine tih modela. Njene osnovne karakteristike su: distribucija hardvera odnosno smještaj više samostalnih računara na različitim lokacijama povezanih u mrežu, distribucija podataka odnosno smještaj podataka na više računara u mreži u svakom trenutku dostupnih iz svake tačke u mreži, razvoj i instalacija softvera na više mjesta koji se koordinira s jednog mjesta i zadovoljavanje elemenata jedinstvenosti informacijskog sistema. PRIMJER: Osiguravatelj posluje na više lokacija na kojima obavlja sve ili samo neke poslove. U pravilu poslovnu mrežu čine podružnice osiguravatelja gdje se nalazi samostalno računar povezano u mrežu (slika). Na svim računarima koristi se za iste poslove isti softver.

Page 37: Skripta informacioni sistemi

Distribuirana organizacija informacijskog sistema podržava različite arhitekture sistema koje su nastale kao posljedica slijeda razvoja komunikacija i odgovarajudeg mrežnog softvera. Ustroj odnosno arhitektura distribuiranih sistema može biti

zvjezdasta,

hibridna, i

puna mrežna arhitektura.

Zvjezdasta arhitektura zapravo je unapređenje centralizirane organizacije informacijskog sistema. Mreža se sastoji od glavnog računara i satelitskih računara koja NE mogu međusobno komunicirati vedsamo preko glavnog računara, pa stoga postoji dvorazinska ili jednostavna hijerarhija računara u sistemu. Zadatak glavnog računara kod zvjezdaste arhitekture je uspostavljanje veze između glavnih računara kada i ako je potrebna, pri čemu glavni računar upravlja prometompodataka u cjelokupnomsistemu i održava središnju bazu podataka, te odgovara na upite sa satelitskih računara postavljene prema središnjoj bazi. Zadaci satelitskih računara odnose se na operativnu obradu podataka za krajnjeg korisnika pomodu lokalnih

programa, održavanje kopija dijelova središnje baze podataka koje se nalaze na satelitskim računarima

(odnosno lokalne baze podataka), odgovaranje na upite korisnika upudene lokalnoj bazi podataka,

prosljeđivanje korisničkih upita središnjoj bazi podataka i prijemodgovora središnjeg računara, te uspostavu

veza s ostalimsatelitskim računarima uvijek preko glavnog računara.

Page 38: Skripta informacioni sistemi

Hibridna arhitektura nastala je u složenijim poslovnim sistemima gdje povezuje dvije ili više zvjezdastih

skupina u jedan sistem. U takvim sistemima postoje dva ili više glavnih računara, a satelitski računari se dodaju

prema potrbi.

Page 39: Skripta informacioni sistemi

Punu mrežnu arhitekturu karakterizira višerazinska hijerarhija satelitskih računara koji svi mogu međusobno

komunicirati, pri čemu nema glavnog računara

Klijentsko poslužiteljska arhitektura informacijskog sistema zapravo je jedan od oblika distribuirane organizacije informacijskog sistema, koji odražava aspekt orijentacije na korisnika, pri čemu ignorira unutarnje (organizacijske, tehnološke i ostale) karakteristike sistema i time omogudava pružanje kvalitetne usluge. Korisnik je klijent sistema, a sistem je poslužitelj (koji pruža uslugu klijentu). Klijentsko poslužiteljska arhitektura sve se više primjenjuje u praksi, za što je trebalo ostvariti određene preduslove: razvijeni su vrlo sofisticirani programi za pružanje usluga klijentima, koji rade nad dobro ustrojenimi pristupačnim skladištem podataka, razvijene su mrežne komponente informacijskog sistema, uvedeno je decentralizirano upravljanje informacijskim sistemom i formiran je kvalitetni informacijski centar koji treba neprekidno biti na usluzi klijentima. Stoga se klijentsko poslužiteljska arhitektura uvodi u primjenu određenim redoslijedom, prema složenosti:

poslužitelj datoteka (engl. File Server)

poslužitelj baza podataka (engl. Data Base Server)

poslužitelj transakcija (engl. Transaction Server)

poslužitelj skupina (engl. Groupware Server)

poslužitelj objektnih aplikacija (engl. Object Application Server)

poslužitelj Web aplikacija (engl. Web Application Server)

Page 40: Skripta informacioni sistemi

Funkcionalni odnos članova u mreži Prema funkcionalnom odnosu članova u mreži mreže mogu biti: host-based, peer-to-peer, klijent-server.

Host-based Host-based mreže su zasnovane na jednoj od najstarijih mrežnih arhitektura. Kod mreža ovog tipa u centru

mreže se nalazi jak mainframe računar na koga su povezani terminali. Razlika između mainframe i terminal

članova je u tome što mainframe računar obavlja sva izračunavanja dok terminali služe samo kao interfejs sa

korisnicima. Host-based arhitektura svoju popularnost u ranim fazama razvoja računara i računarskih mreža

duguje visokoj cijeni procesorske modi koju je bilo neekonomično pridruživati korisničkim računarima,

terminalima.Danas se mreže sa host-based arhitekturom rijetko sredu u svom izvornom obliku. Razlog zbog

koga je host-based arhitektura danas u upotrebi nije velika razlika u cijeni između terminala i centralnih

servera ved je u pitanju smanjenje troškova kroz centralizovanu administraciju.

Peer-to-Peer (P2P) Peer-to-Peer (P2P) je mreža gdje se nalazi mnoštvo klijenta koji su ravnopravni, a ograničenje predstavlja

brzina Internet veze jednog klijenta. Ovakve mreže se najviše koriste za dijeljenje dokumenata, video i audio

podataka itd. Razlog leži u činjenici da ne postoji neko ko de kontrolisati koji podaci se dijele u mreži, jer ne

postoji server niti neki glavni računar koji nadgleda sve ostale. Svi su ravnopravi i dijele podatke između sebe.

Postoje i posebni programi za dijeljenje podataka u P2P mrežama i to su obično programi za dijeljenje audio i

video sadržaja. Ako korisnik postavi upit, program pretražuje podatak pod tim imenom kod ostalih korisnika

povezanih na P2P mrežu. To je mnogo slobodnije nego kod klijent-server mreža, gdje korisnik pretražuje

sadržaj samo jednog računara, odnosno servera. Kod P2P mreža, korisnik pretražuje sadržaj svih učesnika u

mreži

.

Page 41: Skripta informacioni sistemi

Mreže ravnopravnih računara se često nazivaju i radne grupe. Ovaj termin se odnosi na malu grupu ljudi. Ovakvu mrežu najčešde čini 10 ili manje računara. Mreže ravnopravnih računara su relativno jednostavne. U situaciji kada svaki računar funkcioniše i kao klijent i kao server, ne postoji potreba za modnim centralnim serverom, ili drugim komponentama svojstvenim mrežama velikog kapaciteta. Stoga su ove mreže jeftinije od serverskih mreža. U ovim mrežama mrežni softver ne mora da ima isti nivo performansi i bezbjednosti kao mrežni softver namenjen namjenskim serverima. Mogudnost umrežavanja u mrežu ravnopravnih korisnika ugrađena je u mnoge operativne sisteme. Zbog toga nije potreban nikakav dodatni softver. U tipičnom mrežnom okruženju, ova vrsta mreža pruža sljedede prednosti:

Umrežavanje je jednostavno.

Ne zahtjeva se kupovina posebnog softvera za umrežavanje.

Korisnici su sami sebi administratori i sami planiraju bezbjednost.

Ispad nekog računara iz mreže ima uticaj samo na eventualno dijeljenje resurse sa datim računarom. Ostali računari mogu da nastave rad.

Glavni nedostatak P2P arhitekture jeste adresiranje članova mreže. Dok je kod klijent-server mreža potrebno samo da klijenti imaju informaciju o tome koji serveri su dostupni na mreži (i koja je njihova adresa) kod P2P arhitekture je potrebno da svaki član ima informaciju dostupnosti ostalih članova. Iz tog razloga postoji više različitih arhitektura unutar P2P arhitekture:

decentralizovana arhitektura

centralizovana arhitektura

hibridna arhitektura Decentralizovana P2P arhitektura predstavlja arhitekturu najbližu osnovnom P2P modelu. Ona je sačinjena isključivo od

peer čvorova koji međusobno komuniciraju direktno

Page 42: Skripta informacioni sistemi

Centralizovana P2P arhitektura predstavlja “kombinaciju” P2P i klijent-server arhitektura. Slika. Šema centralizovane P2P mreže Kao i kod decentralizovane P2P arhitekture mrežu čine peer čvorovi koji međusobno komuniciraju direktno sa

tom razlikom da postoji centralni “server” čiji je zadatak evidentiranje peer članova mreže.

Hibridna P2P arhitektura predstavlja varijantu centralizovane P2P arhitekture koja se koristi u slučajevima

kada se mreža sastoji od velikog broja peer čvorova i/ili uloga servera podrazumijeva i dodatne operacije sem

evidentiranja. Kod hibridne P2P arhitekture ulogu servera preuzima vedi broj Supernode čvorova. Ove čvorove

najbliži peer čvorovi koriste kao servere dok adresne informacije vezane za peer čvorove supernode čvorovi

međusobno razmjenjuju.

Page 43: Skripta informacioni sistemi

Klijent-server arhitektura Suština klijent-server arhitekture jeste da istovremeno više korisnika može pristupiti istim podacima koji su

smješteni na određeno mjesto (serveru). Ako su sve datoteke i podaci smješteni na serveru (poslužitelju) koji

šalje odgovor (opslužuje) klijente, onda za takvu arhitekturu kažemo da je dvoslojna arhitektura (eng. Two-tier

architecture). Suština ovakve arhitekture je da više korisnika istovremeno mogu pristupiti poslužitelju.

Struktura takve arhitekture prikazana je na slici:

Klijent-server je arhitektura mreže gdje su korisnik (klijent) i server odvojeni ili neravnopravni. Najočitiji je

primjer pregledanja Internet stranica. Korisnikov računar na kojem se nalazi Internet preglednik (eng. browser)

predstavljaju klijenta koji zahtijeva uslugu, dok računar i baza podataka koji čine web stranicu predstavljaju

server – on poslužuje klijenta. Prilikom pristupanja web stranicama preko preglednika se šalje zahtjev

poslužitelju koji mu isporučuje datoteku u HTML obliku. Preglednik tu datoteku grafički oblikuje i prikazuje

korisniku.

Klijent-server mreža podrazumijeva okruženje u kojem dva ili više računara mogu raditi zajedno da bi riješili

određeni problem. Pod pojmom klijent-server procesiranje podrazumijeva se okruženje u kojem se kombinuju

hardverski, softverski i resursi podataka dva ili više računara u cilju procesiranja određene aplikacije. Klijent-

server mreža može biti LAN mreža, povezane LAN mreže, WAN mreža, povezane WAN mreže, te povezane

LAN i WAN mreže. Softverski resursi i resursi podataka koje dijele računari na mreži pohranjeni su na

serverima.

Page 44: Skripta informacioni sistemi

Između klijenta i servera postoje različiti nivoi interakcija, koji se mogu klasificirati na sljededi način:

Host-driven terminal emulation – klijent se povezuje na server, na isti način kao što se terminal povezuje na host računar. Praktično, server obavlja sva procesiranja.

Host-driven front-ending – klijent zaustavlja poruke dobivene od servera (host računara), i konvertuje ih u bolji user-friendly interface, nego što je standardni interface koji server obezbjeđuje. Sva važnija procesiranja izvršava server, i stvaranje user-friendly interfacea je jedini posao koji izvršava kljinet.

Host-driven client-server procesiranje – klijent pokrede aplikaciju omogudavajudi joj da izvrši određene akcije za server (host računar). Na primjer, server može uzrokovati da klijent prikaže mnu, window ili dialog box, raspoložive na serveru. Obično, jedna, ili više prikaznih opcija mogu

biti izvršene na računaru klijenta, po uputstvima servera (host računara). Korisnici klijent računara također mogu vratiti informaciju serveru.

Client-driven client-server procesiranje – server izvršava dio procesiranja na zahtjev klijenta. U biti, klijent zahtjeva od servera da izvrši procesiranje; server tada izvršava operaciju, i šalje rezultate klijentu. Klijent koristi te rezultate da bi završio zadatak na kom radi.

Peer-to-peer client-server procesiranje – klijent i server rade zajedno u izvršavanju procesiranja, tj. ravnopravno procesiranje. Klijenti i serveri mogu zamijentiti uloge nekoliko puta tokom procesiranja; klijenti i serveri mogu zahtijevati jedni od drugih servise.

Page 45: Skripta informacioni sistemi

U trsoslojnoj arhitekturi datoteke i podaci nisu smješteni izravno na poslužitelju ved u odvojenoj bazi

podataka. Baza podataka je u pravilu smještena na odvojenom poslužitelju, a u slučaju velikog broja upita mogude je da postoji velik broj poslužitelja koji se zajedno koriste kao jedna baza podataka. Troslojnu arhitekturu čine, kao što joj i ime govori, tri osnovna sloja. Prvi sloj je klijentski koji uključuje

preglednik i samu mrežu Internet. Srednji sloj je poslužitelj weba na kojem se izvršavaju skriptni jezici ili izvršne

datoteke, dok je tredi sloj, onaj u kojem se nalazi sistem za upravljanje bazom podataka i sama baza podataka.

Primjer procesa kod troslojne arhitekture je prikazan na slici:

Prvi sloj – klijent (računar sa preglednikom). Kada korisnik pomodu preglednika pošalje zahtjev za nekom stranicom poslužitelju weba, tada poslužitelj prvo izvršava program koji dohvada podatke iz baze podataka. Dohvadeni podaci se obrađuje, te se u HTML obliku šalju natrag pregledniku. Poznatiji web preglednici su Internet Explorer, Mozila Firefox, Google Chrome, Opera itd. Drugi sloj – poslužitelj weba i skripti jezici. Temelj srednjeg sloja je poslužitelj weba. Danas se najčešde koristi poslužitelj weba Apache, ali je vrlo čest i IIS (Internet Information Server) koji je komercijalni Tredi sloj – baza podataka. Sloj baze podataka se koristi za memorisanje podataka. Također, ovaj sloj omogudava istovremeni pristup podacima s nekoliko odvojenih poslužitelja. Zadadu upravljanja podacima u

Page 46: Skripta informacioni sistemi

bazi podataka preuzima sistem za upravljanje bazom podataka (eng. Database Management System – DBMS). Sistem za upravljanje bazom podataka (SUBP) brine o smještaju i dohvatu podataka. Iako je sam po sebi vrlo složen on u pravilu znatno pojednostavnjuje sve operacije. Danas gotovo svi sistemi za upravljanje bazom podatka za dohvat, analizu i obradu koriste SQL (eng. Structured Query Language). Danas na raspolaganju postoje brojni sistemi za upravljanje bazama podataka. Neki od najpoznatijih su: Oracle, DB2, MS SQL, MySQL i PostgreSQL. Od navedenih prva tri su komercijalna, dok su MySQL i PostgreSQL besplatni programi otvorenog kôda. Za web aplikacije najčešda upotreba je upravo MySQL sistema zbog njene jednostavnosti i dobre podrške kako pod Microsoft Windows, tako i pod GNU/Linux platformom. Osim na ovim platformama MySQL je danas podržan i na: HP UX, Solaris, Apple MacOS X platformama za različite procesore. Vrlo često pitanje je kada uopde odabrati troslojnu arhitekturu odnosno upotrebljavati bazu podataka ili ne za pohranu informacija. Preporučuje se koristiti bazu podataka u sljededim slučajevima:

više različitih korisnika istovremeno trebaju pristupati podacima,

postoji vedi broj zapisa koji se trebaju ažurirati,

odvojeni podaci su povezani nekim vezama,

podaci se moraju pridržavati određenih pravila – npr. broj znakova u nizu, numerička vrijednost podatka i sl.,

potrebno je brzo pretraživati velike količine podataka,

važno je osigurati sigurnost, tajnost ili integritet podatka,

ažuriranje, dodavanje ili brisanje je složen ili vrlo čest zadatak.

Za razliku od navedenih, postoje i slučajevi u kojima je primjena baze podataka nepotrebna:

postoji samo jedna vrsta podataka,

podaci se ne pretražuju, ved se samo pohranjuju,

upravljanje podacima je vrlo jednostavno.

Razlika između klijent-server aplikacija i web aplikacija Kod klijent-server aplikacija svaka aplikacija sastoji se od dijela koji se izvodi na poslužitelju (serveru) i dijela koji treba instalirati na korisnički računar (klijent). Klijent preko svog interfejsa šalje zahtjeve serveru koji ih izvodi, nakon čega klijent dobiva izvještaje. U slučaju da firma ima veliki broj klijenata, instaliranje i održavanje aplikacija na korisničke računare je tada sporo i zahtjevno. Kod web aplikacija, nasuprot tome, nije potrebno instalirati aplikaciju na korisnički računar i tu je jedna od ključnih prednosti web aplikacija. Također, korištenje web aplikacija se može ograničiti na internu mrežu (Intranet) ili preko osigurati da sa bilo koje lokacije korisnici mogu pristupiti web aplikaciji koristedi Internet, pri čemu je mogude ograničiti pristup. Web aplikacija umjesto izvršne datoteke (.exe) generira skup dokumenata koji se mogu vidjeti s pomodu web preglednika (npr. Internet Explorer, Mozilla Firefox i dr.) koji podržavaju html/xhtml/xml. Rade bez obzira na operativni sistem koji je instaliran na korisnikovom računaru (programer ne mora raditi interfejs posebno za Windows, MacOS, Unix, ili dr. Operativni sistem). Tehnologije u pojedinim slojevima web aplikacije:

Za prezentacijski sloj koristi se - web preglednik (MS Internet Explorer, Mozilla Firefox, Opera, Google Chrome ili dr.). Klijent se, koristedi preglednik, spaja na poslužitelj (uspostava virtualnog tunela za “razgovaranje” tzv. spoj).

Za aplikacijski sloj koriste se – dinamičke web tehnologije (ASP, ASP . NET, PHP, JavaScript, CGI, ColdFusion, JSP/Java, Perl, Python, i dr.)

Za podatkovni sloj koriste se DBMS sistemi (npr. SQL server, MySQL, DB2, i dr.).

Page 47: Skripta informacioni sistemi

PREDAVANJE 14 i 15

Osnovni termini vezani za sigurnost Informacijsko-komunikacijske mreže u moderno doba su izložene sve vedim izazovima u pogledu sigurnosti i zaštite informacija i podataka od raznih vrsta logičkih prijetnji od hakerskih napada, ciljane industrijske špijunaže, do internih prijetnji koje podrazumijevaju zaposlenike koji nehotičnim ili hotimičnim postupcima dovode do krađe ili uništavanja informacija odnosno uvid u povjerljive informacije. Kada je riječ o zaštiti informacionih sistema, organizacija i njeno poslovanje se moraju promatrati kao cjelina, uz evidentiranje svih problema. Autentifikacija je proces verifikacije validnosti identiteta individue i identifikacija tko je stvarno on ili ona. Autentifikacija se ne odnosi samo na ljudska bida, nego se servisi, aplikacije, kao i drugi entiteti također moraju autentifikovati. Obezbjeđenje da svaki korisnik ili računar koji koristi servis ima dozvolu da radi ono za što je izrazio namjeru. Izraz autorizacija se često koristi kao sinonim za kontrolu pristupa, ali on također znači garantovanje pristupa ili prava na izvođenje određenih akcija na bazi prava pristupa. Zaštita podataka računarske mreže sadrži tri osnovne oblasti, koje se odnose na različite dijelove zaštite računarskih sistema:

Fizičkim mjerama zaštite

operativnim mjerama zaštite

upravljanju i politici Fizička zaštita podrazumijeva sprečavanje da neovlaštene osobe pristupe opremi i podacima. Fizičke mjere štite one elemente koji se mogu vidjeti, dodirnuti ili ukrasti. Oni mogu otuđiti dokumenta, oštetiti ih ili iznijeti iz ureda, iz koša za otpatke ili iz kase. "Nosioci" ovakvih prijetnji mogu biti serviseri, domari, klijenti, dobavljači, pa čak i zaposlenici. Prva mjera fizičke zaštite podrazumijeva smanjenje privlačnosti fizičke lokacije kao cilja eventualnog napada. Zaključavanje vrata i instaliranje opreme za nadzor ili alarmnih sistema de fizičku lokaciju učiniti manje primamljivom za napad. Druga mjera fizičkog sistema zaštite podrazumijeva detekciju napada ili kradljivca. Korisnik mora znati gdje je došlo do provale, što nedostaje i kako je došlo do gubitka. Treda mjera fizičkog sistema zaštite obuhvada oporavak nakon krađe ili gubitka ključnih podataka i sistema, kako bi organizacija mogla dalje normalno nastaviti obavljanje posla. Oporavak zahtjeva detaljno planiranje, razmišljanje i testiranje. Operativne mjere zaštite odnose se na način obavljanja poslovnih funkcija u organizaciji. One obuhvadaju računare, mreže i komunikacijske sisteme, ali i rad sa dokumentima. Operativne mjere pokrivaju široku oblast, tako da predstavljaju osnovno polje angažiranja profesionalnog osoblja na poslovima zaštite. Operativne mjere zaštite uključuju kontrolu pristupa, identifikaciju i topologiju zaštite nakon instaliranja računarske mreže, čime su obuhvadeni dnevno funkcioniranje mreže, njeno povezivanje sa ostalim mrežama, način kreiranja rezervnih kopija (backup) i planovi oporavka nakon teških oštedenja.

Page 48: Skripta informacioni sistemi

Upravljanje i politika (management and policies) osiguravaju osnovne upute, pravila i procedure za implementaciju zaštidenog okruženja. Definirana politika mora imati punu podršku organa upravljanja da bi bila efikasna. Profesionalci u oblasti zaštite predlažu mjere koje de biti ugrađene u politiku, ali im je za punu implementaciju tih mjera potrebna pomod organa upravljanja. Zaštita mreže zahtjeva definiranje brojnih pravila. U sljededoj listi navode se neke od najširih oblasti koje treba obuhvatiti planiranjem:

administrativna politika,

zahtjevi u pogledu dizajna softvera,

planovi oporavka sistema nakon težih padova,

politika u oblasti podataka,

politika zaštite,

pravila upotrebe,

pravila koja definiraju upravljanje korisnicima.

Fizička sigurnost i zaštita informacionih sistema

Fizička sigurnost opisuje mjere koje sprječavaju neovlašten pristup resursima ili informacijama pohranjenim na

fizičkim medijima. Radi se o skupu smjernica za dizajniranje strukture koja je otporna na razne zlonamjerne

radnje, a može uključivati jednostavnu primjenu zaključavanja vrata ili zapošljavanje zaštitara. Fizička sigurnost

je najosnovniji aspekt zaštite, a obuhvada kontrolu zaštite prostorija, postrojenja, zgrada i druge imovine.

Prirodne nepogode Prirodne prijetnje jedne su od najprisutnijih opasnosti za fizičku sigurnost na koje čovjek ne može utjecati.

Ipak, postoje određene mjere kojima je mogude smanjiti njihov štetan učinak na sigurnost informacijskog

sistema. U skupinu prirodnih prijetnji spadaju:

Ljudske prijetnje Zaposlenici su jedan od osnovnih rizika svake organizacije jer unose veliki raspon prijetnji sigurnosti

informacijskog sistema.

Page 49: Skripta informacioni sistemi

Socijalni inženjering Postoji cijela skupina napada usmjerena na dobivanje pristupa računalnom sistemu

iskorištavanjem ljudskih ranjivosti poput nemarnosti ili lakog povjerenja. Cilj tih napada je pridobiti povjerenje

žrtve kako bi se ostvarila krađa identiteta ili podataka te izveo upad u mrežu/sistem. Socijalni inženjer može

biti bilo ko, od hakera, špijuna, nezadovoljnih zaposlenika do prodavača i vladinih službenika.

Zaštita prostorija U unutrašnjosti objekta nalaze se razne prostorije koje treba zaštititi u skladu s njihovom namjenom. Kod

prostorija koje sadrže važne poslužitelje ili skupocjene uređaje potrebno je primijeniti vedi stupanj zaštite te

uvesti vede mjere sigurnosti.

Zaštita opreme Najvažniji aspekt kod fizičke zaštite informacijskog sistema predstavlja pravilna zaštita opreme i uređaja.

Svakom uređaju treba definirati posebne mjere zaštite s obzirom na njegovu namjenu i vrijednost. Takve

mjere trebaju spriječiti sve prijetnje, uključujudi prijetnje od prirodnih nepogoda ili ljudske prijetnje.Vedina

organizacija provodi samo osnovne mjere zaštite opreme koje često nisu dovoljne, a odnose se na zaštitu

korisnika i osobnih računara.

Zaštita poslužitelja Poslužitelji predstavljaju vrlo važan aspekt za poslovanje svake organizacije jer mogu sadržavati vrlo važne

informacije , a zaposlenici ih svakodnevno koriste. Zbog takvih namjena, najbolja praksa je razdvajanje

svakodnevnih funkcija od poslužitelja. To znači da se jedan poslužitelj ne bi trebao koristiti za obavljanje

svakodnevnih zadataka. Još jedan od važnih elemenata zaštite predstavlja pravilan smještaj poslužitelja.

Zaštita osobnih računara Najosnovniji način zaštite osobnih računara uključuje dobru edukaciju zaposlenika. Ukoliko su zaposlenici

upoznati s pravilnim načinom rukovanja s računarom, rizik od raznih prijetnji znatno je umanjen.

Zaposlenicima je potrebno jasno definirati pravila u obliku sigurnosnih politika te ih predstaviti na jednostavan

način. U sklopu sigurnosne politike treba navesti pravilno ophođenje prema računalima u slučaju nekog kvara

ili prirodne nepogode. Također, treba definirati zaštitu od krađe, špijunaže i drugih prijetnji koje donose ljudi,

a odnose se na fizičku sigurnost.

Alarmni sistemi Alarmni sistemi služe za davanje zvučnog ili vizualnog upozorenja o problemu ili stanju sistema, a uključuju: Rasvjeta U području fizičke sigurnosti, rasvjeta se obično koristi kao preventivna mjera protiv upada ili drugih

kriminalnih aktivnosti na imovini. Može se koristiti kao dodatak nadzoru kako bi se olakšala detekcija uljeza, ali

i za podizanje osjedaja sigurnosti

Zaštitari Zaštitari su obično zaposlenici čija je dužnost štititi vlasništvo, dobra i osoblje neke organizacije. Često su

obučeni u posebne uniforme te nastoje spriječiti ilegalne i nedozvoljene radnje promatrajudi okolinu i tražedi

znakove kriminala, požara ili neposlušnosti. Ponekad se u funkciji zaštitara mogu nadi i policijski službenici.

Page 50: Skripta informacioni sistemi

Nadzorne kamere U svrhu fizičke zaštite operacijskog sistema najčešde se koriste CCTV (eng. Closed-circuit television) kamere

koje prenose signal do određenog mjesta na ograničen broj zaslona. Osnovno obilježje ovih kamera je da se

signal ne prenosi kao kod televizijskog sistema, nego se radi o „zatvorenom sistemu“ gdje signal putuje do

jednog ili nekoliko zaslona.

Uređaji za kontrolu pristupa Fizička kontrola pristupa može se održavati raznim uređajima kako bi se postigla odgovarajuda razina sigurnosti. Jedan od načina je upotreba pametnih kartica, tj. kartica s integriranim sklopovima. Postoje dvije osnovne vrste kartica:

memorijske kartice - sadrže memorijske komponente za pohranu i određenu logiku.

mikroprocesorske kartice - sadrže mikroprocesor i memorijske komponente.

Sistemi za zaključavanje prostorija Katanci su mehanički ili elektronički uređaji koji se otvaraju fizičkim objektom (ključ, kartica i sl.), tajnom

informacijom (poput lozinke) ili njihovom kombinacijom. Osnovna namjena im je sprječavanje fizičkog pristupa

nekom dobru ili imovini, a mogu se koristiti na vratima, prozorima, ormaridima ili uređajima. Ovisno o

njihovom dizajnu i implementaciji mogude je pružiti različitu razinu sigurnosti.

Uređaji za zaključavanje opreme Fizička sigurnost može se postidi primjenom uređaja za zaključavanje opreme. Razvijeni su razni načini za

zaključavanje uređaja, a jedan od njih je korištenje sistema koji omoguduju fizičko zaključavanje kabela.

Sistemi za pradenje i otkrivanje lokacije Sistemi za pradenje i otkrivanje lokacije imaju ulogu detektirati krađu te otkriti položaj ukradenog uređaja ili druge opreme. Vrlo su korisni u slučajevima gubitka neke od važnih komponenata, uređaja za 17 pohranu podataka i sl.

Računarski napadi na informacioni sistem Događaj koji se pojavljuje kao dio koraka kojim se želi postidi neovlašteni rezultat (neovlašten sa stanovišta

administratora ili vlasnika sistema) može se smatrati napadom.

Page 51: Skripta informacioni sistemi

Tarik Trako- Informacioni sistemi u saobradaju i komunikacijama

Predmetni nastavnik: Doc.dr. Tarik Čaršimamovid dipl.ing.el.

Viši asistent/asistent: M.Sc. Alem Čolakovid dipl.ing

Napadači se mogu podijeliti u nekoliko kategorija:

hakeri – upadaju u informacioni sistem prvenstveno radi izazova

špijuni – upadaju u informacioni sistem radi informacija kojima se može ostvariti politička dobit

teroristi – upadaju u informacioni sistem radi izazivanja straha koji im donosi političku dobit

korporacijski napadači – osoblje jedne organizacije upada u informacioni sistem druge organizacije radi financijske dobiti

profesionalni kriminalci – upadaju u informacione sisteme radi ličnog dobitka

vandali – upadaju u informacione sisteme radi nanošenja materijalne štete.

unutrašnji zlonamjernici – zaposleni u organizacijama koji na različite načine u vlastitoj organizaciji zloupotrebljavaju informacije na kojima radi informacioni sistem.

Zaštitni programi Najbolji način zaštite računara od napadača i malicioznog koda je korištenje aplikacija napravljenih upravo za

te svrhe. Firewall je zaštita računara koja predstavlja prvu linije obrane od malicioznih aplikacija i pokušaja

provaljivanja. Da bi ih se zaštitio, potrebno je imati dobar firewall koji je redovno održavan i ažuriran kad je

potrebno. Nekad je bilo dovoljno samo imati instaliran firewall kako bi korisnik bio zaštiden na Internetu, no

danas se ta vremena čine prilično dalekima.