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

skladištenje i obradu podataka u cilju dobijanja informacija potrebnih za pokretanje neke akcije ili donošenje neke odluke. Organizovan skup komponenti za prikupljanje. rada i kapitala. Računarska aplikacija • Računarski zasnovano rešenje jednog ili više poslovnih problema i donošenja odluka. prenos. Informaciona tehnologija . podataka. Sistem Informacioni sistem • • • Sistem u kome se veze između objekata i veze sistema sa okolinom ostvaruju razmenom informacija. • Zahtev u kompanijama – zaposleni treba da učestvuju u razvoju informacionog sistema i aplikacija. 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. Projektovanje sistema Projektovanje sistema podrazumeva definisanje i konstruisanje tehnički i računarski zasnovanih rešenja za identifikovane poslovne zahteve u sistemskoj analizi. 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. Uloga sistem analitičara • Proučavaju poslovne probleme i mogućnosti. interfejsa. Uređeni i integrisani skup ljudi. prevode poslovne i informacione zahteve u računarski zasnovane IS i rač. a takođe i u cilju podrške menadžmentu u rešavanju poslovnih problema i donošenja odluka. aplikacije koje potom bivaju implementirane od strane tehničkih stručnjaka. pored sirovina. energije.Uvod: • Informacija je postala upravljački resurs. procesa. • Obavlja sistemsku analizu i projektovanje IS i računarskih aplikacija.

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. a zatim simulira razmišljanje tog eksperta.) Menadžment IS • Dopunjuju TPS sa menadžerskim izveštajima neophodnih za planiranje.Stakeholders . 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. Nosioci IS .Opisuje kombinaciju računarske tehnologije (hardvera i softvera) sa telekomunikacionom tehnologijom (mreža podataka. nadgledanje i upravljanje poslovnim operacijama. plaćanje i dr. Može odgovoriti na poslovnu transakciju (porudžbina. slika i glasa). • • Implementirani su sa tehnologijom veštačke inteligencije. Kancelarijski IS • engl. Decision Support Systems – DSS • • Aplikacije IS koje pomažu korisnicima u procesu donošenja odluka. potvrde o uplati i dr. 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. ES zahteva podatke i informacije kao i svaki IS. Transaction Processing Systems – TPS • • Aplikacije IS koje prikupljaju i obrađuju podatke o poslovnim transakcijama. • Aplikacije IS koje obezbeđuju menadžerski orjentisane izveštaje u predodređenom formatu obično zasnovane na matematičkim ili statističkim modelima. čekovi. Sistemi za podršku odlučivanju • engl. ali su jedinstveni u svojim zahtevima za pravilima koje simuliraju zaključivanje eksperta koji koristi podatke i informacije.) i/ili inicirati transakciju (računi. odnosno situacije koje se ne mogu unapred predvideti i strukturalno postaviti.

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

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

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

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

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

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

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

. . Osnovni ciljevi ove faze su: – Identifikovati i ispitati hardver i softver koji može da podrži preporučeno rešenje. Dijagram dekompozicije prikazuje top-down (sa vrha na dole) funkcionalnu dekomoziciju i strukturu sistema. CRUD matrice • Kvalitet sinhronizacije podrazumeva da svaki objekat treba da ima najmanje jedno kreiranje (C – create).3. – – • – Pismeni izveštaj koji sadrži analize i preporuke najboljeg rešenja. Kod analize izvodljivosti mnogi analitičari imaju u vidu sledeće kriterijume: • Tehnička izvodljivost... 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.– – – – – – Dijagram najvišeg nivoa. procesa i mreža. jedno menjanje ili modifikovanje (U – update) i jedno brisanje (D – delete) da bi sistem bio kompletan. Rangiraju se sva alternativna rešenja prema kriterijumu izvodljivosti. 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. mogu se dekomponovati i tokovi i skladišta. Procesi se označavaju brojevima 1.2. zatim spoljne objekte sa kojima IS komunicira i odgovarajuće tokove podataka naziva se dijagram konteksta. Pored procesa. Svaki proces sa dijagrama prvog nivoa se dalje dekomponuje do nivoa primitivnih procesa Procesi na dijagramima nižih nivoa. Uobičajeno je da se zatim celokupan sistem predstavi dijagramom dekompozicije. jedno iščitavanje (R – read). povlače sa sobom brojnu oznaku nadređenog procesa.. 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. 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. koji po pravilu sadrži samo jedan proces koji predstavlja ceo IS. • CRUD matrice dokumentuju ove zahteve i sinhronizuju modele podataka. Dijagram prvog nivoa predstavlja dekompoziciju dijagrama konteksta. Najvažnije pravilo koje se mora poštovati pri dekompoziciji procesa je pravilo balansa tokova. analizira njihova izvodljivost i preporučuje globalno rešenje sistema. Za svako alternativno rešenje treba da se odrede zahtevani hardver i softver. PROJEKTOVANJE INFORMACIONIH SISTEMA Faze projektovanja IS • Faza konfiguracije: – – – identifikuje alternativna rešenja. Da li je rešenje troškovno efektivno? • Izvodljivost programa.

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

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

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

koje nisu istovremeno i n-torke relacije R2. bilo u R2. 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: • R1 A B Građanin (MLB. Dekartov proizvod – Može se primeniti na bilo koje dve relacije. Razvoj Odel5. Računovodstvo Odel3. onda je rezultat operacije unije R3 = R1 U R2 relacija R3 koja sadrži sve n-torke koje se pojavljuju bilo u R1. Marketing Odel4. pomoću koje se izbaci cela n-torka u kojoj se nalazi posmatrani atribut. NazivOdel) Odel1.– Ako su date relacije R1 i R2 koje zadovoljavaju uslove kompatibilnosti. • Presek – – – – • Izmena vrednosti pojedinih atributa u nekoj relaciji vrši se uzastopnom primenom operacije diferencije. Primer: • Definišimo relaciju NovoOdel (OdeID. Operacijom unije se mogu u neku relaciju dodati nove n-torke. Skladište – • Diferencija – Ako su date relacije R1 i R2 koje zadovoljavaju uslov kompatibilnosti. NazivOdel) Odel4. NazivOdel) Odel4. – 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. a operacijom diferencije se mogu iz neke relacije izbaciti neželjene n-torke. Operacije unije i diferencije su pogodne za ažuriranje baze podataka. Razvoj Odel5. 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. Ime. odnosno "vadi" vertikalni podskup iz odgovarajuće tabele. MestoRođ) a b 1111 Ana 19 Beograd • . Skladište • Relacija RR=Odel U NovoOdel (OdeID. Razvoj Odel5. onda rezultat operacije diferencije R3 = R1 .R2 predstavljaju n-torke relacije R1. Proizvodnja Odel2. Skladište Ako su date relacije R1 i R2 koje zadovoljavaju uslov kompatibilnosti. – Primer: • RRR = RR – Odel (OdeID. Starost.

MLB. – Primer: • Iz relacija Predmet i Prijava prikazati brojeve indeksa studenata koji su položili sve predmete. – Primer: Student (BrInd. – 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. Ime..a ? ? b ? ? • a ? • P[A]R1 Mirko 21 Valjevo Zoran 20 Beograd Ana 19 Niš Mirko 21 Beograd A Pr1:=π Ime. 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.MLB=Student. MLB. Starost. 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). Smer) 155/01 1111 Kompjuterski 255/02 2222 Izvršno upravljanje 322/01 3333 Međunarodno poslovanje Pr2= Građanin [Građanin.MLB] Student Pr2 (MLB.. PredmetID) p1 Matematika 155/01 p1 p2 Marketing 155/01 p3 • .. NazivPredmeta) Prijava (BrInd. • Predmet (PredmetID. 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". MestoRođ.. BrInd. 111 22975718.

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

IME. • • • Cilj normalizacije je da eliminiše redudansu u atributima i sa time omogući lakše održavanje integriteta podataka i jednostavniju manipulaciju. odnosno da izbacivanje jednog logičkog skupa podataka dovodi do neželjenog izbacivanja drugih podataka. nazivaju se anomalije u održavanju baze podataka. ŠIFRA_PREDMETA OCENA→ BI OCENA→ ŠIFRA_PREDMETA Atribut OCENA je potpuno funkcionalno zavisan od složenog atributa BI. ŠIFRA_PREDMETA NAZIV_PREDMETA→ BI NAZIV_PREDMETA→ ŠIFRA_PREDMETA Tranzitivna funkcionalna zavisnost • Atribut C je tranzitivno funkcionalno zavisan od atributa A. STUDENT(BI. ŠIFRA_PREDMETA. • . ŠIFRA_SMERA.OCENA→BI. ako je funkcionalno zavisan od A i ako je funkcionalno zavisan od nekog atributa B koji je i sam funkcionalno zavisan od A. SEM. 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. a međusobno funkcijski nezavisni. • • Tranzitivna zavisnost dovodi do veće redundanse. 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. Osnovne operacije održavanja baze podataka su: dodavanje nove n-torke u relaciju. IME_RUK). odnosno nisu dozvoljene «tabele u tabeli». 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. izbacivanje neke n-torke iz relacije i izmena (ažuriranje) vrednosti nekog atributa u relaciji.

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

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

jer da bi se dodali ili izbacili podaci o jednom studentu. Š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. ŠIFRA_PREDMETA. prost ili složen. 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. PRIJAVA1 (BI. OCENA→BI. pa pošto on potpuno funkcionalno zavisi od primarnog ključa. (KK) (KK) • • • NAZIV_PREDMETA. mora se u relaciji STUDSMER izvršiti ažuriranje atributa IME_RUK. NAZIV_PREDMETA NAZIV_PREDMETA→ŠIFRA_PREDMETA ŠIFRA_PREDMETA→NAZIV_PREDMETA sve determinante nisu kandidati za ključ pa relacija nije u BCNF. • Dekompozicijom. 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: • . ŠIFRA_SMERA) STUDSMER (BI. relacija je u 2 NF. NAZIV_PREDMETA. ŠIFRA_SMERA. ŠIFRA_PREDMETA ŠIFRA_PREDMETA. ŠIFRA_SMERA) STUDENT2 (BI. Determinanta relacije R je bilo koji atribut. ŠIFRA_PREDMETA i BI. ŠIFRA_PREDMETA OCENA→BI. OCENA) • Pretpostavimo da važe sledeće funkcionalne zavisnosti: NAZIV_PREDMETA→BI. za svaku vrednost BI koja odgovara datoj vrednosti ŠIFRA_SMERA iz relacije STUDENT2a. to se mora uraditi u obe projekcije. NAZIV_PREDMETA) Dekomozicija na zavisne i nezavisne projekcije STUDENT1 (BI. od koga neki drugi atribut u relaciji potpuno funkcionalno zavisi. SEM. ili da bi ažurirali atribut IME_RUK. SEM. relacije se svodi na BCNF. Relacija je u Boyce-Codd-ovoj normalnoj formi (BCNF) ako i samo ako su sve determinante u relaciji i kandidati za ključ. IME_RUK) se može svesti na 3NF na sledeća dva načina: (a) (b) STUDENT2a (BI. IME_RUK) SMER (ŠIFRA_SMERA.PRIJAVA (BI. SEM. IME_RUK) • Projekcije (a) pokazuju izvesne anomalije u održavanju. IME. OCENA→BI. Jedini neključni atribut je OCENA. pri kojoj se iz relacije izvlače projekcije sa onim determinantama koje nisu kandidati za ključ. IME. ŠIFRA_PREDMETA. IME.

• •

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». – –

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

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

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

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

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

za vreme nekog sračunavanja koje se obavlja u jednoj transakciji. 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. a promene koje je ona učinila još nisu potvrđene naredbom COMMIT. Transakcije  Transakcija je operacija kojom se izvodi serija izmena nad jednom ili više tabela. skup instrukcija koje predstavlja transakciju počinje sa specijalnom instrukcijom BEGIN TRANSACTION.  Konzistentnost – izvršenje transakcije treba da prevede BP iz jednog u drugo konzistentno stanje. ukoliko se izvršavaju dve transakcije istovremeno. odnosno dozvoljeno je da se jedna transakcija smesti u drugu.  Kada se izda instrukcija ROLLBACK sistem. druga promeni vrednost argument koji je prva već obradila).  Osnovni cilj baze podataka je da omogući efikasnu obradu transakcija. koristeći vrednosti pre za datu transakciju.  Problem nekorektne analize podataka (na primer.  U savremenim DBMS transakcije mogu biti “ugnježdene”. ažurira odgovarajuće objekte baze podataka. poništavaju se promene koje su proizvele sve ostale transakcije strukture. DBMS poseduje i održava specijalnu memorijsku lokaciju (na nekoj spoljnoj memoriji) koja se naziva log ili žurnal.  Da bi se mogle poništiti promene koje je transakcija izvršila nad BP. 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. Gubljenje rezultata ažuriranja (na primer. odnosno prebrisano ažuriranjem koje je izvršila transakcija B u istom trenutku).  Ukoliko se u bilo kojoj transakciji ugnježdene strukture pokrene instrukcija ROLLBACK. a završava se bilo sa instrukcijom COMMIT (potvrđuju se promene u BP) ili ROLLBACK (poništavaju se promene u bazi).  Da bi se obezbedile ove osobine.  Na ovoj memorijskoj lokaciji.  Osnovni cilj baze podataka je da omogući efikasnu obradu transakcija (jedno izvršenje neke logičke jedinice posla ili programa). Konkurentna obrada transakcija . 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).  Trajnost – Kada su u BP potvrđene promene koje je izvršila neka transakcija.  Izolacija – Transakcija ne treba da svoje promene BP učini vidljivim drugim transakcijama pre nego što se ona okonča.  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žuriranje koje transakcija A obavlja je izgubljeno. tj. ove promene se više ne mogu izgubiti. transakcija A podiže. transakcija je izvršenje neke logičke jedinice rada korisnika baze podataka. dok transakcije B ulaže novac na isti račun.

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

Dugačke transakcije  Postoje aplikacije u kojima su transakcije mnogo duže. obavlja preko sekvence aktivnosti od kojih neke mogu biti programi.  Workflow sistemi – sistemi u kojima se jedna logička jedinica posla za korisnika. standardom UML-a. gde se blokovi uređuju po njihovim adresama na spoljnoj memoriji (A1<A2<A3 . sati ili čak nekoliko dana. se obavlja na taj način što se u slučaju uspeštnog kraja zadržavaju sve promene koje su učinile pojedine aktivnosti. Putanja od početnog čvora do bilo kog terminalnog čvora predstavlja moguću sekvencu akcija. Ukoliko istekne vreme transakcija se poništava i ponovo startuje.  Prevencija lokota – definisanje različitih protokola koji će sprečiti da dođe do mrtvog čvora. Prikazani mehanizmi zaključavanja u kome bi neka transakcija ovako dugo ekskluzivno zaključala elemente baze koje koristi je neprihvatljivo.  Detekcija “mrtvog čvora” – dozvoljava se da dođe do mrtvog lokota. Na primer uređenje elemenata baze.  Celokupna dugačka transakcija.). Na primer ako transakcija T1 zahteva A1 pa A2. jer ovakvo zaključavanje nije po definisanom protokolu..  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. neke interaktivne aplikacije dok su neke realizovane i potpuno ručno. . jedna od putanja od početnog čvora do uspešnog ili neuspešnog završetka. definisane tipove čvorova. 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.  Projektni sistemi – CAE. reda desetine minuta. koji bi doveo do mrtvog čvora.  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. ali transakcija koja ga je izazvala se ubija i njeni efekti na bazu se poništavaju. CASE i dr preko kojih se projektuju različiti inženjerski sistemi.  Saga se može definisati kao graf koji ima. CAD. 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. transakcija T2 neće moći da traži lokote u redosledu A2 pa A1.  Problem “živog lokota” se jednostavno rešava uvođenjem nekog redosleda zaključavanja objekta (na primer FIFO). 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”.  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. Očigledno postoji potreba za istim podacima od strane i drugih projektanata. Jedan projektant može da preuzme jedan deo podataka iz baze i da sa njim radi svoj deo projekta i nekoliko dana. Pretpostavlja se da više projektanata radi na istom projektu i da postoji zajednička baza projekta.

 Otkaz u samoj transakciji. pad glave diska) koristi se poslednja arhivska kopija cele baze za njen oporavak. 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.  Log se koristi za otkaze koji fizički ne oštećuju memorijske jedinice (diskove) na kojima se čuva baza.Oporavak baze podataka  Oporavak baze podataka je vraćanje baze podataka u korektno stanje posle nekog otkaza. preko posebno definisanih protokola oporavka.  Kada baza nije fizički oštećena. 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. . Jedan skup redundantnih podataka se čuva u logu.  Akcije sistema za konkurentnu obradu transakcija.  Tipična strategija za oporavak baze podataka je:  Ukoliko su oštećenje memorijske lokacije (na primer.  Da bi se oporavak baze mogao uspešno izvršiti neophodno je da DBMS obezbedi redundante podatke. na primer zbog deljenja sa nulom. U ovom slučaju DBMS vodi računa o sledećim otkazima:  Softverski ili hardverski otkaz koji ne oštećuje bazu (nestanak napajanja). ubijanje transakcije koja je izazvala mrtvi lokot ili neserijabilnost izvršenja skupa transakcija i sl. oporavak se vrši korišćenjem loga.

neophodno je razumeti komponente data warehouse-a koje se koriste pri izgradnji OLAP baze podataka. Neki CASE proizvodi. kako bi ih testirali i eksperimentisali nad njima. vrše i njihova testiranja kroz simulacije.• Korak 2: Napraviti prototip dijaloga i korisnički interfejs • Na osnovu dijagrama prelaznog stanja prave se prototipovi za svaki od procesa. • Korak 3: Obezbediti povratnu vezu od korisnika • • U okviru ovog koraka.  Definisanje OLAP rešenja  OLAP tehnologija predstavlja jednu alternativu tehnologiji relacione baze podataka. OLAP nudi brzi i fleksibilan pregled podataka. korisnici sistema koriste prototipove interfejsa. 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.  Projektovanje Data Warehouse  Pre nego što se kreira OLAP baza podataka. . analizu i navigaciju.

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

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

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

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

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

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

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

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

korisnici mogu da im pristupaju i da zaključe koje su im koristi od toga. . Ovakvi modeli se nazivaju šemama zvezde. e) generisanje baze podataka. a) Denormalizacija podataka  Kod denormalizovanog modela dimenzije su organizovane u šemu zvezde.  Mere su numerički podaci smešteni u centralnoj. na osnovu kojih se vrši definisanje hijerarhija.  Osnovu za izradu dimenzionog modela predstavljaju meta podaci. Dimenzioni modeli  Dimenzioni modeli su standardnog oblika te se mogu predvideti interfejsi koji će biti od koristi korisnicima skladišta podataka. d) kreiranje fizičkog modela. normalizacija i denormalizacija i definisanje agregacija. strukture podataka su tako organizovane da opisuju mere i dimenzije. Čim se određena količina podataka smesti u skladište podataka.  Fizička arhitektura dimenzionog modela je šema zvezde. c) kreiranje agregacija. Prvi korak je identifikacija dimenzija i atributa koja podseća na klasično projektovanje upotrebom ER modela i zove se dimenziono modeliranje.  Tabele činjenica sadrže podatke koji su. 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.  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. a svi oni učestvuju u stvaranju primarnog ključa tabele činjenica. oni mogu da zadaju nove zahteve zbog kojih će morati da se unesu neke izmene u modelu. f) učitavanje podataka. 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. a kod normalizovaog u šemu snežne pahuljice.  Izgradnja skladišta podataka je iterativni postupak.  U dimenzionom modeliranju.  Svaka dimenziona tabela ima svoj primarni ključ.  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. takozvanoj tabeli činjenica (fakt tabela). b) definisanje hijerarhija. Nakon toga. najčešće.  Dimenzije su standardni poslovni parametri koji definišu svaku transakciju. numeričkog tipa i mogu sadržati veliki broj zapisa. elemenata i atributa.

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

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

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

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

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

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

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

heširanje . Po završenom procesu. što vremenski može trajati relativno dugo. prelazi se na kreiranje agregacija.š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. MOLAP i ROLAP se razlikuju po načinu fizičkog čuvanja podataka.  Nedostatak MOLAP sistema je teškoća dodavanja novih dimenzija Arhitektura MOLAP sistema Transakcioni sistemi Višedimenziona baza podataka OLAP interfejs . Kada se završi sa učitavanjem podataka atomskog nivoa. 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.  ograničenje na broj dimenzija koje još uvek obezbeđuju dobre performanse sistema. a. a u slučaju ROLAP sistema podaci se čuvaju u relacionim bazama podataka. potrebno je prvo učitati podatke u višedimenzione strukture.indeksiranje .traženje izuzetaka .grafikoni .tabele . Kod MOLAP sistema podaci se čuvaju u višedimenzionoj strukturi. Korisnici zadaju svoje zahteve za OLAP izveštajima putem interfejsa.  Da bi se vršila bilo kakva analiza.  Prednost MOLAP sistema je što obezbeđuju odlične performanse sistema kada se radi sa već sračunatim podacima (agregacijama).drill down . korisnik može započeti analizu.isecanje .upiti . nakon čega je baza podataka spremna za rad.predviđanja . . Pri tome se vrše razni proračuni da bi se kreirale agregacije i popunili podaci.

.  ROLAP sistemi mogu da rade sa velikim skupovima podataka. Hibridni OLAP (HOLAP)  HOLAP alati mogu pristupati i relacionim i višedimenzionim bazama podataka. Karakteristike ROLAP i MOLAP sistema  Neke karakteristike MOLAP i ROLAP sistema:  ROLAP sistemi su optimizovani za pristupanje podacima. Čim se odredi izvor podataka.dinam čk i a k onsolidacija .b. čime se obezbeđuje kratko vreme odziva sistema na upit.  Višedimenziona analiza moguća je korišćenjem ROLAP i MOLAP sistema.predvi đanja . korisnik može započeti analizu.  MOLAP sistemi nisu pogodni za rad sa velikim skupom podataka.  Prednost ROLAP sistema je što su sumarne tabele kreirane direktno u RSUBP-u.  MOLAP sistemi su manji od ROLAP sistema. i što su tabele veoma čitljive.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. te je potrebno manje U/I operacija pri pribavljanju podataka.podela upita . korisniku su uvek na raspolaganju tekući podaci.upravljanje tok a ovim .  Za manje količine podataka ROLAP sistemi imaju skoro iste performanse kao i MOLAP sistemi.obrada iz etak uz a . S obzirom da se radi direktno nad bazom 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 .raspore đivanje .procesiranje u poz adini . c. dok su MOLAP sistemi optimizovani za prikupljanje podataka.slo ž filtriranje eno .transform acije .  Kod ROLAP sistema ne postoje ograničenja po pitanju broja dimenzija koja postoje u slučaju MOLAP sistema. što uslovljava da su MOLAP sistemi brži.

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

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

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

neophodno je da se postavi upit koji broji zapise studenata koji žele i onih koji ne žele da nastave školovanje. Izbor entiteta koji treba da se predvidi 4. gde su atributi koji treba da se predvide unapred poznati.  Primenjujući algoritam drveta odlučivanja otkrivene su sledeće relacije:  Najuticajniji atribut je ohrabrivanje njihovih roditelja da upišu fakultet. 60 % planira da upiše fakultet i to uglavnom oni sa visokim IQ. Ovo je složeniji upit i zahteva korišćenje tehnika data mininga. Oni studenti koje roditelji ohrabruju da upišu fakultet. Obrada modela i prikupljanje rezultata. Koraci kod izgradnje DM modela 1. 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.  Pretpostavimo da ste zainteresovani da odredite koji atribut ili kombinacija atributa imaju najveći uticaj da predvidi verovatnoću studenata koji će upisati fakultet. Metodologija kreiranja Data Mining modela Da bi kreirali model morate da prikupite skup podatka. Identifikovanje podataka za analizu 5.. Opciono kreiranje dimenzije i virtuelne kocke iz rezultujućeg modela 6. Identifikovanje slučaja (case) 3. Izbor tehnike data mininga 2. .

data mining alati zahtevaju postojanje "prečišćenih" i integrisanih podataka. Stariji data mining alati su zahtevali postojanje niza stručnjaka da bi se postigli zadovoljavajući rezultati. Danas. Tradicionalni i integrisani prilaz. 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. Na ovaj način se ovim modelima može pristupati upotrebom SQL naredbi. Nakon kreiranja ovih tabela.  Prvo. data mining .Podaci se ubacuju u DM model koji ih analizira i traži pravila i obrasce koji bi se kasnije mogli iskoristiti za predviđanje. svaki poznavalac SQL jezika može koristiti mogućnosti data mininga. Obradom podataka. a koje su potrebne za data mining alate. 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. Slučaj (case) je element koji se koristi za klasifikaciju i grupisanje podataka.  Treći razlog za integraciju su performanse sistema i mogućnost proširivanja koje obezbeđuje skladište podataka. Tradicionalni data mining alati bi iz tih razloga prvo izvršili transfer podataka (možda i stotine gigabajta) putem mreže. Postoji više razloga za ovu integraciju. DM engine procenjuje slučajeve i kreira model koji se zasniva na izabranom algoritmu. Podaci koji se analiziraju su obično:  Istorijski podaci  Statistički predstavnik slučajeva (cases) za koje gradite model.  Drugi razlog za integraciju data mining alata sa skladištem podataka jeste poboljšani korisnički interfejs. što bi značilo da bi se ceo proces transfera morao ponoviti. Integracija data mininga sa skladištem podataka  Danas se radi na integraciji data mining alata sa skladištem podataka. u njih treba smestiti podatke koje će data mining alati da pretražuju.

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). godišnji prihodi. izdvajanje. bračni status. bronzana i obična. prikazivanje.  Iskoristiće se raspoložive informacije o klijentima kako bi se pronašao obrazac. UVOD U ACESS Multifunkcionalni program. želi da identifikuje mogućnosti kako bi povećao nivo usluga kod svih kartica: zlatna.  OLAP koji obezbeđuje brz pristup sumarnim podacima između više dimenzija. nivo obrazovanja.  Da bi se okvalifikovala kao potpun sistem za upravljanje relacionom bazom podataka.  Bez upotrebe OLAP data mininga. moguće je izostaviti ključne informacije ili se mogu dobiti netačni rezultati. organizovanje.  Odabraćemo Klijente kao dimenziju slučaja (case dimension). štampanje i objavljivanje podataka. srebrna. Access koristi upite da . koje sadrže izabrane podatke.  Odabraćemo Člansku kartu kao informaciju koju će koristiti algoritam DM da bi identifikovao obrasce.  Raspoložive informacije od klijenata su pol.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). sastoji se od mnoštva povezanih alata za generisanje. aplikacija mora da izvršava sledeće četiri osnovne funkcije.  višedimenzioni proces otkrivanja koji će vršiti otkrivanje između dimenzija i spajati rezultate.  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. OLAP data mining  OLAP i data mining ne bi trebalo razmatrati kao odvojene procese već da ih treba u potpunosti spojiti. 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.  Povezivanje tabela i izdvajanje podataka – povezuje više tabela prema relacijama između podataka radi izrade privremenih tabela.  Komponente OLAP data mininga su:  relaciona baza podataka koja sadrži granularne podatke (ne mora biti skladište podataka). Da bi zadržao postojeće klijente i ispunio njihova očekivanja.  Ispitati drvo odlučivanja.

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

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

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

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

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

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. 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. Korisnicima mora da bude dodeljena posebna dozvola za korišćenje baze podataka i tabela koje ona sadrži. 3. 3. 2. Ostalih pet principa bezbednosti baze podataka određeno je bezbednosnim mogućnostima sistema za upravljanje bazom podataka i aplikacijama koje pomoću njega pravite. mere za bezbednost mreže su odgovornost svake osobe koja deli svoje resurse sa drugima. Obični članovi radnih grupa (Users) imaju dozvolu da otvore bazu podataka. ali im se ne dodeljuje korisnički nalog. a po potrebi im se dodeljuje dozvola za pregledanje i menjanje baza podataka. Podaci u tabelama trebalo bi da budu dostupni za pregledanje. . Članovi grupe Admins obično imaju dozvolu da menjaju aplikacije sadržane u bazama podataka. Korisnici se moraju dodatno identifikovati pre nego što im se dozvoli da otvore datoteku baze podataka. 1. Povremenim korisnicima baza podataka (Guests) ćesto su dodeljena ograničena prava da koriste bazu podataka i objekte koje ona sadrži. U mreži ravnopravnih članova.Većina klijent-server baza podataka prepoznaje sledeće tri grupe korisnika baze podataka: 1. 4. kao što je Windows NT Server i ona određenim korisnicima dozvoljava ili ne dozvoljava pristup zajedničkim omotnicama i/ili pojedinačnim datotekama). 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”.

Sign up to vote on this title
UsefulNot useful