Poslovanje u digitalnoj ekonomiji  Digitalna ekonomija je ekonomija zasnovana na digitalnim tehnologijama uključujući komunikacione mreže (Internet, Intranet i extranet

), računare, softvere i drugu tehnologiju.  Sinonimi za digitalnu ekonomiju (digital economy) su Internet ekonomija (Internet economy), nova ekonomija (new economy) ili Web ekonomija (Web economy).  E-business/e-commerce – elektronsko upravljanje poslovnim funkcijama (npr., kupovina i prodaja roba i usluga, opsluživanje klijenata, saradnja sa poslovnim partnerima).  Infrastruktura za e-business je tzv. Network Computing, koji povezuje računare i druge elektronske uređaje putem telekomunikaiconih mreža.  Ovi računari mogu biti povezani na globalno mrežno okruženje, poznato kao Internet, ili povezani lokalno unutar organizacije, tzv. Intranet. Mnoge kompanije povezuju svoj Intranet sa nekim od poslovnih partnera putem mreže koja se zove Extranet. Internet koncept  Internet je globalna kolekcija mreža koje povezuju računare korisnika širom sveta.  Internet je globalna mreža računara/računarskih mreža koji komuniciraju i razmenjuju podatke putem TCP/IP protokola obezbeđujući nekoliko usluga tzv. Web servisa.  Internet obezbeđuje univerzalnu vezu sa računarima, nezavisno od toga na koju pojedinačnu mrežu su oni priključeni.  TCP/IP protokol omogućava komunikaciju između računara na kojima su instalirani različiti operativni sistemi. Intranet i extranet  Kada kompanija želi da deli svoje poslovne informacije za svojim dobavljačima, klijentima i drugim partnerima onda im ona dozvoljava ograničeni pristup svom Intranetu.  Intranet koji je parcijalno dostupan autorizovanim korisnicima putem Interneta ili drugim sredstvima naziva se Extranet.  Postavljanjem extraneta kroz Internet je mnogo lakše i ekonomičnije nego postavljanje iznajmljenog komunikacionog linka između dve kompanije.  Međutim, extranet je manje bezbedan neko privatni Intranet zato što dozvoljava mogući pristup neautorizovanim korisnicima.

Nova ekonomija vs. stara ekonomija Primer Stara Nova Poseta web site-a izdavača i prodavaca On-line pristup fakultetu i prijavi ispita. Upotreba digitalne kamere Korišćenje samouslužnih kioska Elektronske karte

Kupovina i prodaja Poseta knjižari knjiga Prijavljivanje ispita na Šetnja kroz odelenja, fakultetu čekanje ispred studentske službe itd. Fotografisanje Kupovina filma, slikanje, davanje na razvijanje. Plaćanje robe Odlazak u prodavnicu, plaćanje i otpremanje robe. Plaćanje prevoza Plaćanje u gotovom

• Internet dovodi do promena u ekonomiji, društvu i tehnološkim osnovama stare ekonomije. • Organizacije razvijaju nove modele poslovanja, ekonomije i vlade. “Pritisci” na poslovanje organizacije  Poslovno okruženje je kombinacija socijalnih, pravnih, ekonomskih, fizičkih i političkih faktora koji utiču na aktivnosti poslovanja.  Značajne promene u bilo kojim od ovih faktora dovodi do stvaranja poslovnog “pritiska” na organizaciju.  Postoje tri tipa poslovnog pritiska sa kojima se organizacija suočava i to pritisci tržišta, tehnologije i društva: Tržišni pritisak:  Globalna ekonomija i jaka konkurencija  Promena prirode radne snage  Moćni klijenti... Tehnološki pritisak:  Tehnološke inovacije i zastarelost  Suviše informacija... Socijalni pritisak:  Regulacija (Statuti, uređenje, propisi) Vlade  Trošenje na socijalne programe  Zaštita od terorističkih napada  Etnička pitanja... IT podrška organizaciji Organizacija čini veliki napor kako bi stekla nove i sačuvala postojeće klijente, a to čini najčešće koristeći informacione tehnologije. Strategijski informacioni sistemi • Šta podrazumevamo pod strategijskim korišćenjem informacionih sistema? Informacioni sistemi su strategijski ukoliko ispunjavaju ciljeve i strategiju poslovanja i ukoliko imaju uticaja na celokupno poslovanje preduzeća. •

Strategic Information Systems (SISs) – sistemi koji pomažu organizaciji da stekne konkurentnu prednost kroz doprinos strategijskim ciljevima organizacije i/ili njenoj sposobnosti da znatno poveća svoje performanse i produktivnost.

Konkurentna prednost je prednost u odnosu na konkurenciju u pogledu troškova, kvaliteta ili brzine koja vodi ka kontroli tržišta i povećanju profita. Glavne osobine informacionog sistema  Izvršavaju veoma brzo velika numerička izračunavanja.  Obezbeđuju brzu, tačnu i jevtinu komunikaciju unutar i između organizacija.  Automatizuju poluautomatske poslovne procese i manuelne zadatke.  Skladište ogromnu količinu informacija u jednom lako pristupačnom i malom prostoru.  Omogućavaju brz i jevtin pristup rasprostranjenim informacijama, worldwide.  Olakšavaju interpretaciju ogromnih količina podataka.  Omogućavaju komunikaciju i saradnju bilo gde i bilo kada.  Povećavaju efektivnost i efikasnost ljudi koji rade u grupama na jednom mestu ili na nekoliko lokacija, bilo gde.  Olakšavaju rad u rizičnom (hazardnom) okruženju. IT arhitektura e-business-a Infrastruktura informacione tehnologije  Informaciona tehnologija – uključuje skup informacionih resursa, korisnika i menadžmenta koji ih nadgledaju, IT infrastrukturu i sve druge informacione sisteme u organizaciji.  IT infrastruktura - podrazumeva fizičku opremu, IT komponente, IT usluge i IT menadžment koji podržava čitavu organizaciju.  IT komponente su hardver, softver i komunikacione tehnologije koje koristi IT osoblje da bi proizvelo IT usluge.  IT usluge uključuju razvoj sistema za upravljanje podacima i brigu o bezbednosti.  IT infrastruktura uključuje ove resurse kao i njihovu integraciju, operaciju, dokumentaciju, održavanje i menadžment. Životni ciklus razvoja sistema (system development life cycle - SDLC) SDLC - struktuirani okvir koji se koristi za velike IT projekte koji se sastoje od sekvencionalnih procesa po kojima se razvijaju informacioni sistemi INFORMACIONI SISTEMI

mreža i tehnologija koja su u međusobnoj korelaciji u cilju podrške i poboljšanja svakodnevnih poslovnih operacija. • Jedan informacioni sistem u sebi sadrži jednu ili više računarskih aplikacija. energije. Sistem Informacioni sistem • • • Sistem u kome se veze između objekata i veze sistema sa okolinom ostvaruju razmenom informacija. Uloga sistem analitičara • Proučavaju poslovne probleme i mogućnosti. skladištenje i obradu podataka u cilju dobijanja informacija potrebnih za pokretanje neke akcije ili donošenje neke odluke. rada i kapitala. prenos.Uvod: • Informacija je postala upravljački resurs. • Obavlja sistemsku analizu i projektovanje IS i računarskih aplikacija. a takođe i u cilju podrške menadžmentu u rešavanju poslovnih problema i donošenja odluka. Uređeni i integrisani skup ljudi. Računarska aplikacija • Računarski zasnovano rešenje jednog ili više poslovnih problema i donošenja odluka. aplikacije koje potom bivaju implementirane od strane tehničkih stručnjaka. procesa. prevode poslovne i informacione zahteve u računarski zasnovane IS i rač. Projektovanje sistema Projektovanje sistema podrazumeva definisanje i konstruisanje tehnički i računarski zasnovanih rešenja za identifikovane poslovne zahteve u sistemskoj analizi. • Zahtev u kompanijama – zaposleni treba da učestvuju u razvoju informacionog sistema i aplikacija. Organizovan skup komponenti za prikupljanje. interfejsa. Informaciona tehnologija . pored sirovina. podataka. Sistemska analiza • Sistemska analiza podrazumeva: – proučavanje domena poslovnih problema kako bi se predložila poboljšanja i – Definisanje poslovnih zahteva koje treba da ispuni novo rešenje.

Office Information Systems • Podržavaju veliki obim poslovnih kancelarijskih aktivnosti koji poboljšavaju posao i komunikaciju između radnika Arhitektura informacionih sistema • Obezbeđuje jedinstveni kostur po kome će različiti ljudi sa različitim perspektivama (pogledima) organizovati i videti fundamentalne blokove razvoja informacionih sistema. ES zahteva podatke i informacije kao i svaki IS.) Menadžment IS • Dopunjuju TPS sa menadžerskim izveštajima neophodnih za planiranje. • • Implementirani su sa tehnologijom veštačke inteligencije. plaćanje i dr. • Aplikacije IS koje obezbeđuju menadžerski orjentisane izveštaje u predodređenom formatu obično zasnovane na matematičkim ili statističkim modelima.Opisuje kombinaciju računarske tehnologije (hardvera i softvera) sa telekomunikacionom tehnologijom (mreža podataka.) i/ili inicirati transakciju (računi. ali su jedinstveni u svojim zahtevima za pravilima koje simuliraju zaključivanje eksperta koji koristi podatke i informacije. slika i glasa). odnosno situacije koje se ne mogu unapred predvideti i strukturalno postaviti. Decision Support Systems – DSS • • Aplikacije IS koje pomažu korisnicima u procesu donošenja odluka. potvrde o uplati i dr. nadgledanje i upravljanje poslovnim operacijama. Klase informacionih sistema • Sistemi obrade transakcija • Menadžment informacioni sistemi • Sistemi za podršku odlučivanju • Ekspertni sistemi • Kancelarijski informacioni sistemi Sistemi obrade transakcija • engl. Može odgovoriti na poslovnu transakciju (porudžbina. Ekspertni sistemi • Aplikacija IS koja prikuplja znanje i stručnost onih koji se bave rešavanjem problema ili donošenjem odluka. DSS podržava nestruktuirane odluke. Kancelarijski IS • engl. čekovi. a zatim simulira razmišljanje tog eksperta. Transaction Processing Systems – TPS • • Aplikacije IS koje prikupljaju i obrađuju podatke o poslovnim transakcijama. Nosioci IS .Stakeholders . Sistemi za podršku odlučivanju • engl.

uređuju i koriste te podatke. ciljeve i ograničenja. U nekim slučajevima. oprema. Fundamentalni blokovi procesa • Pogled vlasnika sistema na procese sistema . Korisnici sistema (System Users) su ljudi koji za obavljanje svojih poslova. ekrane. INTERFEJSI – pokazuju kakav je međusoban uticaj sistema na ljude i druge sisteme. postavljaju prioritete u sistemu i određuju politiku za njegovo korišćenje. proizvodi. vlasnici sistema mogu biti i korisnici sistema. koriste informacioni sistem. skladište.• Vlasnici sistema (System Owners) – finansiraju razvoj i održavanje informacionog sistema. mreže i programe. U nekim slučajevima. • • Pogled graditelja sistema na sistem podataka – Graditelji sistema su najbliži korisnici tehnologije baze podataka. testiraju i isporučuju sistem. Oni projektuju baze podataka. Fokusi sistema • PODACI – sirov materijal koji se koristi za kreiranje informacija. Fundamentalni blokovi informacionog sistema • Preseci perspektiva (redova) i svakog fokusa (kolona) definišu fundamentalne blokove ili ćelije informacionog sistema. organizovani po spreadsheets datotekama ili uskladišteni unutar baza podataka itd. Projektanti sistema (System Designers) projektuju sistem kako bi izašli u susret zahtevima korisnika. mogućnosti. obrađuju. • GEOGRAFIJA – pokazuje gde su podaci uskladišteni i gde se odvijaju procesi i interfejsi. • Blokovi informacionog sistema ne egzistiraju izolovano. Oni poseduju sistem. • Pogled korisnika sistema na sistem podataka – Korisnici svakodnevno prikupljaju. Pogled projektanta sistema na sistem podataka je u obliku šeme baze podataka. projektanti sistema mogu biti i graditelji sistema. Za njih su podaci smešteni po fasciklama. Njegov domen jeste da za svaki objekat i relacije između objekata identifikuje eventualne probleme. Oni moraju da predstavljaju podatke u veoma preciznoj jezičkoj formi. Pogled projektanta sistema na sistem podataka – Projektanti sistema prevode zahteve korisnika u računarske datoteke i baze podataka. već moraju biti sinhronizovani kako bi se izbegle nedoslednosti i nekompatibilnosti unutar sistema. porudžbine ili plaćanja. • • • Graditelji sistema (System Builders) su tehnička lica koja konstruišu. knjigama. zgrade. Najkorišćeniji standardni upitni jezik koji omogućava komunikaciju sa bazom podataka jeste SQL (od početnih slova engleskih reči: Structured Query Language). Danas korisnici sistema rade rame uz rame sa projektantima sistema. • • PROCESI – aktivnosti koje izvršavaju misiju poslovanja. kojih čine kupci. Fundamentalni blokovi podataka • Pogled vlasnika sistema na sistem podataka – zainteresovan za resurse poslovanja.

stanja sistema. koje određuju njihovo pojavljivanje i ponašanje na ekranu. kao i vremena početka i završetka. Jedna od metoda sistemske analize. Vlasnici sistema će pružiti informacije o zapaženim problemima. Pogled projektanta sistema na interfejs sistema – Korisnički dijalog u interakciji sa aplikacionim programom. – Aplikaciona šema je model koji govori o tome kako su i kako će biti implementirani poslovni procesi upotrebom računara i programa. pri čemu programer ne mora da razmišlja o kodu koji se brine za njihovo kreiranje. Visual BASIC. dati sistem predstavlja kao jedini proces (koji se grafički nalazi na sredini stranice) i prikazuje sve ulazne i izlazne tokove procesa sa korisnicima. opisuje kako se korisnik pomera sa ekrana na ekran kako bi obavio zadatak. mogućnostima. špedicija. je model procesa. Svim nacrtanim objektima mogu se podešavati razne osobine. ciljevima i ograničenjima funkcija. • Fundamentalni blokovi interfejsa • Pogled vlasnika sistema na interfejs sistema – Model konteksta. – Izazov u sistemskoj analizi jeste da se identifikujuju. • Pogled korisnika sistema na interfejs sistema – Korisnički interfejs definiše kako korisnici sistema pristupaju informacionom sistemu da bi uneli podatke. računovodstvo i druge. kupcima i dr. Tipične poslovne funkcije su proizvodnja. – Neki primeri programskih jezika su C++. odnosno objekti GUI-a doslovno crtaju u grafičkom obliku. Takođe će želeti da diskutuju o troškovima i koristima oko projektovanja informacionog sistema. koja definiše osobine interfejsa. – Reprojektovanje poslovnih procesa (Business Process Redesign .– – Vlasnici sistema su zainteresovani za grupe procesa visokog nivoa nazvanih poslovne funkcije. prodaja. usluge. – Jedan od standarda korisničkog interfejsa jeste grafičko korisnički interfejs (GUI – Graphical User Interface) koji se ogleda u tome što se svi elementi.BPR) podrazumeva proučavanje. Java i dr. koja to omogućava. – Aplikacioni programi su jezički-zasnovani. događaje koji menjaju stanje sistema i odzive na događaje. Pogled projektanta sistema na procese sistema – Na osnovu datih poslovnih procesa od strane korisnika sistema. pravili upite. – Projektant sistema crta interfejs šemu. izraze i analiziraju zahtevi poslovnih procesa. • • Pogled korisnika sistema na procese sistema – Korisnici vide odvojene poslovne procese. poslovnim jedinicama. – Poslovni procesi su odvojene aktivnosti koje imaju svoje ulaze i izlaze. analizu i reprojektovanje osnovnih poslovnih procesa u cilju smanjenja troškova i poboljšanja vrednosti poslovanja. dobili izveštaje i koristili help (pomoć). mašinski-čitljivi prikazi o tome šta bi računarski proces trebao da radi ili kako bi računarski proces trebao da ostvari svoje zadatke. Pogled graditelja sistema na interfejs sistema • • . projektant mora prvo da odredi koje procese treba automatizovati i kako ih automatizovati na najbolji mogući način. Pogled graditelja sistema na procese sistema – Graditelji sistema prikazuju procese pomoću programskih jezika koji opisuju ulaze. logiku i kontrolu. izlaze.

– Middleware je koristan softverski sloj koji se nalazi između aplikacionog i sistemskog softvera. bezbednost. distribuiran ili dupliciran. – Informacioni resursi operativnih lokacija uključuju ljude. protokoli. Fundamentalni blokovi geografije • Informacioni sistem geografije opisuje (1) distribuciju podataka. da li ih obezbeđuje jedna ili više lokacija. Pogled korisnika sistema na geografiju sistema – Korisnika sistema će zanimati individualne kancelarije ili druge prostorije unutar zgrade. – Zadatak projektanta jeste da odredi optimalnu distribuciju podataka. procese i interfejse koji su neophodni na svakoj od lokacija. – Jedna od interfejs tehnologija koja je danas dosta popularna je middleware (midlweæ(r)). računare i mrežni hardver koji će biti uključeni u računarsku aplikaciju. OS/2 LAN Manager. ali ona mora biti instalirana. koje lokacije mora da opsluži informacioni sistem itd.Graditelji sistema izgrađuju. Pogled projektanta sistema na geografiju sistema – Šema mreže (mrežna konfiguracija ili topologija) je tehnički model koji identifikuje sve računske centre. da li su neke funkcije duplicirane.CASE Šta su CASE alati? . privilegije i drugi kompleksni mrežni parametri. ODBC alati dozvoljavaju aplikacionim programima da rade sa različitim sistemima za upravljanje bazama podataka (Database Management Systems – DBMS) bez potrebe da budu prerađeni usled nijansi i različitosti sistema za upravljanje bazama podataka. podatke. – Komunikacioni zahtevi definišu zahteve operativnih lokacija za informacionim resursima i definišu način njihovog međusobnog komuniciranja. Pogled graditelja sistema na geografiju sistema – Graditelji sistema koriste telekomunikacione jezike i standarde za pisanje mrežnih programa. kontrola tokova. testiraju i implementiraju korisničke i sistemske interfejse. dok sistem analitičar mora da zna koje poslovne funkcije se odvijaju na svakoj od lokacija. planove prostora i matrice koje pokazuju koje se poslovne funkcije obavljaju na određenoj lokaciji. instaliraju. Primeri komunikacionih softvera koji uključuju mrežne operativne sisteme su Netware. Windows/NT Server itd. – Jedan primer middleware jeste povezanost otvorenih baza podataka (Open Database Connectivity – ODBC). procesa i interfejsa na određene poslovne lokacije i (2) kretanje podataka i informacija između ovih lokacija. procesa i interfejsa kroz mrežu. Sistem analitičar prikazuje mrežu jednog informacionog sistema koristeći dijagram toka podataka između lokacija. – Mrežni programi su mašinski-čitljive specifikacije računarski komunikacionih parametara kao što su adrese čvora. • Pogled vlasnika sistema na geografiju sistema – Vlasnik sistema određuje operativne lokacije i određuje da li će sistem biti centralizovan. – • • • SISTEMSKI INŽENJERING POMOĆU RAČUNARA . – Obično je osnovna softver tehnologija za mreže već kupljena i instalirana. – Sistem analitičar će zajedno sa vlasnikom sistema utvrditi mape. a služi da transparentno integriše različite tehnologije kako bi one mogle da funkcionišu. brzine linija. konfigurisana i podešena prema zadatim performansama.

tehnike i standarde.  Poboljšani kvalitet (CASE alati proveravaju kompletnost. • Tokom sistemske analize treba da se shvate problemi konkretnog poslovnog sistema.  Bolja dokumentacija (alati olakšavaju kreiranje i sakupljanje konzistentne. (2) proučavanje i analiza postojećih poslovnih i informacionih sistema i (3) definisanje poslovnih zahteva i prioriteta za novi ili poboljšani sistem.  Namera ove tehnologije jeste da ubrza procese razvijanja sistema i poboljša njegov kvalitet. Koristi od primene CASE alata  Poboljšana produktivnost (kroz automatizaciju zadataka i ubrzan razvoj aplikacija). konzistentnost i kontradiktornost). tehnika i metodologija.  CASE alati su programi (softveri) koji automatizuju i podržavaju jednu ili više faza životnog ciklusa razvoja sistema.  CASE nije metodologija niti bilo kakva njena alternativa. koje mora da ispuni bilo koje tehničko rešenje.  Metodologije koje stvarno rade (kroz primenu pravila i ugrađene ekspertize). Sistemska analiza je metodološki postupak dekompozicije nekog sistema na podsisteme (komponente) sa ciljem da se prouči njihov međusobni uticaj i rad.  CASE je tehnologija koja podržava metodologije naročito strategije. Faze sistemske analize • Sagledavanja projekta . definišu ciljevi za njegovo poboljšanje i definišu detaljni poslovni zahtevi. • • U okviru sistemske analize obavlja se (1) pregled sistema i planiranje projekta.  Neki ovu tehnologiju nazivaju kao softverski inženjering pomoću računara (computer-aided software engineering). međutim treba imati u vidu da je softver samo jedna komponenta informacionog sistema.  Smanjeno vreme održavanja (prethodno spomenuta poboljšanja kvaliteta sistema se kombinuju sa boljom dokumentacijom). METODE SISTEMSKE ANALIZE Sistemska analiza • Sistemska analiza je najkritičnija faza jednog projekta. Sistemski inženjering pomoću računara (CASE) je jedna aplikacija informacione tehnologije koja je okrenuta ka sistemskom razvoju aktivnosti. visoko-kvalitetne dokumentacije). pa se stoga ovde koristi širi pojam sistem.  CASE tehnologija automatizuje celokupnu metodologiju razvoja sistema.

učesnici. mogućnosti i direktive koje aktiviraju projekat. tako i većina sistemskih modela predstavljaju slikovite predstave stvarnosti. Sistem analitičar zajedno sa vlasnicima i korisnicima sistema. dijagram objekti-veze) se koriste da modeliraju neophodne podatke za nove sisteme. • • • Modeliranje podataka je najpopularnija tehnika za izražavanje poslovnih zahteva za podacima koji će biti uskladišteni u bazu podataka sistema. • • • Modeli služe da bolje razumemo sisteme ili je to način da dokumentujemo poslovne zahteve ili da postavimo tehnički dizajn. mogućnosti i rešenja. Modeliranje procesa je tehnika koja se dosta praktikuje za izražavanje zahteva poslovnih procesa. • Faze proučavanja – Sistem analitičar i odgovarajući učesnici će: (a) modelirati tekući sistem. Modeliranje mreže je tehnika koja pomaže kompaniji da izrazi geografiju poslovanja koja će biti podržana od strane sistema. (c) izgraditi prototipove. već i kako je sistem fizički i tehnički implementiran. tokova procesa. (c) planiraju projekat i (d) prezentiraju projekat. • Faza definisanja – identifikuje šta novi sistem treba da radi ne uzimajući u obzir potrebnu tehnologiju. Fizički modeli pokazuju ne samo šta je sistem i šta on radi. Logički modeli pokazuju šta je sistem i šta on radi. probleme. Određuje se projektni tim. (c) analizirati probleme i mogućnosti.– – – – "Da li je projekat vredan pažnje?". budžet projekta i raspored projekta. drugim rećima. Sistemski modeli • Kostur informacionih sistema identifikuje potrebu za četiri sistemska modela: – PODACI – Svi sistemi sakupljaju i skladište podatke. ulaza i izlaza. Model • Model je prikaz stvarnosti. cilj je da se definišu poslovni zahtevi novog sistema. Kao što slika vredi hiljadu reči. Modeliranje i tehnike • Modeliranje je projektovanje softverskih aplikacija pre njihovog kodiranja odnosno programiranja. (e) modifikovati oblast projekta i plana i (f) prezentirati zaključke i preporuke. Upravni odbor utvrđuje prioritete projekata IS. (d) dati prioritete zahtevima poslovnog sistema i (e) modifikovati plan i oblast projekta. (d) utvrditi ciljeve i ograničenja poboljšanja sistema. (b) analizirati poslovne procese. menadžerom za IS i drugim osobljem IS (1) sagledavaju probleme. (b) ugovoraju oblast projekta. sistem analitičar i odgovarajući učesnici će (a) grubo nacrtati poslovne zahteve. (b) modelirati zahteve poslovnog sistema. Modeli podataka (npr. – U okviru ove faze. . Oni opisuju sistem nezavisno od bilo koje tehničke implementacije. Ovi modeli podataka su polazna tačka za projektovanje baze podataka. Definisati cilj projekta.

plaćanje. INTERFEJSI – Nijedan sistem ne ekzistira izolovano od drugih ljudi. Interfejs modeli se crtaju u fazi proučavanja. Modeli mreže služe kao polazna tačka za dizajniranje komunikacionih sistema za distribuiranje podataka. Osnovna svrha ključa jeste da jedinstveno identifikuje svaki objekat. Grupa atributa koja jedinstveno identifikuju objekat se zovu složeni ključ. događaja ili koncepata o kojima treba da prikupljamo i skladištimo podatke. drugih sistema ili drugih kompanija. procesa i interfejsa do različitih geografskih lokacija. koji ima svoja svojstva i ponašanja i o kome korisnici mogu da skladište podatke. Tipovi objekata se mogu klasifikovati u osobe. Skladišta. Interfejs modeli opisuju ulaze (inpute) u sistem. prodavci. izlaze (autpute) iz sistema. zgrade. Atribut je osobina ili karakteristika objekta. objekata. njihove destinacije i deljene baze podataka. U okviru tipa objekta osobe mogu se svrstati radnici. njihove izvore. ŠIFRA_NASLOVA . Ovi modeli procesa služe kao polazna tačka za projektovanje računarskih aplikacija i programa. Difoltna vrednost je ona vrednost koja će biti uskladištena za dati atribut ukoliko je korisnik ne promeni. Tip podatka definiše koja klasa podataka može biti skladištena u taj atribut. račun. opremu. dodirnuti ili drugačije osetiti. ali detaljnije se moraju prikazati u fazi definisanja. Ovi interfejs modeli služe kao osnova za dizajniranje korisničkih i sistemskih interfejsa. vozilo. Domen definiše koje vrednosti može da ima jedan atribut. sobe su primeri tipa objekata mesta. mesta. Svaki objekat mora da ima jedinstveni ključ po kome će se pretraživati u bazi podataka. mesta. – – MODELI PODATAKA Osnovni pojmovi modela podataka • Objekat je klasa osoba. registraciju ili rezervaciju. Dijagram toka podataka) se često koriste da modeliraju tokove procesa kroz poslovne sisteme. Primeri tipa objekata stvari uključuju proizvod. • • Objekat je nešto što se može videti. GEOGRAFIJA – Usled činjenice da današnji poslovni i informacioni sistemi imaju veću geografsku širinu. BROJ_KOPIJE . • • • • • • ŠIFRA_KASETE (PRIMARY KEY) .– PROCESI – Modeli procesa (npr. stvari ili događaje. videotraku i dr. studenti i dr. sistem analitičari pronalaze načine da modeliraju geografske lokacije. Na kraju objekti događaja uključuju porudžbinu. aplikaciju. klijenti.

Pošto su sve relacije dvosmerne. Osnovne komponente DTP-a Hijerarhijska dekompozicija dijagrama toka podataka • Dekompozicija je način razlaganja sistema na njegove komponente podsisteme.• Objekat može imati više od jednog ključa. je specijalizacija. politike i procedure sistema. Inverzni postupak. jer onda neće moći da jedinstveno identifikuje dati objekat. – spoljne objekte ili spoljne agente (external agents) sa kojima sistem komunicira (grafički simbol: pravougaonik). definišu njegovi podtipovi. Generalizacija je tehnika gde se objekti sa zajedničkim atributima. Kandidati za ključ su kandidati za primarni ključ. Na primer. UML i dr. odnosno udruženi objekat (associative entity). vezama i/ili operacijama. • • • • • • • MODELIRANJE PROCESA Uvod u modeliranje procesa • Modeliranje procesa je tehnika koja organizuje i dokumentuje procese sistema i/ili implementira logiku. Merise ili po objavljenom standardu IDEF1X. gde se za neki tip objekta. Bachman. – skladišta podataka (data stores) koje procesi koriste i/ili ažuriraju (grafički simbol: dve paralelne linije) i – tokove podataka (data flows) koji povezuju ostale komponente sistema u celinu (grafički simbol: usmerena linija). Neka su imenovana po njihovim pronalazačima. • Dijagram toka podataka (DTP) je alat koji opisuje tokove podataka kroz sistem i procese koji se izvršavaju u sistemu. kao što su Chen. kardinalnost se mora definisati za oba smera. Agregacija istovremeno predstavlja i objekat i vezu. odnosno ključ ne sme da bude prazno polje. Primarni ključ (PRIMARY KEY) je kandidat za ključ koji će se najčešće koristiti da jedinstveno identifikuje dati objekat. Objekti ne ekzistiraju sami već moraju biti u nekoj relaciji ili vezi sa drugim objektima. Difoltna vrednost primarnog ključa je NOT NULL. koji imaju neke njima specifične atribute. Svi drugi kandidati za ključ koji nisu izabrani za primarni ključ se zovu alternativni ključevi. objekat RADNIK se može jedinstveno identifikovati preko matičnog ličnog broja ili preko šifre zaposlenog ili preko e-mail adrese. između dva ili više objekta. veze i/ili operacije. koji predstavljaju aktivne komponente sistema (grafički simbol: krug). Svaki od ovih atributa se nazivaju kandidati za ključ. Sadrži četiri osnovne komponente: – procese (processes) obrade podataka. Postoje nekoliko notacija modela podataka. Martin. grupišu (generalizuju) u jedan objekat koji se zove nadtip. • Pri dekompoziciji DTP-a moraju se poštovati sledeća pravila: . Kardinalnost definiše minimalni i maksimalni broj događaja jednog objekta koji se nalazi u konkretnoj relaciji sa drugim objektom. procese i podprocese.

2. mogu se dekomponovati i tokovi i skladišta. Da li je rešenje troškovno efektivno? • Izvodljivost programa. PROJEKTOVANJE INFORMACIONIH SISTEMA Faze projektovanja IS • Faza konfiguracije: – – – identifikuje alternativna rešenja. Kod analize izvodljivosti mnogi analitičari imaju u vidu sledeće kriterijume: • Tehnička izvodljivost. procesa i mreža. Za svako alternativno rešenje treba da se odrede zahtevani hardver i softver. Osnovni ciljevi ove faze su: – Identifikovati i ispitati hardver i softver koji može da podrži preporučeno rešenje. ...3. Dijagram dekompozicije prikazuje top-down (sa vrha na dole) funkcionalnu dekomoziciju i strukturu sistema. – – • – Pismeni izveštaj koji sadrži analize i preporuke najboljeg rešenja. analizira njihova izvodljivost i preporučuje globalno rešenje sistema.. • CRUD matrice dokumentuju ove zahteve i sinhronizuju modele podataka. U toku faze nabavke vrši se izbor odgovarajućeg hardvera i/ili softvera za novi sistem. Njihov opis se detaljno daje u rečniku podataka. CRUD matrice • Kvalitet sinhronizacije podrazumeva da svaki objekat treba da ima najmanje jedno kreiranje (C – create). Da li rešenje može biti projektovano i implementirano u toku prihvatljivog vremenskog perioda? Analiza troškova i koristi se diskutuje sa vlasnicima i korisnicima rešenja. Uobičajeno je da se zatim celokupan sistem predstavi dijagramom dekompozicije. Rangiraju se sva alternativna rešenja prema kriterijumu izvodljivosti. jedno menjanje ili modifikovanje (U – update) i jedno brisanje (D – delete) da bi sistem bio kompletan.– – – – – – Dijagram najvišeg nivoa. jedno iščitavanje (R – read). povlače sa sobom brojnu oznaku nadređenog procesa. Svaki proces sa dijagrama prvog nivoa se dalje dekomponuje do nivoa primitivnih procesa Procesi na dijagramima nižih nivoa. Pored procesa. Da li će rešenje ispuniti korisničke zahteve? Do kog stepena? Kako će rešenje promeniti korisničko radno okruženje? Šta korisnici misle o takvom rešenju? • Ekonomska izvodljivost. Da li je rešenje tehnički praktično? Da li je osoblje tehnički osposobljeno da projektuje i izgrađuje to rešenje? • Operaciona izvodljivost. . Najvažnije pravilo koje se mora poštovati pri dekompoziciji procesa je pravilo balansa tokova. zatim spoljne objekte sa kojima IS komunicira i odgovarajuće tokove podataka naziva se dijagram konteksta. Procesi se označavaju brojevima 1. Dijagram prvog nivoa predstavlja dekompoziciju dijagrama konteksta. koji po pravilu sadrži samo jedan proces koji predstavlja ceo IS.

u jedinstvenoj fizičkog organizaciji. – Projektuje bazu podataka. Standardni upitni jezik koji omogućava komunikaciju sa bazom podataka jeste SQL (od početnih slova engleskih reči: Structured Query Language). uskladištenih sa minimumom redudanse. koji pojednostavljuje kreiranje izveštaja. svaki korisnik dobija svoju sopstvenu logičku sliku podataka kakva njemu najviše odgovara. zajednički. – Analizira i distribuira procese. S obzirom na činjenicu da se DML koristi da menja sadržaj baze podataka. – Korišćenje zajedničkih podataka od strane svih ovlašćenih korisnika. • Sistem za upravljanje bazom podataka je jedan složeni softverski sistem koji treba da omogući: – Skladištenje podataka sa minimumom redudanse. kako bi se neprofesionalni korisnici neposredno uključili u razvoj informacionog sistema. Mnogi DBMS takođe uključuju i jezik za pisanje izveštaja.– – – • Potražiti. po pravilu. Projektant sistema mora da obavi sledeće aktivnosti: – Analizira i distribuira podatke. Data Manipulation Language (DML) se koristi za održavanje podataka. – Dizajnira računarske inpute (ulaze) i autpute (izlaze). Sistem za upravljanje bazom podataka • Sistem za upravljanje bazom podataka (kraće DBMS. Bez obzira što se podaci fizički pamte. a profesionalnim programerima značajno povećala produktivnost. – Logičku i fizičku nezavisnost programa od podataka. – Dizajnira korisničke interfejse. Jezici DBMS-a Data Definition Language (DDL) se koristi za izradu rečnika podataka. koje koriste. inicijalizaciju ili kreiranje baze podataka. proceniti i rangirati ponude dobavljača. uređuje. skladišti i predstavlja podskupove baze podataka prema odzivu na korisničke upite. upravlja i kontroliše podacima (bazama podataka) i služi kao veza (interfejs) između podataka i aplikativnih programa. opisivanje logičkog pogleda za svakog individualnog korisnika ili programera i specifiranje bilo kog ograničenja nad poljima ili tabelama baze podataka. Odrediti zahteve za integracijom dodeljenih proizvoda dobavljača sa drugim proizvodima sistema. ubacuju i brišu delove baza podataka. – Prezentuje dizajn. Baza podataka • Baza podataka (BP) je kolekcija međusobno povezanih podataka. Data Query Language (DQL) se koristi za ispitivanje baze podataka. Izabrati i preporučiti najbolju ponudu dobavljača. koja uključuje takve operacije koje ažuriraju. Relacioni DBMS • • • • . DQL samo sortira. svi procesi obrade u sistemu. – Jednostavno komuniciranje sa bazom podataka preko jezika bliskih korisniku. od početnih slova engleskih reči Database Management Systems) je softverski sistem koji kreira. U okviru faze projektovanja i integracije razvija se tehničko rešenje sa kojim će moći da se konstruiše sistem. pristupa. samo jednom.

Ono se mogu klasifikovati prema načinu struktuiranja zapisa.2.<4. Svaka relacija ima svojstva skupa. tj. Teoretske postavke relacionih modela • Tabela se može definisati kao matematička relacija i nad njom razmatrati sledeće: • Dekartov proizvod od n skupova D1 x D2 x. Tako se i svi redovi tabele međusobno razlikuju.6>..<4.3.4} i D2 = {4... odnosno nisu dozvoljene tabele u tabeli. Prethodni sistemi za upravljanje bazom podataka su organizovali zapise u hijerarhije i mreže implementiranih sa indeksima i povezanim listama...• Postoji nekoliko tipova sistema za upravljanje bazom podataka.. • • Primer logičkog i fizičkog modela podataka Relacioni model • Relacioni model poseduje semantički bogatije koncepte za opis strukture i znatno moćnije operacije. definišu se sledeći uslovi koje tabela mora da zadovolji da bi bila relacija: – Ne postoje duplikati vrsta tabele. sistemi za upravljanje bazom podataka se zasnivaju na relacionoj tehnologiji. – Redosled vrsta i redosled kolona nije značajan.6} D1 x D2 = {<1.. Ključevi • Ključevi se definišu kao jedan ili više atributa čija vrednost jedinstveno identifikuje jednu n-torku u relaciji. podskup sadrži one n-torke Dekartovog proizvoda koje zadovoljavaju zadatu relaciju.Dn je skup svih mogućih uređenih n-torki <d1.4>. tj. (Osnovno svojstvo svakog skupa je da se elementi koje on sadrži međusobno razlikuju.6>.<2.<3. • • • Ako je ključ definisan samo jednim atributom.<1.d2.6>}. • • • Tabela se može definisati kao matematička relacija i zatim iskoristiti bogata teorijska osnova odgovarajućeg matematičkog aparata. onda je to složeni ključ. jedan red u tabeli. d2 ∈ D2 . <3.d2> | d1 = d2/2} R = {<2.. Ako se definiše relacija R.dn> tako da je d1 ∈ D1. – Nisu dozvoljni atributi ili grupe atributa sa ponavljanjem.4>.4>. onda se može reći da ključ relacije R predstavlja kolekcija K njenih atributa koja zadovoljava : – osobinu jedinstvenosti i . Danas.6>...dn ∈ Dn. Na primer data su dva skupa brojeva: D1 = {1.x Dn. Primer: Definisati za prethodni primer nad skupovima D1 i D2 relaciju: R: D1 x D2 ={ <d1.<3. odnosno ukoliko je definisan sa više atributa. a svaka tabela nije.<2.4>. onda je to prost ključ. Relaciona baza podataka implementira podatke u seriji dvodimenzionalnih tabela koje su u međusobnoj relaciji preko spoljnih ključeva.) Pošto je relacija skup. Relacija se definiše kao podskup Dekartovog proizvoda nad n-skupova R ⊆ D1 x D2 x .6>}.4>.

Spoljni ključ ili preneseni ključ je atribut ili grupa atributa u relaciji R.sve se one nazivaju kandidati za ključ.– • • • • • • • • osobinu neredundantnosti. presek i diferencije nad relacijama R1 i R2 moraju zadovoljiti uslov kompatibilnosti. Osobina neredundantnosti se odnosi na gubljenje osobina jedinstvenosti ako se bilo koji atribut izostavi iz K. Relaciona algebra • Relaciona algebra definiše skup operacija pomoću kojih se. Za nivo relacione algebre operacije: unija. Ostali kandidati za ključ postaju alternativni ključevi. na proceduralan način. Relacioni račun koji predstavlja neproceduralan način iskazivanja operacija. Spoljni ključevi služe da se uspostave veze između relacija u relacionoj bazi podataka. tj. gde se pomoću konstrukcija predikatskog računa prvog reda definišu osobine relacije koja se želi dobiti. a odgovarajući atributi su definisani nad istim domenom. Operacije relacione algebre • Unija . Na primer. – Operacije sa null vrednostima. Osobina jedinstvenosti je vezana za ograničenje da ne postoje bilo koje dve n-torke sa istom vrednošću K. može dobiti željena relacija. – Operacije ažuriranja baze. Atributi koji učestvuju u ključevima nazivaju se ključni atributi. spajanje i deljenje). Primarni ključ je jedan od izabranih kandidata za ključ koji služi za identifikaciju n-torke relacije. Operacije relacionog modela • Postoje dva opšta načina iskazivanja operacija relacionog modela: – – Relaciona algebra u kojoj se definiše skup operacija pomoću kojih je moguće dobiti željenu relaciju iz skupa datih relacija. selekcija. U jednoj relaciji može postojati više različitih kolekcija K atributa koje zadovoljavaju definiciju ključa . dok se ostali nazivaju opisni atributi. Spoljni ključevi i njima odgovarajući primarni ključevi definisani su nad istim domenom. čija se vrednost koristi za povezivanje sa vrednošću primarnog ključa u nekoj relaciji R2. – Specijalne relacione operacije (projekcija. tj. • • Relacija se definiše kao podskup Dekartovog proizvoda i može se tretirati kao skup n-torki.tabela iz skupa datih relacija. relacije R1 i R2 moraju imati isti broj atributa (isti stepen). • Operacije nad relacijama mogu da se grupišu u: – Konvencionalne skupovne operacije (unija. – Dodatne operacije relacione algebre (operacije koje su se kasnije dodavale originalnoj relacionoj algebri da bi se povećala njena moć kao upitnog jezika). presek. razlika i Dekartov proizvod). u relaciji RADNIK spoljni ključ SIFRAODEL vezuje sa relacijom ODELJENJE.

Skladište – • Diferencija – Ako su date relacije R1 i R2 koje zadovoljavaju uslov kompatibilnosti. pomoću koje se izbaci cela n-torka u kojoj se nalazi posmatrani atribut.R2 predstavljaju n-torke relacije R1. Operacijom unije se mogu u neku relaciju dodati nove n-torke. • Presek – – – – • Izmena vrednosti pojedinih atributa u nekoj relaciji vrši se uzastopnom primenom operacije diferencije. Skladište Ako su date relacije R1 i R2 koje zadovoljavaju uslov kompatibilnosti. a operacijom diferencije se mogu iz neke relacije izbaciti neželjene n-torke. Marketing Odel4. Proizvodnja Odel2. Skladište • Relacija RR=Odel U NovoOdel (OdeID. Dekartov proizvod – Može se primeniti na bilo koje dve relacije.– Ako su date relacije R1 i R2 koje zadovoljavaju uslove kompatibilnosti. a zatim se operacijom unije "vraća" izbačena n-torka sa promenjenom vrednošću atributa. – Operacijom projekcija eliminišu se duplikati n-torki. Primer: • Definišimo relaciju NovoOdel (OdeID. NazivOdel) Odel4. koje nisu istovremeno i n-torke relacije R2. onda je rezultat operacije unije R3 = R1 U R2 relacija R3 koja sadrži sve n-torke koje se pojavljuju bilo u R1. Razvoj Odel5. Razvoj Odel5. NazivOdel) Odel1. onda rezultat operacije diferencije R3 = R1 . Računovodstvo Odel3. Operacije unije i diferencije su pogodne za ažuriranje baze podataka. – Primer: • R1 A B Građanin (MLB. onda je rezultat operacije preseka R3 = R1 ∩ R2 relacija R3 koja sadrži n-torke koje se pojavljuju u obe relacije R1 i R2. Projekcija – Unarna operacija koja iz neke relacije selektuje skup navedenih atrubuta. MestoRođ) a b 1111 Ana 19 Beograd • . Razvoj Odel5. bilo u R2. Starost. odnosno "vadi" vertikalni podskup iz odgovarajuće tabele. NazivOdel) Odel4. – Primer: • RRR = RR – Odel (OdeID. – Rezultat operacije R3 = R1 x R2 je relacija R3 čije su n-torke svi "parovi" koje čine jedna ntorka relacije R1 i jedna n-torka relacije R2. Ime.

– Primer: Student (BrInd. 111 22975718. Smer) 155/01 1111 Kompjuterski 255/02 2222 Izvršno upravljanje 322/01 3333 Međunarodno poslovanje Pr2= Građanin [Građanin. Spajanje – binarna operacija koja spaja dve relacije na taj način da se u rezultatu pojavljuju oni parovi ntorki jedne i druge relacije koji zadovoljavaju uslov zadat nad njihovim atributima.. • Predmet (PredmetID.MLB] Student Pr2 (MLB. – Primeri: • S[A=a]R1 ab a? • AB RR = S[Starost>24 AND MestoRodj = ‘Beograd’] RADNIK Starost MestoRodj OdelID Mika 33 Beograd odel1 Pera 29 Beograd odel1 • RadnikID MLB Ime 110 11971717. Smer) 1111 Ana 19 Beograd 1111 155/01 Kompjuterski 2222 Mirko 21 Valjevo 2222 255/02 Izvršno upravljanje 3333 Zoran 20 Beograd 3333 322/01 Međunarodno poslovanje Deljenje – pogodna za upite u kojima se javlja reč "svi". MLB. MestoRođ. – Primer: • Iz relacija Predmet i Prijava prikazati brojeve indeksa studenata koji su položili sve predmete.. NazivPredmeta) Prijava (BrInd. BrInd. Starost. PredmetID) p1 Matematika 155/01 p1 p2 Marketing 155/01 p3 • .. Ime..MLB=Student. MLB.a ? ? b ? ? • a ? • P[A]R1 Mirko 21 Valjevo Zoran 20 Beograd Ana 19 Niš Mirko 21 Beograd A Pr1:=π Ime. Starost (Građanin) Ime Starost Ana 19 Mirko 21 Zoran 20 2222 3333 4444 5555 Selekcija – unarna operacija koja iz date relacije selektuje n-torke koje zadovoljavaju zadati uslov ( "vadi" horizontalni podskup tabele).

uništavanje određenih podataka ili neusklađenost između memorisanih podataka kao posledica ažuriranja baze podataka itd. Kasnije je Fagin dokazao da u nekim izuzetnim primerima relacije. definisao postupak koji dovodi projektanta relacione baze podataka do željenog rezultata i nazvao ga “normalizacija” baze podataka. tada je atribut C funkcionalno zavisan o sastavljenom atributu A i B. . F. još uvek zadržavaju neke neželjene osobine i zato je definisao četvrtu normalnu formu (4NF). koje su u trećoj normalnoj formi. Ako je moguće svakom paru vrednost atributa A i B relacije R priključiti tačno jednu vrednost C iste relacije. kao što je na primer. • Potpuna funkcionalna zavisnost Atribut B je potpuno funkcionalno zavisan od atributa A iste relacije. a ne od nekog sastavnog dela atributa A (u slučaju kada je atribut A sastavljen). Codd je 1969. onda je atribut B funkcionalno zavisan od atributa A. • • Funkcionalna zavisnost se može definisati između složenog ključa (više atributa) i jednostavnog atributa. Potpuna funkcionalna zavisnost se posmatra kada je ključ tabele isključivo sastavljen od više atributa. Funkcionalna zavisnost • Ako je svakoj vrednosti atributa A u relaciji R priključena samo jedna vrednost atributa B u istoj relaciji.PredmetID ÷ Predmet. ako je funkcionalno zavisan od atributa A. god. • Pravilno projektovana baza podataka mora imati strukturu koja osigurava da u radu sa njom ne može biti neželjenih anomalija. Dobra je ona struktura baze podataka u kojoj je logička redundansa minimalna.p3 Informatika 255/01 p2 322/01 p1 155/01 p2 • Prijava [Prijava. E.PredmetID] Predmet BrInd 155/01 Normalizacija relacione baze podataka • Normalizacija je postupak projektovanja logičke strukture baze podataka. • • • Codd je definisao tri nivoa normalizacije.

a međusobno funkcijski nezavisni. Prva normalna forma • Proces normalizacije predstavlja transformaciju početne tabele u jednu ili više korektnih tabela (relacija) u kojima su svi atributi potpuno funkcijski zavisni od ključa. nazivaju se anomalije u održavanju baze podataka. Osnovne operacije održavanja baze podataka su: dodavanje nove n-torke u relaciju. ŠIFRA_PREDMETA. ako je funkcionalno zavisan od A i ako je funkcionalno zavisan od nekog atributa B koji je i sam funkcionalno zavisan od A. SEM. • • • Cilj normalizacije je da eliminiše redudansu u atributima i sa time omogući lakše održavanje integriteta podataka i jednostavniju manipulaciju. ŠIFRA_PREDMETA OCENA→ BI OCENA→ ŠIFRA_PREDMETA Atribut OCENA je potpuno funkcionalno zavisan od složenog atributa BI. Problemi pri izvođenju ovih operacija kao što su ponavljanje ovih operacija više puta ili da se logičko dodavanje ne može izvršiti. izbacivanje neke n-torke iz relacije i izmena (ažuriranje) vrednosti nekog atributa u relaciji. • • Tranzitivna zavisnost dovodi do veće redundanse. IME_RUK). odnosno nisu dozvoljene «tabele u tabeli». ŠIFRA_SMERA. ŠIFRA_PREDMETA NAZIV_PREDMETA→ BI NAZIV_PREDMETA→ ŠIFRA_PREDMETA Tranzitivna funkcionalna zavisnost • Atribut C je tranzitivno funkcionalno zavisan od atributa A. IME. • . STUDENT(BI.OCENA→BI. odnosno da izbacivanje jednog logičkog skupa podataka dovodi do neželjenog izbacivanja drugih podataka. Relacija je u Prvoj normalnoj formi ukoliko su sve vrednosti njenih atributa atomske ili drugim rečima nisu dozvoljeni atributi ili grupe atributa «sa ponavljanjem». NAZIV_PREDMETA→BI.

IME_STUDENTA. to se mora učiniti na onoliko mesta koliko je studenata položilo taj predmet. Ova relacija ima sledeće anomaliije u održavanju baze podataka: – anomalije u dodavanju: ukoliko je po novom nastavnom planu definisan novi predmet. Anomalije u ažuriranju: ukoliko se promeni naziv predmeta ili rukovodioc nekog smera. Da bi se smanjila redundansa do koje bi ovakva normalizacija dovela. odnosno koliko je studenata upisano na dati smer. SEMESTAR. ŠIFRA_SMERA. gube se i sve informacije o tom predmetu. IME_STUDENTA. ŠIFRA_PREDMETA. – Anomalije u izbacivanju: ukoliko je jedan predmet položio samo jedan student i ako se on ispiše sa fakulteta. OCENA) • IME_RUK. SIFRA_PREDMETA. OCENA) • • Relacija R se dekomponuje u svoje projekcije bez gubljenja informacija ako prirodno spajanje tako dobijenih projekcija dovodi do polazne relacije. operacijom projekcije. NAZIV_PREDMETA. SEMESTAR.Prva normalna forma STUDENT1 (BI. IME_RUK) PRIJAVA (BI. gube se sve informacije o tom smeru. dekomponovati na sledeće dve: – STUDENT1 (BI. NAZIV_PREDMETA. bi zahtevao složeniji program ili bi trebalo samu relaciju prestruktuirati i dobiti dve relacije sa istim skupom podataka za dva različita zahteva. možemo ovako dobijenu relaciju. čime bi se redundansa podataka pa samim tim i problemi održavanja baze podataka umnožili. – • Problemi i u izveštavanju: zahtev tipa: «Prikaži listu predmeta. Heath-ova teorema daje uslove pod kojima se može izvršiti dekompozicija relacije bez gubljenja informacija: . ne mogu se ubaciti podaci o tom predmetu dok ga neki student ne položi. ŠIFRA_SMERA. imena svh studenata koji su ga položili i prosečnu ocenu na predmetu». Ako je bio jedini na smeru.

ŠIFRA_SMERA) SMER (ŠIFRA_SMERA. na taj način što u jednoj projekciji ostavljamo primarni ključ i sve netranzitivno zavisne atribute. Redundansa podataka: naziv predmeta se pojavljuje onoliko puta koliko je studenata položilo taj predmet. PRIJAVA (BI. – Ako se promeni naziv predmeta. tada se gube sve informacije i o tom predmetu.B može→Relacija R(A. ŠIFRA_SMERA. NAZ_PRED. vršimo dekompoziciju (bez gubljenja informacija) relacije u njene projekcije. ukoliko svi njeni atributi daju jednoznačne činjenice samo o celom ključu. OCENA) PREDMET(ŠIFRA_PREDMETA. onda relacija PRIJAVA nije u 2NF. ŠIFRA_PRED. – Ako se iz baze podataka izbaci n-torka studenta koji je jedini položio neki predmet. u kojoj važi R.B.R.A se uvek dekomponovati u svoje projekcije R1(A. jer prosti ključ nema semantički moguć pravi podskup. a u drugim projekcijama se realizuju one funkcionalne zavisnosti koje su prouzrokovale nepotupune funkcionalne zavisnosti.B) i R2(A. SEM. Ponovo postoje sve iste anomalije u održavanju baze podataka: – Ne mogu se dodati podaci o novom predmetu. OCENA). IME_RUK) Boyce-Codd-ova normalna forma (BCNF) . STUDENT1 (BI. Svođenje na 2NF vrši se dekompozicijom na taj način što se u jednoj projekciji ostavlja primarni ključ i svi atributi koji su potpuno funkcionalno zavisni od njega. IME. Svođenje na 2NF vrši se dekompozicijom na taj način što se u jednoj projekciji ostavlja primarni ključ i svi atributi koji su potpuno funkcionalno zavisni od njega. niti deo kandidata za ključ. NAZIV_PREDMETA) Treća normalna forma • Relacija R je u Trećoj normalnoj formi (3NF) ako i samo ako je u 2NF i ako svi njeni neključni atributi netranzitivno funkcionalno zavise od primarnog ključa. Druga normalna forma • Relacija R je u Drugoj normalnoj formi (2NF) ako i samo ako je u 1NF i svi njeni neključni atributi potpuno funkcionalno zavise od primarnog ključa. a u drugim projekcijama se realizuju one funkcionalne zavisnosti koje su prouzrokovale nepotpune funkcionalne zavisnosti. SEM. S obzirom da je relacija R u 2NF. • • Neključni atributi su atributi koji nisu kandidati za ključ. ŠIFRA_PREDMETA.C) bez gubljenja informacija. ako ga neki student nije položio. Svaka relacija sa prostim primarnim ključem je u 2NF.C) gde su A.B i C podskupovi atributa. to se mora učiniti na onoliko mesta koliko je studenata položilo taj predmet itd. jer NAZIV_PREDMETA daje jednoznačnu informaciju o delu ključa i to ŠIFRA_PREDMETA. IME. – • • • PRIJAVA1(BI. IME_RUK) • Da bi smo datu relaciju sveli na 3 NF. a u drugim projekcijama se realizuju funkcionalne zavisnosti koje su dovele do tranzitivnih zavisnosti: STUDENT2 (BI.

mora se u relaciji STUDSMER izvršiti ažuriranje atributa IME_RUK. ŠIFRA_SMERA) STUDENT2 (BI. OCENA→BI. SEM. • Dekompozicijom. Relacija je u Boyce-Codd-ovoj normalnoj formi (BCNF) ako i samo ako su sve determinante u relaciji i kandidati za ključ. SEM. ŠIFRA_PREDMETA. OCENA→BI. jer da bi se dodali ili izbacili podaci o jednom studentu. za svaku vrednost BI koja odgovara datoj vrednosti ŠIFRA_SMERA iz relacije STUDENT2a. IME_RUK) SMER (ŠIFRA_SMERA. IME_RUK) se može svesti na 3NF na sledeća dva načina: (a) (b) STUDENT2a (BI. Rissansen-ova teorema daje sledeće uslove pod kojima se neka relacija može dekomponovati na nezavisne projekcije: – Projekcije R1 i R2 relacije R su nezavisne tada i samo tada ukoliko se: • . od koga neki drugi atribut u relaciji potpuno funkcionalno zavisi. ŠIFRA_PREDMETA NAZIV_PREDMETA→ŠIFRA_PREDMETA ŠIFRA_PREDMETA→NAZIV_PREDMETA • U ovom slučaju postoje dva složena i "preklapajuća" kandidata za ključ: BI. Jedini neključni atribut je OCENA. ŠIFRA_PREDMETA OCENA→BI. NAZIV_PREDMETA) Dekomozicija na zavisne i nezavisne projekcije STUDENT1 (BI. ŠIFRA_PREDMETA. IME. relacija je u 2 NF. NAZIV_PREDMETA. ŠIFRA_SMERA. NAZIV_PREDMETA NAZIV_PREDMETA→ŠIFRA_PREDMETA ŠIFRA_PREDMETA→NAZIV_PREDMETA sve determinante nisu kandidati za ključ pa relacija nije u BCNF. (KK) (KK) • • • NAZIV_PREDMETA. prost ili složen. ŠIFRA_SMERA) STUDSMER (BI. NAZIV_PREDMETA. Ukoliko označimo sve determinante (D) i sve kandidate za ključ (KK) u relaciji PRIJAVA: (D) (D) (D) (D). OCENA) PREDMET (ŠIFRA_PREDMETA. pri kojoj se iz relacije izvlače projekcije sa onim determinantama koje nisu kandidati za ključ. IME. PRIJAVA1 (BI. SEM.PRIJAVA (BI. OCENA) • Pretpostavimo da važe sledeće funkcionalne zavisnosti: NAZIV_PREDMETA→BI. ŠIFRA_PREDMETA i BI. to se mora uraditi u obe projekcije. pa pošto on potpuno funkcionalno zavisi od primarnog ključa. Determinanta relacije R je bilo koji atribut. relacije se svodi na BCNF. IME. ili da bi ažurirali atribut IME_RUK. IME_RUK) • Projekcije (a) pokazuju izvesne anomalije u održavanju. ŠIFRA_PREDMETA ŠIFRA_PREDMETA.

• •

Svaka funkcionalna zavisnost u R može logički dedukovati iz funkcionalnih zavisnosti u R1 i R2. Zajednički atribut relacija R1 i R2 je KK barem u jednoj od njih.

Četvrta normalna forma PROGRAM (PREDMET, NASTAVNIK, KNJIGA) • ukoliko pretpostavimo da jedan predmet predaje više nastavnika, i da se za jedan predmet koristi više knjiga, odnosno postoje sledeće višeznačne zavisnosti: KNJIGA→→ PREDMET

NASTAVNIK→→ PREDMET • • •

i pretpostavimo da ne postoji veza između nastavnika i knjiga odnosno da se ne zna koji nastavnik koristi koje knjige i da li koristi jednu ili više. Data relacija PROGRAM je u BCNF, ali anomalije u ažuriranju su očigledne, jer da bi ubacili knjigu za jedan predmet, to bi trebalo da uradimo na onoliko mesta koliko profesora drži taj predmet. Razlog anomalijama jeste postojanje dve nezavisne višeznačne činjenice. U relaciji R(A,B,C) postoji višeznačna zavisnost B, ako za datu vrednost A,→→ postoji skup od A nula, jedne ili više vrednosti B, a taj skup vrednosti ni na koji način ne zavisi od vrednosti atributa C. Atributi A, B i C mogu biti složeni. Relacija R je u četvrtoj normalnoj formi (4NF) ukoliko u njoj nisu date dve ili više nezavisne višeznačne činjenice.

• •

Fagin navodi: Relacija R (A,B,C) može se dekomponovati bez gubljenja informacija na projekcije C, jer ako u relaciji→→B (što uključuje i A→→ R1(A,B) i R2 (A,C) ako i samo ako važi A C).→→B, tada postoji i višeznačna zavisnost A→→ postoji višeznačna zavisnost A RASPORED (PREDMET, NASTAVNIK) UDŽBENIK (PREDMET, KNJIGA) • Relacije RASPORED i UDŽBENIK su u 4NF jer u njima ne postoje višeznačne zavisnosti samim tim što su obe binarne relacije, odnosno obe sadrže samo po jednu višeznačnu činjenicu.

Peta normalna forma • U relaciji R(X,Y, ... Z) postoji zavisnost spajanja ako i samo ako relacija R rezultuje iz prirodnog spajanja njenih projekcija po X, Y, ..., Z, gde su X,Y, .. Z podskupovi atributa relacije R. • Relacija R je u Petoj normalnoj formi (5NF) ako i samo ako se svaka zavisnost spajanja može pripisati kandidatu za ključ.

STUDENT2 (BI, IME, SEM, ŠIFRA_SMERA) R1 (BI, IME) R2 (BI, SEM) R3 (BI, ŠIFRA_SMERA)

Relacija STUDENT2 se može rekonstruisati prirodnim spajanjem preko BI, koji je njen ključ, pa je stoga relacija STUDENT2 u 5 NF. Normalna forma ključeva i domena (DK/NF) • 1981. - R. Fagin je dao najopštiju definiciju normalne forme ključeva i domena i pokazao da je relacija koja je u DK/NF ne prouzrokuje anomalije u održavanju. • Relacija je u DK/NF: – Ako su sve zavisnosti u njoj posledica definicije ključeva i domena. – Ako svaki atribut daje informaciju isključivo o ključu, o celom ključu i njegovim delovima.

PRIJAVA(BI, ŠIFRA_PREDMETA, NAZIV_PREDMETA, OCENA) • • Nije u DK/NF jer je definisano ograničenje da jedan predmet ima jedan naziv (ŠIF_PREDMETA →NAZIV_PREDMETA), a to nije posledica definicije ključa ove relacije. Direktna primena ove definicije nije moguća, jer otkrivanje ograničenja u relacijama zahteva otkrivanje funkcionalnih, višeznačnih i zavisnosti spajanja, a to praktično znači primenu svih navedenih definicija.

INTEGRITET BAZE PODATAKA Zaštita baze podataka • Termin integritet podataka označava tačnost, korektnost ili konzistentnost. • • Integritet baze podataka podrazumeva problem zaštite baze podataka od pogrešnog ažuriranja, odnosno od pogrešnih ulaznih podataka, greški operatera i programera, sistemskih otkaza i dr.

Zaštitu baze podataka tretiramo kroz dva aspekta i to: – Integritet – zaštita od slučajnog pogrešnog ažuriranja i – Sigurnost – zaštita od neovlašćenog ažuriranja i korišćenja podataka. Pravila integriteta • Pravila integriteta definišu koje uslove podaci u BP treba da zadovolje, kada se vrši provera i koje akcije treba preduzeti kada definisani uslovi nisu zadovoljeni. Pravila integriteta se dele u dve klase: – Pravila integriteta domena – definišu se za vrednosti pojedinih atributa nezavisno od vrednosti ostalih atributa u BP (karakterističan primer je integritet objekta), i – Pravila integriteta relacija – odnose se na relaciju kao celinu, odnosno definišu kada neka ntorka može da se ubaci u relaciju ili kako n-torke jedne relacije zavise od n-torki druge relacije (karakterističan primer je referencijalni integritet). Pravila integriteta domena • Definišimo domen STAR, nad kojim je definisan atribut STAROST relacije RADNIK: Domen: STAR Skup od INTEGER Operacije: Proveri-domen-STAR •

Ulaz: vrednost_atributa Izlaz: Boolean Post: if vrednost_atributa between 15 and 65 then izlaz = true else izlaz = false. Pravila integriteta relacije • Najznačajnija pravila integriteta relacija su referencijalni integriteti. • • Za svaki spoljni ključ u relaciji mora se definisati jedno pravilo integriteta koje se sastoji od uslova, trenutka kada se uslov ispituje i akcija koje se preduzimaju kada uslov nije zadovoljen.

Akcije koje se preduzimaju ako uslov integriteta nije zadovoljen su sledeće: – RESTRICTED – Kada se uslov ispituje pre operacije održavanja i ako nije zadovoljen, operacija se odbija, uz odgovarajuću poruku. – NULLIFIES – Spoljni ključ dobija nula vrednost, ako je nula vrednost dozvoljena. – DEFAULT – Spoljni ključ dobija neku difoltnu vrednost koju treba unapred predvideti u definiciji odgovarajućeg domena. – CASCADES – Operacija se prenosi na relaciju koju referiše spoljni ključ, da bi se u njoj izvršile promene koje će zadovoljiti uslov integriteta. Pravila integriteta relacija kod povezivanja objekata • Ukoliko posmatramo dva objekta koja su u vezi (prvi objekat nazvaćemo domen, a drugi objekat koji je sa njim u vezi nazvaćemo kodomen), i želimo da ih povežemo (connect). Akcije koje se mogu preduzeti su sledeće: RESTRICTED – operacija se odbija jer ne postoji objekat kodomen. NULLIFIES – umesto sa navedenim objektom kodomena, ako to pojavljivanje ne postoji, povezivanje se izvršava sa specijalnim pojavljivanjem kodomena, tzv «nula objektom», čije je značenje «nepoznati objekat». – DEFAULT – umesto sa navedenim objektom kodomena, ako to pojavljivanje ne postoji, povezivanje se izvršava sa «default» objektom kodomena. Pretpostavlja se da se difolt objekat kodomena definisan. – CASCADES – ako objekat kodomena sa kojim dati objekat domena treba da se poveže ne postoji moguće ga je prvo kreirati operacijom insert (ubaci), pa zatim izrvšiti odgovarajuće povezivanje. Pravila integriteta relacija kod razvezivanja objekata • Operacija disconnect (razveži) raskida vezu objekta domena sa nekim kodomenom i na taj način, ako je posmatrano preslikavanje obavezno, narušava odgovarajuće strukturno ograničenje. – – – – RESTRICTED – odbija se operacija. NULLIFIES – razvezuje se pojavljivanje objekta domena od navedenog pojavljivanja objekta kodomena i vezuje za «nula objekat» kodomena. DEFAULT – razvezuje se pojavljivanje objekta domena od navedenog pojavljivanja objekta kodomena i vezuje za «default» objekat kodomena. CASCADES – izbacuje se pojavljivanje objekta domena koji posle operacije disconnect ostaje da «visi». – –

GRANT privilegije [ON objekat] TO subjekat [WITH GRANT OPTION] • Primer: GRANT SELECT. INSERT ON RADNIK TO Ana GRANT SELECT. .promeniti INSERT . MESTO FROM PREDUZECE. treba navesti odgovarajuće pravilo integriteta. • Opšti model zaštite podataka treba da definiše koji subjekat zaštite. može nad kojim objektom zaštite da izvrši neku operaciju i pod kojim uslovima. WITH GRANT OPTION – znači da autorizovani subjekt može da prenosi svoju autorizaciju i drugim subjektima. • Opis privilegija: – – – – – – SELECT . Sigurnost baze podataka • Termin sigurnost podataka podrazumeva mehanizme zaštite baze podataka od neovlašćenog korišćenja.selektovanje UPDATE . za svaki spoljni ključ.Izbor podataka iz tabela SELECT SIFRA_PRED. U opisu svake relacije. se daje pomoću naredbe GRANT.Pravila integriteta treba da budu definisana u okviru opisa baze podataka. NAZIV. • SQL naredbe za dodelu ovlašćenja pristupa bazi podataka • Ovlašćenje korisnicima.ubaciti DELETE – obrisati DBA – za administratora baze podataka kome su dozvoljene sve operacije nad njegovom bazom. DELETE ON RASPORED TO Branko WITH GRANT OPTION GRANT DBA TO Pera. a ne u okviru aplikacionih programa. INSERT. prema SQL standardu. Structured Query Language (SQL) Osnovne SQL naredbe • Naredba SELECT .

RADNO_MESTO CHAR (10). ‘PRODAJA’.kreiranje tabela CREATE TABLE PREDUZEĆE (SIFRA_PRED NUMBER (2) NOT NULL. RUKOV NUMBER (4).2). RADNO_MESTO. PLATA NUMBER (7.Izbor određenih redova SELECT * FROM RADNICI WHERE SIFRA_PRED = 30.Ubacivanje redova u tabelu INSERT INTO PREDUZEĆE VALUES (30. • Klauzula WHERE . ‘BEOGRAD’). PREZIME CHAR (10). DATUM_ZAPOSL DATE. Konektor OR . MESTO CHAR (13)) CREATE TABLE RADNICI (STFRA_RADN NUMBER (4) NOT NULL.SELECT * FROM RADNICI. • Naredba CREATE TABLE . RADNO_MESTO. NAZIV CHAR (14). PLATA FROM RADNICI WHERE RADNO_MESTO = ‘DIREKTOR’ OR PLATA > 22000 • . PLATA FROM RADNICI WHERE RADNO_MESTO = ‘DIREKTOR’ AND PLATA > 22000. • Konektor AND .2).alternativni uslovi pretraživanja SELECT PREZIME.višestruki uslovi pretraživanja SELECT PREZIME. STIMUL NUMBER (7. SIFRA_PRED NUMBER (2)) • Naredba INSERT .

tako da je najmanja plata na prvom mestu liste. RADNO_MESTO. • Operator LIKE – Možete izabrati redove koji sadrže navedeno slovo ili broj. 30). U primeru je dat spisak svih radnika koji imaju “U” kao drugo slovo u prezimenu.Eliminacija duplih slogova SELECT DISTINCT RADNO_MESTO FROM RADNICI.Opadajući niz SELECT RADNO_MESTO.Pretraživanje vrednosti u listi SELECT * FROM PREDUZEĆE WHERE ŠIFRA_PRED IN (10. • Klauzula DESC .Pretraživanje raspona podataka SELECT PREZIME.SELECT PREZIME.Redosled slogova SELECT PLATA. ali da odgovarajući slogovi budu prikazani po stavci plate. PLATA DESC. PREZIME FROM RADNICI ORDER BY RADNO_MESTO. PLATA. • Klauzula DISTINCT . RADNO_MESTO. u rastućem redosledu napisaćemo: Klauzula ORDER BY . PREZIME FROM RADNICI WHERE ŠIFRA_PRED = 10 ORDER BY PLATA. ŠIFRA_PRED FROM RADNICI WHERE RADNO_MESTO =‘DIREKTOR’ AND ŠIFRA_PRED != 30. • . • Operator BETWEEN . • SELECT PREZIME FROM RADNICI WHERE PREZIME LIKE ‘_U%’. ORDER BY klauzula sortira redove u rastućem nizu. crtica (_) označava poziciju jednog karaktera. a znak % označava bilo koji niz znakova. . PLATA FROM RADNICI WHERE PLATA BETWEEN 12000 AND 15000. Operator IN . – Ako želimo da prikažemo listu zaposlenih u odeljenju 30. Kod (‘_U%’).

ŠIFRA_PRED = PREDUZEĆE. • Naredba INSERT .Izmena vrednosti u poljima UPDATE RADNICI SET PLATA = PLATA + 100 WHERE RADNO_MESTO = ‘PROJEKTANT’. SELECT ŠIFRA_PRED.Dodavanje novih slogova . Na primer. PLATA FROM RADNICI WHERE PLATA > (SELECT AVG (PLATA) FROM RADNICI). RADNO_MESTO.Povezivanje više tabela SELECT NAZIV. PLATA DESC.Brojač broja redova koji pripadaju svakoj od ovih grupa. – – – • SUM . • Klauzula GROUP BY . SUM (PLATA).ŠIFRA_PRED GROUP BY NAZIV. PREDUZEĆE WHERE RADNICI. RADNO_MESTO.Grupna funkcija – Grupna funkcija dozvoljava da izaberete sumarne informacije iz grupe redova (slogova).Nalazi prosečnu vrednost određenih polja. SELECT PREZIME.Upit unutar postojećih upita SELECT PREZIME.ŠIFRA_PRED ORDER BY NAZIV. • Naredba UPDATE . PODUPITI . AVG . COUNT . PREDUZEĆE WHERE RADNICI. SELECT NAZIV. MAX (PLATA) FROM RADNICI GROUP BY ŠIFRA_PRED.COUNT (*). PREZIME.• Upit JOIN . radnike iz istog odeljenja stavljamo u jednu grupu kako bi pronašli maksimalnu platu u svakoj od tih grupa. AVG (PLATA) FROM RADNICI. PLATA FROM RADNICI.Sabira vrednosti polja definisanih u GROUP BY klauzuli. RADNO_MESTO FROM RADNICI WHERE RADNO_MESTO = (SELECT RADNO_MESTO FROM RADNICI WHERE PREZIME = ‘JOVIĆ’).ŠIFRA_PRED = PREDUZEĆE. RADNO_MESTO.

.25 * PLATA. • Naredba DELETE . RADNO_MESTO. PLATA. ali usled otkaza u tom trenutku se nije izvršio prenos na drugi račun). RADNO_MESTO. CREATE VIEW PRED10 AS SELECT ŠIFRA_PRED. kao na primer:  Otkaz sistema u toku izvršavanja nekog programa ili obrade neke transakcije (na primer skinute su pare sa računa nekog komitenta. PLATA.INSERT INTO STIMULACIJA (PREZIME. ali se sa njima može raditi kao da su stvarne tabele. Ciljevi pogleda su: • pojednostavljenje pristupa podacima. PLATA. Aritmetrički izrazi u okviru SQL-a • Aritmetički operatori SELECT PREZIME. PLATA + STIMUL FROM RADNICI WHERE RADNO_MESTO = ‘REFERENT’.Brisanje slogova iz tabele DELETE FROM PREDUZEĆE WHERE ŠIFRA_PRED = 40 . Pogledi ne sadrže vlastite podatke. STIMUL FROM RADNICI WHERE STIMUL > 0.  Kod istovremenog korišćenja može doći do mnogih neželjenih efekata. STIMUL. STIMUL) SELECT PREZIME. PREZIME. RADNO_MESTO FROM PREDUZEĆE WHERE ŠIFRA_PRED = 10. Oporavak baze podataka i upravljanje izvršenjem transakcija  Baza podataka je zajednički resurs koga konkurentno (istovremeno) koriste veći broj programa. • CREATE VIEW .Kreiranje pogleda – – – Pogledi su virtualne tabele koje se ponašaju kao prozori kroz koje se vide podaci memorisani u našim stvarnim tabelama. • obezbeđenje nezavisnosti podataka i • obezbeđenje trajnosti podataka.

Naredba COMMIT ugnježdene transakcije stvarno ne potvrđuje promene u bazi dok se uspešno ne okonča i transakcija na najvišem nivou ugnježdenja.  Osnovni cilj baze podataka je da omogući efikasnu obradu transakcija.  Transakcija mora da poseduje sledeći skup osobina:  Atomnost – skup aktivnosti nad bazom podataka koje se izvršavaju po principu “sve ili ništa” (ili su sve aktivnosti uspešno obavljene ili je BP ostala nepromenjena) je atomski skup aktivnosti. a promene koje je ona učinila još nisu potvrđene naredbom COMMIT. Problem nepotvrđenih promena (čitanja)  Ovaj problem se javlja kada se jednoj transakciji dozvoli da čita ili da menja rekord koji druga transakcija ažurira. DBMS poseduje i održava specijalnu memorijsku lokaciju (na nekoj spoljnoj memoriji) koja se naziva log ili žurnal. dok transakcije B ulaže novac na isti račun. skup instrukcija koje predstavlja transakciju počinje sa specijalnom instrukcijom BEGIN TRANSACTION. odnosno prebrisano ažuriranjem koje je izvršila transakcija B u istom trenutku).  Na ovoj memorijskoj lokaciji.  Da bi se obezbedile ove osobine.  Problem nekorektne analize podataka (na primer. transakcija je izvršenje neke logičke jedinice rada korisnika baze podataka.  Trajnost – Kada su u BP potvrđene promene koje je izvršila neka transakcija. koristeći vrednosti pre za datu transakciju. ove promene se više ne mogu izgubiti. odnosno dozvoljeno je da se jedna transakcija smesti u drugu. Ažuriranje koje transakcija A obavlja je izgubljeno. za svaku transakciju i svaki objekat baze koji je ona ažurirala čuvaju se vrednosti pre (before-image) i vrednosti posle ažuriranja (after-image). druga promeni vrednost argument koji je prva već obradila). poništavaju se promene koje su proizvele sve ostale transakcije strukture.  U savremenim DBMS transakcije mogu biti “ugnježdene”. transakcija A podiže.  Osnovni cilj baze podataka je da omogući efikasnu obradu transakcija (jedno izvršenje neke logičke jedinice posla ili programa).  Konzistentnost – izvršenje transakcije treba da prevede BP iz jednog u drugo konzistentno stanje. Gubljenje rezultata ažuriranja (na primer. za vreme nekog sračunavanja koje se obavlja u jednoj transakciji.  Da bi se mogle poništiti promene koje je transakcija izvršila nad BP. ukoliko se izvršavaju dve transakcije istovremeno. ažurira odgovarajuće objekte baze podataka. Transakcije  Transakcija je operacija kojom se izvodi serija izmena nad jednom ili više tabela. Konkurentna obrada transakcija .  Ukoliko se u bilo kojoj transakciji ugnježdene strukture pokrene instrukcija ROLLBACK. tj. a završava se bilo sa instrukcijom COMMIT (potvrđuju se promene u BP) ili ROLLBACK (poništavaju se promene u bazi).  Izolacija – Transakcija ne treba da svoje promene BP učini vidljivim drugim transakcijama pre nego što se ona okonča.  Kada se izda instrukcija ROLLBACK sistem.

serijsko izvršenje transakcija je izvršenje u kome se transakcije ne prepliću. Ako transakcija nije uspela da postavi lokot na željeni objekat baze. Transakcija koja želi da ažurira neki objekat baze mora prvo da postavi eksluzivni lokot na taj objekat.  Ovaj mehanizam upravljanja izvršenjem skupa transakcija omogućava da transakcija “zaključa” (postavi lokot) na objekat baze kome je pristupila. odnosno da lokoti koje su one postavile na objekte baze sve njih dovode u stanje čekanja. neka druga transakcija takođe može da postavi deljivi lokot na isti objekat baze. Ako je ta transakcija ranije postavila S lokot.  Deljivo zaključavanje (shared (SL) lock ili read lock) – ukoliko neka transakcija postavi deljivi lokot na objekat baze. neke od njih su:  Ekskluzivno zaključavanje (exclusive (XL) lock ili write lock) – ako neka transakcija postavi ekskluzivni lokot na objekat baze. 2. “Živi” i “mrtvi” lokoti  U toku izvršenja skupa transakcija.  Velika je verovatnoća da ničim ograničeno izvršenje jednog skupa transakcija neće biti serijabilno. ona treba da taj lokot transformiše u X lokot. Transakcija se u sistemima zasnovanim na bazi podataka ne obavlja u izolaciji. ali nijedna druga ne može da postavi eksluzivni lokot na taj objekat.  Više transakcija mogu istovremeno zahtevati iste resurse.  Nekontrolisana međusobna interferencija transakcija može da dovede bazu u nekonzistentno stanje.  Postoje više različitih vrsta zaključavanja. moguće je da dve ili više transakcija formiraju “mrtvi lokot”. već se prvo potpuno izvrši jedna.  Protokol zaključavanja koji bi mogao da reši prikazane probleme može se iskazati na sledeći način: 1. tada ona prelazi u stanje čekanja. pa onda druga transakcija. Transakcija oslobađa E lokot obavezno. isti rekord baze podataka. 3.  Komponenta koja upravlja celokupnim izvršenjem transakcija naziva se Menadžer transakcije. Protokoli zaključavanja  Za razliku od konkuretnog .  Zadatak planera izvršenja je da proveri serijabilnost nekim i da spreči da neserijabilna izvršenja naruše integritet baze podataka.  Komponenta DBMS-a koja vodi računa o redosledu izvršavanja akcija nad bazom u skupu transakcija koje se konkuretno izvršavaju se zove Planer.  S obzirom da proveru serijabilnosti i preduzimanje odgovarajućih akcija planer izvršenja teško može da obavi u realnom vremenu primenjuje se mehanizam zaključavanja (locking). sa COMMIT i ROLLBACK naredbom. 4. da bi onemogućila da druge transakcije nekorektno operišu sa istim objektom. već konkuretno (uporedo) sa drugim transakcijama u sistemu. Transakcija koja želi da pročita neki objekat baze mora prvo da postavi deljivi lokot na taj objekat. a po pravilu i S lokot na kraju. nijedna druga transakcija ne može da taj objekat postavi bilo koji drugi lokot. .

Ukoliko istekne vreme transakcija se poništava i ponovo startuje. jer ovakvo zaključavanje nije po definisanom protokolu. definisane tipove čvorova. neke interaktivne aplikacije dok su neke realizovane i potpuno ručno. Putanja od početnog čvora do bilo kog terminalnog čvora predstavlja moguću sekvencu akcija. standardom UML-a. jedna od putanja od početnog čvora do uspešnog ili neuspešnog završetka. .  Saga se može definisati kao graf koji ima. koji bi doveo do mrtvog čvora. a u slučaju neuspešnog koristi se mehanizam kompenzacionih transakcija da bi se baza vratila u isto stanje u kome je bila pre otpočinjanja sage.  Workflow sistemi – sistemi u kojima se jedna logička jedinica posla za korisnika.). reda desetine minuta. gde se blokovi uređuju po njihovim adresama na spoljnoj memoriji (A1<A2<A3 .  Celokupna dugačka transakcija. sati ili čak nekoliko dana. Dugačke transakcije  Postoje aplikacije u kojima su transakcije mnogo duže.  Prevencija lokota – definisanje različitih protokola koji će sprečiti da dođe do mrtvog čvora. se obavlja na taj način što se u slučaju uspeštnog kraja zadržavaju sve promene koje su učinile pojedine aktivnosti.  Za razrešavanje problema mrtvih lokota koriste se tri tehnike:  Prekidanje transakcije posle isteka intervala vremena – koristi se parametar timeout koji menadžer lokota dodeljuje transakciji pri pokušaju zaključavanja nekog objekta.  Konkurentno upravljanje sagama se obavlja na sledeći način:  Svaka aktivnost se može tretirati kao posebna “kratka” transakcija koja se izvršava pod kontrolom konvencionalnih mehanizama za upravljanje transakcijama. Pretpostavlja se da više projektanata radi na istom projektu i da postoji zajednička baza projekta. Pojam “živog lokota” se definiše kada je neka transakcija stalno u stanju čekanja na neki objekat baze zbog toga što druge transakcije uvek pre nje postave lokot na taj objekat.  Projektni sistemi – CAE.  Primeri aplikativnih sistema sa dugim transakcijama su:  Neke transakcije u poslovnim aplikacijama – na primer ispitivanje svih računa u nekoj banci kako bi se proverilo ukupno stanje računa banke. Na primer ako transakcija T1 zahteva A1 pa A2. obavlja preko sekvence aktivnosti od kojih neke mogu biti programi. Prikazani mehanizmi zaključavanja u kome bi neka transakcija ovako dugo ekskluzivno zaključala elemente baze koje koristi je neprihvatljivo. Na primer uređenje elemenata baze. CASE i dr preko kojih se projektuju različiti inženjerski sistemi. Jedan projektant može da preuzme jedan deo podataka iz baze i da sa njim radi svoj deo projekta i nekoliko dana..  Problem “živog lokota” se jednostavno rešava uvođenjem nekog redosleda zaključavanja objekta (na primer FIFO). CAD. Koncept “saga”  Standardni skup čvorova u UML-u je proširen za čvor “Neuspešan kraj aktivnosti – abort” da bi se uveo osnovni koncept u teoriji upravljanja dugačkom transakcijama – koncept “sage”. Očigledno postoji potreba za istim podacima od strane i drugih projektanata. transakcija T2 neće moći da traži lokote u redosledu A2 pa A1.  Detekcija “mrtvog čvora” – dozvoljava se da dođe do mrtvog lokota. ali transakcija koja ga je izazvala se ubija i njeni efekti na bazu se poništavaju.

pad glave diska) koristi se poslednja arhivska kopija cele baze za njen oporavak. Jedan skup redundantnih podataka se čuva u logu.  Da bi se oporavak baze mogao uspešno izvršiti neophodno je da DBMS obezbedi redundante podatke. preko posebno definisanih protokola oporavka. Projektovanje korisničkog interfejsa Koraci projektovanja korisničkog interfejsa • Korak 1: Grafički prikazati dijalog • Dijagram prelaznog stanja (State Transition Diagram) se koristi da opiše niz i varijaciju ekrana koji se dešavaju kada korisnik sistema sedne za terminal. . oporavak se vrši korišćenjem loga. U ovom slučaju DBMS vodi računa o sledećim otkazima:  Softverski ili hardverski otkaz koji ne oštećuje bazu (nestanak napajanja).  Akcije sistema za konkurentnu obradu transakcija.  Log se koristi za otkaze koji fizički ne oštećuju memorijske jedinice (diskove) na kojima se čuva baza.  Tipična strategija za oporavak baze podataka je:  Ukoliko su oštećenje memorijske lokacije (na primer.Oporavak baze podataka  Oporavak baze podataka je vraćanje baze podataka u korektno stanje posle nekog otkaza.  Otkaz u samoj transakciji. na primer zbog deljenja sa nulom. dok arhivska memorija služi za oporavak posle ovakvih otkaza. a drugi skup u arhivskoj memoriji u koju se povremeno prenosi sadržaj cele baze. ubijanje transakcije koja je izazvala mrtvi lokot ili neserijabilnost izvršenja skupa transakcija i sl.  Kada baza nije fizički oštećena.

 Projektovanje Data Warehouse  Pre nego što se kreira OLAP baza podataka. korisnici sistema koriste prototipove interfejsa. • Korak 3: Obezbediti povratnu vezu od korisnika • • U okviru ovog koraka. . kako bi ih testirali i eksperimentisali nad njima.  Definisanje OLAP rešenja  OLAP tehnologija predstavlja jednu alternativu tehnologiji relacione baze podataka. analizu i navigaciju. Neki CASE proizvodi. OLAP nudi brzi i fleksibilan pregled podataka.• Korak 2: Napraviti prototip dijaloga i korisnički interfejs • Na osnovu dijagrama prelaznog stanja prave se prototipovi za svaki od procesa. vrše i njihova testiranja kroz simulacije. pored toga što mogu da dizajniraju ekrane. Uvod u Data Warehousing i OLAP Pregled sadržaja  Uvod u Data Warehousing  Razumevanje data warehouse sistema je veoma bitno kada se projektuju i implementiraju sistemi za podršku odlučivanju. neophodno je razumeti komponente data warehouse-a koje se koriste pri izgradnji OLAP baze podataka.

 Sirov podatak:  Maloprodajni lanac prodavnica internacionalne muzičke kuće prikuplja podatke o prodaji za svaki kupljeni proizvod.  Stefan živi u Beogradu. održavaju integritet podataka i upravljaju transakcijama što je brže moguće. . analitičke baze podataka U tabeli su date neke od razlika između transakcionih sistema i skladišta podataka. otvaranje računa klijentima). daju izveštaje. podatke o obrtu kapitala i dr. vrše izmene nad postojećim podacima. Koji je efekat promocije proizvoda?. Razumevanje OLAP modela i primena OLAP kocke  Kako primeniti koncepte projektovanja Data Warehouse-a da bi se projektovali i kreirali OLAP modeli. godini iznosio 15. depoziti) itd. S toga bi možda on bio zainteresovan za specijalnu kreditnu karticu koji mu omogućava neograničen pristup svom računu u 16 različitih zemalja uz odgovarajuću godišnju članarinu. aplikacije usluga klijenata (npr. Pitanja koja se postavljaju nakon ove analize su: Koji je prosečan dnevni bilans njegovog računa?.  Skladište podataka (Data Warehouse – DW) je analitička baza podataka namenjena samo za čitanje i koristi se kao osnova sistema za podršku odlučivanju. obezbeđujući informacije koje se koriste za donošenje odluka.000 evra. očigledno je da lanac prodavnica u Beogradu nije ispunio željeni cilj. da lanac prodavnica u Beogradu prodaje 10000 evra vrednosti prodate robe u Junu 2003. Pitanja koja se postavljaju su: Koji se proizvodi prodaju. Analiza poslovanja treba da odredi posledice pada prodaje. poslovne informacije  Kompanija svakodnevno prikuplja velike količine podataka. Stockolm-u. Sirov podatak na primer.  Izvedene informacije:  S obzirom da je vrednost prodate robe u 2002.  Opisuju se osnove OLAP kocke demonstriranjem metoda za vizuelizaciju multidimenzionalnih baza podataka. bankarske funkcije (npr.. podigao 50 evra sa svog računa jutros u Amsterdamu. OLTP vs.000 evra. Sirov podatak opisuje na primer. može pokazati da je Sefan M. što dovodi do zaključka da on često putuje po Evropi.  Analitički sistemi nisu predviđeni da obavljaju ove poslove. a postavljen cilj za 2003. a koji ne?. godinu je bio 20. Za koje proizvode bi bio zainteresovan? OLTP sistemi  OLTP (on-line transaction processing) sistemi su operacioni sistemi koji prikupljaju poslovne transakcije i snabdevaju podacima data warehouse ili data mart. ali u proteklih pet meseci. Oni se dizajniraju za veliki broj podataka namenjenih samo za čitanje.  Primeri OLTP operacionih sistema: aplikacije praćenja porudžbina. Ti podaci su često sirove činjenice koje odražavaju tekuće stanje poslovanja. Sirovi podaci vs. Stefan je podizao novac u Londonu.  Finansijska institucija prikuplja podatke o svim računima i ušteđevinama klijenata.  Jedna od karakteristika koja razdvaja transakcione sisteme od analitičkih jeste dizajn baze podataka:  Transakcioni sistemi su dizajnirani tako da preuzimaju podatke. Oslo-u.

kakav je potreban za donošenje odluka najvišeg strateškog nivoa. statistike. u bilo koje vreme. Warehousing pristup omogućava brzu manipulaciju.  nepromenljivi – podaci se. simultane funkcije i analizu vremenskih serija. multidimenzionalni pristup podacima. nalaženja relativnih vrednosti i kreiranja šta-ako scenarija. koje omogućavaju slojevit.  Menadžeri samostalno vrše analize .  vremenski zavisni – svi podaci su u vezi sa nekim vremenskim trenutkom na osnovu kojeg se podaci mogu i porediti.Data Warehousing (DW)  Skladištenje podataka . kreiranje tabela i grafika u cilju izrade i slanja izveštaja korišćenjem Internet servisa.donosioci odluka su pod velikim pritiskom jer moraju da zasnivaju svoje analize na osnovu tekućih činjenica koje se dobijaju iz raznih poslovnih situacija.  Skladište podataka je baza podataka za procese podrške odlučivanju u kojoj su podaci:  Subjektno-orjentisani – odslikavaju poslovne procese. ekstrahovanih i filtriranih podataka u meta baze. tačnije – ostvarenje principa "Biti uvek na usluzi korisniku informacija".  Warehousing omogućava donošenje strateških odluka – Strateške odluke zahtevaju predviđanje. Koncept Warehousing  Warehousing koncept je skladištenje agregiranih. mernih jedinica itd.  Osnovni cilj skladištenja podataka je prikupljanje i distribucija informacija kroz preduzeće. najčešće.  Skladište podataka je informaciona baza podataka dizajnirana za podršku jedne ili više klasa analitičkih zadataka. lokalne proračune za analize trendova.  integrisani – baza podataka konsoliduje podatke iz različitih sistema koji koriste razne vrste kodovanja. tj. . analiza i dijagnoza i simulacija i planiranje. kao što su nadgledanje i izveštavanje. sa bilo kog mesta. Korisnici skladišta podataka mogu da postavljaju raznovrsna analitička pitanja na bazi poređenja u vremenu. Te činjenice se čuvaju u on-line transakcionim (OLTP) sistemima i nije im lako pristupiti. i obezbeđuje konzistentnost podataka.DW je proces integracije podataka u jedan repozitorijum iz kojeg krajnji korisnici mogu sprovoditi ad-hock analize podataka i praviti izveštaje. korišćenje bilo koje informacije. pridodaju već postojećim umesto da ih zamenjuju.

ne podržava koristničke izveštaje. kao što je to slučaj sa transakcionim sistemima. Data martovi mogu biti uključeni u DW.Da bi se ovakav rad skladišta podataka ostvario koristi se multidimenzioni model. OLTP sistemi koji mogu biti relacioni. a ne poslovni procesi i funkcije. Obično data warehouse koristi multidimenzionalnu strukturu. Podaci u različitim operacionim bazama podataka se drugačije šifriraju. koji reflektuje način na koji korisnik misli o svojim poslovnim podacima i pritom pravi kondenzovane izveštaje. Podaci su organizovani po predmetu i sadrže relevantne informacije za podršku odlučivanju. izgraditi skladište podataka. 3. U DW ti podaci će biti šifrovani na konzistentan način.  Data Mart – je podskup DW koji sadrži podatke specifične za određenu poslovnu aktivnost kao što su finansije ili analiza klijenata. Danas je DW dizajniran tako da obezbedi jedno efikasno okruženje za web zasnovane aplikacije. izvršiti analizu izvora podataka. Oblast za pripremu podataka se nalazi na jednom ili nekoliko kompjutera. mogu se izgraditi u relacionim ili OLAP bazama podataka i mogu detaljne ili sumarne podatke koje se mogu ili ne deliti kroz data mart-ove.  Data Warehouse – može se definisati i kao virtuelna unija data mart-ova sa integrisanim informacijama koje su deljive kroz data mart-ove ili kao centralizovano. Podaci se transformišu u konzistente formate. 1. Web-zasnovani. Karakteristike Data Warehouse-a • Organizacija. transformiše. • • • • Konzistentnost. Komponente DW sistema  DW sistem sadrži mnoge komponente koje prenose podatke sa izvornih sistema do korisnika koji izvršavaju analizu podataka:  Izvori podataka – Izvorni sistemi su operacioni sistemi. integrisano skladište podataka koje obezbeđuje podatke data mart-ovima. prognoze i vremensko poređenje.  Oblast za pripremu podataka – skup procesa koji čisti. Multidimenzionalni. slike i multimediju kao dodatak izveštajima i grafikonima. koji prikazuju tekst.  Za razvoj skladišta podataka potrebno je: 1. Analiza izvora podataka . 2. pripremiti podatake. Razvoj skladišta podataka  Pri izgradnji skladišta podataka najbitniji su sami podaci. ne mora da bude zasnovana na relacionoj tehnologiji. Podaci se čuvaju mnogo godina kako bi se iskoristili za praćenje trendova. kombinuje i priprema izvorne podatke za korišćenje u DW. npr. Vremenski. Multidimenzionalna struktura .

1. izvori).2.  Dobijene podatke organizovati u nekoliko sekcija.  Postupak prikupljanja zahteva:  Intervjuisanje ključnih ljudi u organizaciji.3.  Utvrditi protok informacija u i iz svakog odelenja (koji izveštaji i dokumentacija pristižu u odelenje. Planiranje skladišta podataka.  oduzima dosta vremena. jer je potrebno definisati odgovarajuća pravila za preuzimanje podataka iz izvornih podataka. a ne na ono što je dostupno. Prikupljanje zahteva. Prikupljanje izvornih (source-driven) zahteva  Metoda bazirana na definisanju zahteva korišćenjem izvornih podataka u proizvodno-operativnim sistemima. kako se koriste. tzv. Prikupljanje zahteva  U ovoj fazi razvoja skladišta podataka.  Glavna prednost ovog pristupa je što se koncentriše na ono što je potrebno.  Analiza izvora podataka prolazi kroz sledeće faze: 1.  Ovaj pristup proizvodi upotrebljivo skladište podataka u kraćem vremenskom periodu. Znanja vezana za ovu oblast su najčešće u glavama onih koji treba da koriste skladište podataka. Ovo se obično postiže kroz seriju sastanaka i/ili intervjua sa korisnikom. kao što su:  Podaci o analizi (podaci o svim vrstama analiza koje se trentuno koriste) i  Zahtevi vezani za podatke (opis svih polja podataka koja se koriste. odnosno koje korisnik izvršava.  svođenje na minimum vreme potrebno korisniku u ranim fazama (stanjima) projekta. koliko često pristižu itd. kao i spoljne informacije nastale kao istorija poslovanja ili industrijski i demografski podaci uzeti iz velikih javnih baza podataka.  Glavna prednost:  podržavanje svih podataka. OLTP (OnLine Transaction Processing) podaci. novi detalja. Osnovni izvori podataka za koncept skladišta podataka su operativni (transakcioni). razmatraju se poslovne potrebe i zahtevi budućih korisnika sistema.  Analiza izvornih podataka se smatra ključnim elementom i oduzima 80% vremena. 1.1. menadžeri i izvršioci. ko ih koristi. Ovo se radi analiziranjem ER-modela izvornih podataka. Izbor tehnike analize podataka. .  Nedostaci:  umanjivanjem kosrisnikovog učešća povećava se rizik od promašaja ispunjenja zahteva korisnika. npr: analitičari. 1. 1. Prikupljanje korisničkih (User-Driven) zahteva  Prikupljanje korisničkih zahteva je metoda koja se bazira na definisanju zahteva istraživanjem funkcija kojima korisnik teži.

zadataka i vremenskih rokova. • Kreiranje projektnog plana. eventualnog njihovog sumiranja i grupisanja u neku kategoriju i prezentovanja rezultata b. model podataka koji struktuira podatke na normalizovani način verovatno će obezbediti najbrži i nalakši pristup podacima. biće potrebno mnogo grupisanja između tabela koje sadrže različite dimenzije podataka i mogu značajno uticati na performanse). Tehnička infrastruktura uključuje i izbor instalacije baze podataka. baze podataka i ostale komponente koje podržavaju izabranu arhitekturu skladišta podataka. Višedimezionalna analiza .3.je način da se prošire mogućnosti upita i izveštaja.  Pošto se koristi više dimenzija. 1. b.Tehnike analize podataka mogu uticati na tip odabranog modela podataka i njegov sadržaj. u određenom rasponu cena. Na primer. a druga iz ugla prodavnice. Data mining. a. interesuje vas koliko je određenih proizvoda prodato određenog dana. Planiranje skladišta podataka  Planiranje skladišta podataka sastoji se od sledećih zadataka: • Definisanje obima projekta. Ovo znači da se umesto izvršavanja višestrukih upita podaci struktuiraju da bi se omogućio brz i lak pristup odgovorima na pitanja koja se tipično postavljaju. Izbor tehnike analize podataka  Skladište podataka se gradi da bi se obezbedio lako pristupačan izvor podataka visokog kvaliteta. Upiti i izveštaji.2. Mogućnost upita i izveštavanja se primarno sastoji od biranja povezanih elemenata podataka. • Definisanje resursa. ako je namera da se obezbedi jednostavna mogućnost upita i izveštaja. 1. . c. u određenoj prodavnici i u određenom rasponu cena. podešavanje mrežnog okruženja. Onda za dalju analizu želite da znate koliko prodavnica je prodalo određeni proizvod. Višedimenzionalne analize i c. ali jedna posmatrane iz ugla proizvoda.  Na primer. Upiti i izveštaji . Ova dva pitanja zahtevaju slične informacije. Tehnika analize podataka – Data mining  Data mining je relativno nova tehnika analize podataka. kao i izbor i instalaciju alata za rad sa bazom podataka.  Višedimenzionalna analiza zahteva model podataka koji će omogućiti da se podaci lako i brzo mogu pogledati iz bilo koje moguće perspektive ili dimenzije. model mora da obezbedi način da se podacima brzo pristupa (ako se koriste visoko normalizovane strukture podataka.  Postoji nekoliko tehnika analize podataka: a. Organizovane podatke proslediti svim učesnicima intervjua radi mišljenja i eventualnih korekcija. platforme. • Definisanje tehničkih uslova.   Pre početka razvoja projekta treba da se razmotri arhitektura i infrastruktura skladišta podataka: Tehnička infrastruktura – podrazumeva razne tehnologije. određenog dana.

b. algoritmi mogu da iz njih izvedu pravila. Nakon iznalaženja ovih obrazaca. a kasnije se na osnovu određnih procedura vrši dodavanje novih podataka u skladište podataka.  Ekstrakcija podataka je vrlo jednostavna operacija.  Provera logičkih grešaka uključuje proveru vrednosti atributa usled različitog označavanja pojmova.  Transformacija podataka.  Za razliku od upita. gde je korisnik morao da kreira i izvršava upite zasnovane na hipotezama. razvoj procedura za čišćenje podataka. procedure pripreme i zahteva korisnika. Priprema podataka  U procesu razvoja skladišta podataka priprema podataka je jedna od najbitnijih aktivnosti. Ova pravila tada mogu biti korišćena da se generiše model koji ima željeno ponašanje. 2. podaci dobijeni ekstrakcijom se moraju "čistiti". Dalji proces razvoja skladišta podataka biće uspešan samo ako je ova aktivnost uspešno završena. data mining traži odgovore na pitanja koja ne moraju biti prethodno postavljana. Tehnika otkrivanja . Razvoj procedura za ekstrakciju podataka  Podaci koji će se koristiti u skladištu podataka moraju se ekstrahovati iz transakcionih sistema (baza podataka u okviru nekog sistema) koji sadrže te podatke.1. Čišćenje podataka podrazumeva: proveru postojanja logičkih grešaka. po tome što koristi tehniku otkrivanja. Ekstrakcija i čišćenje podataka  Ova faza se sastoji od sledećih zadataka: a. Razvoj procedura za čišćenje podataka  Zbog problema koji se prilikom ekstrakcije podataka javljaju. na osnovu kojih se može pristupiti dizajnu skladišta podataka 2. identifikuje veze među podacima. ali može da bude i veoma kompleksna operacija. proveru atributa u kontekstu . pravila za preuzimanje tih podataka. Ovo znači da ne pitate određeno pitanje već koristite određene algoritme koji analiziraju podatke i izveštavaju šta su otkrili.  Podaci se inicijalno ekstrahuju u procesu kreiranja skladišta podataka. Cilj procesa ekstrakcije podataka je da sve potrebne podatke.  Rezultat ovih aktivnosti treba da budu podaci koji će nam omogućiti generisanje meta podataka.  Priprema podataka se vrši na osnovu ranije određenog izvora podataka. u pogodnom i konzistentnom formatu. pripremi za učitavanje u skladište podataka. ako su podaci smešteni u višestrukim heterogenim transakcionim sistemima.Veoma je različita od upita i izveštaja. razvoj procedura za ekstrakciju podataka. ako se potrebni podaci nalaze u jednoj relacionoj bazi. proveru atributa u kontekstu ostalih podataka u redu. "poboljšanje" podataka i eliminisanje ostalih grešaka. klasterisanja određenih elemenata podataka ili neki drugi obrazac u korišćenju određenih skupova elemenata podataka. kao i od višedimenzionalnih analiza. izveštaja i višedimenzionalnih analiza.  Otkrivanje može imati formu pronalaženja značaja u vezama između određenih elemenata podataka. a. Priprema se vrši određenim ekstrakcionotransformacionim alatima kroz sledeće korake:  Ekstrakcija i čišćenje podataka. otkriva obrasce i grupiše klastere zapisa sa sličnim atributima. b.

Koriste se da bi se poboljšali procesi "čišćenja" i transformacije podataka. Analiziraju se raspoloživi resursi.Nakon kreiranja plana transformacije podataka. Prelazne šeme su zajednički interfejs za sve izvorne sisteme.  Transformacija podataka je kritičan korak u razvoju skladišta podataka. mesec i dan. različite izvorne šeme.  razbijanje polja sa datumom u posebna polja za godinu. Primer za ovo su podaci o imenima i adresama. proveru veza između redova iste ili povezanih tabela (provera prenesenih ključeva). Ako se u skladištu podataka ovo označavanje vrši sa M i Z.  Na primer. Planom se dokumentuju sve izvorne platforme. U okviru procesa transformacije vrši se poslednja priprema podataka pre učitavanja.2. generisanje meta podataka. b.redova druge tabele koja je povezana. e. tim stručnjaka koji radi na projektu dizajniranja skladišta podataka definiše fizički model podataka za skladište podataka i generiše šeme.  Faza mapiranja i transformacije podataka sastoji se od sledećih zadataka: a.  Eliminisanje ostalih grešaka je proces u kome se odlučuje o sudbini podataka koji su nepotpuni ili nemaju veliko značenje. prelazi se na analizu izvora podataka. razvoj procedura za transformaciju podataka. Kreiranje plana transformacije podataka  Planom je potrebno odrediti najbolji put migracije izvornih podataka do skladišta podataka. Ovi podaci se mogu odbaciti.Obično se izvorni podaci prvo smeštaju u prelazne šeme. 2. metode pristupa i programski jezik koji je potreban za ekstrakciju podataka. Potrebno je odrediti koji će se podaci mapirati u odredišni sistem i koja je to logika potrebna da bi se izvršila migracija podataka. razvoj procedura za učitavanje podataka. različiti načini pristupanja podacima. b. One se ne podudaraju u potpunosti ni sa izvornim ni sa odredišnim šemama. c. Razvoj procedura za transformaciju podataka  Pod transformacijom podataka se podrazumeva proces kojim se usklađuju različiti načini prikazivanja podataka različitih sistema u jedinstveni oblik. Transformacija podataka  U ovoj fazi potrebno je:  definisati izvore podataka i tipove transformacija koje treba izvršiti nad podacima i  ostvariti mapiranje podataka iz izvorišta u odredišta.  Pre početka procesa transformacije podataka. d. struktura skladišta podataka i potreban broj agregacija. onda mora postojati proces koji će transformisati 1 u M i 2 u Z. neki sistemi mogu označavati pol ljudi sa 1 za muški pol i 2 za ženski pol. .  Tipična transformacija podataka uključuje:  prevođenje polja sa više imena u jedno polje. privremeno smestiti i popraviti ili smestiti u skladište podataka sa tim svojim nesavršenostima. kreiranje plana transformacije podataka. količina izvornih podataka. testiranje procedura. a.  Prelazne šeme .  Analiza izvora podataka .  "Poboljšanje" podataka je proces čišćenja kojim se teži da podaci dobiju puno značenje.

Izrada meta baze podataka  Meta baza podataka. Za sve podatke iz starijih sistema moraju se obezbediti formati pogodni za smeštanje u skladište podataka.  Prenošenje podataka iz starijih sistema u skladište podataka. definiciju podataka u ciljnoj bazi i transformaciono-integracionu logiku. Oni čuvaju informacije o transakcionim podacima. Kreiranje agregacija je postupak sortiranja podataka po određenim atributima na osnovu kojih se. zatim.  Meta baza podataka čuva sve podatke o podacima mapirajući izvorni u ciljni sistem i uspostavlja vezu između podataka sa izvora i cilja. c. kombinovanje i transformacija u oblik pogodan za skladište podataka. postoje svi uslovi da se pristupi generisanju meta podataka. e.  Tek po postavci meta baze podataka može se krenuti dalje u izdvajanje podataka iz transakcione baze podataka.  Obrada neučitanih podataka. koja će obezbeđivati referencijalni integritet podataka.  Kreiranje ključeva za agregacione zapise.  Indeksiranje podataka.  kreiranje i dodavanje ključeva za tabele dimenzija. Takvi podaci se moraju obraditi u posebnoj aplikaciji. Tako sumirani podaci se smeštaju u skladište podataka. najčešće. Prema tome.Testiranje procedura se. najčešće zbog referencijalnog integriteta. Pri procesu smeštanja podataka u skladište podataka često se dešava da se neki podaci ipak ne učitaju. sortiranje i organizovanje pre punjenja DW. stručni tim mora dizajnirati aplikaciju koja će generisati takve ključeve.  Po završenoj transformaciji. ostvaruje proverom kvaliteta podataka. mora se izvršiti njihovo testiranje. Izgradnja skladišta podataka . tako što se zadaju upiti nad skladištem podataka koji prebrojavaju podatke ili ih prikazuju u vidu grafikona sa kojih se može utvrditi da li su podaci u rasponu koji je očekivan. prevođenje polja sa jednom reprezentacijom u drugu (npr. pa potom sumiranje. vrši sumiranje. svi indeksi se moraju ažurirati. Razvoj procedura za učitavanje podataka  Procedure za učitavanje podataka treba da izvršavaju sledeće aktivnosti:  Kreiranje formata podataka. Vrši se raspakivanje podataka. d. moraju imati ključeve. Svi zapisi u tabelama. a samim tim i agregacije.  Kreiranje agregacija. odnosno rečnika podataka je baza podataka o bazi podataka.  Provera kvaliteta podataka . njihovo poređenje. Testiranje procedura  Da bi se utvrdila ispravnost rada procedura za ekstrakciju i učitavanje podataka. Po završenom procesu smeštanja podataka u skladište podataka. Ovaj korak se razlikuje od prethodnog jer su ključevi za agregacione zapise u potpunosti veštački i ne smeju biti identični primarnim ključevima tabele činjenica. 3. sa 1 i 0 u DA i NE).

e) generisanje baze podataka.  U dimenzionom modeliranju.  Svaka dimenziona tabela ima svoj primarni ključ. a) Denormalizacija podataka  Kod denormalizovanog modela dimenzije su organizovane u šemu zvezde. Primeri dvodimenzionih i trodimenzionih modela podataka a) Podaci o prodaji za svaku oblast se nalaze u različitim tabelama b) Svi podaci smešteni su u trodimenzioni niz Zadaci izgradnje skladišta podataka  Izgradnja skladišta podataka se sastoji od sledećih zadataka: a) denormalizacija podataka.  Izgradnja skladišta podataka je iterativni postupak.  Dimenziono modeliranje je tehnika logičkog dizajna čiji je cilj prezentacija podataka u obliku koji obezbeđuje visoke performanse sistema radi vršenja analize podataka. d) kreiranje fizičkog modela. b) definisanje hijerarhija.  Fizička arhitektura dimenzionog modela je šema zvezde. a svi oni učestvuju u stvaranju primarnog ključa tabele činjenica.  Dimenzioni modeli se jednostavno proširuju dodavanjem novih dimenzija i njihovih atributa i pri tome se nijedan alat za izveštavanje ili upite ne mora menjati.  Mere su numerički podaci smešteni u centralnoj.  Tabele činjenica sadrže podatke koji su. najčešće.  Osnovu za izradu dimenzionog modela predstavljaju meta podaci. na osnovu kojih se vrši definisanje hijerarhija. takozvanoj tabeli činjenica (fakt tabela). Sve je više pomoćnih programa i alata koji upravljaju i rade sa agregacijama i na taj način još više poboljšavaju performanse sistema.  Dimenzije su standardni poslovni parametri koji definišu svaku transakciju. Ovakvi modeli se nazivaju šemama zvezde. strukture podataka su tako organizovane da opisuju mere i dimenzije. elemenata i atributa. oni mogu da zadaju nove zahteve zbog kojih će morati da se unesu neke izmene u modelu. Prvi korak je identifikacija dimenzija i atributa koja podseća na klasično projektovanje upotrebom ER modela i zove se dimenziono modeliranje. c) kreiranje agregacija. normalizacija i denormalizacija i definisanje agregacija. korisnici mogu da im pristupaju i da zaključe koje su im koristi od toga. Čim se određena količina podataka smesti u skladište podataka. a kod normalizovaog u šemu snežne pahuljice. f) učitavanje podataka. Nakon toga. . numeričkog tipa i mogu sadržati veliki broj zapisa. Dimenzioni modeli  Dimenzioni modeli su standardnog oblika te se mogu predvideti interfejsi koji će biti od koristi korisnicima skladišta podataka.

 Tabela činjenica sadrži kvantitativne podatke o poslovima koji opisuju specifične događaje u poslovanju. Zato je potrebno vršiti normalizaciju samo onih dimenzija koje sadrže mnogo redova podataka i koje imaju mnogo atributa. pahulje i galaksije Šema zvezde Šema pahulje Galaksija Arhitektura dimenzionog modela – šema zvezde  Fizička arhitektura dimenzionog modela opisana je pomoću šeme zvezde definisane sa dve vrste tabela – dimenzione tabele (dimension table) i tabele činjenica (fact table). kod maloprodaje dimenzione tabele opisuju kako se izračunavaju podaci o prodaji. tj. kao što je npr. a koje korisnici analiziraju. mesečna prodaja. Ti podaci se nazivaju atributi.. tj. Na taj način se dolazi do delimične šeme pahulje. kao što su bankarske transakcije ili prodaja proizvoda. čime se šema zvezde prevodi u šemu pahulje.  Osnovne prednosti šeme zvezde su što omogućava definisanje složenih višedimenzionih podataka u vidu jednostavnog modela.  Dimenzione tabele su znatno manje i sadrže podatke koji opisuju dati posao. Postoje situacije u kojima šema zvezde nije pogodna za skladištenje podataka. Može sadržati i agregirane podatke. ako se ne može kreirati model koji bi imao samo jednu činjeničnu tabelu. a da se ostale ostave onakve kakve su i bile.  Glavni nedostatak šeme pahulje je njena složenost u odnosu na šemu zvezde.  Najčešće se postižu najbolji rezultati ako se izvrši normalizacija samo par dimenzija. smanjuje broj fizičkih veza koje se moraju procesirati pri zadavanju upita.  Šema galaksije predstavlja kolekciju šema zvezda.  Velika mana šeme zvezde je što se povećava redundantnost podataka.  Ovi problemi se mogu rešiti normalizacijom dimenzija. čime se otežava održavanje skladišta podataka. Ovi podaci su najčešće numeričkog tipa i mogu se sastojati i od nekoliko miliona redova i kolona. Šema zvezde.  veoma velike dimenzione tabele mogu uticati na pad performansi sistema. tada je potrebno povezati dve šeme zvezde da bi se zadovoljile potrebe korisnika. čime se postiže poboljšanje performansi sistema i omogućava proširenje skladišta podataka uz relativno jednostavno održavanje. one podatke po kojima se vrši analiziranje. Osnovni razlozi za to su:  denormalizovana šema zvezde može zahtevati previše memorijskog kapaciteta. b) Definisanje hijerarhija . Na primer.

Iako ovaj način nije najbolji po pitanju performansi sistema. Na primer. Geografski podaci vezani za prodaju mogli bi se organizovati u sledeću hijerarhiju: SVET –> KONTINENT –> DRŽAVA –> OBLAST –> GRAD  Drill-up .  Podržana je unutar analitičkih usluga. (samo jedna dimenziona tabela se pridružuje tabeli činjenica. upit bi mogao prezentovati prodaju u odnosu na neke regione. naziva se dizanje naviše (drill up).  Drill across – koristi se za povezivanje dve ili više činjeničnih tabela na istom nivou hijerarhije.Postupak prelaska sa nivoa sa većim brojem detalja na nivo sa manjim brojem detalja. moguće je kreirati sumarne podatke o prodaji po regionu i oblasti skupljajući ih iz svake prodavnice. Pošto se pronađe podatak o prodaji nekog regiona. Na primer. Na primer.Šema pahulje je varijacija šeme zvezda u kojoj su hijerarhija dimenzije skladištene u višedimenzione tabele. tj. Na primer.  Dimenzije veoma često mogu biti organizovane u hijerarhiji. na tzv. grupa i vrsta proizvoda. Na primer. Agregacije zasnovane na SQL naredbama  Jedan od načina na koji se mogu kreirati agregacije jeste korišćenje SQL naredbi. dimenzija Proizvod je skladištena u tri tabele: kategorija proizvoda. spušta se naniže da bi se saznalo kako se prodaja odvija po opštinama.  definisanje opisnih atributa svake dimenzije.Postupak prelaska sa nivoa sa manjim brojem detalja na nivo sa većim brojem detalja naziva se spuštanje u dubinu (drill down) i predstavlja zahtev korisnika da mu se prikaže više detalja.  Posmatranje podataka iz različitih. da se smanji vreme odziva na upit. Šema pahulje  Definiše hijerarhiju koristeći višedimenzione tabele . ali blisko povezanih perspektiva omogućava da korisnik analizira podatke na različitim nivoima detalja.  Glavni razlozi kreiranja agregacija su da se poboljšaju performanse upita. c) Kreiranje agregacija  Agregacijama se sumiraju detalji podataka i smeštaju u posebne tabele. U ovom modelu možemo reći da dimenzioni element "proizvod" predstavlja najniži hijerarhijski nivo u dimenziji proizvod. tj. kao i da se smanji broj resursa potrebnih za izvršenje upita. mogu postojati tri dimenziona elementa: prozvod.  Normalizovana je. Agregacije koje nisu zasnovane na SQL naredbama . on je najjednostavniji. najnižeg nivoa detalja. kod dimenzije proizvod. sumarne podatke.  Drill-down . podkategorija proizvoda i proizvod. dok su ostale dimenzione tabele povezane sa spoljnim ključem). Dimenzione tabele memorišu sledeće elemente:  traženje hijerarhijskih relacija u svakoj dimenziji. dok vrsta proizvoda predstavlja najviši nivo.

f) Učitavanje podataka  U toku učitavanja se mogu eventalno izvršiti još neke transformacije.je izvršeno automatski za sve primarne ključeve u entitetima i za prenesene ključeve u entitetu Ispit. Tako dobijene podzbirove treba učitati i izvršiti agregaciju.  Na primer. potrebno je razviti specijalizovane programe. sa Dana na Nedelju) kreiraju podzbirovi za taj nivo dimenzije. Ovaj alat omogućava direktno zadavanje SQL naredbi i njihovo izvršavanje u cilju generisanja baze podataka. d) Kreiranje fizičkog modela  U okviru kreiranja fizičkog modela baze podataka. iza njih će biti redovi podataka koji se odnose na Nedelju itd. Naime. baza (skladište) podataka je generisana. Time je proces agregacije podataka završen. OLAP sistemi . što usložnjava procese razvoja i održavanja skladišta podataka. ako se izvrši sortiranje redova podataka po dimenziji Vreme. U slučaju kreiranja agregacija koje nisu zasnovane na SQL naredbama.definiše broj instanci jednog entiteta (buduća tabela u bazi) u relaciji sa jednom instancom drugog entiteta.  Neposredno pre kreiranja modela treba izabrati sistem za upravljanje bazama podataka na kome će biti implementirana baza podataka. alat u kome je izvršeno kreiranje fizičkog modela (npr. Pri tome je moguće iskoristiti prednosti paralelnog procesiranja jer su podaci podeljeni po grupama (jedan proces može računati podzbirove vezane za nivo Dan.zahteva da unesena vrednost atributa odgovara vrednosti atributa koji je primarni ključ druge tabele.  Kada se svi ovi poslovi uspešno urade. e) Generisanje baze podataka  Aktivnost generisanja baze podataka vrši se korišćenjem SQL jezika.  Referencijalnog integriteta . alata koji je sastavni deo SQL Servera 2003. a drugi za nivo Nedelja). izvodi se postupak prevođenja logičkog modela u fizički model prikazan preko dijagrama entiteti – veze koji fokusira podatke.  Za učitavanje podataka može se koristiti alat MS SQL Server-a DTS (Data Transformation Servicess) i njegova procedura učitavanja podataka pomoću takozvanih DTS paketa. brisanja i ažuriranja. ERWin) omogućava automatsko generisanje koda preko takozvanih DDL (Data Definition Language) datoteka. Zatim se na svakom mestu prelaza sa jednog nivoa dimenzije na drugi (na primer. Ovo se radi iz razloga što će se buduća pretraživanja u okviru skladišta podataka vršiti na osnovu ovih polja.  Generisanje fizičkog modela treba da reši probleme:  Multiplikativnosti . Referenacijalni integritet se definiše za operacije ubacivanja.  Kreiranja indeksa . u tabeli će se prvo nalaziti redovi podataka koji se odnose na Dan. mada bi sa transformacijama podataka trebalo završiti pre učitavanja zbog problema konzistentnosti baze.  U sledećem koraku se vrši izvršavanje DDL datoteka pomoću Query Analyzer-a.

 Interaktivno analitičko procesiranje (On line Analytical Processing – OLAP) namenjeno je on-line analizama i izveštavanjima.  OLAP server.  OLAP sistemi kao skladišta podataka koriste multidimenzionalnost i denormalizaciju.  Krajnjem korisniku je neophodno sledeće:  da može da postavi bilo koje poslovno pitanje.  alati za administriranje.  Koriste se za intuitivnu. analitički sistem bi mogao da prikaže kako se određena vrsta štampača prodaje u različitim delovima zemlje.  Analitičko procesiranje se primarno vrši korišćenjem poređenja ili analiziranjem šablona i trendova.  interfejs sistem. mogao bi da prikaže i kako se jedna vrsta proizvoda trenutno prodaje u odnosu na period kada se proizvod prvi put pojavio na tržištu.  OLAP sistemi podržavaju kompleksne analize koje sprovode analitičari i omogućavaju analizu podataka iz različitih perspektiva (poslovnih dimenzija).  mogućnost neograničenog izveštavanja.  da bilo koji podatak iz preduzeća koristi za analizu.  U tu svrhu se koriste analitički OLAP sistemi koji obezbeđuju informacije koje se koriste za analizu problema ili situacija. koja služi kao osnova za analizu. DW i OLAP.  OLAP sistemi omogućavaju jednostavnu sintezu. . brzu i fleksibilnu manipulaciju transakcionim podacima. za upravljanje i manipulaciju podacima. analizu i konsolidaciju (agregacija podataka po zadatom kriterijumu) podataka. Takođe. OLAP rešenja omogućavaju korisnicima brz i fleksibilan pristup podacima i predstavljaju nadgradnju skladišta podataka. Poređenje OLTP. prema korisniku i prema drugim aplikacijama. Na primer.  Osnovni elementi OLAP sistema su:  baza podataka.

na koji se povezuju relacione BP. OLAP server.  drill down/up – ove operacije omogućavaju prikazivanje više ili manje detalja podataka. Svaka ćelija kocke sadrži agregirane podatke koji su u vezi sa dimenzijama.  OLAP serveri podržavaju tipične analitičke operacije:  konsolidacija – ovom operacijom se vrši agregacija podataka po zadatom kriterijumu.  isecanje (slice & dice) – ove operacije obezbeđuju prikazivanje podataka iz različitih perspektiva. radnim tabelama i ostalim PC alatima. . Svaka strana kocke se naziva dimenzijom.  Višedimenzione strukture se najbolje vizuelizuju kao kocke podataka i kao kocke u kockama podataka. eksterni izvori podataka i ostali interni podaci. koji su podržani grafičkim interfejsima.OLAP serveri • OLAP pristup mora od hardvera da poseduje poseban računar. pri čemu se isecanje najčešće vrši po vremenskoj dimenziji da bi se analizirali trendovi (na primer. a drugi isečak može prikazivati sve podatke o prodaji po kanalima za svaki tip proizvoda). region. tzv. jedna ćelija može sadržati podatke o ukupnoj prodaji za dati proizvod i region u toku jednog meseca.  OLAP serveri koriste višedimenzione strukture za čuvanje podataka i veza između njih. vreme itd. jedan isečak kocke može prikazivati sve podatke o prodaji za zadati tip proizvoda za sve regione. kao što su tip proizvoda. Dimenzija predstavlja kategoriju podataka. Na primer.

Jedinice. .  Vrednost svake ćelije je presek dimenzije. Komponente OLAP baze podataka  OLAP baza podataka je definisana sledećim komponentama:          Numeričke mere – Mere su vrednosti podataka ili činjenice koje korisnici analiziraju. ali ne može da ima više od 1024 mera. Primeri mera su Prodaja. OLAP dimenzije vs. jednostavnost uvođenja i održavanja sistema. Troškovi prodate robe itd. Relacione dimenzije Definisanje kocke  Kocka je logička struktura skladištenja OLAP baze podataka.  Mere odgovaraju činjenicama u tabeli činjenica.  Kocke – Kocke kombinuju sve dimenzije i sve mere u jedan konceptualni model. vršiti analiza i prikazivati podaci. Dimenzijama OLAP je lakše navigirati nego dimenzijama šeme zvezde. modelovanje i planiranje. mogućnost rada sa velikim brojema alata pomoću kojih će se pristupati podacima.  Svaka kocka mora da sadrži barem jednu meru. sposobnost proračuna složenih matematičkih funkcija..Zahtevi OLAP sistema  Interfejs OLAP sistema treba da omogući korisniku komforan rad. mogućnost rada sa podacima sa različitim nivoima detalja. podrška za šta-ako analizu.  Zahtevi koje OLAP mora da ispuni su: mogućnost rada sa velikim skupom podataka i velikim brojem korisnika.  Karakteristike mere su:  Mere su numeričke.  Kocka kombinuje dimenzije i mere kako bi korisnici mogli da prave upite. kratko vreme odziva na upit.. zaštita podataka.  Dimenzije – dimenzije predstavljaju poslovne kategorije koje obezbeđuju kontekst numeričkim merama.  Mere su numeričke vrednosti koje korisnici analiziraju.  Mere su preseci svih dimenzija i nivoa . bez znanja programiranja i strukture baze podataka.  Kocka definiše skup povezanih dimenzija koje formiraju jednu n-dimenzionalnu mrežu:  Svaka ćelija kocke sadrži jednu vrednost.. samostalno izvođenje analitičkih operacija i dobijanje pregleda i poslovne grafike. Samo jedna tabela činjenica se može koristiti za kreiranje kocke.

hibridni OLAP (HOLAP).  Dimenzije vam dozvoljavaju  Slice  Dice  Hijerarhije vam dozvoljavaju  Drill Down  Drill Up Arhitekture OLAP sistema  Postoje sledeće arhitekture OLAP sistema: a. Činjenice o prodaji su skladištene u presecima svih dimenzija u kocki. b.  Dimenzije omogućavaju slice i dice:  Slice .Sve dimenzije sadrže hijerarhiju i za većinu dimenzija hijerarhija se sastoji od više nivoa. Više nivoa hijerarhije omogućava drill down po jednom članu hijerarhije. Dimenzije i hijerarhije omogućavaju tu fleksibilnost. onda postavljate više članova iz jedne dimenzije na jednu osu i više članova druge dimenzije na drugu osu. slice) ili podskupa kocke Menadžer distribucije trešnji želi da pregleda podatke o trešnji po svim periodima i za sva tržišta. korisnici biraju proizvod i tržište i sumiraju ćelije iz sva četiri kvartala.  Hijerarhija vam omogućava drill down i drill up:  Drill Down . Drill down omogućava da se fokusirate samo na određene podatke ili oblast problema. Korisnik koji nadgleda prodaju jabuka u Atlanti želi upit za Q4 prodajne vrednosti. Proizvodi i Tržišta. Na primer: ukoliko želite da se fokusirate na samo jedan proizvod.  Da bi dobili ukupnu godišnju vrednost. višedimenzioni OLAP (MOLAP). Kocka skladišti vrednosti prodaje za svaki proizvod.izbor jednog člana iz dimenzije. slice vam omogućava da ignorišete sve osim željenog proizvoda. Definisanje “kriške” (engl. Ovakav način vam omogućava da sagledate među odnose članova različitih dimenzija.  Dice – kada primenjujete dice na kocki. svako tržište i za svaki period vremena. Omogućava da se sagleda opšta slika.  Drill Up – Vide se samo zbirne informacije članova. c. Rad sa dimenzijama i hijerarhijama  Glavna svrha OLAP baza podataka je da obezbede fleksibilne modele za pronalaženje podataka. Pravljenje upita nad kockom  Kocka “Prodaja” sadrži tri dimenzije: Vreme. . relacioni OLAP (ROLAP).

 MOLAP i ROLAP se razlikuju po načinu fizičkog čuvanja podataka.predviđanja . Po završenom procesu.  ograničenje na broj dimenzija koje još uvek obezbeđuju dobre performanse sistema. prelazi se na kreiranje agregacija. Višedimenzioni OLAP (MOLAP)  MOLAP baze podataka imaju sledeća ograničenja:  ograničenje fizičke veličine skupa podataka sa kojima mogu da barataju. što vremenski može trajati relativno dugo. Pri tome se vrše razni proračuni da bi se kreirale agregacije i popunili podaci. a u slučaju ROLAP sistema podaci se čuvaju u relacionim bazama podataka.  Da bi se vršila bilo kakva analiza. Kod MOLAP sistema podaci se čuvaju u višedimenzionoj strukturi.drill down . a.isecanje . potrebno je prvo učitati podatke u višedimenzione strukture.  Prednost MOLAP sistema je što obezbeđuju odlične performanse sistema kada se radi sa već sračunatim podacima (agregacijama).tabele . korisnik može započeti analizu.grafikoni . nakon čega je baza podataka spremna za rad.upiti .traženje izuzetaka .indeksiranje . Korisnici zadaju svoje zahteve za OLAP izveštajima putem interfejsa.štampanje Sloj baze podataka Sloj aplikacije Sloj prezentacije Podaci iz različitih transakcionih sistema učitavaju u višedimenzionu bazu podataka pomoću batch rutina. .  Nedostatak MOLAP sistema je teškoća dodavanja novih dimenzija Arhitektura MOLAP sistema Transakcioni sistemi Višedimenziona baza podataka OLAP interfejs .heširanje . Kada se završi sa učitavanjem podataka atomskog nivoa.

čime se obezbeđuje kratko vreme odziva sistema na upit.upravljanje tok a ovim . i što su tabele veoma čitljive.  Višedimenziona analiza moguća je korišćenjem ROLAP i MOLAP sistema.slo ž filtriranje eno .raspore đivanje . Karakteristike ROLAP i MOLAP sistema  Neke karakteristike MOLAP i ROLAP sistema:  ROLAP sistemi su optimizovani za pristupanje podacima.  Prednost ROLAP sistema je što su sumarne tabele kreirane direktno u RSUBP-u. S obzirom da se radi direktno nad bazom podataka.predvi đanja . što uslovljava da su MOLAP sistemi brži.obrada iz etak uz a .  Kod ROLAP sistema ne postoje ograničenja po pitanju broja dimenzija koja postoje u slučaju MOLAP sistema.podela upita . . c.dinam čk i a k onsolidacija . korisniku su uvek na raspolaganju tekući podaci.procesiranje u poz adini .b. korisnik može započeti analizu.  ROLAP sistemi mogu da rade sa velikim skupovima podataka. dok su MOLAP sistemi optimizovani za prikupljanje podataka. Relacioni OLAP (ROLAP) T sak ni ran cio sistem i S kladište pd a o atak (R U P) SB R elacio ni OA LP OA LP in terfejs - paralelni upiti paralelnou čitavanje paralelno indek siranje bit-m indek ap siranje heširanje vez z de e vez deljenje podatak a bac p i recovery ku optim acija trošk iz ova S Pi M podršk M PP a . Hibridni OLAP (HOLAP)  HOLAP alati mogu pristupati i relacionim i višedimenzionim bazama podataka.  Za manje količine podataka ROLAP sistemi imaju skoro iste performanse kao i MOLAP sistemi.  MOLAP sistemi su manji od ROLAP sistema.transform acije .agregacije - tabele grafik oni m ape upoz orenja drill dow n isecanje Sloj b p atak aze od a Sloj aplik acije Sloj p rezen tacije  ROLAP sistemi pristupaju podacima direktno iz skladišta podataka i rade sa relacionim bazama podataka. Čim se odredi izvor podataka. te je potrebno manje U/I operacija pri pribavljanju podataka.  MOLAP sistemi nisu pogodni za rad sa velikim skupom podataka.

 veliki kapacitet podataka – ovu mogućnost poseduju ROLAP alati.  odlične performanse sistema – ovu mogućnost poseduju MOLAP alati. Definišite glavne relacione komponente od kojih se gradi OLAP kocka. Tabela činjenica – Centralna tabela u Data Warehouse-u koja predstavlja numeričke podatke u kontekstu koji opisuju određeni događaj u poslovanju. To je zapravo ROLAP koji ima mogućnost izvršavanja vrlo složenih SQL naredbi. Mere obično predstavljaju vrednosti koje korisnici analiziraju. Koja je svrha oblasti za pripremu podataka kod Data Warehouse-a? Oblast za pripremu podataka je skup procesa koji čisti.  Cilj je bio da se zadrže sve prednosti ROLAP-a. 1. Evaluacija 1.  Potrebe korisnika su:  višedimenzioni pogled na podatke – ovu mogućnost poseduju i MOLAP i ROLAP alati. transformiše. Mere – kvantitativna. Cilj korišćenja HOLAP alata jeste da se iskoriste prednosti MOLAP alata (kratko vreme odziva sistema i analitičke mogućnosti) i ROLAP alata (dinamički pristup podacima). numerička kolona u tabeli činjenica. Koja je svrha OLAP-a? Da obezbedi brz. Dimenzija tabele – Tabela u Data Warehouse-u koja predstavlja jedan poslovni objekat ili entitet.  Pri tome se ne može reći da je HOLAP prost zbir MOLAP-a i ROLAP-a. kombinuje i priprema izvorne podatke za korišćenje u DW. Uvod u Data mining Sadržaj  Otkrivanje znanja (Knowledge Discovering)  Definisanje Data mininga  Primene Data mininga  Data mining modeli  Koraci kod izgradnje DM modela  OLAP data mining Data mining i otkrivanje znanja . ali da se pri tome dodaju i neke nove mogućnosti za rad sa višedimenzionim bazama podataka. fleksibilan pristup multidimenzionalnim podacima kako bi korisnici mogli da vrše analize i prave izveštaje.  pristup podacima u realnom vremenu – ovu mogućnost poseduju ROLAP alati.  analitička fleksibilnost (za potrebe simulacija) – ovu mogućnost poseduju MOLAP alati. 1.

Primene Data mininga  Reklamiranje na Internetu  Data mining se može koristiti za klasifikovanje grupa klijenata sa sličnim informacijama. kako bi se ciljno reklamiralo.  Data mining je automatski ili poluautomatski proces koji izvodi značajna pravila ili obrasce iz ogromne količine podataka.  Osnovni cilj data mininga jeste otkrivanje skrivenih veza. kao na primer prihodi. izveštajima itd. godine staža. .  Data mining je proces otkrivanja znanja (Knowledge Discovery in Databases . ponekad vam se ponude i dodatni proizvodi za koje je Web sajt predvideo da ćete možda biti zainteresovani. Korisnici informacionih sistema s pravom zaključuju da su im uvođenjem automatizovanog informacionog sistema obećavali sve i svašta. godine. kao što su pol. Čak i najboljem analitičaru je teško da identifikuje ključne informacije koje su relevantne za upravljanje poslovanjem. informacija treba da se prezentuje na odgovarajući način. na primer izvođenjem upita (tada je to zaista teško) ili ga može vršiti neki "pametni" program koji automatski pretražuje bazu umesto korisnika i nalazi značajne šablone.  Upravljanje kreditnim rizikom  Kada uzimate kredit. banka prikuplja širok opseg informacija o vama. kreditna sposobnost itd. Data mining programi analiziraju delove podataka da bi identifikovali veze između naizgled "nepovezanih podataka". Koriščenjem data mining tehnika. a dobili su samo gomilu podataka. Korišćenjem tehnika data mininga. što u krajnjem slučaju treba da od podataka da potrebne informacije. predvidivih sekvenci i tačnih klasifikacija. Definisanje Data mininga  Osnovna poruka data mininga jeste da je potrebno da iz ogromne količine operativnih podataka i veza koje se ne mogu odmah sagledati definišu odgovarajuće relacije. Kada se ona nađe.  Ovo pretraživanje može vršiti korisnik.  Kada se korisnik na primer registruje na e-commerce Web sajt koji prodaje sportsku opremu tada DBMS prikuplja informacije o klijentu. Sistem preporučuje: “Ukoliko vam se dopada x knjiga.  Data mining otkriva relacije našeg svakodnevnog komuniciranja sa podacima. sa grafikonima. banka može da predvidi da li ste dobar ili rizičan klijent za davanje kredita i takva informacija će odlučivati o odobravanju kredita. obrasci ponašanja.  Kada kupujete putem Interneta. koji omogućuje korisnicima da shvate sisteme i veze između njihovih podataka. proverite i sledeće ponuđene knjige”.KDD). Takva preporuka se zasniva na tehnikama data mininga koji pretražuje obrasce klijenata koji su na primer kupili istu knjigu koju vi sada kupujete.  Data mining se može definisati kao proces podrške odlučivanju u kojem se traže šabloni infomacija u podacima. omiljeni sport i dr. web sajt će prikazivati baner sa motivima golfa za muškarce i dr.  Data mining otkriva oblike i trendove u sadržaju ove informacije. bračni status.

Analizirajući cene kola. Neuronske mreže modeluju neuronske veze u ljudskom mozgu i na taj način simuliraju učenje. Pretpostavimo da želite da prodate kola. nekoliko faktora utiče na prodajnu cenu kao što su godine. Doktor izvršava dijagnozu koristeći oblik MBR-a.Data mining modeli  Nekoliko tehnika data mininga vam omogućava identifikovanje obrazaca u ogromnim broju podataka..  Drvo odlučivanja – popularan metod za klasifikaciju i predviđanje. neuronske mreže mogu da kreiraju seriju ulaznih i izlaznih faktora kako bi predvideli cenu prodaje. Uvodni primer . proizvođač. doktor će na osnovu iskustva sa sličnim pacijentima dati dijagnozu.  Neuronske mreže – kao što čovek uči na osnovu iskustva tako može i računar.  Modeli Analysis Services SQL Servera su  Clustering – tehnika klasteringa omogućava grupisanje zapisa podataka koji su slični. Ukoliko sastavljate podatke gde su ulazne i izlazne činjenice poznate. Na primer. ukoliko pacijent ima nekoliko simptoma. model itd. pomogao izračunavanje ili predvideo izlaznu vrednost. stanje. računar može da nauči iz tih obrazaca i postavi pravila i matematičke faktore kako bi npr. Na primer. mogu se predvideti da će izvesni tipovi imati specifične ishode.  Analiza pijačne torbe – Market Basket Analysis se često zove i grupisanje po sličnosti (affinity grouping) se koristi za pronalaženje grupe artikla koji se najčešće zajedno događaju u jednoj transakciji. sa klasteringom možete segmentirati klijente sa sličnim karakteristikama u grupe. Korišćenjem serije pitanja i pravila za kategorizaciju podataka.  Memorijsko zasnovano prosuđivanje – Memory-based reasoning (MBR) je tehnika data mininga koja se koristi za predviđanje i klasifikaciju.

Obrada modela i prikupljanje rezultata. Koraci kod izgradnje DM modela 1.  Pretpostavimo da ste zainteresovani da odredite koji atribut ili kombinacija atributa imaju najveći uticaj da predvidi verovatnoću studenata koji će upisati fakultet. Ovo je složeniji upit i zahteva korišćenje tehnika data mininga. Identifikovanje slučaja (case) 3. 60 % planira da upiše fakultet i to uglavnom oni sa visokim IQ. Izbor entiteta koji treba da se predvidi 4. Identifikovanje podataka za analizu 5. . Koji je ključni atribut za predviđanje da li će svršeni srednjoškolci upisati fakultet ili ne?  Postavljana su im sledeća pitanja:  Kog su pola?  Koliki je prihod njihovih roditelja?  Koliki im je IQ?  Da li ih roditelji ohrabruju da nastave studiranje ili ne?  Da li planiraju da upišu fakultet?  Da bi na osnovu prikupljenih podataka utvrdili koliko studenata će nastaviti školovanje.  Primenjujući algoritam drveta odlučivanja otkrivene su sledeće relacije:  Najuticajniji atribut je ohrabrivanje njihovih roditelja da upišu fakultet. gde su atributi koji treba da se predvide unapred poznati. neophodno je da se postavi upit koji broji zapise studenata koji žele i onih koji ne žele da nastave školovanje. Izbor tehnike data mininga 2. Opciono kreiranje dimenzije i virtuelne kocke iz rezultujućeg modela 6. Metodologija kreiranja Data Mining modela Da bi kreirali model morate da prikupite skup podatka. Oni studenti koje roditelji ohrabruju da upišu fakultet..

Slučaj (case) je element koji se koristi za klasifikaciju i grupisanje podataka. Nakon kreiranja ovih tabela.  Prvo.Podaci se ubacuju u DM model koji ih analizira i traži pravila i obrasce koji bi se kasnije mogli iskoristiti za predviđanje. Danas. izv ori pod ataka serv strana er sk ladište pod atakai data m ining alati m ža re OB DC SL Q og rani čen i i specijaliz an ov i alati OB DC data m g inin alati nestand ni ard interfejsi k t stran lijen a  bilo ko alat ji  a) tradicionalni prilaz b) in tegrisani p rilaz Jedan od načina da se ostvari integracija jeste da se kreiraju modeli koji se u bazama podataka predstavljaju tabelama. data mining . a koje su potrebne za data mining alate. Obradom podataka. Postoji više razloga za ovu integraciju. Tradicionalni i integrisani prilaz. svaki poznavalac SQL jezika može koristiti mogućnosti data mininga. Tradicionalni data mining alati bi iz tih razloga prvo izvršili transfer podataka (možda i stotine gigabajta) putem mreže.  Treći razlog za integraciju su performanse sistema i mogućnost proširivanja koje obezbeđuje skladište podataka.  Drugi razlog za integraciju data mining alata sa skladištem podataka jeste poboljšani korisnički interfejs. Stariji data mining alati su zahtevali postojanje niza stručnjaka da bi se postigli zadovoljavajući rezultati. Integracija data mininga sa skladištem podataka  Danas se radi na integraciji data mining alata sa skladištem podataka. što bi značilo da bi se ceo proces transfera morao ponoviti. Nakon završenog rada često se javlja potreba za novim podacima. Pri ovome se neprestano moralo voditi računa o zaštiti podataka i greškama pri prenosu. Podaci koji se analiziraju su obično:  Istorijski podaci  Statistički predstavnik slučajeva (cases) za koje gradite model. DM engine procenjuje slučajeve i kreira model koji se zasniva na izabranom algoritmu. u njih treba smestiti podatke koje će data mining alati da pretražuju. Na ovaj način se ovim modelima može pristupati upotrebom SQL naredbi. data mining alati zahtevaju postojanje "prečišćenih" i integrisanih podataka.

 OLAP koji obezbeđuje brz pristup sumarnim podacima između više dimenzija.  Ispitati drvo odlučivanja. moguće je izostaviti ključne informacije ili se mogu dobiti netačni rezultati.  Da bi predvideli faktore koji utiču na izbor odgovarajuće kartice koristićemo Data mining:  Koristićemo tehniku drveta odlučivanja da bi pronašli obrazac za izbor članske kartice. aplikacija mora da izvršava sledeće četiri osnovne funkcije. Izgradnja Data Mining modela sa OLAP podacima  Uvod u scenario Članske kartice  Izbor Data Mining tehnike  Izbor slučaja (case)  Selekcija entiteta za predviđanje  Selekcija podataka za analizu (training data)  Kreiranje dimenzije i virtuelne kocke  Ispitivanje Data Mining modela Uvod u scenario Članske kartice  Direktor marketinga želi da oceni trenutni program članskih kartica. Da bi zadržao postojeće klijente i ispunio njihova očekivanja. izdvajanje. štampanje i objavljivanje podataka.  Komponente OLAP data mininga su:  relaciona baza podataka koja sadrži granularne podatke (ne mora biti skladište podataka). organizovanje. sastoji se od mnoštva povezanih alata za generisanje.  Raspoložive informacije od klijenata su pol. godišnji prihodi.  Bez upotrebe OLAP data mininga. bračni status.  višedimenzioni proces otkrivanja koji će vršiti otkrivanje između dimenzija i spajati rezultate. bronzana i obična.  Da bi se okvalifikovala kao potpun sistem za upravljanje relacionom bazom podataka. Access koristi upite da .alati će kreirati nove tabele u kojima će smeštati rezultate i koji se mogu pregledati kao i sve ostale tabele (korišćenjem SQL naredbi). od kojih svaka ima sopstvenu prezentaciju za korisnika:  Organizacija podataka – obuhvata izradu i rukovanje tabelama koje sadrže podatke u konvencionalnom tabelarnom formatu koju Access naziva pogled (Datasheet). UVOD U ACESS Multifunkcionalni program.  Iskoristiće se raspoložive informacije o klijentima kako bi se pronašao obrazac. prikazivanje. OLAP data mining  OLAP i data mining ne bi trebalo razmatrati kao odvojene procese već da ih treba u potpunosti spojiti. želi da identifikuje mogućnosti kako bi povećao nivo usluga kod svih kartica: zlatna.  Odabraćemo Klijente kao dimenziju slučaja (case dimension). nivo obrazovanja. koje sadrže izabrane podatke.  Odabraćemo Člansku kartu kao informaciju koju će koristiti algoritam DM da bi identifikovao obrasce.  Povezivanje tabela i izdvajanje podataka – povezuje više tabela prema relacijama između podataka radi izrade privremenih tabela. srebrna.

šifrujete. ili za izračunavanja koja zahtevaju donošenje odluka.  Mogućnost objavljivanja unapređuju distribuciju informacija preko intranet korporacije i javne Internet mreže u obliku Word Wide Web strana. unos i uređivanje podataka kao alternativu tabelarnom prikazu. kao što je pritisak na dugme pomoću miša. Access 2000 uvodi strane za pristup podacima (DAP – Data Access Page). Obrasci su ti koji umesto aplikacije omogućavaju da kontrolišete prikazivanje podataka. za strane za pristup podacima (DAP). Unos i uređivanje podataka – zahteva projektovanje i implementaciju obrazaca za pregled. Pri radu sa bazama podataka Access 2000. Režim izvršenja za tabele i upite naziva se pogled Datasheet. Ove komande su dostupne samo ako baza podataka nije otvorena. Termin aplikacija u Accessu označava bazu podataka sa sledećim karakteristikama: . pre otvaranja baze podataka. štampate ili objavljujete na internetu ili intranetu. ali i ograničite njihove mogućnosti za pregled ili modifikacije svih ili samo nekih tabela u bazi podataka. Pristup možete dodeliti grupi korisnika ili pojedincima. kao i da formatirate izveštaje za štampanje. Pomoću funkcija bezbednosti podataka može se dopustiti drugim osobama da koriste vašu bazu podataka.bi povezao tabele i izabrao podatke koji će se čuvati u privremenoj tabeli. VBA potprogrami napisani su za izvršavanje operacije koje prevazilaze mogućnosti standardnih aktivnosti makroa što je jedan od razloga da se u Accessu napušta podrška makroima. a za izveštaje pogled Print Preview. pogled Page.  Moduli su funkcije i procedure koje su napisane u programskom jeziku VBA. jer se čuvaju u memoriji računara umesto u datotekama baze podataka  .  Bezbednost sačinjavaju funkcije koje su dostupne kao stavke menija i preko VBA potprograma. za obrasce pogled Form. VBA podprogrami se izvršavaju tako što se pridružuju odgovarajućim događajima.  Makroi su sekvence aktivnosti. menija Tools. u višekorisničkom okruženju. izborom komandi iz podmenija Database Utilities i Security. One vam dopuštaju da napravite aplikaciju za prikazivanje i ažuriranje podataka na stranama. obrazaca ili izveštaja. Njih možete da pregledate. koja se naziva objekat Recordset.  Prikazivanje podataka – zahteva izradu izveštaja koji mogu da sumiraju podatke u skupovima zapisa (Recordset). razvijate obrasce za prikaz i uređivanje podataka. koji se dešava kada je aktivni objekat neki obrazac ili izveštaj. Objekti Recordset nazivaju se virtuelne tabele. za automatizaciju se koristi Visual Basic for Application (VBA). a zatim izaberete režim izvršavanja. dešifrujete i popravite podatke iz baze. obrasca i izveštaja u posebnim prozorima za dokument.  Štampanje dopušta da odštampate praktično sve što možete da pregledate u radnom režimu programa Accessa. koje koriste prednosti jezika Dynamic HTML (DHTML) i Extensible Markup Language (XML).  Režim projektovanja (Design mode) omogućava da napravite i modifikujete strukturu tabela i upita. koje automatizuju operacije nad bazom podataka koje se ponavljaju. Ovaj režim se ne primenjuje na VBA module. jer se funkcije izvršavaju kada se pojave kao elementi upita. REŽIM RADA ACCESSA Access ima tri osnovna radna režima:  Režim za pokretanje (Startup mode) omogućava da konvertujete.  Režim izvršavanja (Run mode) prikazuje dizajn tabela. Makroe izvršavate tako što jedan od njih izaberete. Funkcije VBA se koriste da bi se izvršavala složenija izračunavanja od onih koja se mogu lako izložiti pomoću niza konvencionalnih matematičkih simbola.

U velikim organizacijama. Od korisnika baze podataka ne zahteva se da znaju kako se projektuje bilo koji od elemenata baze. koje uspostavljate izborom stavki Tools. koji se naziva System ID (SID) i koji identifikuje korisnika koji trenutno koristi Access. želite da onemogućite da drugi korisnici namerno ili slučajno promene dizajn aplikacije. obično sa oznakama tipa . • Automatizovana je pomoću VBA koda. BIBLIOTEČKE BAZE PODATAKA PROGRAMA ACCESS  Još jedna kategorija datoteka. npr. Ova datoteka sadrži sledeće informacije: • • • Imena korisnika i grupa korisnika. tako da korisnici vrše izbor pomoću komandnih dugmadi ili opcija iz namenski projektovanih menija.mde ili . • Definicije prilagođenih paleta alatki u Accessu 2000.mda. Operativna podešavanja. obrasce. Svi elementi baze podataka prethodno su u potpunosi definisani tokom projektovanja aplikacije.• • Sadrži upite. Access sadrži glavnu datoteku baze podataka koja se naziva datoteka radne grupe. dodavanje novih proizvoda i procesa. dosledan i ekonomičan način. koji su neophodni za prikaz podataka na razumljiv način i za ažuriranje tih podataka ako je neophodno. jedna sa drugom povezane su preko lokalne mreže (LAN) ili regionalne mreže (WAN) tako da ih korinik “vidi” kao jednu bazu podataka.mdw. ispunjavanje zakonskih regulativa i prihvatanje novih aplikacija za obradu transakcija i podršku odlučivanju. Pojedinačne baze podataka. Strategija projektovanja baze podataka jeste da se ostvare sledeći ciljevi:  Zadovoljenje potreba organizacije za informacijama na pravovremen. koje pravi svaki korisnik. eliminisanje dupliranja može da zahteva distribuiranu bazu podataka. a sa Accessom možete da ih povežete izborom alatke Add-In Manager (kojoj možete da pristupite izvorom opcije Tools.  Prilagoditi proširenje baze podataka za prihvatanje potreba organizacije koja se razvija. Lozinke i jedinstveni binarni kod korisnika.  Dopunski programi predstavljaju bibliotečku bazu podataka Accessa. pojavljuju se dopunski programi.  Obezbediti brz pristup određenim elementima baze podataka za sve kategorije korisnika. svi elementi te bibliotečke baze podataka biće vam dostupni kada otvorite Access. dizajna aplikacija. (Objekti aplikacije). da bi se razlikovali od korisničkih baza podataka. koji se nazivaju i biblioteke. Brzina rada zavisi od samog sistema za upravljanje relacionom bazom podataka. umesto iz lista u prozoru Database. kod baza podataka u Accessu. pod nazivom System. U većini slučajeva. izveštaje i makroe. Distribuirane baze podataka koriste više servera za čuvanje pojedinačnih baza podataka. . koji mogu da otvore Access. mogućnosti računara servera i klijenta i karakteristika mreže. Add-Ins).  Kada povežete neku biblioteku Accessa. Options iz menija.  Eliminisanje ili smanjenje dupliranja sadržaja baze podataka unutar organizacije.

s tim. NORMALIZACIJA PODATAKA U RELACIONI MODEL . Odredite način korišćenja indeksa kako biste ubrzali upite. Izradite uvodni rečnik podataka da biste definisali tabele koje čine osnovu baze podataka. Ako je potrebno da se obezbedi zaštita podataka. napišite procedure za održavanje baze podataka. 6. Ustanovite kako svojstva objekata utiču jedna na druge. 2. Odredite značajna svojstva (atribute) i ponašanja objekata. RELACIJA TIPA JEDAN-PREMA-VIŠE Povezuju jedan red iz jedne tabele sa više redova druge tabele preko relacije između primarnog ključa bazne tabele i odgovarajućeg spoljnjeg ključa u povezanoj tabeli. Ovakve tabele možete kombinovati u jednu tabelu koja se sastoji od svih kolona obe tabele. RELACIJE TIPA VIŠE-PREMA-JEDAN Povezuju više redova jedne tabele sa jednim redom druge tabele. RELACIJE TIPA VIŠE-PREMA-VIŠE I ČETVRTA NORMALNA FORMA Ne mogu da se izraze kao jednostavne relacije između dva sudelujuća entiteta. da izrazito ne usporite dodavanja podataka u tabele ili da dodatno zauzimate velik prostor na disku. 7. Okidači jesu skupovi pravila sadržani u bazi podataka. editovanje. Njih ostvarujete tako što pravite tabelu koja ima relacije tipa više-prema-jedan sa dve bazne tabele. Identifikujte objekte (izvori podataka) koje sistem baze podataka predstavlja.  Olakšati izradu aplikacija za unos podataka. TIPOVI RELACIJA RELACIJA JEDAN-PREMA-JEDAN Jednom redu u jednoj tabeli odgovara jedan red u drugoj tabeli. Očuvanje integriteta baze podataka tako da ona sadrži samo proverene informacije koje mogu da se pregledaju. uključujući sve neophodne zahteve u vezi sa integritetom podataka.  Dozvoliti pristup samo onim informacijama baze podataka koje su pojedinim korisnicima ili grupama korisnika neophodne prema vrsti njihovog posla. 10.  Sprečavanje pristupa bazi podataka od strane neovlašćenih osoba. Otkrijte veze između objekata. 5. prikazivanje i izradu izveštaja koje služe korisnicima baze podataka. 8. 9. 3. 4. kao jedne celine. uključujući i one za izradu rezervne kopije datoteke i restauraciju. a i za tabele koje ona sadrži. Access nudi bezbednosni sistem koji od korisnika zahteva da unesu lozinke da bi otvorili određenu bazu podataka. odredite ko može da pristupi i menja podatke u svakoj tabeli (zaštita podataka) i da promeni strukturu tabela. Postupak projektovanja sistema relacione baze podataka sastoji se od 10 osnovnih koraka: 1. Većina klijent/server baza podataka nude ugrađene okidače za očuvanje integriteta baze podataka i obavljanje drugih operacija. Naznačite relacije između tabela baze podataka na osnovu veza između objekata koje se nalaze u njima i ove informacije uključite u rečnik podataka. Uspostavite tipove ažuriranja i transakcija koji prave i menjaju podatke u tabelama. Dokumentujte dizajn baze podataka.

a kada postoje relacije tipa više-prema-više i pravilo četvrte normalne forme. za postizanje različitih ciljeva:  Upiti za izbor (Select Querys) izdvajaju podatke iz jedne ili više tabela i prikazuju te podatke u tabelarnom obliku. DRUGA NORMALNA FORMA Zahteva da podaci u svim kolonama koje nisu deo ključa budu potpuno zavisni od primarnog ključa i svakog elementa (kolone) primarnog ključa kada je on složeni primarni ključ. Takvi upiti dopuštaju da dodate ili obrišete zapise iz tabele. kada između njih postoje relacije tipa više-prema-više. na osnovu sume vrednosti numeričkih polja većeg broja zapisa. ČETVRTA NORMALNA FORMA Zahteva da se nezavisni entiteti podatka ne čuvaju u istoj tabeli. Druga normalna forma uklanja veći deo nepotrebnih (redudantnih) podataka.PRAVILA NORMALIZACIJE Normalizacija je formalizovani postupak za grupisanje atributa podataka u tabele i tabela u baze podataka. Parametarski upiti zapravo nisu poseban tip upita. PRVA NORMALNA FORMA Zahteva da tabele budu ravne i da ne sadrže duplirane grupe. UPITI Access omogućava pravljenje četiri osnovna tipa upita.  Parametarski upiti (Parameter queries) čije se korišćenje ponavlja pri čemu se vrše samo jednostavne izmene njihovih kriterijuma. ili prave velike izmene u nekoj tabeli. Tabele moraju da odgovaraju prvoj i drugoj formi da bi bile sposobne za treću normalnu formu. Access prikazuje okvir za dijalog koji od vas zahteva da unesete novi kriterijum. TREĆA NORMALNA FORMA Zahteva da sve kolone koje nisu deo ključa tabele budu zavisne od primarnog ključa tabele i nezavisne jedna od druge. .  Akcioni upiti (Action queries) prave nove tabele iz tabela upita. Kad izvršavate parametarski upit. na jedinstven način određena vrednošću primarnog ključa.  Umanjivanje uticaja strukturnih izmena baze podataka na korisničke aplikacije koje pristupaju podacima. Potpuno zavisni znači da je vrednost podatka u svakoj koloni koja nije deo ključa zapisa. Ovakvi upiti su korisni za analiziranje podataka i izradu grafika ili dijagrama.  Upiti unakrsnih tabela (Crosstab queries) sumiraju podatke iz jedne ili više tabela u obliku radne tabele. upite unakrsnih tabela i u akcione upite. jer ove parametarske funkcije možete da dodate u upite za izbor. ili napravite izmene u zapisima na osnovu izraza koji unosite pri dizajnu upita.  Prilagođavanje budućim izmenama u strukturi tabela. PETA NORMALNA FORMA Zahteva da mora postojati mogućnost da se tačno rekonstruiše originalna tabela pomoću tabela u koje je ona rastavjlena. Ciljevi normalizacije:  Eliminisanje dupliranih informacija u tabelama. Peta normalna forma zahteva da tabele poštuju pravila treće normalne forme.

Podaci smešteni na mrežnim serverima moraju da budu zaštićeni od hardverskih kvarova i katastrofalnih oštećenja (požari.  Menjanje vrednosti polja primarnog ključa bazne tabele od koje zavise zapisi u povezanoj tabeli. a da se ne obriše ili doda odgovarajući zapis u povezanoj tabeli. menjaju. Mreža treba da je zaštićena od neovlašćenog korišćenja.  Indeks na polju primarnog ključa sa svojstvom No Duplicates.  Brisanje ili dodavanje zapisa tabeli koja je u relaciji tipa jedan-prema-jedan sa drugom tabelom. 4. ODRŽAVANJE BEZBEDNOSTI BAZE PODATAKA Bezbednost baze podataka sprečava neovlašćene osobe da slučajno ili namerno pregledaju. Korisnike koji više puta uzastopno pokušaju da naruše bezbednost mreže trebalo bi isključiti iz mreže dok se ne preduzme odgovarajuća administrativna akcija. 5.) odgovarajućim i pravovremenim pravljenjem rezervnih kopija. Pet ovih principa vezano je za mrežni operativni sistem (briga administratora mreže): 1. Svaki identifikovani korisnik mreže mora da bude ovlašćen za pristup određenim elementima mreže kao što su omotnice na serverima. Aktivnosi korisnika mreže trebalo bi nadgledati da bi se utvrdilo da li korisnici pokušavaju da pristupe elementima mreže za koje nemaju ovlašćenja. PRINCIPI BEZBEDNOSTI BAZE PODATAKA U LOKALNOJ MREŽI Postoji deset osnovnih principa bezbednosti za baze podataka instalirane na lokalnoj mreži. brišu ili uništavaju podatke koji se u njoj nalaze. Integritet entiteta zahteva da svi primarni ključevi moraju da imaju jedinstvene vrednosti unutar jedne tabele. a da se prvo ne obrišu svi odgovarajući zapisi na strani “više” relacije. 3. Referencijalnog integriteta. a da ne postoji odgovarajući zapis na strani “jedan” relacije.OBEZBEĐIVANJE INTEGRITETA BAZE PODATAKA Integritet baze podataka sastoji se od dva elementa: 1. zemljotresi itd. Access javlja poruku o grešci. 1. U Accessu su ugrađene dve metode za obezbeđivanje integriteta entiteta:  Polje ključa koristi AutoNumber tip podataka koji pravi jedinstvene vrednosti na osnovu automatskog povećanja long celobrojne vrednosti. To zahteva instaliranje bezbednosnog sistema protiv hakerisanja i redovno testiranje prisustva virusa.  Brisanje zapisa na strani “jedan” relacije tipa jedan-prema-više. Ovo pravilo zahteva da se spreče sledeći tipovi transakcija:  Dodavanje zapisa na strani “više” relacije tipa jedan-prema-više. Integriteta entiteta i 2. Referencijalni integritet zahteva da za sve spoljne ključeve postoje vrednosti primarnog ključa bazne tabele. 2.  Menjanje vrednosti polja spoljnjeg ključa u relacionoj tabeli u vrednost koja ne postoji u polju primarnog ključa bazne tabele. Ako pokušate da unesete dupliranu vrednost u polje ključa. UPRAVLJANJE GRUPAMA I KORISNICIMA . Svaki korisnik mreže mora biti ispravno identifikovan pre nego što dobije pristup mreži. štampači i drugi zajednički resursi. 2.

Podaci u tabelama trebalo bi da budu dostupni za pregledanje. U mreži ravnopravnih članova. Obični članovi radnih grupa (Users) imaju dozvolu da otvore bazu podataka. 3. Access ima dva nivoa bezbednosti:  na nivou aplikacije (zahteva da svaki korisnik Accessa unese korisničko ime i lozinku da bi mogao da pokrene Access) i  na nivou datoteke (uspostavio je mrežni operativni sistem.Većina klijent-server baza podataka prepoznaje sledeće tri grupe korisnika baze podataka: 1. 2. kao što je Windows NT Server i ona određenim korisnicima dozvoljava ili ne dozvoljava pristup zajedničkim omotnicama i/ili pojedinačnim datotekama). Korisnicima mora da bude dodeljena posebna dozvola za korišćenje baze podataka i tabela koje ona sadrži. Korisnici se moraju dodatno identifikovati pre nego što im se dozvoli da otvore datoteku baze podataka. Sadržaji tabela u bazi podataka trebalo bi da budu šifrovani kako bi se sprečilo pregledanje podataka sa uslužnim programima za čitanje datoteka ili druga “njuškanja”. mere za bezbednost mreže su odgovornost svake osobe koja deli svoje resurse sa drugima. Povremenim korisnicima baza podataka (Guests) ćesto su dodeljena ograničena prava da koriste bazu podataka i objekte koje ona sadrži. a po potrebi im se dodeljuje dozvola za pregledanje i menjanje baza podataka. 2. Administratori (Admins) imaju ovlašćenja da pregledaju i ažuriraju postojeće tabele i dodaju ili obrišu tabele i druge objekte baze podataka iz baze podataka. ali im se ne dodeljuje korisnički nalog. Ostalih pet principa bezbednosti baze podataka određeno je bezbednosnim mogućnostima sistema za upravljanje bazom podataka i aplikacijama koje pomoću njega pravite. Članovi grupe Admins obično imaju dozvolu da menjaju aplikacije sadržane u bazama podataka. 1. 4. . 3.