154
Pra - Seminarski Maturski Diplomski Radovi Poslovanje u digitalnoj ekonomiji 1. Digitalna ekonomija je ekonomija zasnovana na digitalnim tehnologijama uključujući komunikacione mreže (Internet, Intranet i extranet), računare, softvere i drugu tehnologiju. 1. Sinonimi za digitalnu ekonomiju ( digital economy ) su Internet ekonomija ( Internet economy ), nova ekonomija ( new economy ) ili Web ekonomija ( Web economy ). 1. E-business/e-commerce – elektronsko upravljanje poslovnim funkcijama (npr., kupovina i prodaja roba i usluga, opsluživanje klijenata, saradnja sa poslovnim partnerima). 1. Infrastruktura za e-business je tzv. Network Computing , koji povezuje računare i druge elektronske uređaje putem telekomunikaiconih mreža. 1 / 154

Pra - Seminarski Maturski Diplomski Radovi

  • Upload
    others

  • View
    16

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Poslovanje u digitalnoj ekonomiji

1. Digitalna ekonomija je ekonomija zasnovana na digitalnim tehnologijama uključujućikomunikacione mreže (Internet, Intranet i extranet), računare, softvere i drugu tehnologiju.

1. Sinonimi za digitalnu ekonomiju (digital economy) su Internet ekonomija (Interneteconomy ), novaekonomija (new economy) ili Web ekonomija (Web economy).

1. E-business/e-commerce – elektronsko upravljanje poslovnim funkcijama (npr., kupovina iprodaja roba i usluga, opsluživanje klijenata, saradnja sa poslovnim partnerima).

1. Infrastruktura za e-business je tzv. Network Computing, koji povezuje računare i drugeelektronske uređaje putem telekomunikaiconih mreža.

1 / 154

Page 2: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

1. Ovi računari mogu biti povezani na globalno mrežno okruženje, poznato kao Internet, ilipovezani lokalno unutar organizacije, tzv. Intranet. Mnoge kompanije povezuju svoj Intranet sanekim od poslovnih partnera putem mreže koja se zove Extranet.

Internet koncept

1. Internet je globalna kolekcija mreža koje povezuju računare korisnika širom sveta.

1. Internet je globalna mreža računara/računarskih mreža koji komuniciraju i razmenjujupodatke putem TCP/IP protokola obezbeđujući nekoliko usluga tzv. Web servisa.

1. Internet obezbeđuje univerzalnu vezu sa računarima, nezavisno od toga na kojupojedinačnu mrežu su oni priključeni.

1. TCP/IP protokol omogućava komunikaciju između računara na kojima su instaliranirazličiti operativni sistemi.

Intranet i extranet

1. Kada kompanija želi da deli svoje poslovne informacije za svojim dobavljačima, klijentimai drugim partnerima onda im ona dozvoljava ograničeni pristup svom Intranetu.

2 / 154

Page 3: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

1. Intranet koji je parcijalno dostupan autorizovanim korisnicima putem Interneta ili drugimsredstvima naziva se Extranet.

1. Postavljanjem extraneta kroz Internet je mnogo lakše i ekonomičnije nego postavljanjeiznajmljenog komunikacionog linka između dve kompanije.

1. Međutim, extranet je manje bezbedan neko privatni Intranet zato što dozvoljava mogućipristup neautorizovanim korisnicima.

3 / 154

Page 4: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Nova ekonomija vs. stara ekonomija

Primer

Stara

Nova

Kupovina i prodaja knjiga

Poseta knjižari

4 / 154

Page 5: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Poseta web site-a izdavača i prodavaca

Prijavljivanje ispita na fakultetu

Šetnja kroz odelenja, čekanje ispred studentske službe itd.

On-line pristup fakultetu i prijavi ispita.

Fotografisanje

Kupovina filma, slikanje, davanje na razvijanje.

Upotreba digitalne kamere

Plaćanje robe

Odlazak u prodavnicu, plaćanje i otpremanje robe.

Korišćenje samouslužnih kioska

Plaćanje prevoza

5 / 154

Page 6: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Plaćanje u gotovom

Elektronske karte

1. Internet dovodi do promena u ekonomiji, društvu i tehnološkim osnovama stareekonomije. 2. Organizacije razvijaju nove modele poslovanja, ekonomije i vlade.

“Pritisci” na poslovanje organizacije

1. Poslovno okruženje je kombinacija socijalnih, pravnih, ekonomskih, fizičkih i političkihfaktora koji utiču na aktivnosti poslovanja.

1. Značajne promene u bilo kojim od ovih faktora dovodi do stvaranja poslovnog “pritiska” naorganizaciju.

1. Postoje tri tipa poslovnog pritiska sa kojima se organizacija suočava i to pritisci tržišta,tehnologije i društva:

6 / 154

Page 7: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Tržišni pritisak:

1. Globalna ekonomija i jaka konkurencija 2. Promena prirode radne snage 3. Moćni klijenti...

Tehnološki pritisak:

1. Tehnološke inovacije i zastarelost 2. Suviše informacija...

Socijalni pritisak:

1. Regulacija (Statuti, uređenje, propisi) Vlade 2. Trošenje na socijalne programe 3. Zaštita od terorističkih napada 4. Etnička pitanja...

IT podrška organizaciji

1. Organizacija čini veliki napor kako bi stekla nove i sačuvala postojeće klijente, a to čininajčešće koristeći informacione tehnologije.

Strategijski informacioni sistemi

1. Šta podrazumevamo pod strategijskim korišćenjem informacionih sistema? Informacionisistemi su strategijski ukoliko ispunjavaju ciljeve i strategiju poslovanja i ukoliko imaju uticaja na

7 / 154

Page 8: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

celokupno poslovanje preduzeća.

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

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

1. Izvršavaju veoma brzo velika numerička izračunavanja.

1. Obezbeđuju brzu, tačnu i jevtinu komunikaciju unutar i između organizacija.

1. Automatizuju poluautomatske poslovne procese i manuelne zadatke.

8 / 154

Page 9: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

1. Skladište ogromnu količinu informacija u jednom lako pristupačnom i malom prostoru.

1. Omogućavaju brz i jevtin pristup rasprostranjenim informacijama, worldwide.

1. Olakšavaju interpretaciju ogromnih količina podataka.

1. Omogućavaju komunikaciju i saradnju bilo gde i bilo kada.

1. Povećavaju efektivnost i efikasnost ljudi koji rade u grupama na jednom mestu ili nanekoliko lokacija, bilo gde.

1. Olakšavaju rad u rizičnom (hazardnom) okruženju.

IT arhitektura e-business-a

9 / 154

Page 10: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Infrastruktura informacione tehnologije

1. Informaciona tehnologija – uključuje skup informacionih resursa, korisnika i menadžmentakoji ih nadgledaju, IT infrastrukturu i sve druge informacione sisteme u organizaciji.

1. IT infrastruktura - podrazumeva fizičku opremu, IT komponente, IT usluge i ITmenadžment koji podržava čitavu organizaciju.

1. IT komponente su hardver, softver i komunikacione tehnologije koje koristi IT osoblje dabi proizvelo IT usluge.

1. IT usluge uključuju razvoj sistema za upravljanje podacima i brigu o bezbednosti.

1. 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)

10 / 154

Page 11: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

SDLC - struktuirani okvir koji se koristi za velike IT projekte koji se sastoje od sekvencionalnihprocesa po kojima se razvijaju informacioni sistemi

INFORMACIONI SISTEMI

Uvod:

- Informacija je postala upravljački resurs, pored sirovina, energije, rada i kapitala.

- Zahtev u kompanijama – zaposleni treba da učestvuju u razvoju informacionog sistema iaplikacija.

Sistem

11 / 154

Page 12: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Informacioni sistem

- Sistem u kome se veze između objekata i veze sistema sa okolinom ostvaruju razmenominformacija.

- Organizovan skup komponenti za prikupljanje, prenos, skladištenje i obradu podataka ucilju dobijanja informacija potrebnih za pokretanje neke akcije ili donošenje neke odluke.

- Uređeni i integrisani skup ljudi, podataka, procesa, interfejsa, mreža i tehnologija kojasu u međusobnoj korelaciji u cilju podrške i poboljšanja svakodnevnih poslovnih operacija, a takođe i u cilju podrške menadžmentu u rešavanju poslovnih problema i donošenjaodluka.

Računarska aplikacija

- Računarski zasnovano rešenje jednog ili više poslovnih problema i donošenja odluka.

12 / 154

Page 13: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Jedan informacioni sistem u sebi sadrži jednu ili više računarskih aplikacija.

Uloga sistem analitičara

- Proučavaju poslovne probleme i mogućnosti, prevode poslovne i informacione zahteve uračunarski zasnovane IS i rač. aplikacije koje potom bivaju implementirane od strane tehničkihstručnjaka.

- Obavlja sistemsku analizu i projektovanje IS i računarskih aplikacija.

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.

Projektovanje sistema

Projektovanje sistema podrazumeva definisanje i konstruisanje tehnički i računarski zasnovanihrešenja za identifikovane poslovne zahteve u sistemskoj analizi.

Informaciona tehnologija

13 / 154

Page 14: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Opisuje kombinaciju računarske tehnologije (hardvera i softvera) sa telekomunikacionomtehnologijom (mreža podataka, slika i glasa).

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. Transaction Processing Systems – TPS

- Aplikacije IS koje prikupljaju i obrađuju podatke o poslovnim transakcijama.

- Može odgovoriti na poslovnu transakciju (porudžbina, plaćanje i dr.) i/ili inicirati transakciju(računi, čekovi, potvrde o uplati i dr.)

Menadžment IS

- Dopunjuju TPS sa menadžerskim izveštajima neophodnih za planiranje, nadgledanje iupravljanje poslovnim operacijama.

14 / 154

Page 15: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Aplikacije IS koje obezbeđuju menadžerski orjentisane izveštaje u predodređenomformatu obično zasnovane na matematičkim ili statističkim modelima.

Sistemi za podršku odlučivanju

- engl. Decision Support Systems – DSS

- Aplikacije IS koje pomažu korisnicima u procesu donošenja odluka.

- DSS podržava nestruktuirane odluke, odnosno situacije koje se ne mogu unapredpredvideti i strukturalno postaviti.

Ekspertni sistemi

- Aplikacija IS koja prikuplja znanje i stručnost onih koji se bave rešavanjem problema ilidonošenjem odluka, a zatim simulira razmišljanje tog eksperta.

- Implementirani su sa tehnologijom veštačke inteligencije.

15 / 154

Page 16: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- ES zahteva podatke i informacije kao i svaki IS, ali su jedinstveni u svojim zahtevima zapravilima koje simuliraju zaključivanje eksperta koji koristi podatke i informacije.

Kancelarijski IS

- engl. Office Information Systems

- Podržavaju veliki obim poslovnih kancelarijskih aktivnosti koji poboljšavaju posao ikomunikaciju 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 - Stakeholders

- Vlasnici sistema (System Owners) – finansiraju razvoj i održavanje informacionogsistema. Oni poseduju sistem, postavljaju prioritete u sistemu i određuju politiku za njegovo

16 / 154

Page 17: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

korišćenje. U nekim slučajevima, vlasnici sistema mogu biti i korisnici sistema.

- Korisnici sistema (System Users) su ljudi koji za obavljanje svojih poslova, koristeinformacioni sistem. Danas korisnici sistema rade rame uz rame sa projektantima sistema.

- Projektanti sistema (System Designers) projektuju sistem kako bi izašli u susret zahtevimakorisnika. Oni projektuju baze podataka, ekrane, mreže i programe. U nekim slučajevima,projektanti sistema mogu biti i graditelji sistema.

- Graditelji sistema (System Builders) su tehnička lica koja konstruišu, testiraju i isporučujusistem.

Fokusi sistema

- PODACI – sirov materijal koji se koristi za kreiranje informacija.

- PROCESI – aktivnosti koje izvršavaju misiju poslovanja.

17 / 154

Page 18: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- INTERFEJSI – pokazuju kakav je međusoban uticaj sistema na ljude i druge sisteme.

- GEOGRAFIJA – pokazuje gde su podaci uskladišteni i gde se odvijaju procesi i interfejsi.

Fundamentalni blokovi informacionog sistema

- Preseci perspektiva (redova) i svakog fokusa (kolona) definišu fundamentalne blokove ilićelije informacionog sistema.

- Blokovi informacionog sistema ne egzistiraju izolovano, već moraju biti sinhronizovanikako bi se izbegle nedoslednosti i nekompatibilnosti unutar sistema.

Fundamentalni blokovi podataka

- Pogled vlasnika sistema na sistem podataka

–        zainteresovan za resurse poslovanja, kojih čine kupci, proizvodi, oprema, zgrade,porudžbine ili plaćanja. Njegov domen jeste da za svaki objekat i relacije između objekataidentifikuje eventualne probleme, mogućnosti, ciljeve i ograničenja.

18 / 154

Page 19: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Pogled korisnika sistema na sistem podataka

–        Korisnici svakodnevno prikupljaju, skladište, obrađuju, uređuju i koriste te podatke. Zanjih su podaci smešteni po fasciklama, knjigama, organizovani po spreadsheets datotekama iliuskladišteni unutar baza podataka itd.

- Pogled projektanta sistema na sistem podataka

–        Projektanti sistema prevode zahteve korisnika u računarske datoteke i baze podataka.Pogled projektanta sistema na sistem podataka je u obliku šeme baze podataka.

- Pogled graditelja sistema na sistem podataka

–        Graditelji sistema su najbliži korisnici tehnologije baze podataka. Oni moraju dapredstavljaju podatke u veoma preciznoj jezičkoj formi. Najkorišćeniji standardni upitni jezik kojiomogućava komunikaciju sa bazom podataka jeste SQL (od početnih slova engleskih reči: Structured Query Language).

Fundamentalni blokovi procesa

- Pogled vlasnika sistema na procese sistema

–        Vlasnici sistema su zainteresovani za grupe procesa visokog nivoa nazvanih poslovnefunkcije. Tipične poslovne funkcije su proizvodnja, špedicija, prodaja, usluge, računovodstvo idruge.

19 / 154

Page 20: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

–        Vlasnici sistema će pružiti informacije o zapaženim problemima, mogućnostima, ciljevimai ograničenjima funkcija. Takođe će želeti da diskutuju o troškovima i koristima okoprojektovanja informacionog sistema.

- Pogled korisnika sistema na procese sistema

–        Korisnici vide odvojene poslovne procese.

–        Poslovni procesi su odvojene aktivnosti koje imaju svoje ulaze i izlaze, kao i vremenapočetka i završetka.

–        Reprojektovanje poslovnih procesa (Business Process Redesign - BPR) podrazumevaproučavanje, analizu i reprojektovanje osnovnih poslovnih procesa u cilju smanjenja troškova ipoboljšanja vrednosti poslovanja.

–        Izazov u sistemskoj analizi jeste da se identifikujuju, izraze i analiziraju zahtevi poslovnihprocesa. Jedna od metoda sistemske analize, koja to omogućava, je model procesa.

- Pogled projektanta sistema na procese sistema

–        Na osnovu datih poslovnih procesa od strane korisnika sistema, projektant mora prvo daodredi koje procese treba automatizovati i kako ih automatizovati na najbolji mogući način.

–        Aplikaciona šema je model koji govori o tome kako su i kako će biti implementiraniposlovni procesi upotrebom računara i programa.

20 / 154

Page 21: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Pogled graditelja sistema na procese sistema

–        Graditelji sistema prikazuju procese pomoću programskih jezika koji opisuju ulaze, izlaze,logiku i kontrolu.

–        Neki primeri programskih jezika su C++, Visual BASIC, Java i dr.

–        Aplikacioni programi su jezički-zasnovani, mašinski-čitljivi prikazi o tome šta bi računarskiproces trebao da radi ili kako bi računarski proces trebao da ostvari svoje zadatke.

Fundamentalni blokovi interfejsa

- Pogled vlasnika sistema na interfejs sistema

–        Model konteksta, dati sistem predstavlja kao jedini proces (koji se grafički nalazi nasredini stranice) i prikazuje sve ulazne i izlazne tokove procesa sa korisnicima, poslovnimjedinicama, kupcima i dr.

- Pogled korisnika sistema na interfejs sistema

–        Korisnički interfejs definiše kako korisnici sistema pristupaju informacionom sistemu dabi uneli podatke, pravili upite, dobili izveštaje i koristili help (pomoć).

21 / 154

Page 22: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

–        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, odnosno objekti GUI-a doslovno crtaju u grafičkomobliku, pri čemu programer ne mora da razmišlja o kodu koji se brine za njihovo kreiranje. Svimnacrtanim objektima mogu se podešavati razne osobine, koje određuju njihovo pojavljivanje iponašanje na ekranu.

- Pogled projektanta sistema na interfejs sistema

–        Korisnički dijalog u interakciji sa aplikacionim programom, opisuje kako se korisnikpomera sa ekrana na ekran kako bi obavio zadatak.

–        Projektant sistema crta interfejs šemu, koja definiše osobine interfejsa, stanja sistema,događaje koji menjaju stanje sistema i odzive na događaje.

- Pogled graditelja sistema na interfejs sistema

–        Graditelji sistema izgrađuju, instaliraju, testiraju i implementiraju korisničke i sistemskeinterfejse.

–        Jedna od interfejs tehnologija koja je danas dosta popularna je middleware (midlweæ(r)).

–        Middleware je koristan softverski sloj koji se nalazi između aplikacionog i sistemskogsoftvera, a služi da transparentno integriše različite tehnologije kako bi one mogle dafunkcionišu.

22 / 154

Page 23: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

–        Jedan primer middleware jeste povezanost otvorenih baza podataka (Open DatabaseConnectivity – ODBC). ODBCalati 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 bazamapodataka.

Fundamentalni blokovi geografije

- Informacioni sistem geografije opisuje (1) distribuciju podataka, procesa i interfejsa naodređene poslovne lokacije i (2) kretanje podataka i informacija između ovih lokacija.

- Pogled vlasnika sistema na geografiju sistema

–        Vlasnik sistema određuje operativne lokacije i određuje da li će sistem biticentralizovan, distribuiran ili dupliciran, dok sistem analitičar mora da zna koje poslovne funkcijese odvijaju na svakoj od lokacija, da li su neke funkcije duplicirane, da li ih obezbeđuje jedna iliviše lokacija, koje lokacije mora da opsluži informacioni sistem itd.

–        Sistem analitičar će zajedno sa vlasnikom sistema utvrditi mape, planove prostora imatrice koje pokazuju koje se poslovne funkcije obavljaju na određenoj lokaciji.

- Pogled korisnika sistema na geografiju sistema

23 / 154

Page 24: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

–        Korisnika sistema će zanimati individualne kancelarije ili druge prostorije unutar zgrade.

–        Komunikacioni zahtevi definišu zahteve operativnih lokacija za informacionimresursima i definišu način njihovog međusobnog komuniciranja.

–        Informacioni resursi operativnih lokacija uključuju ljude, podatke, procese i interfejse kojisu neophodni na svakoj od lokacija. Sistem analitičar prikazuje mrežu jednog informacionogsistema koristeći dijagram toka podataka između lokacija.

- Pogled projektanta sistema na geografiju sistema

–        Šema mreže (mrežna konfiguracija ili topologija) je tehnički model koji identifikuje sveračunske centre, računare i mrežni hardver koji će biti uključeni u računarsku aplikaciju.

–        Zadatak projektanta jeste da odredi optimalnu distribuciju podataka, procesa i interfejsakroz mrežu.

- Pogled graditelja sistema na geografiju sistema

–        Graditelji sistema koriste telekomunikacione jezike i standarde za pisanje mrežnihprograma.

–        Mrežni programi su mašinski-čitljive specifikacije računarski komunikacionih parametarakao što su adrese čvora, protokoli, brzine linija, kontrola tokova, bezbednost, privilegije i drugikompleksni mrežni parametri.

24 / 154

Page 25: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

–        Obično je osnovna softver tehnologija za mreže već kupljena i instalirana, ali ona morabiti instalirana, konfigurisana i podešena prema zadatim performansama. Primerikomunikacionih softvera koji uključuju mrežne operativne sisteme su Netware, OS/2 LANManager , Windows/NT Serveritd.

SISTEMSKI INŽENJERING POMOĆU RAČUNARA - CASE

Šta su CASE alati?

1. Sistemski inženjering pomoću računara (CASE) je jedna aplikacija informacionetehnologije koja je okrenuta ka sistemskom razvoju aktivnosti, tehnika i metodologija.

1. CASE alati su programi (softveri) koji automatizuju i podržavaju jednu ili više fazaživotnog ciklusa razvoja sistema.

1. Namera ove tehnologije jeste da ubrza procese razvijanja sistema i poboljša njegov

25 / 154

Page 26: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

kvalitet.

1. Neki ovu tehnologiju nazivaju kao softverski inženjering pomoću računara (computer-aided software engineering), međutim treba imati u vidu da je softver samo jedna komponenta informacionog sistema, pase stoga ovde koristi širi pojam sistem.

1. CASE nije metodologija niti bilo kakva njena alternativa.

1. CASE je tehnologija koja podržava metodologije naročito strategije, tehnike i standarde.

1. CASE tehnologija automatizuje celokupnu metodologiju razvoja sistema.

Koristi od primene CASE alata

1. Poboljšana produktivnost (kroz automatizaciju zadataka i ubrzan razvoj aplikacija).

26 / 154

Page 27: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

1. Poboljšani kvalitet (CASE alati proveravaju kompletnost, konzistentnost ikontradiktornost).

1. Bolja dokumentacija (alati olakšavaju kreiranje i sakupljanje konzistentne,visoko-kvalitetne dokumentacije).

1. Smanjeno vreme održavanja (prethodno spomenuta poboljšanja kvaliteta sistema sekombinuju sa boljom dokumentacijom).

1. Metodologije koje stvarno rade (kroz primenu pravila i ugrađene ekspertize).

METODE SISTEMSKE ANALIZE

27 / 154

Page 28: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Sistemska analiza

- Sistemska analiza je najkritičnija faza jednog projekta.

- Tokom sistemske analize treba da se shvate problemi konkretnog poslovnog sistema,definišu ciljevi za njegovo poboljšanje i definišu detaljni poslovni zahtevi, koje mora da ispunibilo koje tehničko rešenje.

- Sistemska analiza je metodološki postupak dekompozicije nekog sistema na podsisteme(komponente) sa ciljem da se prouči njihov međusobni uticaj i rad.

- U okviru sistemske analize obavlja se (1) pregled sistema i planiranje projekta, (2)proučavanje i analiza postojećih poslovnih i informacionih sistema i (3) definisanje poslovnihzahteva i prioriteta za novi ili poboljšani sistem.

Faze sistemske analize

- Sagledavanja projekta

–        "Da li je projekat vredan pažnje?".

28 / 154

Page 29: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

–        Definisati cilj projekta, probleme, mogućnosti i direktive koje aktiviraju projekat.

–        Određuje se projektni tim, učesnici, budžet projekta i raspored projekta.

–        Sistem analitičar zajedno sa vlasnicima i korisnicima sistema, menadžerom za IS i drugimosobljem IS (1) sagledavaju probleme, mogućnosti i rešenja, (b) ugovoraju oblast projekta, (c)planiraju projekat i (d) prezentiraju projekat. Upravni odbor utvrđuje prioritete projekata IS.

- Faze proučavanja

–        Sistem analitičar i odgovarajući učesnici će: (a) modelirati tekući sistem, (b) analiziratiposlovne procese, (c) analizirati probleme i mogućnosti, (d) utvrditi ciljeve i ograničenjapoboljšanja sistema, (e) modifikovati oblast projekta i plana i (f) prezentirati zaključke ipreporuke.

- Faza definisanja

–        identifikuje šta novi sistem treba da radi ne uzimajući u obzir potrebnu tehnologiju, drugimrećima, cilj je da se definišu poslovni zahtevi novog sistema.

–        U okviru ove faze, sistem analitičar i odgovarajući učesnici će (a) grubo nacrtati poslovnezahteve, (b) modelirati zahteve poslovnog sistema, (c) izgraditi prototipove, (d) dati prioritetezahtevima poslovnog sistema i (e) modifikovati plan i oblast projekta.

29 / 154

Page 30: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Model

- Model je prikaz stvarnosti. Kao što slika vredi hiljadu reči, tako i većina sistemskih modelapredstavljaju slikovite predstave stvarnosti.

- Modeli služe da bolje razumemo sisteme ili je to način da dokumentujemo poslovnezahteve ili da postavimo tehnički dizajn.

- Logički modeli pokazuju šta je sistem i šta on radi. Oni opisuju sistem nezavisno od bilokoje tehničke implementacije.

- Fizički modeli pokazuju ne samo šta je sistem i šta on radi, već i kako je sistem fizički itehnički implementiran.

Modeliranje i tehnike

- Modeliranje je projektovanje softverskih aplikacija pre njihovog kodiranja odnosnoprogramiranja.

30 / 154

Page 31: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Modeliranje podataka je najpopularnija tehnika za izražavanje poslovnih zahteva zapodacima koji će biti uskladišteni u bazu podataka sistema.

- Modeliranje procesa je tehnika koja se dosta praktikuje za izražavanje zahteva poslovnihprocesa, tokova procesa, ulaza i izlaza.

- Modeliranje mreže je tehnika koja pomaže kompaniji da izrazi geografiju poslovanja kojaće biti podržana od strane sistema.

Sistemski modeli

- Kostur informacionih sistema identifikuje potrebu za četiri sistemska modela:

–        PODACI – Svi sistemi sakupljaju i skladište podatke. Modeli podataka (npr. dijagramobjekti-veze) se koriste da modeliraju neophodne podatke za nove sisteme. Ovi modelipodataka su polazna tačka za projektovanje baze podataka.

31 / 154

Page 32: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

–        PROCESI – Modeli procesa (npr. Dijagram toka podataka) se često koriste damodeliraju tokove procesa kroz poslovne sisteme. Ovi modeli procesa služe kao polazna tačkaza projektovanje računarskih aplikacija i programa.

–        INTERFEJSI – Nijedan sistem ne ekzistira izolovano od drugih ljudi, drugih sistema ilidrugih kompanija. Interfejs modeli se crtaju u fazi proučavanja, ali detaljnije se morajuprikazati u fazi definisanja. Interfejs modeli opisuju ulaze (inpute) u sistem, njihove izvore, izlaze(autpute) iz sistema, njihove destinacije i deljene baze podataka. Ovi interfejs modeli služe kaoosnova za dizajniranje korisničkih i sistemskih interfejsa.

–        GEOGRAFIJA – Usled činjenice da današnji poslovni i informacioni sistemi imaju većugeografsku širinu, sistem analitičari pronalaze načine da modeliraju geografske lokacije. Modelimrežesluže kao polazna tačka za dizajniranje komunikacionih sistema za distribuiranje podataka,procesa i interfejsa do različitih geografskih lokacija.

MODELI PODATAKA

32 / 154

Page 33: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Osnovni pojmovi modela podataka

- Objekat je klasa osoba, mesta, objekata, događaja ili koncepata o kojima treba daprikupljamo i skladištimo podatke.

- Objekat je nešto što se može videti, dodirnuti ili drugačije osetiti, koji ima svoja svojstva iponašanja i o kome korisnici mogu da skladište podatke.

- Tipovi objekata se mogu klasifikovati u osobe, mesta, stvari ili događaje. U okviru tipaobjekta osobe mogu se svrstati radnici, klijenti, prodavci, studenti i dr. Skladišta, zgrade,sobe su primeri tipa objekata mesta. Primeri tipa objekata stvari uključujuproizvod, vozilo, opremu, videotraku i dr. Na kraju objekti događajauključuju porudžbinu, plaćanje, račun, aplikaciju, registraciju ili rezervaciju.

- Atribut je osobina ili karakteristika objekta.

- Tip podatka definiše koja klasa podataka može biti skladištena u taj atribut.

33 / 154

Page 34: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Domen definiše koje vrednosti može da ima jedan atribut.

- Difoltna vrednost je ona vrednost koja će biti uskladištena za dati atribut ukoliko jekorisnik ne promeni. - Svaki objekat mora da ima jedinstveni ključ po kome će se pretraživati u bazi podataka.Osnovna svrha ključa jeste da jedinstveno identifikuje svaki objekat.

- Grupa atributa koja jedinstveno identifikuju objekat se zovu složeni ključ.

ŠIFRA_KASETE (PRIMARY KEY)

. ŠIFRA_NASLOVA

. BROJ_KOPIJE

34 / 154

Page 35: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Objekat može imati više od jednog ključa. Na primer, objekat RADNIK se možejedinstveno identifikovati preko matičnog ličnog broja ili preko šifre zaposlenog ili preko e-mailadrese. Svaki od ovih atributa se nazivaju kandidati za ključ. Kandidati za ključ sukandidati za primarni ključ.

- Primarni ključ (PRIMARY KEY) je kandidat za ključ koji će se najčešće koristiti dajedinstveno identifikuje dati objekat. Svi drugi kandidati za ključ koji nisu izabrani za primarniključ se zovu alternativni ključevi.

- Difoltna vrednost primarnog ključa je NOT NULL, odnosno ključ ne sme da bude praznopolje, jer onda neće moći da jedinstveno identifikuje dati objekat. - Objekti ne ekzistiraju sami već moraju biti u nekoj relaciji ili vezi sa drugim objektima.

- Agregacija istovremeno predstavlja i objekat i vezu, odnosno udruženi objekat (associative entity ),između dva ili više objekta.

- Kardinalnost definiše minimalni i maksimalni broj događaja jednog objekta koji se nalaziu konkretnoj relaciji sa drugim objektom. Pošto su sve relacije dvosmerne, kardinalnost se moradefinisati za oba smera.

35 / 154

Page 36: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Postoje nekoliko notacija modela podataka. Neka su imenovana po njihovimpronalazačima, kao što su Chen, Martin, Bachman, Merise ili po objavljenom standarduIDEF1X, UML i dr. - Generalizacija je tehnika gde se objekti sa zajedničkim atributima, vezama i/ilioperacijama, grupišu (generalizuju) u jedan objekat koji se zove nadtip.Inverzni postupak, gde se za neki tip objekta, definišu njegovi podtipovi, koji imaju neke njimaspecifične atribute, veze i/ili operacije, je specijalizacija.

MODELIRANJE PROCESA

Uvod u modeliranje procesa

- Modeliranje procesa je tehnika koja organizuje i dokumentuje procese sistema i/iliimplementira logiku, politike i procedure sistema.

- Dijagram toka podataka (DTP) je alat koji opisuje tokove podataka kroz sistem i procesekoji se izvršavaju u sistemu. Sadrži četiri osnovne komponente:

36 / 154

Page 37: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

–        procese (processes) obrade podataka, koji predstavljaju aktivne komponente sistema(grafički simbol: krug);

–        spoljne objekte ili spoljne agente (external agents) sa kojima sistem komunicira(grafički simbol: pravougaonik);

–        skladišta podataka (data stores) koje procesi koriste i/ili ažuriraju (grafički simbol: dveparalelne linije) i

–        tokove podataka (data flows) koji povezuju ostale komponente sistema u celinu (grafičkisimbol: usmerena linija).

Osnovne komponente DTP-a

Hijerarhijska dekompozicija dijagrama toka podataka

- Dekompozicija je način razlaganja sistema na njegove komponente podsisteme, procesei podprocese.

- Pri dekompoziciji DTP-a moraju se poštovati sledeća pravila:

–        Dijagram najvišeg nivoa, koji po pravilu sadrži samo jedan proces koji predstavlja ceo IS,zatim spoljne objekte sa kojima IS komunicira i odgovarajuće tokove podataka naziva se dijagram konteksta

37 / 154

Page 38: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

.

–        Dijagram prvog nivoa predstavlja dekompoziciju dijagrama konteksta. Procesi seoznačavaju brojevima 1,2,3, ....

–        Svaki proces sa dijagrama prvog nivoa se dalje dekomponuje do nivoa primitivnihprocesa Procesi na dijagramima nižih nivoa, povlače sa sobom brojnu oznaku nadređenogprocesa.

–        Uobičajeno je da se zatim celokupan sistem predstavi dijagramom dekompozicije. Dijagram dekompozicije prikazuje top-down(sa vrha na dole) funkcionalnu dekomoziciju i strukturu sistema.

–        Pored procesa, mogu se dekomponovati i tokovi i skladišta. Njihov opis se detaljno daje urečniku podataka.

–        Najvažnije pravilo koje se mora poštovati pri dekompoziciji procesa je pravilo balansatokova.

CRUD matrice

- Kvalitet sinhronizacije podrazumeva da svaki objekat treba da ima najmanje jednokreiranje ( C – create), jedno iščitavanje (R – read), jedno menjanje ili modifikovanje (U –update) i jedno brisanje (D – delete) da bi sistem bio kompletan.

38 / 154

Page 39: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- CRUD matrice dokumentuju ove zahteve i sinhronizuju modele podataka, procesa imreža.

PROJEKTOVANJE INFORMACIONIH SISTEMA

Faze projektovanja IS

- Faza konfiguracije:

–        identifikuje alternativna rešenja, analizira njihova izvodljivost i preporučuje globalnorešenje sistema.

39 / 154

Page 40: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

–        Za svako alternativno rešenje treba da se odrede zahtevani hardver i softver.

–        Kod analize izvodljivosti mnogi analitičari imaju u vidu sledeće kriterijume:

- Tehnička izvodljivost. Da li je rešenje tehnički praktično? Da li je osoblje tehničkiosposobljeno da projektuje i izgrađuje to rešenje? - Operaciona 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. Da li je rešenje troškovno efektivno? - Izvodljivost programa. Da li rešenje može biti projektovano i implementirano u tokuprihvatljivog vremenskog perioda?

–        Analiza troškova i koristi se diskutuje sa vlasnicima i korisnicima rešenja.

–        Rangiraju se sva alternativna rešenja prema kriterijumu izvodljivosti.

–        Pismeni izveštaj koji sadrži analize i preporuke najboljeg rešenja.

40 / 154

Page 41: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- U toku faze nabavke vrši se izbor odgovarajućeg hardvera i/ili softvera za novi sistem.Osnovni ciljevi ove faze su:

–        Identifikovati i ispitati hardver i softver koji može da podrži preporučeno rešenje.

–        Potražiti, proceniti i rangirati ponude dobavljača.

–        Izabrati i preporučiti najbolju ponudu dobavljača.

–        Odrediti zahteve za integracijom dodeljenih proizvoda dobavljača sa drugim proizvodimasistema.

- U okviru faze projektovanja i integracije razvija se tehničko rešenje sa kojim će moći dase konstruiše sistem. Projektant sistema mora da obavi sledeće aktivnosti:

–        Analizira i distribuira podatke.

–        Analizira i distribuira procese.

–        Projektuje bazu podataka.

–        Dizajnira računarske inpute (ulaze) i autpute (izlaze).

41 / 154

Page 42: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

–        Dizajnira korisničke interfejse.

–        Prezentuje dizajn.

Baza podataka

- Baza podataka (BP) je kolekcija međusobno povezanih podataka, uskladištenih saminimumom redudanse, koje koriste, zajednički, svi procesi obrade u sistemu.

Sistem za upravljanje bazom podataka

- Sistem za upravljanje bazom podataka (kraće DBMS, od početnih slova engleskih reči Database Management Systems) je softverski sistem koji kreira, pristupa, upravlja i kontroliše podacima (bazama podataka) isluži kao veza (interfejs) između podataka i aplikativnih programa.

- Sistem za upravljanje bazom podataka je jedan složeni softverski sistem koji treba daomogući:

42 / 154

Page 43: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

–        Skladištenje podataka sa minimumom redudanse.

–        Korišćenje zajedničkih podataka od strane svih ovlašćenih korisnika.

–        Logičku i fizičku nezavisnost programa od podataka. Bez obzira što se podaci fizičkipamte, po pravilu, samo jednom, u jedinstvenoj fizičkog organizaciji, svaki korisnik dobija svojusopstvenu logičku sliku podataka kakva njemu najviše odgovara.

–        Jednostavno komuniciranje sa bazom podataka preko jezika bliskih korisniku, kako bi seneprofesionalni korisnici neposredno uključili u razvoj informacionog sistema, a profesionalnimprogramerima značajno povećala produktivnost.

Jezici DBMS-a

- Data Definition Language (DDL) se koristi za izradu rečnika podataka, inicijalizaciju ilikreiranje baze podataka, opisivanje logičkog pogleda za svakog individualnog korisnika iliprogramera i specifiranje bilo kog ograničenja nad poljima ili tabelama baze podataka.

- Data Manipulation Language (DML) se koristi za održavanje podataka, koja uključujetakve operacije koje ažuriraju, ubacuju i brišu delove baza podataka.

- Data Query Language (DQL) se koristi za ispitivanje baze podataka. S obzirom načinjenicu da se DML koristi da menja sadržaj baze podataka, DQL samo sortira, uređuje,skladišti i predstavlja podskupove baze podataka prema odzivu na korisničke upite.

43 / 154

Page 44: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Mnogi DBMS takođe uključuju i jezik za pisanje izveštaja, koji pojednostavljuje kreiranjeizveštaja. Standardni upitni jezik koji omogućava komunikaciju sa bazom podataka jeste SQL(od početnih slova engleskih reči: Structured Query Language).

Relacioni DBMS

- Postoji nekoliko tipova sistema za upravljanje bazom podataka. Ono se mogu klasifikovatiprema načinu struktuiranja zapisa. Prethodni sistemi za upravljanje bazom podataka suorganizovali zapise u hijerarhije i mreže implementiranih sa indeksima i povezanim listama.

- Danas, sistemi za upravljanje bazom podataka se zasnivaju na relacionoj tehnologiji.

- Relaciona baza podataka implementira podatke u seriji dvodimenzionalnih tabela koje suu međusobnoj relaciji preko spoljnih ključeva.

Primer logičkog i fizičkog modela podataka

44 / 154

Page 45: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Relacioni model

- Relacioni model poseduje semantički bogatije koncepte za opis strukture i znatno moćnijeoperacije.

- Tabela se može definisati kao matematička relacija i zatim iskoristiti bogata teorijskaosnova odgovarajućeg matematičkog aparata.

- Svaka relacija ima svojstva skupa. (Osnovno svojstvo svakog skupa je da se elementikoje on sadrži međusobno razlikuju. Tako se i svi redovi tabele međusobno razlikuju.)

- Pošto je relacija skup, a svaka tabela nije, definišu se sledeći uslovi koje tabela mora dazadovolji da bi bila relacija:

–        Ne postoje duplikati vrsta tabele.

–        Redosled vrsta i redosled kolona nije značajan.

45 / 154

Page 46: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

–        Nisu dozvoljni atributi ili grupe atributa sa ponavljanjem, odnosno nisu dozvoljene tabeleu tabeli.

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...Dn je skup svih mogućih uređenih n-torki tako da je  d1 Î D1, d2 Î D2 ...dn Î Dn.

Na primer data su dva skupa brojeva:

D1 = {1,2,3,4} i D2 = {4,6}

D1 x D2 = {,,,,,,,}.

- Relacija se definiše kao podskup Dekartovog proizvoda nad n-skupova R Í D1 x D2 x ...xDn, tj. podskup sadrži one n-torke Dekartovog proizvoda koje zadovoljavaju zadatu relaciju.

Primer: Definisati za prethodni primer nad skupovima D1 i D2 relaciju:

R: D1 x D2 ={ | d1 = d2/2}

46 / 154

Page 47: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

R = {, }.

Ključevi

- Ključevi se definišu kao jedan ili više atributa čija vrednost jedinstveno identifikuje jednu n-torku u relaciji, tj. jedan red u tabeli.

- Ako je ključ definisan samo jednim atributom, onda je to prost ključ, odnosno ukoliko jedefinisan sa više atributa, onda je to složeni ključ.

- Ako se definiše relacija R, onda se može reći da ključ relacije R predstavlja kolekcija Knjenih atributa koja zadovoljava :

–        osobinu jedinstvenosti i

–        osobinu neredundantnosti.

- Osobina jedinstvenosti je vezana za ograničenje da ne postoje bilo koje dve n-torke saistom vrednošću K.

47 / 154

Page 48: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Osobina neredundantnosti se odnosi na gubljenje osobina jedinstvenosti ako se bilo kojiatribut izostavi iz K.

- U jednoj relaciji može postojati više različitih kolekcija K atributa koje zadovoljavajudefiniciju ključa - sve se one nazivaju kandidati za ključ. - Primarni ključ je jedan od izabranih kandidata za ključ koji služi za identifikaciju n-torkerelacije. Ostali kandidati za ključ postaju alternativni ključevi.

- Atributi koji učestvuju u ključevima nazivaju se ključni atributi, dok se ostali nazivaju opisniatributi.

- Spoljni ključ ili preneseni ključ je atribut ili grupa atributa u relaciji R, čija se vrednostkoristi za povezivanje sa vrednošću primarnog ključa u nekoj relaciji R2.

- Spoljni ključevi i njima odgovarajući primarni ključevi definisani su nad istim domenom.

- Spoljni ključevi služe da se uspostave veze između relacija u relacionoj bazi podataka. Naprimer, u relaciji RADNIK spoljni ključ SIFRAODEL vezuje sa relacijom ODELJENJE.

48 / 154

Page 49: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

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;

–        Relacioni račun koji predstavlja neproceduralan način iskazivanja operacija, gde sepomoću konstrukcija predikatskog računa prvog reda definišu osobine relacije koja se želidobiti.

Relaciona algebra

- Relaciona algebra definiše skup operacija pomoću kojih se, na proceduralan način, možedobiti željena relacija, tj.tabela iz skupa datih relacija.

- Relacija se definiše kao podskup Dekartovog proizvoda i može se tretirati kao skupn-torki.

- Za nivo relacione algebre operacije: unija, presek i diferencije nad relacijama R1 i R2

49 / 154

Page 50: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

moraju zadovoljiti uslov kompatibilnosti, tj. relacije R1 i R2 moraju imati isti broj atributa (ististepen), a odgovarajući atributi su definisani nad istim domenom.

- Operacije nad relacijama mogu da se grupišu u:

–        Konvencionalne skupovne operacije (unija, presek, razlika i Dekartov proizvod),

–        Specijalne relacione operacije (projekcija, selekcija, spajanje i deljenje),

–        Dodatne operacije relacione algebre (operacije koje su se kasnije dodavale originalnojrelacionoj algebri da bi se povećala njena moć kao upitnog jezika),

–        Operacije ažuriranja baze,

–        Operacije sa null vrednostima.

Operacije relacione algebre

- Unija

–        Ako su date relacije R1 i R2 koje zadovoljavaju uslove kompatibilnosti, onda je rezultatoperacije unije R3 = R1 U R2 relacija R3 koja sadrži sve n-torke koje se pojavljuju bilo u R1,

50 / 154

Page 51: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

bilo u R2.

–        Primer:

- Definišimo relaciju NovoOdel (OdeID, NazivOdel)

Odel4, Razvoj

Odel5, Skladište

- Relacija RR=Odel U NovoOdel (OdeID, NazivOdel)

Odel1, Proizvodnja

Odel2, Računovodstvo

Odel3, Marketing

Odel4, Razvoj

51 / 154

Page 52: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Odel5, Skladište

- Diferencija

–        Ako su date relacije R1 i R2 koje zadovoljavaju uslov kompatibilnosti, onda rezultatoperacije diferencije R3 = R1 - R2  predstavljaju n-torke relacije R1, koje nisu istovremeno in-torke relacije R2.

–        Primer:

- RRR = RR – Odel (OdeID, NazivOdel)

Odel4, Razvoj

Odel5, Skladište

- Presek

–        Ako su date relacije R1 i R2 koje zadovoljavaju uslov kompatibilnosti, onda je rezultatoperacije preseka R3 = R1 ∩ R2 relacija R3 koja sadrži n-torke koje se pojavljuju u obe relacijeR1 i R2.

52 / 154

Page 53: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

–        Operacije unije i diferencije su pogodne za ažuriranje baze podataka.

–        Operacijom unije se mogu u neku relaciju dodati nove n-torke, a operacijom diferencije semogu iz neke relacije izbaciti neželjene n-torke.

–        Izmena vrednosti pojedinih atributa u nekoj relaciji vrši se uzastopnom primenomoperacije diferencije, pomoću koje se izbaci cela n-torka u kojoj se nalazi posmatrani atribut, azatim se operacijom unije "vraća" izbačena n-torka sa promenjenom vrednošću atributa.

- Dekartov proizvod

–        Može se primeniti na bilo koje dve relacije.

–        Rezultat operacije R3 = R1 x R2 je relacija R3 čije su n-torke svi "parovi" koje čine jednan-torka relacije R1 i jedna n-torka relacije R2.

- Projekcija

–        Unarna operacija koja iz neke relacije selektuje skup navedenih atrubuta, odnosno "vadi"vertikalni podskup iz odgovarajuće tabele.

53 / 154

Page 54: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

–        Operacijom projekcija eliminišu se duplikati n-torki.

–        Primer:

- R1                   A  B    Građanin (MLB, Ime, Starost, MestoRođ)

a  b                      1111  Ana     19       Beograd

a  ?                       2222  Mirko   21       Valjevo

?  b                      3333  Zoran  20             Beograd

?  ?                       4444  Ana     19       Niš

5555  Mirko   21      Beograd

- P[A]R1                      A         Pr1:=π Ime, Starost (Građanin)

a                      Ime       Starost

?                      Ana          19

Mirko        21

54 / 154

Page 55: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Zoran       20

- Selekcija

–        unarna operacija koja iz date relacije selektuje n-torke koje zadovoljavaju zadati uslov ("vadi" horizontalni podskup tabele).

–        Primeri:

- S[A=a]R1                    A B

a b

a ?

- RR = S[Starost>24 AND MestoRodj = ‘Beograd’] RADNIK

RadnikID       MLB    Ime      Starost    MestoRodj   OdelID

55 / 154

Page 56: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

110        11971717...           Mika      33      Beograd                odel1

111       22975718...            Pera       29      Beograd       odel1

- Spajanje

–        binarna operacija koja spaja dve relacije na taj način da se u rezultatu pojavljuju oniparovi n-torki jedne i druge relacije koji zadovoljavaju uslov zadat nad njihovim atributima.

–        Primer:

Student (BrInd, MLB, Smer)

155/01 1111 Kompjuterski

255/02 2222 Izvršno upravljanje

322/01 3333 Međunarodno poslovanje

56 / 154

Page 57: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Pr2= Građanin [Građanin.MLB=Student.MLB] Student

Pr2 (MLB, Ime, Starost, MestoRođ, MLB, BrInd, 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".

–        Primer:

- Iz relacija Predmet i Prijava prikazati brojeve indeksa studenata koji su položili svepredmete.

57 / 154

Page 58: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Predmet (PredmetID, NazivPredmeta)         Prijava (BrInd, PredmetID)

p1 Matematika                             155/01  p1

p2 Marketing                                            155/01  p3

p3 Informatika                            255/01  p2

322/01  p1

155/01  p2

- Prijava [Prijava.PredmetID ÷ Predmet.PredmetID] Predmet

BrInd

155/01

Normalizacija relacione baze podataka

58 / 154

Page 59: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Normalizacija je postupak projektovanja logičke strukture baze podataka.

- Pravilno projektovana baza podataka mora imati strukturu koja osigurava da u radu sanjom ne može biti neželjenih anomalija, kao što je na primer, uništavanje određenih podataka ilineusklađenost između memorisanih podataka kao posledica ažuriranja baze podataka itd.

- Dobra je ona struktura baze podataka u kojoj je logička redundansa minimalna.

- E. F. Codd je 1969. god. definisao postupak koji dovodi projektanta relacione bazepodataka do željenog rezultata i nazvao ga “normalizacija” baze podataka.

- Codd je definisao tri nivoa normalizacije. Kasnije je Fagin dokazao da u nekim izuzetnimprimerima relacije, koje su u trećoj normalnoj formi, još uvek zadržavaju neke neželjene osobinei zato je definisao četvrtu normalnu formu (4NF).

Funkcionalna zavisnost

- Ako je svakoj vrednosti atributa A u relaciji R priključena samo jedna vrednost atributa B uistoj relaciji, onda je atribut B funkcionalno zavisan od atributa A.

59 / 154

Page 60: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Funkcionalna zavisnost se može definisati između složenog ključa (više atributa) ijednostavnog atributa.

- Ako je moguće svakom paru vrednost atributa A i B relacije R priključiti tačno jednuvrednost C iste relacije, tada je atribut C funkcionalno zavisan o sastavljenom atributu A i B. -

Potpuna funkcionalna zavisnost

Atribut B je potpuno funkcionalno zavisan od atributa A iste relacije, ako je funkcionalnozavisan od atributa A, a ne od nekog sastavnog dela atributa A (u slučaju kada je atribut Asastavljen).

Potpuna funkcionalna zavisnost se posmatra kada je ključ tabele isključivo sastavljen od višeatributa.

OCENA®BI, ŠIFRA_PREDMETA

OCENA®¾BI

OCENA®¾ŠIFRA_PREDMETA

60 / 154

Page 61: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

 

Atribut OCENA je potpuno funkcionalno zavisan od složenog atributa BI, ŠIFRA_PREDMETA.

 

NAZIV_PREDMETA®BI, ŠIFRA_PREDMETA

NAZIV_PREDMETA®¾BI

NAZIV_PREDMETA®¾ŠIFRA_PREDMETA

 

 

Tranzitivna funkcionalna zavisnost

61 / 154

Page 62: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Atribut C je tranzitivno funkcionalno zavisan od atributa A, ako je funkcionalno zavisan odA i ako je funkcionalno zavisan od nekog atributa B koji je i sam funkcionalno zavisan od A.

- Tranzitivna zavisnost dovodi do veće redundanse.

- STUDENT(BI, IME, SEM, ŠIFRA_SMERA, IME_RUK).

Prva normalna forma

- Proces normalizacije predstavlja transformaciju početne tabele u jednu ili više korektnihtabela (relacija) u kojima su svi atributi potpuno funkcijski zavisni od ključa, a međusobnofunkcijski nezavisni.

- Cilj normalizacije je da eliminiše redudansu u atributima i sa time omogući lakšeodržavanje integriteta podataka i jednostavniju manipulaciju.

62 / 154

Page 63: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Osnovne operacije održavanja baze podataka su: dodavanje nove n-torke u relaciju, izbacivanjeneke n-torke iz relacije i izmena(ažuriranje) vrednosti nekog atributa u relaciji.

- Problemi pri izvođenju ovih operacija kao što su ponavljanje ovih operacija više puta ili dase logičko dodavanje ne može izvršiti, odnosno da izbacivanje jednog logičkog skupa podatakadovodi do neželjenog izbacivanja drugih podataka, nazivaju se anomalije u održavanjubaze podataka.

- Relacija je u Prvoj normalnoj formi ukoliko su sve vrednosti njenih atributa atomskeili drugim rečima nisu dozvoljeni atributi ili grupe atributa «sa ponavljanjem», odnosnonisu dozvoljene «tabele u tabeli».

Prva normalna forma

STUDENT1 (BI, IME_STUDENTA, SEMESTAR, ŠIFRA_SMERA,                          IME_RUK,SIFRA_PREDMETA, NAZIV_PREDMETA, OCENA)

63 / 154

Page 64: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Ova relacija ima sledeće anomaliije u održavanju baze podataka:

–        anomalije u dodavanju: ukoliko je po novom nastavnom planu definisan novi predmet, nemogu se ubaciti podaci o tom predmetu dok ga neki student ne položi.

–        Anomalije u izbacivanju: ukoliko je jedan predmet položio samo jedan student i ako se onispiše sa fakulteta, gube se i sve informacije o tom predmetu. Ako je bio jedini na smeru, gubese sve informacije o tom smeru.

–        Anomalije u ažuriranju: ukoliko se promeni naziv predmeta ili rukovodioc nekog smera, tose mora učiniti na onoliko mesta koliko je studenata položilo taj predmet, odnosno koliko jestudenata upisano na dati smer.

–        Problemi i u izveštavanju: zahtev tipa: «Prikaži listu predmeta, imena svh studenata kojisu ga položili i prosečnu ocenu na predmetu», bi zahtevao složeniji program ili bi trebalo samurelaciju prestruktuirati i dobiti dve relacije sa istim skupom podataka za dva različita zahteva,čime bi se redundansa podataka pa samim tim i problemi održavanja baze podataka umnožili.

- Da bi se smanjila redundansa do koje bi ovakva normalizacija dovela, možemo ovakodobijenu relaciju, operacijom projekcije, dekomponovati na sledeće dve:

64 / 154

Page 65: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

STUDENT1 (BI, IME_STUDENTA, SEMESTAR, ŠIFRA_SMERA, IME_RUK)

PRIJAVA (BI, ŠIFRA_PREDMETA, NAZIV_PREDMETA, OCENA)

- Relacija R se dekomponuje u svoje projekcije bez gubljenja informacija ako prirodnospajanje tako dobijenih projekcija dovodi do polazne relacije.

- Heath-ova teorema daje uslove pod kojima se može izvršiti dekompozicija relacije bezgubljenja informacija:

R.B može®Relacija R(A,B,C) gde su A,B i C podskupovi atributa, u kojoj važi R.A  se uvekdekomponovati u svoje projekcije R1(A,B) i R2(A,C) bez gubljenja informacija.

Druga normalna forma

- Relacija R je u Drugoj normalnoj formi (2NF) ako i samo ako je u 1NF i svi njenineključni atributi potpuno funkcionalno zavise od primarnog ključa.

65 / 154

Page 66: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Neključni atributi su atributi koji nisu kandidati za ključ, niti deo kandidata za ključ.

- Svođenje na 2NF vrši se dekompozicijom na taj način što se u jednoj projekciji ostavljaprimarni ključ i svi atributi koji su potpuno funkcionalno zavisni od njega, a u drugimprojekcijama se realizuju one funkcionalne zavisnosti koje su prouzrokovale nepotpunefunkcionalne zavisnosti.

PRIJAVA (BI, ŠIFRA_PRED, NAZ_PRED, OCENA),

–        Redundansa podataka: naziv predmeta se pojavljuje onoliko puta koliko je studenatapoložilo taj predmet. Ponovo postoje sve iste anomalije u održavanju baze podataka:

–        Ne mogu se dodati podaci o novom predmetu, ako ga neki student nije položio.

–        Ako se iz baze podataka izbaci n-torka studenta koji je jedini položio neki predmet, tadase gube sve informacije i o tom predmetu.

–        Ako se promeni naziv predmeta, to se mora učiniti na onoliko mesta koliko je studenatapoložilo taj predmet itd.

- S obzirom da je relacija R u 2NF, ukoliko svi njeni atributi daju jednoznačne činjenicesamo o celom ključu, onda relacija PRIJAVA nije u 2NF, jer NAZIV_PREDMETA daje

66 / 154

Page 67: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

jednoznačnu informaciju o delu ključa i to  ŠIFRA_PREDMETA.

- Svaka relacija sa prostim primarnim ključem je u 2NF, jer prosti ključ nema semantičkimoguć pravi podskup.

- Svođenje na 2NF vrši se dekompozicijom na taj način što se u jednoj projekciji ostavljaprimarni ključ i svi atributi koji su potpuno funkcionalno zavisni od njega, a u drugimprojekcijama se realizuju one funkcionalne zavisnosti koje su prouzrokovale nepotupunefunkcionalne zavisnosti.

PRIJAVA1(BI, ŠIFRA_PREDMETA, OCENA)

PREDMET(ŠIFRA_PREDMETA, 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 njenineključni atributi netranzitivno funkcionalno zavise od primarnog ključa.

67 / 154

Page 68: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

STUDENT1 (BI, IME, SEM, ŠIFRA_SMERA, IME_RUK)

- Da bi smo datu relaciju sveli na 3 NF, vršimo dekompoziciju (bez gubljenja informacija)relacije u njene projekcije, na taj način što u jednoj projekciji ostavljamo primarni ključ i svenetranzitivno zavisne atribute, a u drugim projekcijama se realizuju funkcionalne zavisnosti kojesu dovele do tranzitivnih zavisnosti:

STUDENT2 (BI, IME, SEM, ŠIFRA_SMERA)

SMER (ŠIFRA_SMERA, IME_RUK)

Boyce-Codd-ova normalna forma (BCNF)

PRIJAVA (BI, ŠIFRA_PREDMETA, NAZIV_PREDMETA, OCENA)

- Pretpostavimo da važe sledeće funkcionalne zavisnosti:

68 / 154

Page 69: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

NAZIV_PREDMETA®BI, ŠIFRA_PREDMETA

OCENA®BI, Š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 i BI, NAZIV_PREDMETA. Jedini neključni atribut je OCENA, pa pošto onpotpuno funkcionalno zavisi od primarnog ključa, relacija je u 2 NF.

- Relacija je u Boyce-Codd-ovoj normalnoj formi (BCNF) ako i samo ako su svedeterminante u relaciji i kandidati za ključ. - Determinanta relacije R je bilo koji atribut, prost ili složen, od koga neki drugi atribut urelaciji potpuno funkcionalno zavisi.

- Ukoliko označimo sve determinante (D) i sve kandidate za ključ (KK) u relaciji PRIJAVA:

69 / 154

Page 70: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

NAZIV_PREDMETA, OCENA®BI, ŠIFRA_PREDMETA        (D)       (KK)

ŠIFRA_PREDMETA, OCENA®BI, NAZIV_PREDMETA        (D)       (KK)

NAZIV_PREDMETA®ŠIFRA_PREDMETA                               (D)

ŠIFRA_PREDMETA®NAZIV_PREDMETA                               (D),

sve determinante nisu kandidati za ključ pa relacija nije u BCNF.

- Dekompozicijom, pri kojoj se iz relacije izvlače projekcije sa onim determinantama kojenisu kandidati za ključ, relacije se svodi na BCNF.

PRIJAVA1 (BI, ŠIFRA_PREDMETA, OCENA)

PREDMET (ŠIFRA_PREDMETA, NAZIV_PREDMETA)

70 / 154

Page 71: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Dekomozicija na zavisne i nezavisne projekcije

STUDENT1 (BI, IME, SEM, ŠIFRA_SMERA, IME_RUK)

se može svesti na 3NF na sledeća dva načina:

(a)                                                        (b)

STUDENT2a (BI, IME, SEM, ŠIFRA_SMERA)    STUDENT2 (BI, IME, SEM, ŠIFRA_SMERA)STUDSMER ( BI, IME_RUK)                                SMER (ŠIFRA_SMERA, IME_RUK)

- Projekcije (a) pokazuju izvesne anomalije u održavanju, jer da bi se dodali ili izbacilipodaci o jednom studentu, to se mora uraditi u obe projekcije, ili da bi ažurirali atributIME_RUK, za svaku vrednost BI koja odgovara datoj vrednosti ŠIFRA_SMERA iz relacijeSTUDENT2a, mora se u relaciji STUDSMER izvršiti ažuriranje atributa IME_RUK.

- Rissansen-ova teorema daje sledeće uslove pod kojima se neka relacija može

71 / 154

Page 72: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

dekomponovati na nezavisne projekcije:

–        Projekcije R1 i R2 relacije R su nezavisne tada i samo tada ukoliko se:

- Svaka funkcionalna zavisnost u R može logički dedukovati iz funkcionalnih zavisnosti uR1 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 predmetkoristi više knjiga, odnosno postoje sledeće višeznačne zavisnosti:

NASTAVNIK®®PREDMET         KNJIGA®®PREDMET

72 / 154

Page 73: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- i pretpostavimo da ne postoji veza između nastavnika i knjiga odnosno da se ne zna kojinastavnik 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 biubacili knjigu za jedan predmet, to bi trebalo da uradimo na onoliko mesta koliko profesora držitaj 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,®®A  postojiskup od nula, jedne ili više vrednosti B, a taj skup vrednosti ni na koji način ne zavisi odvrednosti 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šenezavisne višeznačne činjenice.

- Fagin navodi:

Relacija R (A,B,C) može se dekomponovati bez gubljenja informacija na projekcije C, jer ako urelaciji®® B (što uključuje i A®®R1(A,B) i R2 (A,C) ako i samo ako važi A   C).®® B, tadapostoji i višeznačna zavisnost A®®postoji višeznačna zavisnost A

RASPORED (PREDMET, NASTAVNIK)

73 / 154

Page 74: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

UDŽBENIK (PREDMET, KNJIGA)

- Relacije RASPORED i UDŽBENIK su u 4NF jer u njima ne postoje višeznačne zavisnostisamim 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 izprirodnog spajanja njenih projekcija po X, Y, ..., Z, gde su X,Y, .. Z podskupovi atributa relacijeR.

- Relacija R je u Petoj normalnoj formi (5NF) ako i samo ako se svaka zavisnost spajanjamože pripisati kandidatu za ključ.

STUDENT2 (BI, IME, SEM, ŠIFRA_SMERA)

R1 (BI, IME)

74 / 154

Page 75: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

R2 (BI, SEM)

R3 (BI, ŠIFRA_SMERA)

- Relacija STUDENT2 se može rekonstruisati prirodnim spajanjem preko BI, koji je njenključ, 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 pokazaoda 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)

75 / 154

Page 76: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- 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 relacijamazahteva otkrivanje funkcionalnih, višeznačnih i zavisnosti spajanja, a to praktično znači primenusvih navedenih definicija.

INTEGRITET BAZE PODATAKA

Zaštita baze podataka

- Termin integritet podataka označava tačnost, korektnost ili konzistentnost.

76 / 154

Page 77: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Integritet baze podataka podrazumeva problem zaštite baze podataka od pogrešnogažuriranja, odnosno od pogrešnih ulaznih podataka, greški operatera i programera, sistemskihotkaza 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šiprovera 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 odvrednosti ostalih atributa u BP (karakterističan primer je integritet objekta), i

–         Pravila integriteta relacija – odnose se na relaciju kao celinu, odnosno definišu kadaneka n-torka može da se ubaci u relaciju ili kako n-torke jedne relacije zavise od n-torki drugerelacije (karakterističan primer je referencijalni integritet).

77 / 154

Page 78: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

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.

78 / 154

Page 79: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

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 oduslova, 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 udefiniciji odgovarajućeg domena.

–         CASCADES – Operacija se prenosi na relaciju koju referiše spoljni ključ, da bi se u njojizvrš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

79 / 154

Page 80: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

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 jeznač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 objekatkodomena definisan.

–         CASCADES – ako objekat kodomena sa kojim dati objekat domena treba da se povežene postoji moguće ga je prvo kreirati operacijom insert (ubaci), pa zatim izrvšiti odgovarajućepovezivanje.

Pravila integriteta relacija kod razvezivanja objekata

- Operacija disconnect (razveži) raskida vezu objekta domena sa nekim kodomenom i nataj način, ako je posmatrano preslikavanje obavezno, narušava odgovarajuće strukturnoograničenje.

80 / 154

Page 81: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

–         RESTRICTED – odbija se operacija.

–         NULLIFIES – razvezuje se pojavljivanje objekta domena od navedenog pojavljivanjaobjekta kodomena i vezuje za «nula objekat» kodomena.

–         DEFAULT – razvezuje se pojavljivanje objekta domena od navedenog pojavljivanjaobjekta kodomena i vezuje za «default» objekat kodomena.

–         CASCADES – izbacuje se pojavljivanje objekta domena koji posle operacije disconnectostaje da «visi».

- Pravila integriteta treba da budu definisana u okviru opisa baze podataka, a ne u okviruaplikacionih programa. U opisu svake relacije, za svaki spoljni ključ, treba navesti odgovarajućepravilo integriteta.

Sigurnost baze podataka

- Termin sigurnost podataka podrazumeva mehanizme zaštite baze podataka odneovlašćenog korišćenja.

- Opšti model zaštite podataka treba da definiše koji subjekat zaštite, može nad kojimobjektom zaštite da izvrši neku operaciju i pod kojim uslovima.

81 / 154

Page 82: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

SQL naredbe za dodelu ovlašćenja pristupa bazi podataka

- Ovlašćenje korisnicima, prema SQL standardu, se daje pomoću naredbe GRANT.

GRANT privilegije [ON objekat] TO subjekat [WITH GRANT OPTION]

- Primer:

GRANT SELECT, INSERT ON RADNIK TO Ana

GRANT SELECT, INSERT, DELETE ON RASPORED TO Branko WITH GRANT OPTION

GRANT DBA TO Pera.

82 / 154

Page 83: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Opis privilegija:

–         SELECT - selektovanje

–         UPDATE - promeniti

–         INSERT - ubaciti

–         DELETE – obrisati

–         DBA – za administratora baze podataka kome su dozvoljene sve operacije nadnjegovom bazom.

–         WITH GRANT OPTION – znači da autorizovani subjekt može da prenosi svojuautorizaciju i drugim subjektima.

83 / 154

Page 84: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Structured Query Language (SQL)

Osnovne SQL naredbe

- Naredba SELECT - Izbor podataka iz tabela

SELECT SIFRA_PRED, NAZIV, MESTO

FROM PREDUZECE;

SELECT  *

FROM RADNICI;

84 / 154

Page 85: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Naredba CREATE TABLE  - kreiranje tabela

CREATE TABLE PREDUZEĆE

(SIFRA_PRED           NUMBER (2)             NOT NULL,

NAZIV                      CHAR (14),

MESTO                      CHAR (13))

CREATE TABLE RADNICI

(STFRA_RADN                     NUMBER (4) NOT NULL,

PREZIME                  CHAR (10),

RADNO_MESTO                 CHAR (10),

85 / 154

Page 86: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

RUKOV                                NUMBER (4),

DATUM_ZAPOSL               DATE,

PLATA                                  NUMBER (7,2),

STIMUL                                NUMBER (7,2),

SIFRA_PRED                       NUMBER (2))

- Naredba INSERT - Ubacivanje redova u tabelu

INSERT INTO PREDUZEĆE

VALUES (30,  ‘PRODAJA’, ‘BEOGRAD’);

86 / 154

Page 87: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Klauzula WHERE - Izbor određenih redova

SELECT  *

FROM RADNICI

WHERE SIFRA_PRED = 30;

- Konektor AND - višestruki uslovi pretraživanja

SELECT PREZIME, RADNO_MESTO, PLATA

FROM RADNICI

WHERE RADNO_MESTO = ‘DIREKTOR’

AND PLATA > 22000;

87 / 154

Page 88: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Konektor OR - alternativni uslovi pretraživanja

SELECT PREZIME, RADNO_MESTO, PLATA

FROM RADNICI

WHERE RADNO_MESTO = ‘DIREKTOR’

OR PLATA > 22000

SELECT PREZIME, RADNO_MESTO, ŠIFRA_PRED

FROM RADNICI

WHERE RADNO_MESTO =‘DIREKTOR’

AND ŠIFRA_PRED != 30;

88 / 154

Page 89: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Operator BETWEEN - Pretraživanje raspona  podataka

SELECT PREZIME, PLATA

FROM RADNICI

WHERE PLATA BETWEEN 12000 AND 15000;

- Operator IN - Pretraživanje vrednosti u listi

SELECT *

FROM  PREDUZEĆE

WHERE ŠIFRA_PRED IN (10, 30);

- Operator LIKE

89 / 154

Page 90: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

–        Možete izabrati redove koji sadrže navedeno slovo ili broj. U primeru je dat spisak svihradnika koji imaju “U” kao drugo slovo u prezimenu.

SELECT PREZIME

FROM RADNICI

WHERE PREZIME LIKE ‘_U%’;

Kod (‘_U%’), crtica (_) označava poziciju jednog karaktera, a znak % označava bilo koji nizznakova.

- Klauzula ORDER BY - Redosled slogova

.

–        Ako želimo da prikažemo listu zaposlenih u odeljenju 30, ali da odgovarajući slogovi buduprikazani po stavci plate, u rastućem redosledu napisaćemo:

90 / 154

Page 91: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

SELECT PLATA, RADNO_MESTO, PREZIME

FROM RADNICI

WHERE ŠIFRA_PRED = 10

ORDER BY PLATA;

ORDER BY klauzula sortira redove u rastućem nizu, tako da je najmanja plata na prvom mestuliste.

- Klauzula DESC - Opadajući niz

SELECT RADNO_MESTO, PLATA, PREZIME

91 / 154

Page 92: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

FROM RADNICI

ORDER BY RADNO_MESTO, PLATA DESC;

- Klauzula DISTINCT - Eliminacija duplih slogova

SELECT DISTINCT RADNO_MESTO

FROM RADNICI;

- Upit JOIN - Povezivanje više tabela

SELECT NAZIV, PREZIME, RADNO_MESTO, PLATA

FROM RADNICI, PREDUZEĆE

92 / 154

Page 93: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

WHERE RADNICI.ŠIFRA_PRED = PREDUZEĆE.ŠIFRA_PRED

ORDER BY NAZIV, PLATA DESC;

- Klauzula GROUP BY - Grupna funkcija

–        Grupna funkcija dozvoljava da izaberete sumarne informacije iz grupe redova (slogova).Na primer, radnike iz istog odeljenja stavljamo u jednu grupu kako bi pronašli maksimalnu platuu svakoj od tih grupa.

SELECT ŠIFRA_PRED, MAX (PLATA)

FROM RADNICI

GROUP BY ŠIFRA_PRED;

SELECT NAZIV, RADNO_MESTO, SUM (PLATA),COUNT (*), AVG (PLATA)

93 / 154

Page 94: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

FROM RADNICI, PREDUZEĆE

WHERE RADNICI.ŠIFRA_PRED = PREDUZEĆE.ŠIFRA_PRED

GROUP BY NAZIV, RADNO_MESTO;

–        SUM - Sabira vrednosti polja definisanih u GROUP BY klauzuli.

–        COUNT - Brojač broja redova koji pripadaju svakoj od ovih grupa.

–        AVG - Nalazi prosečnu vrednost određenih polja.

- PODUPITI - Upit unutar postojećih upita

SELECT PREZIME, RADNO_MESTO

FROM RADNICI

94 / 154

Page 95: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

WHERE RADNO_MESTO =

(SELECT RADNO_MESTO

FROM RADNICI

WHERE PREZIME = ‘JOVIĆ’);

SELECT PREZIME, PLATA

FROM RADNICI

WHERE PLATA >

(SELECT AVG (PLATA)

FROM RADNICI);

- Naredba UPDATE - Izmena vrednosti u poljima

95 / 154

Page 96: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

UPDATE RADNICI

SET PLATA = PLATA + 100

WHERE RADNO_MESTO = ‘PROJEKTANT’;

- Naredba INSERT - Dodavanje novih slogova

INSERT INTO STIMULACIJA (PREZIME, RADNO_MESTO, PLATA, STIMUL)

SELECT PREZIME, RADNO_MESTO, PLATA, STIMUL

FROM RADNICI

WHERE STIMUL > 0.25 * PLATA;

96 / 154

Page 97: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Naredba DELETE - Brisanje slogova iz tabele

DELETE FROM PREDUZEĆE

WHERE ŠIFRA_PRED = 40 ;

- CREATE VIEW  - Kreiranje pogleda

–        Pogledi su virtualne tabele koje se ponašaju kao prozori kroz koje se vide podacimemorisani u našim stvarnim tabelama.

–        Pogledi ne sadrže vlastite podatke, ali se sa njima može raditi kao da su stvarne tabele.

–        Ciljevi pogleda su:

97 / 154

Page 98: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- pojednostavljenje pristupa podacima, - obezbeđenje nezavisnosti podataka i - obezbeđenje trajnosti podataka.

CREATE VIEW PRED10 AS

SELECT ŠIFRA_PRED, PREZIME, RADNO_MESTO

FROM PREDUZEĆE

WHERE ŠIFRA_PRED = 10;

Aritmetrički izrazi u okviru SQL-a

- Aritmetički operatori

SELECT PREZIME, PLATA, STIMUL, PLATA + STIMUL

FROM RADNICI

98 / 154

Page 99: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

WHERE RADNO_MESTO = ‘REFERENT’;

Oporavak baze podataka i upravljanje izvršenjem transakcija

1. Baza podataka je zajednički resurs koga konkurentno (istovremeno) koriste veći brojprograma.

1. Kod istovremenog korišćenja može doći do mnogih neželjenih efekata, kao na primer: 1. Otkaz sistema u toku izvršavanja nekog programa ili obrade neke transakcije (na primerskinute su pare sa računa nekog komitenta, ali usled otkaza u tom trenutku se nije izvršioprenos na drugi račun). 2. Gubljenje rezultata ažuriranja (na primer, ukoliko se izvršavaju dve transakcijeistovremeno, transakcija A podiže, dok transakcije B ulaže novac na isti račun. Ažuriranje kojetransakcija A obavlja je izgubljeno, odnosno prebrisano ažuriranjem koje je izvršila transakcija Bu istom trenutku). 3. Problem nekorektne analize podataka (na primer, za vreme nekog sračunavanja koje seobavlja u jednoj transakciji, druga promeni vrednost argument koji je prva već obradila).

1. Osnovni cilj baze podataka je da omogući efikasnu obradu transakcija (jedno izvršenje

99 / 154

Page 100: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

neke logičke jedinice posla ili programa).

Transakcije

1. Transakcija je operacija kojom se izvodi serija izmena nad jednom ili više tabela, tj.transakcija je izvršenje neke logičke jedinice rada korisnika baze podataka.

1. Osnovni cilj baze podataka je da omogući efikasnu obradu transakcija.

1. Transakcija mora da poseduje sledeći skup osobina: 1. Atomnost – skup aktivnosti nad bazom podataka koje se izvršavaju po principu “sve iliništa” (ili su sve aktivnosti uspešno obavljene ili je BP ostala nepromenjena) je atomski skupaktivnosti. 2. Konzistentnost – izvršenje transakcije treba da prevede BP iz jednog u drugokonzistentno stanje. 3. Izolacija – Transakcija ne treba da svoje promene BP učini vidljivim drugim transakcijamapre nego što se ona okonča. 4. Trajnost – Kada su u BP potvrđene promene koje je izvršila neka transakcija, ovepromene se više ne mogu izgubiti.

1. Da bi se obezbedile ove osobine, skup instrukcija koje predstavlja transakciju počinje saspecijalnom instrukcijom BEGIN TRANSACTION, a završava se bilo sa instrukcijom COMMIT(potvrđuju se promene u BP) ili ROLLBACK (poništavaju se promene u bazi).

100 / 154

Page 101: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

1. U savremenim DBMS transakcije mogu biti “ugnježdene”, odnosno dozvoljeno je da sejedna transakcija smesti u drugu. Naredba COMMIT ugnježdene transakcije stvarno nepotvrđuje promene u bazi dok se uspešno ne okonča i transakcija na najvišem nivouugnježdenja.

1. Ukoliko se u bilo kojoj transakciji ugnježdene strukture pokrene instrukcija ROLLBACK,poništavaju se promene koje su proizvele sve ostale transakcije strukture.

Problem nepotvrđenih promena (čitanja)

1. Ovaj problem se javlja kada se jednoj transakciji dozvoli da čita ili da menja rekord kojidruga transakcija ažurira, a promene koje je ona učinila još nisu potvrđene naredbom COMMIT.

1. Da bi se mogle poništiti promene koje je transakcija izvršila nad BP, DBMS poseduje iodržava specijalnu memorijsku lokaciju (na nekoj spoljnoj memoriji) koja se naziva log ili žurnal.

1. Na ovoj memorijskoj lokaciji, 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).

1. Kada se izda instrukcija ROLLBACK sistem, koristeći vrednosti pre za datu transakciju,

101 / 154

Page 102: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

ažurira odgovarajuće objekte baze podataka.

Konkurentna obrada transakcija

1. Transakcija se u sistemima zasnovanim na bazi podataka ne obavlja u izolaciji, većkonkuretno (uporedo) sa drugim transakcijama u sistemu.

1. Više transakcija mogu istovremeno zahtevati iste resurse, isti rekord baze podataka.

1. Nekontrolisana međusobna interferencija transakcija može da dovede bazu unekonzistentno stanje.

1. Komponenta DBMS-a koja vodi računa o redosledu izvršavanja akcija nad bazom uskupu transakcija koje se konkuretno izvršavaju se zove Planer.

1. Komponenta koja upravlja celokupnim izvršenjem transakcija naziva se Menadžertransakcije.

Protokoli zaključavanja

102 / 154

Page 103: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

1. Za razliku od konkuretnog , serijsko izvršenje transakcija je izvršenje u kome setransakcije ne prepliću, već se prvo potpuno izvrši jedna, pa onda druga transakcija.

1. Velika je verovatnoća da ničim ograničeno izvršenje jednog skupa transakcija neće bitiserijabilno.

1. Zadatak planera izvršenja je da proveri serijabilnost nekim i da spreči da neserijabilnaizvršenja naruše integritet baze podataka.

1. S obzirom da proveru serijabilnosti i preduzimanje odgovarajućih akcija planer izvršenjateško može da obavi u realnom vremenu primenjuje se mehanizam zaključavanja (locking).

1. Ovaj mehanizam upravljanja izvršenjem skupa transakcija omogućava da transakcija“zaključa” (postavi lokot) na objekat baze kome je pristupila, da bi onemogućila da drugetransakcije nekorektno operišu sa istim objektom. 2. Postoje više različitih vrsta zaključavanja, neke od njih su: 1. Ekskluzivno zaključavanje (exclusive (XL) lock ili write lock) – ako neka transakcijapostavi ekskluzivni lokot na objekat baze, nijedna druga transakcija ne može da taj objekatpostavi bilo koji drugi lokot. 2. Deljivo zaključavanje (shared (SL) lock ili read lock) – ukoliko neka transakcija postavideljivi lokot na objekat baze, neka druga transakcija takođe može da postavi deljivi lokot na istiobjekat baze, ali nijedna druga ne može da postavi eksluzivni lokot na taj objekat.

103 / 154

Page 104: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

1. Protokol zaključavanja koji bi mogao da reši prikazane probleme može se iskazati nasledeći način: 1. Transakcija koja želi da pročita neki objekat baze mora prvo da postavi deljivi lokot na tajobjekat; 2. Transakcija koja želi da ažurira neki objekat baze mora prvo da postavi eksluzivni lokotna taj objekat. Ako je ta transakcija ranije postavila S lokot, ona treba da taj lokot transformiše uX lokot; 3. Ako transakcija nije uspela da postavi lokot na željeni objekat baze, tada ona prelazi ustanje čekanja; 4. Transakcija oslobađa E lokot obavezno, a po pravilu i S lokot na kraju, sa COMMIT iROLLBACK naredbom.

“Živi” i “mrtvi” lokoti

1. U toku izvršenja skupa transakcija, moguće je da dve ili više transakcija formiraju “mrtvilokot”, odnosno da lokoti koje su one postavile na objekte baze sve njih dovode u stanječekanja.

1. Pojam “živog lokota” se definiše kada je neka transakcija stalno u stanju čekanja na nekiobjekat baze zbog toga što druge transakcije uvek pre nje postave lokot na taj objekat.

1. Problem “živog lokota” se jednostavno rešava uvođenjem nekog redosleda zaključavanjaobjekta (na primer FIFO).

104 / 154

Page 105: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

1. Za razrešavanje problema mrtvih lokota koriste se tri tehnike: 1. Prekidanje transakcije posle isteka intervala vremena – koristi se parametar timeout kojimenadžer lokota dodeljuje transakciji pri pokušaju zaključavanja nekog objekta. Ukoliko isteknevreme transakcija se poništava i ponovo startuje; 2. Prevencija lokota – definisanje različitih protokola koji će sprečiti da dođe do mrtvogčvora. Na primer uređenje elemenata baze, gde se blokovi uređuju po njihovim  adresama naspoljnoj memoriji (A1 DRŽAVA –> OBLAST –> GRAD

¡     Drill-up - Postupak prelaska sa nivoa sa većim brojem detalja na nivo sa manjim brojemdetalja, na tzv. sumarne podatke, naziva se dizanje naviše (drill up). Na primer, upit bi mogaoprezentovati prodaju u odnosu na neke regione.

¡     Drill across – koristi se za povezivanje dve ili više činjeničnih tabela na istom nivouhijerarhije.

Šema pahulje

1. Definiše hijerarhiju koristeći višedimenzione tabele - Šema pahulje je varijacija šemezvezda u kojoj su hijerarhija dimenzije skladištene u višedimenzione tabele. Na primer,dimenzija Proizvod je skladištena u tri tabele: kategorija proizvoda, podkategorija proizvoda iproizvod. 2. Normalizovana je. 3. Podržana je unutar analitičkih usluga. (samo jedna dimenziona tabela se pridružuje tabeličinjenica, dok su ostale dimenzione tabele povezane sa spoljnim ključem).

105 / 154

Page 106: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

1. c) Kreiranje agregacija 2. Agregacijama se sumiraju detalji podataka i smeštaju u posebne tabele. Na primer,moguće je kreirati sumarne podatke o prodaji po regionu i oblasti skupljajući ih iz svakeprodavnice, tj. najnižeg nivoa detalja.

1. Glavni razlozi kreiranja agregacija su da se poboljšaju performanse upita, tj. da se smanjivreme odziva na upit, kao i da se smanji broj resursa potrebnih za izvršenje upita.

Agregacije zasnovane na SQL naredbama

1. Jedan od načina na koji se mogu kreirati agregacije jeste korišćenje SQL naredbi. Iakoovaj način nije najbolji po pitanju performansi sistema, on je najjednostavniji.

Agregacije koje nisu zasnovane na SQL naredbama

1. U slučaju kreiranja agregacija koje nisu zasnovane na SQL naredbama, potrebno jerazviti specijalizovane programe, što usložnjava procese razvoja i održavanja skladištapodataka.

106 / 154

Page 107: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

1. Na primer, ako se izvrši sortiranje redova podataka po dimenziji Vreme, u tabeli će seprvo nalaziti redovi podataka koji se odnose na Dan, iza njih će biti redovi podataka koji seodnose na Nedelju itd. Zatim se na svakom mestu prelaza sa jednog nivoa dimenzije na drugi(na primer, sa Dana na Nedelju) kreiraju podzbirovi za taj nivo dimenzije. Pri tome je mogućeiskoristiti prednosti paralelnog procesiranja jer su podaci podeljeni po grupama (jedan procesmože računati podzbirove vezane za nivo Dan, a drugi za nivo Nedelja). Tako dobijenepodzbirove treba učitati i izvršiti agregaciju. Time je proces agregacije podataka završen.

1. d) Kreiranje fizičkog modela 2. U okviru kreiranja fizičkog modela baze podataka, izvodi se postupak prevođenja logičkogmodela u fizički model prikazan preko dijagrama entiteti – veze koji fokusira podatke.

1. Neposredno pre kreiranja modela treba izabrati sistem za upravljanje bazama podatakana kome će biti implementirana baza podataka.

1. Generisanje fizičkog modela treba da reši probleme:

¡     Multiplikativnosti - definiše broj instanci jednog entiteta (buduća tabela u bazi) u relaciji sajednom instancom drugog entiteta.

¡     Referencijalnog integriteta - zahteva da unesena vrednost atributa odgovara vrednosti

107 / 154

Page 108: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

atributa koji je primarni ključ druge tabele. Referenacijalni integritet se definiše za operacijeubacivanja, brisanja i ažuriranja.

¡     Kreiranja indeksa - je izvršeno automatski za sve primarne ključeve u entitetima i zaprenesene ključeve u entitetu Ispit. Ovo se radi iz razloga što će se buduća pretraživanja uokviru skladišta podataka vršiti na osnovu ovih polja.

1. e) Generisanje baze podataka 2. Aktivnost generisanja baze podataka vrši se korišćenjem SQL jezika. Naime, alat u komeje izvršeno kreiranje fizičkog modela (npr. ERWin) omogućava automatsko generisanje kodapreko takozvanih DDL (Data Definition Language) datoteka.

1. U sledećem koraku se vrši izvršavanje DDL datoteka pomoću Query Analyzer-a, alatakoji je sastavni deo SQL Servera 2003. Ovaj alat omogućava direktno zadavanje SQL naredbi injihovo izvršavanje u cilju generisanja baze podataka.

1. Kada se svi ovi poslovi uspešno urade, baza (skladište) podataka je generisana.

f) Učitavanje podataka

108 / 154

Page 109: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

1. U toku učitavanja se mogu eventalno izvršiti još neke transformacije, mada bi satransformacijama podataka trebalo završiti pre učitavanja zbog problema konzistentnosti baze.

1. Za učitavanje podataka može se koristiti alat MS SQL Server-a DTS (DataTransformation Servicess) i njegova procedura učitavanja podataka pomoću takozvanih DTSpaketa.

OLAP sistemi

1. OLAP rešenja omogućavaju korisnicima brz i fleksibilan pristup podacima i predstavljajunadgradnju skladišta podataka.

1. Interaktivno analitičko procesiranje (On line Analytical Processing – OLAP) namenjeno je on-lineanalizama i izveštavanjima.

1. Krajnjem korisniku je neophodno sledeće:

109 / 154

Page 110: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

¡     da može da postavi bilo koje poslovno pitanje,

¡     da bilo koji podatak iz preduzeća koristi za analizu,

¡     mogućnost neograničenog izveštavanja.

1. U tu svrhu se koriste analitički OLAP sistemi koji obezbeđuju informacije koje se koristeza analizu problema ili situacija.

1. Analitičko procesiranje se primarno vrši korišćenjem poređenja ili analiziranjem šablona itrendova. Na primer, analitički sistem bi mogao da prikaže kako se određena vrsta štampačaprodaje u različitim delovima zemlje. Takođe, mogao bi da prikaže i kako se jedna vrstaproizvoda trenutno prodaje u odnosu na period kada se proizvod prvi put pojavio na tržištu. 2. OLAP sistemi omogućavaju jednostavnu sintezu, analizu i konsolidaciju (agregacijapodataka po zadatom kriterijumu) podataka.

1. Koriste se za intuitivnu, brzu i fleksibilnu manipulaciju transakcionim podacima.

1. OLAP sistemi podržavaju kompleksne analize koje sprovode analitičari i omogućavajuanalizu podataka iz različitih perspektiva (poslovnih dimenzija).

110 / 154

Page 111: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

1. OLAP sistemi kao skladišta podataka koriste multidimenzionalnost i denormalizaciju.

1. Osnovni elementi OLAP sistema su:

¡     baza podataka, koja služi kao osnova za analizu,

¡     OLAP server, za upravljanje i manipulaciju podacima,

¡     interfejs sistem, prema korisniku i prema drugim aplikacijama,

¡     alati za administriranje.

Poređenje OLTP, DW i OLAP.

111 / 154

Page 112: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

OLAP serveri

1. OLAP pristup mora od hardvera da poseduje poseban računar, tzv. OLAP server, na kojise povezuju relacione BP, eksterni izvori podataka i ostali interni podaci, koji su podržanigrafičkim interfejsima, radnim tabelama i ostalim PC alatima.

1. OLAP serveri koriste višedimenzione strukture za čuvanje podataka i veza između njih.

1. Višedimenzione strukture se najbolje vizuelizuju kao kocke podataka i kao kocke ukockama podataka. Svaka strana kocke se naziva dimenzijom. Dimenzija predstavlja kategorijupodataka, kao što su tip proizvoda, region, vreme itd. Svaka ćelija kocke sadrži agregiranepodatke koji su u vezi sa dimenzijama. Na primer, jedna ćelija može sadržati podatke o ukupnojprodaji za dati proizvod i region u toku jednog meseca.

1. OLAP serveri podržavaju tipične analitičke operacije:

¡     konsolidacija – ovom operacijom se vrši agregacija podataka po zadatom kriterijumu,

¡     drill down/up – ove operacije omogućavaju prikazivanje više ili manje detalja podataka,

112 / 154

Page 113: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

¡     isecanje (slice & dice) – ove operacije obezbeđuju prikazivanje podataka iz različitihperspektiva, pri čemu se isecanje najčešće vrši po vremenskoj dimenziji da bi se analiziralitrendovi (na primer, jedan isečak kocke može prikazivati sve podatke o prodaji za zadati tipproizvoda za sve regione, a drugi isečak može prikazivati sve podatke o prodaji po kanalima zasvaki tip proizvoda).

Zahtevi OLAP sistema

1. Interfejs OLAP sistema treba da omogući korisniku komforan rad, samostalno izvođenjeanalitičkih operacija i dobijanje pregleda i poslovne grafike, bez znanja programiranja i strukturebaze podataka.

1. Zahtevi koje OLAP mora da ispuni su:

¡     mogućnost rada sa velikim skupom podataka i velikim brojem korisnika,

¡     kratko vreme odziva na upit,

¡     mogućnost rada sa podacima sa različitim nivoima detalja,

¡     sposobnost proračuna složenih matematičkih funkcija,

113 / 154

Page 114: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

¡     podrška za šta-ako analizu, modelovanje i planiranje,

¡     jednostavnost uvođenja i održavanja sistema,

¡     zaštita podataka,

¡     mogućnost rada sa velikim brojema alata pomoću kojih će se pristupati podacima, vršitianaliza i prikazivati podaci.

Komponente OLAP baze podataka

1. OLAP baza podataka je definisana sledećim komponentama:

¡     Numeričke mere – Mere su vrednosti podataka ili činjenice koje korisnici analiziraju.Primeri mera su Prodaja, Jedinice, Troškovi prodate robe itd.

¡     Dimenzije – dimenzije predstavljaju poslovne kategorije koje obezbeđuju kontekstnumeričkim merama. Dimenzijama OLAP je lakše navigirati nego dimenzijama šeme zvezde..

114 / 154

Page 115: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

¡     Kocke – Kocke kombinuju sve dimenzije i sve mere u jedan konceptualni model.

OLAP dimenzije vs. Relacione dimenzije

Definisanje kocke

1. Kocka je logička struktura skladištenja OLAP baze podataka.

1. Kocka kombinuje dimenzije i mere kako bi korisnici mogli da prave upite.

1. Kocka definiše skup povezanih dimenzija koje formiraju jednu n-dimenzionalnu mrežu:

¡     Svaka ćelija kocke sadrži jednu vrednost;

115 / 154

Page 116: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

¡     Vrednost svake ćelije je presek dimenzije.

1. Mere su numeričke vrednosti koje korisnici analiziraju.

1. Svaka kocka mora da sadrži barem jednu meru, ali ne može da ima više od 1024 mera.

1. Karakteristike mere su:

¡     Mere su numeričke;

¡     Mere odgovaraju činjenicama u tabeli činjenica. Samo jedna tabela činjenica se možekoristiti za kreiranje kocke;

¡     Mere su preseci svih dimenzija i nivoa ...

1. Kocka skladišti vrednosti prodaje za svaki proizvod, svako tržište i za svaki periodvremena. 2. Da bi dobili ukupnu godišnju vrednost, korisnici biraju proizvod i tržište i sumiraju ćelije izsva četiri kvartala.

116 / 154

Page 117: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Pravljenje upita nad kockom

¡     Kocka “Prodaja” sadrži tri dimenzije: Vreme, Proizvodi i Tržišta. Činjenice o prodaji suskladištene u presecima svih dimenzija u kocki. Korisnik koji nadgleda prodaju jabuka u Atlantiželi upit za Q4 prodajne vrednosti.

Definisanje “kriške” (engl. slice) ili podskupa kocke

Menadžer distribucije trešnji želi da pregleda podatke o trešnji po svim periodima i za svatržišta.

117 / 154

Page 118: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Rad sa dimenzijama i hijerarhijama

1. Glavna svrha OLAP baza podataka je da obezbede fleksibilne modele za pronalaženjepodataka. Dimenzije i hijerarhije omogućavaju tu fleksibilnost.

1. Dimenzije omogućavaju slice i dice:

¡     Slice - izbor jednog člana iz dimenzije. Na primer: ukoliko želite da se fokusirate na samojedan proizvod, slice vam omogućava da ignorišete sve osim željenog proizvoda.

¡     Dice – kada primenjujete dice na kocki, onda postavljate više članova iz jedne dimenzije najednu osu i više članova druge dimenzije na drugu osu. Ovakav način vam omogućava dasagledate među odnose članova različitih dimenzija.

1. Hijerarhija vam omogućava drill down i drill up:

¡     Drill Down - Sve dimenzije sadrže hijerarhiju i za većinu dimenzija hijerarhija se sastoji odviše nivoa. Više nivoa hijerarhije omogućava drill down po jednom članu hijerarhije. Drill downomogućava da se fokusirate samo na određene podatke ili oblast problema.

¡     Drill Up – Vide se samo zbirne informacije članova. Omogućava da se sagleda opšta slika.

118 / 154

Page 119: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

1. Dimenzije vam dozvoljavaju

¡     Slice

¡     Dice

1. Hijerarhije vam dozvoljavaju 1. Drill Down 2. Drill Up

Arhitekture OLAP sistema

1. Postoje sledeće arhitekture OLAP sistema: 2. višedimenzioni OLAP (MOLAP), 3. relacioni OLAP (ROLAP), 4. hibridni OLAP (HOLAP).

1. MOLAP i ROLAP se razlikuju po načinu fizičkog čuvanja podataka. Kod MOLAP sistema

119 / 154

Page 120: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

podaci se čuvaju u višedimenzionoj strukturi, a u slučaju ROLAP sistema podaci se čuvaju urelacionim bazama podataka.

a. Višedimenzioni OLAP (MOLAP)

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

¡     Da bi se vršila bilo kakva analiza, potrebno je prvo učitati podatke u višedimenzionestrukture. Pri tome se vrše razni proračuni da bi se kreirale agregacije i popunili podaci, štovremenski može trajati relativno dugo. Po završenom procesu, korisnik može započeti analizu.

1. Prednost MOLAP sistema je što obezbeđuju odlične performanse sistema kada se radisa već sračunatim podacima (agregacijama).

1. Nedostatak MOLAP sistema je teškoća dodavanja novih dimenzija

120 / 154

Page 121: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

121 / 154

Page 122: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Arhitektura MOLAP sistema

Podaci iz različitih transakcionih sistema učitavaju u višedimenzionu bazu podataka pomoćubatch rutina. Kada se završi sa učitavanjem podataka atomskog nivoa, prelazi se na kreiranjeagregacija, nakon čega je baza podataka spremna za rad. Korisnici zadaju svoje zahteve zaOLAP izveštajima putem interfejsa.

b. Relacioni OLAP (ROLAP)

1. ROLAP sistemi pristupaju podacima direktno iz skladišta podataka i rade sa relacionimbazama podataka.

1. ROLAP sistemi mogu da rade sa velikim skupovima podataka. Čim se odredi izvorpodataka, korisnik može započeti analizu. S obzirom da se radi direktno nad bazom podataka,

122 / 154

Page 123: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

korisniku su uvek na raspolaganju tekući podaci.

1. Kod ROLAP sistema ne postoje ograničenja po pitanju broja dimenzija koja postoje uslučaju MOLAP sistema.

Karakteristike ROLAP i MOLAP sistema

1. Neke karakteristike MOLAP i ROLAP sistema:

¡     ROLAP sistemi su optimizovani za pristupanje podacima, dok su MOLAP sistemioptimizovani za prikupljanje podataka.

¡     Prednost ROLAP sistema je što su sumarne tabele kreirane direktno u RSUBP-u, čime seobezbeđuje kratko vreme odziva sistema na upit, i što su tabele veoma čitljive.

¡     Višedimenziona analiza moguća je korišćenjem ROLAP i MOLAP sistema,

¡     Za manje količine podataka ROLAP sistemi imaju skoro iste performanse kao i MOLAPsistemi,

123 / 154

Page 124: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

¡     MOLAP sistemi nisu pogodni za rad sa velikim skupom podataka,

¡     MOLAP sistemi su manji od ROLAP sistema, te je potrebno manje U/I operacija pripribavljanju podataka, što uslovljava da su MOLAP sistemi brži.

c. Hibridni OLAP (HOLAP)

1. HOLAP alati mogu pristupati i relacionim i višedimenzionim bazama podataka.

1. Cilj korišćenja HOLAP alata jeste da se iskoriste prednosti MOLAP alata (kratko vremeodziva sistema i analitičke mogućnosti) i ROLAP alata (dinamički pristup podacima).

1. Pri tome se ne može reći da je HOLAP prost zbir MOLAP-a i ROLAP-a. To je zapravoROLAP koji ima mogućnost izvršavanja vrlo složenih SQL naredbi.

1. Cilj je bio da se zadrže sve prednosti ROLAP-a, ali da se pri tome dodaju i neke novemogućnosti za rad sa višedimenzionim bazama podataka.

1. Potrebe korisnika su:

124 / 154

Page 125: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

¡     višedimenzioni pogled na podatke – ovu mogućnost poseduju i MOLAP i ROLAP alati,

¡     odlične performanse sistema – ovu mogućnost poseduju MOLAP alati,

¡     analitička fleksibilnost (za potrebe simulacija) – ovu mogućnost poseduju MOLAP alati,

¡     pristup podacima u realnom vremenu – ovu mogućnost poseduju ROLAP alati,

¡     veliki kapacitet podataka – ovu mogućnost poseduju ROLAP alati.

Evaluacija

1. 1. Koja je svrha oblasti za pripremu podataka kod Data Warehouse-a?

Oblast za pripremu podataka je skup procesa koji čisti, transformiše, kombinuje i pripremaizvorne podatke za korišćenje u DW.

125 / 154

Page 126: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

1. 1. Koja je svrha OLAP-a?

Da obezbedi brz, fleksibilan pristup multidimenzionalnim podacima kako bi korisnici mogli davrše analize i prave izveštaje.

1. 1. Definišite glavne relacione komponente od kojih se gradi OLAP kocka.

Tabela činjenica – Centralna tabela u Data Warehouse-u koja predstavlja numeričke podatkeu kontekstu koji opisuju određeni događaj u poslovanju.

Mere – kvantitativna, numerička kolona u tabeli činjenica. Mere obično predstavljaju vrednostikoje korisnici analiziraju.

Dimenzija tabele – Tabela u Data Warehouse-u koja predstavlja jedan poslovni objekat ilientitet.

126 / 154

Page 127: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

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

1. Korisnici informacionih sistema s pravom zaključuju da su im uvođenjemautomatizovanog informacionog sistema obećavali sve i svašta, a dobili su samo gomilupodataka. Čak i najboljem analitičaru je teško da identifikuje ključne informacije koje surelevantne za upravljanje poslovanjem.

1. Data mining je automatski ili poluautomatski proces koji izvodi značajna pravila ili obrasceiz ogromne količine podataka. Data mining programi analiziraju delove podataka da biidentifikovali veze između naizgled "nepovezanih podataka".

127 / 154

Page 128: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

1. Data mining je proces otkrivanja znanja (Knowledge Discovery in Databases - KDD). kojiomogućuje korisnicima da shvate sisteme i veze između njihovih podataka.

1. Data mining otkriva oblike i trendove u sadržaju ove informacije.

1. Data mining otkriva relacije našeg svakodnevnog komuniciranja sa podacima.

Definisanje Data mininga

1. Osnovna poruka data mininga jeste da je potrebno da iz ogromne količine operativnihpodataka i veza koje se ne mogu odmah sagledati definišu odgovarajuće relacije, obrasciponašanja, što u krajnjem slučaju treba da od podataka da potrebne informacije.

1. Data mining se može definisati kao proces podrške odlučivanju u kojem se traže šabloniinfomacija u podacima.

1. Osnovni cilj data mininga jeste otkrivanje skrivenih veza, predvidivih sekvenci i tačnihklasifikacija.

128 / 154

Page 129: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

1. Ovo pretraživanje može vršiti korisnik, 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 inalazi značajne šablone. Kada se ona nađe, informacija treba da se prezentuje na odgovarajućinačin, sa grafikonima, izveštajima itd.

Primene Data mininga

1. Reklamiranje na Internetu

¡     Data mining se može koristiti za klasifikovanje grupa klijenata sa sličnim informacijama,kako bi se ciljno reklamiralo.

¡     Kada se korisnik na primer registruje na e-commerce Web sajt koji prodaje sportsku opremutada DBMS prikuplja informacije o klijentu, kao što su pol, godine, omiljeni sport i dr.Korišćenjem tehnika data mininga, web sajt će prikazivati baner sa motivima golfa za muškarcei dr.

¡     Kada kupujete putem Interneta, ponekad vam se ponude i dodatni proizvodi za koje je Websajt predvideo da ćete možda biti zainteresovani. Takva preporuka se zasniva na tehnikamadata mininga koji pretražuje obrasce klijenata koji su na primer kupili istu knjigu koju vi sadakupujete. Sistem preporučuje: “Ukoliko vam se dopada x knjiga, proverite i sledeće ponuđeneknjige”.

129 / 154

Page 130: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

1. Upravljanje kreditnim rizikom

¡     Kada uzimate kredit, banka prikuplja širok opseg informacija o vama, kao na primer prihodi,godine staža, bračni status, kreditna sposobnost itd. Koriščenjem data mining tehnika, bankamože da predvidi da li ste dobar ili rizičan klijent za davanje kredita i takva informacija ćeodlučivati o odobravanju kredita.

Data mining modeli

1. Nekoliko tehnika data mininga vam omogućava identifikovanje obrazaca u ogromnimbroju podataka.

1. Modeli Analysis Services SQL Servera su

¡     Clustering – tehnika klasteringa omogućava grupisanje zapisa podataka koji su slični. Naprimer, sa klasteringom možete segmentirati klijente sa sličnim karakteristikama u grupe.

¡     Drvo odlučivanja – popularan metod za klasifikaciju i predviđanje. Korišćenjem serijepitanja i pravila za kategorizaciju podataka, mogu se predvideti da će izvesni tipovi imatispecifične ishode.

¡     Neuronske mreže – kao što čovek uči na osnovu iskustva tako može i računar. Neuronskemreže modeluju neuronske veze u ljudskom mozgu i na taj način simuliraju učenje. Ukolikosastavljate podatke gde su ulazne i izlazne činjenice poznate, računar može da nauči iz tihobrazaca i postavi pravila i matematičke faktore kako bi npr., pomogao izračunavanje ilipredvideo izlaznu vrednost. Pretpostavimo da želite da prodate kola, nekoliko faktora utiče na

130 / 154

Page 131: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

prodajnu cenu kao što su godine, stanje, proizvođač, model itd. Analizirajući cene kola,neuronske mreže mogu da kreiraju seriju ulaznih i izlaznih faktora kako bi predvideli cenuprodaje.

¡     Memorijsko zasnovano prosuđivanje – Memory-based reasoning (MBR) je tehnika datamininga koja se koristi za predviđanje i klasifikaciju. Na primer, ukoliko pacijent ima nekolikosimptoma, doktor će na osnovu iskustva sa sličnim pacijentima dati dijagnozu. Doktor izvršavadijagnozu koristeći oblik MBR-a.

¡     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 ujednoj transakciji.

131 / 154

Page 132: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Uvodni primer

1. Koji je ključni atribut za predviđanje da li će svršeni srednjoškolci upisati fakultet ili ne?

 

1. 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?

 

1. Da bi na osnovu prikupljenih podataka utvrdili koliko studenata će nastaviti školovanje, neophodno je da se postavi upit koji broji zapise studenata koji žele i onih koji ne žele da nastave školovanje.

132 / 154

Page 133: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

 

1. Pretpostavimo da ste zainteresovani da odredite koji atribut ili kombinacija atributa imajunajveći uticaj da predvidi verovatnoću studenata koji će upisati fakultet. Ovo je složeniji upit izahteva korišćenje tehnika data mininga.

1. Primenjujući algoritam drveta odlučivanja otkrivene su sledeće relacije:

¡     Najuticajniji atribut je ohrabrivanje njihovih roditelja da upišu fakultet. Oni studenti kojeroditelji ohrabruju da upišu fakultet, 60 % planira da upiše fakultet i to uglavnom oni sa visokimIQ..

Koraci kod izgradnje DM modela

1. Izbor tehnike data mininga 2. Identifikovanje slučaja (case) 3. Izbor entiteta koji treba da se predvidi 4. Identifikovanje podataka za analizu

133 / 154

Page 134: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

5. Opciono kreiranje dimenzije i virtuelne kocke iz rezultujućeg modela 6. Obrada modela i prikupljanje rezultata.

Metodologija kreiranja Data Mining modela

Da bi kreirali model morate da prikupite skup podatka, gde su atributi koji treba da se predvideunapred poznati.

Podaci se ubacuju u DM model koji ih analizira i traži pravila i obrasce koji bi se kasnije mogliiskoristiti za predviđanje.

Podaci koji se analiziraju su obično:

¡     Istorijski podaci

¡     Statistički predstavnik slučajeva (cases) za koje gradite model.

134 / 154

Page 135: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Slučaj (case) je element koji se koristi za klasifikaciju i grupisanje podataka.

DM engine procenjuje slučajeve i kreira model koji se zasniva na izabranom algoritmu.

Integracija data mininga sa skladištem podataka

1. Danas se radi na integraciji data mining alata sa skladištem podataka. Postoji višerazloga za ovu integraciju.

¡     Prvo, data mining alati zahtevaju postojanje "prečišćenih" i integrisanih podataka.Tradicionalni data mining alati bi iz tih razloga prvo izvršili transfer podataka (možda i stotinegigabajta) putem mreže. Nakon završenog rada često se javlja potreba za novim podacima, štobi značilo da bi se ceo proces transfera morao ponoviti. Pri ovome se neprestano moralo voditiračuna o zaštiti podataka i greškama pri prenosu.

¡     Drugi razlog za integraciju data mining alata sa skladištem podataka jeste poboljšanikorisnički interfejs. Stariji data mining alati su zahtevali postojanje niza stručnjaka da bi sepostigli zadovoljavajući rezultati. Danas, svaki poznavalac SQL jezika može koristiti mogućnostidata mininga.

135 / 154

Page 136: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

¡     Treći razlog za integraciju su performanse sistema i mogućnost proširivanja kojeobezbeđuje skladište podataka, a koje su potrebne za data mining alate.

Tradicionalni i integrisani prilaz.

Jedan od načina da se ostvari integracija jeste da se kreiraju modeli koji se u bazama podatakapredstavljaju tabelama. Na ovaj način se ovim modelima može pristupati upotrebom SQLnaredbi. Nakon kreiranja ovih tabela, u njih treba smestiti podatke koje će data mining alati dapretražuju. Obradom podataka, data mining alati će kreirati nove tabele u kojima će smeštatirezultate i koji se mogu pregledati kao i sve ostale tabele (korišćenjem SQL naredbi).

OLAP data mining

1. OLAP i data mining ne bi trebalo razmatrati kao odvojene procese već da ih treba upotpunosti spojiti.

136 / 154

Page 137: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

1. Komponente OLAP data mininga su:

¡     relaciona baza podataka koja sadrži granularne podatke (ne mora biti skladište podataka),

¡     OLAP koji obezbeđuje brz pristup sumarnim podacima između više dimenzija,

¡     višedimenzioni proces otkrivanja koji će vršiti otkrivanje između dimenzija i spajati rezultate.

1. Bez upotrebe OLAP data mininga, moguće je izostaviti ključne informacije ili se mogudobiti netačni rezultati.

Izgradnja Data Mining modela sa OLAP podacima

1. Uvod u scenario Članske kartice 2. Izbor Data Mining tehnike 3. Izbor slučaja (case) 4. Selekcija entiteta za predviđanje 5. Selekcija podataka za analizu (training data) 6. Kreiranje dimenzije i virtuelne kocke 7. Ispitivanje Data Mining modela

137 / 154

Page 138: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Uvod u scenario Članske kartice

1. Direktor marketinga želi da oceni trenutni program članskih kartica. Da bi zadržaopostojeće klijente i ispunio njihova očekivanja, želi da identifikuje mogućnosti kako bi povećaonivo usluga kod svih kartica: zlatna, srebrna, bronzana i obična. 2. Raspoložive informacije od klijenata su pol, bračni status, godišnji prihodi, nivoobrazovanja. 3. 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.

¡     Odabraćemo Klijente kao dimenziju slučaja (case dimension).

¡     Odabraćemo Člansku kartu kao informaciju koju će koristiti algoritam DM da bi identifikovaoobrasce.

¡     Iskoristiće se raspoložive informacije o klijentima kako bi se pronašao obrazac.

¡     Ispitati drvo odlučivanja.

UVOD U ACESS

Multifunkcionalni program; sastoji se od mnoštva povezanih alata za generisanje,organizovanje, izdvajanje, prikazivanje, štampanje i objavljivanje podataka.

138 / 154

Page 139: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

1. Da bi se okvalifikovala kao potpun sistem za upravljanje relacionom bazom podataka,aplikacija mora da izvršava sledeće četiri osnovne funkcije, od kojih svaka ima sopstvenuprezentaciju za korisnika:

1. Organizacija podataka – obuhvata izradu i rukovanje tabelama koje sadrže podatke ukonvencionalnom tabelarnom formatu koju Access naziva pogled (Datasheet). 2. Povezivanje tabela i izdvajanje podataka – povezuje više tabela prema relacijama izmeđupodataka radi izrade privremenih tabela, koje sadrže izabrane podatke. Access koristi upite dabi povezao tabele i izabrao podatke koji će se čuvati u privremenoj tabeli, koja se naziva objekatRecordset. Objekti Recordset nazivaju se virtuelne tabele, jer se čuvaju u memoriji računaraumesto u datotekama baze podataka 3. . Unos i uređivanje podataka – zahteva projektovanje i implementaciju obrazaca zapregled, unos i uređivanje podataka kao alternativu tabelarnom prikazu. Obrasci su ti kojiumesto aplikacije omogućavaju da kontrolišete prikazivanje podataka. 4. Prikazivanje podataka – zahteva izradu izveštaja koji mogu da sumiraju podatke uskupovima zapisa (Recordset). Njih možete da pregledate, štampate ili objavljujete na internetuili intranetu.

1. Makroi su sekvence aktivnosti, koje automatizuju operacije nad bazom podataka koje seponavljaju. Pri radu sa bazama podataka Access 2000, za automatizaciju se koristi Visual Basicfor Application (VBA). 2. Moduli su funkcije i procedure koje su napisane u programskom jeziku VBA. FunkcijeVBA se koriste da bi se izvršavala složenija izračunavanja od onih koja se mogu lako izložitipomoću niza konvencionalnih matematičkih simbola, ili za izračunavanja koja zahtevajudonošenje odluka. VBA potprogrami napisani su za izvršavanje operacije koje prevazilazemogućnosti standardnih aktivnosti makroa što je jedan od razloga da se u Accessu napuštapodrška makroima. VBA podprogrami se izvršavaju tako što se pridružuju odgovarajućimdogađajima, kao što je pritisak na dugme pomoću miša, koji se dešava kada je aktivni objekatneki obrazac ili izveštaj.

139 / 154

Page 140: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

1. Bezbednost sačinjavaju funkcije koje su dostupne kao stavke menija i preko VBApotprograma. Pomoću funkcija bezbednosti podataka može se dopustiti drugim osobama dakoriste vašu bazu podataka, u višekorisničkom okruženju. Pristup možete dodeliti grupikorisnika ili pojedincima, ali i ograničite njihove mogućnosti za pregled ili modifikacije svih ilisamo nekih tabela u bazi podataka.

1. Štampanje dopušta da odštampate praktično sve što možete da pregledate u radnomrežimu programa Accessa. 2. Mogućnost objavljivanja unapređuju distribuciju informacija preko intranet korporacije ijavne Internet mreže u obliku Word Wide Web strana. Access 2000 uvodi strane za pristuppodacima (DAP – Data Access Page). One vam dopuštaju da napravite aplikaciju zaprikazivanje i ažuriranje podataka na stranama, koje koriste prednosti jezika Dynamic HTML(DHTML) i Extensible Markup Language (XML).

REŽIM RADA ACCESSA

Access ima tri osnovna radna režima:

1. Režim za pokretanje (Startup mode) omogućava da konvertujete, šifrujete, dešifrujete ipopravite podatke iz baze, izborom komandi iz podmenija Database Utilities i Security, menijaTools, pre otvaranja baze podataka. Ove komande su dostupne samo ako baza podataka nijeotvorena. 2. Režim projektovanja (Design mode) omogućava da napravite i modifikujete strukturutabela i upita, razvijate obrasce za prikaz i uređivanje podataka, kao i da formatirate izveštaje zaštampanje. 3. Režim izvršavanja (Run mode) prikazuje dizajn tabela, obrasca i izveštaja u posebnimprozorima za dokument. Makroe izvršavate tako što jedan od njih izaberete, a zatim izabereterežim izvršavanja. Ovaj režim se ne primenjuje na VBA module, jer se funkcije izvršavaju kadase pojave kao elementi upita, obrazaca ili izveštaja. Režim izvršenja za tabele i upite naziva se pogled Datasheet, za obrasce

140 / 154

Page 141: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

pogled Form, za strane za pristup podacima (DAP), pogled Page, a za izveštaje pogled Print Preview.

Termin aplikacija u Accessu označava bazu podataka sa sledećim karakteristikama:

- Sadrži upite, obrasce, izveštaje i makroe, koji su neophodni za prikaz podataka narazumljiv način i za ažuriranje tih podataka ako je neophodno. ( Objekti aplikacije).

- Od korisnika baze podataka ne zahteva se da znaju kako se projektuje bilo koji odelemenata baze. Svi elementi baze podataka prethodno su u potpunosi definisani tokomprojektovanja aplikacije. U većini slučajeva, želite da onemogućite da drugi korisnici namerno ilislučajno promene dizajn aplikacije.

- Automatizovana je pomoću VBA koda, tako da korisnici vrše izbor pomoću komandnihdugmadi ili opcija iz namenski projektovanih menija, umesto iz lista u prozoru Database.

Access sadrži glavnu datoteku baze podataka koja se naziva datoteka radne grupe, podnazivom System.mdw. Ova datoteka sadrži sledeće informacije:

141 / 154

Page 142: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Imena korisnika i grupa korisnika, koji mogu da otvore Access.

- Lozinke i jedinstveni binarni kod korisnika, koji se naziva System ID (SID) i koji identifikujekorisnika koji trenutno koristi Access.

- Operativna podešavanja, koje uspostavljate izborom stavki Tools, Options iz menija.

- Definicije prilagođenih paleta alatki u Accessu 2000, koje pravi svaki korisnik.

BIBLIOTEČKE BAZE PODATAKA PROGRAMA ACCESS

1. Još jedna kategorija datoteka, kod baza podataka u Accessu, pojavljuju se dopunskiprogrami, koji se nazivaju i biblioteke.

1. Dopunski programi predstavljaju bibliotečku bazu podataka Accessa, obično saoznakama tipa .mde ili .mda, da bi se razlikovali od korisničkih baza podataka, a sa Accessommožete da ih povežete izborom alatke Add-In Manager (kojoj možete da pristupite izvoromopcije Tools, Add-Ins).

142 / 154

Page 143: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

1. Kada povežete neku biblioteku Accessa, svi elementi te bibliotečke baze podataka bićevam dostupni kada otvorite Access.

Strategija projektovanja baze podataka jeste da se ostvare sledeći ciljevi:

1. Zadovoljenje potreba organizacije za informacijama na pravovremen, dosledan iekonomičan način.

1. Eliminisanje ili smanjenje dupliranja sadržaja baze podataka unutar organizacije. Uvelikim organizacijama, eliminisanje dupliranja može da zahteva distribuiranu bazu podataka.Distribuirane baze podataka koriste više servera za čuvanje pojedinačnih baza podataka.Pojedinačne baze podataka, jedna sa drugom povezane su preko lokalne mreže (LAN) iliregionalne mreže (WAN) tako da ih korinik “vidi” kao jednu bazu podataka.

1. Obezbediti brz pristup određenim elementima baze podataka za sve kategorije korisnika.Brzina rada zavisi od samog sistema za upravljanje relacionom bazom podataka, dizajnaaplikacija, mogućnosti računara servera i klijenta i karakteristika mreže.

1. Prilagoditi proširenje baze podataka za prihvatanje potreba organizacije koja se razvija,

143 / 154

Page 144: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

npr. dodavanje novih proizvoda i procesa, ispunjavanje zakonskih regulativa i prihvatanje novihaplikacija za obradu transakcija i podršku odlučivanju. 2. Očuvanje integriteta baze podataka tako da ona sadrži samo proverene informacije kojemogu da se pregledaju. Većina klijent/server baza podataka nude ugrađene okidače zaočuvanje integriteta baze podataka i obavljanje drugih operacija. Okidači jesu skupovi pravilasadržani u bazi podataka.

1. Sprečavanje pristupa bazi podataka od strane neovlašćenih osoba. Access nudibezbednosni sistem koji od korisnika zahteva da unesu lozinke da bi otvorili određenu bazupodataka.

1. Dozvoliti pristup samo onim informacijama baze podataka koje su pojedinim korisnicimaili grupama korisnika neophodne prema vrsti njihovog posla.

1. Olakšati izradu aplikacija za unos podataka, editovanje, prikazivanje i izradu izveštajakoje služe korisnicima baze podataka.

Postupak projektovanja sistema relacione baze podataka sastoji se od 10 osnovnihkoraka:

1. Identifikujte objekte (izvori podataka) koje sistem baze podataka predstavlja. 2. Otkrijte veze između objekata. 3. Odredite značajna svojstva (atribute) i ponašanja objekata. 4. Ustanovite kako svojstva objekata utiču jedna na druge.

144 / 154

Page 145: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

5. Izradite uvodni rečnik podataka da biste definisali tabele koje čine osnovu bazepodataka. 6. Naznačite relacije između tabela baze podataka na osnovu veza između objekata kojese nalaze u njima i ove informacije uključite u rečnik podataka. 7. Uspostavite tipove ažuriranja i transakcija koji prave i menjaju podatke u tabelama,uključujući sve neophodne zahteve u vezi sa integritetom podataka. 8. Odredite način korišćenja indeksa kako biste ubrzali upite, s tim, da izrazito neusporite dodavanja podataka u tabele ili da dodatno zauzimate velik prostor na disku. 9. Ako je potrebno da se obezbedi zaštita podataka, odredite ko može da pristupi i menjapodatke u svakoj tabeli (zaštita podataka)  i da promeni strukturu tabela. 10. Dokumentujte dizajn baze podataka, kao jedne celine, a i za tabele koje ona sadrži,napišite procedure za održavanje baze podataka, uključujući i one za izradu rezervne kopije datoteke i restauraciju.

TIPOVI RELACIJA

RELACIJA JEDAN-PREMA-JEDAN

Jednom redu u jednoj tabeli odgovara jedan red u drugoj tabeli. Ovakve tabele možetekombinovati u jednu tabelu koja se sastoji od svih kolona obe tabele.

RELACIJA TIPA JEDAN-PREMA-VIŠE

Povezuju jedan red iz jedne tabele sa više redova druge tabele preko relacije između primarnog

145 / 154

Page 146: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

ključa bazne tabele i odgovarajućeg spoljnjeg ključa u povezanoj tabeli.

RELACIJE TIPA VIŠE-PREMA-JEDAN

Povezuju više redova jedne tabele sa jednim redom druge tabele.

RELACIJE TIPA VIŠE-PREMA-VIŠE I ČETVRTA NORMALNA FORMA

Ne mogu da se izraze kao jednostavne relacije između dva sudelujuća entiteta. Njih ostvarujetetako što pravite tabelu koja ima relacije tipa više-prema-jedan sa dve bazne tabele.

NORMALIZACIJA PODATAKA U RELACIONI MODEL

PRAVILA NORMALIZACIJE

Normalizacija je formalizovani postupak za grupisanje atributa podataka u tabele i tabela u baze

146 / 154

Page 147: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

podataka.

Ciljevi normalizacije:

1. Eliminisanje dupliranih informacija u tabelama. 2. Prilagođavanje budućim izmenama u strukturi tabela. 3. Umanjivanje uticaja strukturnih izmena baze podataka na korisničke aplikacije kojepristupaju podacima.

PRVA NORMALNA FORMA

Zahteva da tabele budu ravne i da ne sadrže duplirane grupe.

DRUGA NORMALNA FORMA

Zahteva da podaci u svim kolonama koje nisu deo ključa budu potpuno zavisni od primarnogključa i svakog elementa (kolone) primarnog ključa kada je on složeni primarni ključ. Potpunozavisni znači da je vrednost podatka u svakoj koloni koja nije deo ključa zapisa, na jedinstvennačin određena vrednošću primarnog ključa. Druga normalna forma uklanja veći deonepotrebnih (redudantnih) podataka.

TREĆA  NORMALNA FORMA

147 / 154

Page 148: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Zahteva da sve kolone koje nisu deo ključa tabele budu zavisne od primarnog ključa tabele inezavisne jedna od druge. Tabele moraju da odgovaraju prvoj i drugoj formi da bi bile sposobneza treću normalnu formu.

ČETVRTA  NORMALNA FORMA

Zahteva da se nezavisni entiteti podatka ne čuvaju u istoj tabeli, kada između njih postojerelacije tipa više-prema-više.

PETA NORMALNA FORMA

Zahteva da mora postojati mogućnost da se tačno rekonstruiše originalna tabela pomoću tabelau koje je ona rastavjlena. Peta normalna forma zahteva da tabele poštuju pravila trećenormalne forme, a kada postoje relacije tipa više-prema-više i pravilo četvrte normalne forme.

UPITI

Access omogućava pravljenje četiri osnovna tipa upita, za postizanje različitih ciljeva:

- Upiti za izbor (Select Querys) izdvajaju podatke iz jedne ili više tabela i prikazuju tepodatke u tabelarnom obliku.

148 / 154

Page 149: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

- Upiti unakrsnih tabela (Crosstab queries) sumiraju podatke iz jedne ili više tabela u oblikuradne tabele. Ovakvi upiti su korisni za analiziranje podataka i izradu grafika ili dijagrama, naosnovu sume vrednosti numeričkih polja većeg broja zapisa.

- Akcioni upiti (Action queries) prave nove tabele iz tabela upita, ili prave velike izmene unekoj tabeli. Takvi upiti dopuštaju da dodate ili obrišete zapise iz tabele, ili napravite izmene uzapisima na osnovu izraza koji unosite pri dizajnu upita.

- Parametarski upiti (Parameter queries) čije se korišćenje ponavlja pri čemu se vrše samojednostavne izmene njihovih kriterijuma. Kad izvršavate parametarski upit, Access prikazujeokvir za dijalog koji od vas zahteva da unesete novi kriterijum. Parametarski upiti zapravo nisuposeban tip upita, jer ove parametarske funkcije možete da dodate u upite za izbor, upiteunakrsnih tabela i u akcione upite.

OBEZBEĐIVANJE INTEGRITETA BAZE PODATAKA

Integritet baze podataka sastoji se od dva elementa:

149 / 154

Page 150: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

1. Integriteta entiteta i 2. Referencijalnog integriteta.

1. Integritet entiteta zahteva da svi primarni ključevi moraju da imaju jedinstvenevrednosti unutar jedne tabele. U Accessu su ugrađene dve metode za obezbeđivanjeintegriteta entiteta:

«     Polje ključa koristi AutoNumber tip podataka koji pravi jedinstvene vrednosti na osnovuautomatskog povećanja long celobrojne vrednosti.

«     Indeks na polju primarnog ključa sa svojstvom No Duplicates. Ako pokušate da unesetedupliranu vrednost u polje ključa, Access javlja poruku o grešci.

1. Referencijalni integritet zahteva da za sve spoljne ključeve postoje vrednostiprimarnog ključa bazne tabele. Ovo pravilo zahteva da se spreče sledeći tipovi transakcija:

«     Dodavanje zapisa na strani “više” relacije tipa jedan-prema-više, a da ne postojiodgovarajući zapis na strani “jedan” relacije.

«     Brisanje zapisa na strani “jedan” relacije tipa jedan-prema-više, a da se prvo ne obrišu sviodgovarajući zapisi na strani “više” relacije.

«     Brisanje ili dodavanje zapisa tabeli koja je u relaciji tipa jedan-prema-jedan sa drugomtabelom, a da se ne obriše ili doda odgovarajući zapis u povezanoj tabeli.

«     Menjanje vrednosti polja primarnog ključa bazne tabele od koje zavise zapisi u povezanoj

150 / 154

Page 151: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

tabeli.

«     Menjanje vrednosti polja spoljnjeg ključa u relacionoj tabeli u vrednost koja ne postoji upolju primarnog ključa bazne tabele.

ODRŽAVANJE BEZBEDNOSTI BAZE PODATAKA

Bezbednost baze podataka sprečava neovlašćene osobe da slučajno ili namerno pregledaju,menjaju, brišu ili uništavaju podatke koji se u njoj nalaze.

PRINCIPI BEZBEDNOSTI BAZE PODATAKA U LOKALNOJ MREŽI

Postoji deset osnovnih principa bezbednosti za baze podataka instalirane na lokalnoj mreži. Petovih principa vezano je za mrežni operativni sistem (briga administratora mreže):

1. Svaki korisnik mreže mora biti ispravno identifikovan pre nego što dobije pristup mreži.

2. Svaki identifikovani korisnik mreže mora da bude ovlašćen za pristup određenimelementima mreže kao što su omotnice na serverima, štampači i drugi zajednički resursi.

151 / 154

Page 152: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

3. Aktivnosi korisnika mreže trebalo bi nadgledati da bi se utvrdilo da li korisnicipokušavaju da pristupe elementima mreže za koje nemaju ovlašćenja. Korisnike koji višeputa uzastopno pokušaju da naruše bezbednost mreže trebalo bi isključiti iz mreže dokse ne preduzme odgovarajuća administrativna akcija. 4. Mreža treba da je zaštićena od neovlašćenog korišćenja. To zahteva instaliranjebezbednosnog sistema protiv hakerisanja i redovno testiranje prisustva virusa. 5. Podaci smešteni na mrežnim serverima moraju da budu zaštićeni od hardverskihkvarova i katastrofalnih oštećenja (požari, zemljotresi itd.) odgovarajućim i pravovremenimpravljenjem rezervnih kopija.

UPRAVLJANJE GRUPAMA I KORISNICIMA

Većina klijent-server baza podataka prepoznaje sledeće tri grupe korisnika baze podataka:

1. Administratori (Admins) imaju ovlašćenja da pregledaju i ažuriraju postojeće tabele idodaju ili obrišu tabele i druge objekte baze podataka iz baze podataka. Članovi grupeAdmins obično imaju dozvolu da menjaju aplikacije sadržane u bazama podataka. 2. Obični članovi radnih grupa (Users) imaju dozvolu da otvore bazu podataka, a popotrebi im se dodeljuje dozvola za pregledanje i menjanje baza podataka. 3. Povremenim korisnicima baza podataka (Guests) ćesto su dodeljena ograničenaprava da koriste bazu podataka i objekte koje ona sadrži, ali im se ne dodeljuje korisničkinalog.

152 / 154

Page 153: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

Access ima dva nivoa bezbednosti:

1. na nivou aplikacije (zahteva da svaki korisnik Accessa unese korisničko ime i lozinku dabi mogao da pokrene Access) i 2. na nivou datoteke (uspostavio je mrežni operativni sistem, kao što je Windows NTServer i ona određenim korisnicima dozvoljava ili ne dozvoljava pristup zajedničkimomotnicama i/ili pojedinačnim datotekama).

U mreži ravnopravnih članova, mere za bezbednost mreže su odgovornost svake osobe kojadeli svoje resurse sa drugima. Ostalih pet principa bezbednosti baze podataka određeno jebezbednosnim mogućnostima sistema za upravljanje bazom podataka i aplikacijama kojepomoću njega pravite.

1. Sadržaji tabela u bazi podataka trebalo bi da budu šifrovani kako bi se sprečilopregledanje podataka sa uslužnim programima za čitanje datoteka ili druga “njuškanja”. 2. Korisnici se moraju dodatno identifikovati pre nego što im se dozvoli da otvoredatoteku baze podataka. 3. Korisnicima mora da bude dodeljena posebna dozvola za korišćenje baze podataka itabela koje ona sadrži. 4. Podaci u tabelama trebalo bi da budu dostupni za pregledanje.

153 / 154

Page 154: Pra - Seminarski Maturski Diplomski Radovi

Pra - Seminarski Maturski Diplomski Radovi

154 / 154