Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
UNIVERZITET U NOVOM SADU
TEHNIČKI FAKULTET "MIHAJLO PUPIN"
ZRENJANIN
Predmet: Kompleksne baze podataka
Tema: Date warehouse za veterinarsku stanicu
- Seminarski rad -
Nastavnik: prof. dr Biljana Radulović
Student: Miodrag Šešlija
Broj indeksa: MIT 4/13
Asistent: mr Zoltan Kazi Smer: Informacione tehnologije-
master
Zrenjanin, 2014.
1
SADRŽAJ
SADRŽAJ ......................................................................................................................... 1
SPISAK SLIKA ................................................................................................................ 3
SPISAK TABELA ............................................................................................................ 4
UVOD ............................................................................................................................... 5
1. Datawarehouse – osnovni pojmovi ............................................................................... 5
1.1 Skladište podataka – Datawarehouse ................................................................ 5
1.2 Transakciono i analitičko procesiranje podataka .............................................. 5
1.3 Razvoj skladišta podataka ................................................................................. 6
2. Projektovanje baze podataka ........................................................................................ 7
2.1 Opis baze podataka - veterinarska stanica ......................................................... 7
2.2 Implementacija modela podataka u sistemu za upravljanje bazama podataka . 8
2.2.1 Implementacija baze u MS Access 2013 ................................................. 8
2.2.2 Implementacija baze u MS SQL Server 2008 ......................................... 9
3. Postavljanje SQL upita, operatori CUBE i ROLLUP ................................................. 10
3.1 Klasičan SQL upit ........................................................................................... 10
3.2 SQL upit sa ROLLUP operatorom .................................................................. 11
3.3 SQL upit sa CUBE operatorm ......................................................................... 12
4. Kreiranje skladišta podataka (Datawarehouse) ........................................................... 13
4.1 Analiza korisničkih zahveta kao osnova za analitički izvedenim podacima
i izgradnju skladišta podataka ............................................................................. 13
4.2 Projektovanje OLAP kocke ............................................................................. 13
4.2.1 Definicija šeme zvezde .......................................................................... 14
4.2.2 Definicija šeme pahulje ......................................................................... 14
4.3 Molap, Rolap i Holap kocke ............................................................................ 14
4.3.1 MOLAP ................................................................................................. 14
4.3.2 ROLAP .................................................................................................. 14
4.3.3 HOLAP .................................................................................................. 14
4.3.4 Opis dimenzija, agregacija, mera i izračunljivih podataka .................... 15
4.4 Dimenzije OLAP kocki ................................................................................... 15
4.5 Metoda zvezde ................................................................................................. 16
4.6 Metoda pahulje ................................................................................................ 17
4.7 Kreiranje OLAP kocke (MOLAP, ROLAP, HOLAP) .................................... 18
4.7.1 Prikaz MOLAP kocke za zvezdu ........................................................... 18
4.7.2 Prikaz MOLAP kocke za pahulju .......................................................... 19
5. Analiza podataka i grafički prikazi ............................................................................. 20
5.1 Kreiranje izveštaja ........................................................................................... 20
2
5.1.1 Izveštaj za kocku zvezda ........................................................................ 20
5.1.2 Izveštaj za kocku pahulja ....................................................................... 22
5.2 Izvoz analitičkih podataka i kreiranje izvedenih (pivot) tabela ...................... 24
5.2.1 Izvoz pivot tabela ................................................................................... 24
5.2.1.1 Izvoz pivot tabela za metodu zvezde .......................................... 25
5.2.1.2 Izrada dijagrama za zvezdu ......................................................... 26
5.2.1.3 Izvoz pivot tabela za metodu pahulja ......................................... 28
5.2.1.4 Izrada dijagrama za pahulju ........................................................ 29
ZAKLJUČAK ................................................................................................................. 30
LITERATURA ............................................................................................................... 31
3
SPISAK SLIKA
Slika 1. Poslovi veterinarske stanice ................................................................................. 7
Slika 2. Fizička realizacija modela podataka u MS Access 2013 ..................................... 8
Slika 3. Fizička realizacija modela podataka u MS SQL Server 2008 ............................. 9
Slika 4. Rezultat upita iz tabele 2 ................................................................................... 10
Slika 5. Rezultat upita iz tabele 3 ................................................................................... 11
Slika 6. Rezultat upita iz tabele 4 ................................................................................... 12
Slika 7. Dimenzije kocki ................................................................................................. 15
Slika 8. Metoda zvezde ................................................................................................... 16
Slika 9. Metoda pahulje .................................................................................................. 17
Slika 10. Editor kocke za zvezdu .................................................................................... 18
Slika 11. Editor kocke za pahulju ................................................................................... 19
Slika 12. Kreiran izveštaj preko MDX upita za zvezdu ................................................. 20
Slika 13. Kreiran izveštaj preko MDX upita za pahulju ................................................. 22
Slika 14. Pivot tabela za zvezdu ..................................................................................... 25
Slika 15. Chart dijagram za metodu zvezde ................................................................... 26
Slika 16. Chart dijagram pita za metodu zvezde ............................................................ 27
Slika 17. Pivot tabela za pahulju ..................................................................................... 28
Slika 18. Chart dijagram za metodu pahulje ................................................................... 29
4
SPISAK TABELA
Tabela 1. Sažet prikaz osnovnih razlika OLTP i OLAP obrade podataka ....................... 6
Tabela 2. Klasičan SQL upit ........................................................................................... 10
Tabela 3. SQL upit sa rollup operatorom ....................................................................... 11
Tabela 4. SQL upit sa cube operatorom ......................................................................... 12
Tabela 5. Sadržaj svake dimenzije od kojih će se kreirati kocka ................................... 15
Tabela 6. Dimenzije korišćene za kreiranje zvezde ........................................................ 16
Tabela 7. Dimenzije korišćene za kreiranje pahulje ....................................................... 17
Tabela 8. MDX upit za kocku zvezdu ............................................................................ 20
Tabela 9. Eksportovan izveštaj za zvezdu ...................................................................... 21
Tabela 10. MDX upit za kocku pahulja .......................................................................... 22
Tabela 11. Eksportovan izveštaj za pahulju .................................................................... 23
5
UVOD
Skladištenje podataka je važan koncept efikasnog odlučivanja, koji se intenzivno razvija
poslednjih godina. Donosi ideju aktivnog pronalaženja i nuđenja informacija menadžeru,
potrebnih u procesu odlučivanja. Skladištenje podataka koristi postupke analitičke obrade,
rudarenje podataka i otkrivanja znanja iz mnoštva podataka.
1. Datawarehouse – osnovni pojmovi
Skladištenje podataka (Data warehousing) je uz poslovnu inteligenciju tehnologija koja
optimizira ogromne količine podataka u sisteme i procese za potrebe izveštavanja i
analize poslovanja.
Data Warehouse sadrži veliku količinu podataka koje su organizovane u manje logičke
jedinice Data Mart – ovi. Podacima koji su smešteni u Data Warehouse se pristupa preko
Data Mart-ova. Data Mart obično predstavlja podskup logički povezanih podataka iz Data
Warehousa koji se odnosi na određenu oblast. Data Mart-ovi se dizajniraju s’namerom
da budu osnova potencijalnih upita od krajnjih korisnika.
Data Warehouse arhitektura se sastoji iz sledećih nivoa:
Operativna baza i eksterna baza podataka
Nivo za pristup informacijama
Nivo za pristup podacima
Nivo direktorijuma podataka (metadata)
Nivo za upravljanje procesima
Nivo za komunikaciju aplikacija (messaging)
Nivo data warehouse
Nivo za transformaciju podataka
1.1 Skladište podataka – Datawarehouse
Namena skladištenje podataka podrazumeva organizaciju silnih gomila podataka, koje se
javljaju s različitih mesta, u organizacione celine iz kojih bi se po potrebi pozivali željeni
poslovni podaci. Te celine su baze podataka. Bitna je kredibilnost podataka što upućuje
na potrebu stalnog ažuriranja. Skladištenje podataka sadrži podatke na temelju kod kojih
se vrši poslovno upravljanje, odnosno prikupljanje podataka i isporuka informacija u
obliku znanja, proizvoda ili usluga.
Cilj skladišta podataka nije operativnost poslovanja, nego stvoriti što bogatiji izvor
informacija za različite dugoročne i kratkoročne analize i predviđanja.
1.2 Transakciono i analitičko procesiranje podataka
OLTP (On Line Transaction Processing) opisuje način na koji računarski sistemi i krajnji
korisnici obrađuju podatke. Usmeren je na detalje, sa čestim ažuriranjem od strane
krajnjih korisnika. Često se opisuje kao način korišćenja računara za vođenje neprekidnih
(trajnih) poslovnih procesa.
6
Budući da je proces donošenja poslovne odluke analitički proces, stvorena je druga
sintagma - stalno dostupne analitičke obrade.
OLAP (On Line Analitical Processing) je vrsta tehnologije koja omogućava analitičarima
i menadžerima uvid u podatke kroz brz, konzistentan i interaktivan pristup velikom broju
raznovrsnih izveštaja, sačinjenih na osnovu informacija dobijenih transformacijom
sirovih podataka. Na ovaj način se oslikavaju sve dimenzije jednog poslovnog poduhvata.
Data warehouse podrazumeva ovaj pristup.
OLTP OLAP
Obrada podataka Analiza podataka
Velik broj transakcija Kompleksni upiti
Mb-Gb podataka Gb –Tb podataka
Sirovi podaci Sumarni i prerađeni podaci.
Mnoštvo različitih korisnika Donosioci odluka i analitičari
Ažurirani podaci Istorijski podaci
Tabela 1. Sažet prikaz osnovnih razlika OLTP i OLAP obrade podataka
1.3 Razvoj skladišta podataka
Razvijanje skladišta podataka temeljeno je na različitim relacijskim platformama s
posebnim naglaskom na optimalnu veličinu i brzinu izvođenja podataka. Radna svojstva
i izvođenja prikupljanja, obrade, pohrane i dostupnosti potrebnih podataka potpomognute
su primenom OLAP tehnologije kojom se ostvaruje brz i smislen višedimenzijski pristup
podacima poslovanja.
Poznato je kako preduzeća baziraju svoje poslovne odluke na mnoštvu podataka koje crpe
iz spoljašnjih i unutrašnjih izvora, a koje je potrebno ispravno uskladištiti, organizovati i
koristiti.
7
2. Projektovanje baze podataka
2.1 Opis baze podataka - veterinarska stanica
Slika 1. Poslovi veterinarske stanice
U ovom seminarskom radu kreirana je baza podataka za veterinarsku stanicu koja se bavi
poslovima sa slike 1. Pošto veterinarska vrši više delatnosti u sklopu veterinarske stanice,
u ovom seminarskom radu biće obrađen samo deo koji se bavi prodajom hrane za
životinje.
Prodaja hrane se obavlja nabavkom hrane od proizvođača koji robu isporučuje do
veterinarske stanice. Nakon nabavke hrane za prodaju tj. robe, definiši se cena svakog
artikla, nakon čega se unose podaci o svakom proizvodu u bazu podataka. Jedan proizvod
od podataka u bazi mora da sadrži naziv proizvoda, naziv proizvođača, neto težinu
izraženu u kilogramima, šifru proizvoda sa kojom će se proizvod otkucati na kasi, i
namenu hrane za koju grupu životinja može da se hrana koristi.
Nakon što su svi podaci za proizvod unešeni, moguće je započeti prodaju. Prodaja
započinje poručivanjem željene robe iz asortimana veterinarske stanice od strane kupca,
nakon čega zaposleni otkucava račun za poručenu robu, i potom ga štampa i izdaje kupcu.
Plaćanje se može obaviti putem gotovinskog plaćanja i platnim karticama.
Kupac može biti fizičko lice ili pravno lice. Ukoliko kupac pazari robu u vrednosti od
preko 20000 dinara, veterinarska stanica može da mu obezbedi dostavu ukoliko je adresa
dostave u radijusu od 30km od veterinarske stanice.
Podaci koji se nalaze u bazi podataka unešeni su ručno, podaci obuhvataju period od
januar i februar 2014 godine. U bazi podataka unešeno je po desetak redova za svaku
tabelu gde je to bilo moguće.
VETERINARSKA STANICA
Prodaja hrane
Vakcinacija
Prodaja živine
PetshopPregled
mesa
Apoteka
Ambulanta
8
2.2 Implementacija modela podataka u sistemu za upravljanje
bazama podataka
2.2.1 Implementacija baze u MS Access 2013
Baza podataka VeterinarskaStanica2014 kreirana je MS Access 2013, punjenje sa
podacima obavljeno je takođe u ovom programu. Bazu podataka čini 10 tabela. Izgled
baze sa svim relacijama i tabelama možemo videti na slici 2.
Slika 2. Fizička realizacija modela podataka u MS Access 2013
9
2.2.2 Implementacija baze u MS SQL Server 2008
Nakon što je baza VeterinarskaStanica2014 kreirana i popunjena u programu MS Access,
izvršena je konverzija baze u MS SQL. Nakon uspešne konverzije, baza je ubačena u MS
SQL Server 2008 i nad njom su vršene sve analize podataka u ovom seminarskom radu.
Izgled ove baze u programu MS SQL Server 2008 možemo videti na slici 3.
Slika 3. Fizička realizacija modela podataka u MS SQL Server 2008
10
3. Postavljanje SQL upita, operatori CUBE i ROLLUP
3.1 Klasičan SQL upit
Upit u tabeli 2. prikazan je SQL upit koji prikazuje koliko je i od kog proizvođača hrane
kupljeno, kao i koliki je prihod ostvaren od prodaje svakog proizvoda posebno.
SELECT Proizvodjac.NazivProizvodjaca, Hrana.Naziv,
SUM(StavkeRacuna.Kolicina) AS Kolicina,(Hrana.CenaJedinice *
StavkeRacuna.Kolicina) AS Prihod
FROM Hrana INNER JOIN
StavkeRacuna ON Hrana.PK_StocneHrane =
StavkeRacuna.FK_StocneHrane INNER JOIN
Proizvodjac ON Hrana.FK_Proizvodjac =
Proizvodjac.PK_Proizvodjac
GROUP BY Proizvodjac.NazivProizvodjaca, Hrana.Naziv,
Hrana.CenaJedinice * StavkeRacuna.Kolicina
ORDER BY Prihod, Kolicina DESC
Tabela 2. Klasičan SQL upit
Slika 4. Rezultat upita iz tabele 2
11
3.2 SQL upit sa ROLLUP operatorom
Upit u tabeli 3. prikazan je SQL upit sa rollup operatorom koji prikazuje koliko je i od
kog proizvođača hrane kupljeno, kao i koliki je prihod ostvaren od prodaje svakog
proizvoda posebno.
SELECT Proizvodjac.NazivProizvodjaca, Hrana.Naziv,
SUM(StavkeRacuna.Kolicina) AS Kolicina,(Hrana.CenaJedinice *
StavkeRacuna.Kolicina) AS Prihod
FROM Hrana INNER JOIN
StavkeRacuna ON Hrana.PK_StocneHrane =
StavkeRacuna.FK_StocneHrane INNER JOIN
Proizvodjac ON Hrana.FK_Proizvodjac =
Proizvodjac.PK_Proizvodjac
GROUP BY Proizvodjac.NazivProizvodjaca, Hrana.Naziv,
Hrana.CenaJedinice * StavkeRacuna.Kolicina with rollup
ORDER BY Prihod, Kolicina DESC
Tabela 3. SQL upit sa rollup operatorom
Slika 5. Rezultat upita iz tabele 3
12
3.3 SQL upit sa CUBE operatorm
Upit u tabeli 4. prikazan je SQL upit sa cube operatorom koji prikazuje koliko je i od kog
proizvođača hrane kupljeno, kao i koliki je prihod ostvaren od prodaje svakog proizvoda
posebno.
SELECT Proizvodjac.NazivProizvodjaca, Hrana.Naziv,
SUM(StavkeRacuna.Kolicina) AS Kolicina,(Hrana.CenaJedinice *
StavkeRacuna.Kolicina) AS Prihod
FROM Hrana INNER JOIN
StavkeRacuna ON Hrana.PK_StocneHrane =
StavkeRacuna.FK_StocneHrane INNER JOIN
Proizvodjac ON Hrana.FK_Proizvodjac =
Proizvodjac.PK_Proizvodjac
GROUP BY Proizvodjac.NazivProizvodjaca, Hrana.Naziv,
Hrana.CenaJedinice * StavkeRacuna.Kolicina with cube
ORDER BY Prihod, Kolicina DESC
Tabela 4. SQL upit sa cube operatorom
Slika 6. Rezultat upita iz tabele 4
13
4. Kreiranje skladišta podataka (Datawarehouse)
4.1 Analiza korisničkih zahveta kao osnova za analitički
izvedenim podacima i izgradnju skladišta podataka
Analizom podataka u formi skladišta podataka, potrebno je dati odgovore na sledeće
korisničke zahteve:
-Kojim sredstvom placanja kupci najčešće plaćaju svoju robu (gotovina, kartica)?
-U kojoj meri kupci plaćaju gotovinski, a u kojoj putem kartica?
-Koliko je robe-ukupno hrane prodato za gotovinu, a koliko putem kartice?
-Kakav je odnos cene i količine hrane u zavisnosti od proizvođača do proizvođača?
-Koji proizvodjač ima najbolju ponudu za odredjenu vrstu životinja?
-Koje pakovanje je najisplatljivije kupiti za određenu vrstu životinja (odnos cena-težina)
i od kog proizvođača?
-Kakva je ponuda hrane za određenu vrstu životinja?
4.2 Projektovanje OLAP kocke
Olap sistemi kao skladišta podataka koriste multidimenzinonalnost i denormalizaciju i
može se reći da predstavljaju nadogradnju skladišta podataka.
Osnovni elepmenti 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 administratiranje.
14
4.2.1 Definicija šeme zvezde
Šemu zvezde karakteriše denormalizacija. Isti podaci se čuvaju na više mesta u skladištu,
čime se obezbedjuje jednostavnost i dobijaju potrebne performanse za procesiranje OLAP
sistema. Time šema zvezde zahteva velike memorijske resurse, a i velike dimenzione
tabele mogu uticati na pad performansi sistema.
4.2.2 Definicija šeme pahulje
Šema pahulje za razliku od šeme zvezda primenjuje principe normalizacije. Time
smanjujemo redundantnost i smanjujemo količinu podataka. Time se poboljšavaju
performanse sistema. Nedostatak šeme pahulje što mora da kreira dodatne veze, koje pri
procesu upita mogu pogoršati performanse sistema, Takođe održavanje šeme pahulje je
relativno složeno s’obzirom da u bazi postoji veći broj tabela.
4.3 Molap, Rolap i Holap kocke
4.3.1 MOLAP
MOLAP predstavlja tradicionalan način OLAP analize. MOLAP baze podataka imaju
ograničenje veličine skupa podataka sa kojima mogu da barataju kao i na broj dimenzija
koje obezbedjuju dobre performanse sistema. Da bi se vršila bilo kakva analiza podaci
moraju da se učitaju u više dimenzionalnu strukturu odnosno kocku. Pri tome se vrše
razni proračuni da bi se kreirale agregacije i popunili podaci, što vremenski može da traje
dugo u zavisnosti od performansi servera. Tek onda može da se počne analiza. Prednosti
MOLAP arhitekture je što obezbedjuju odlične performanse kada radi sa već sračunatim
podacima (agregacijama). Nedostatak je što se teško dodaju nove dimenzije.
4.3.2 ROLAP
ROLAP pristupa podacima direktno iz data Warehouse-a i rade sa relacionim bazama
podataka. Ovi sistemi mogu da rade sa velikim skupovima podataka. Čim se odredi izvor
podataka odmah može da se započne analiza. S'obzirom da se direktno radi nad bazama
podatka korisniku su uvek dostupni tekući podaci. ROLAP nam omogućuje da radimo sa
velikom količinom podataka jer možemo uvek da dodajemo nove dimenzije. U ovom
slučaju višedimenzionalna analiza se transformiše u niz SQL naredbi koji se dalje prenose
na relacionu bazu podataka. Svaki ROLAP izveštaj suštinski predstavlja jedan ili više
SQL upita čije izvršenje može da traje dugo. Zbog toga prerformanse mogu da budu loše.
4.3.3 HOLAP
Možda najbolje rešenje za OLAP sisteme je HOLAP arhitektura. On predstavlja
kombinaciju MOLAP i ROLAP arhitektura. HOLAP alati imaju pristup i
višedimenzionalnim i relacionim bazama podataka i ima za cilj da iskoristi dobre
performanse višedimenzionalne analize tj. kratko vreme odziva i analitičke mogućnosti i
dinamički pristup relacionih baza. I onda HOLAP je u stanju da izvršava vrlo složene
SQL naredbe a pritom se dodaju nove mogućnosti za rad sa višedimenzionalnim bazama
podataka.
15
4.3.4 Opis dimenzija, agregacija, mera i izračunljivih podataka
Dimenzije se smeštaju u tabele dimenzija koje sadrže nazive svakog člana dimenzije, a
svaki član dimenzije naziva se atribut. U svetu skladišta podataka ključni atribut u tabeli
dimenzija mora da sadrži jedinstvenu vrednost za svakog člana dimenzije. Jedna
dimenzija može da sadrži više atributa. Atributi mogu da budu:
Grupišući
Negrupišući
Ne grupišući mogu da se nazivaju i osobinama člana dimenzije a grupišući atributi mogu
da se kombinuju u hijerarhije. Hijerarhije predstavljaju put kojim se u izradi analiza
sistem kreće po dubini kroz vrednosti.
Mere se smeštaju u tabele koje nazivamo tabele činjenica. Svaka kolona u tabeli činjenica
je ključna kolona ili kolona činjenica. Kolona može da sadrži podatke o referencama.
Tabela činjenica za svakog člana radije koristi šifru numeričkog tipa nego naziv člana.
Ukoliko se za označavanje članova dimenzije koriste celobrojni podaci, tada se za opisane
podatke članova dimenzije kreiraju tabele dimenzija, što suštinski možemo shvatiti kao
šifarnik.
4.4 Dimenzije OLAP kocki
Standardne dimenzije od kojih će bite kreirane kocke možemo videti na slici 7:
Slika 7. Dimenzije kocki
Svaka od dimenzija kreirana je od neke od tabela iz baze podataka
VeterinarskaStanica2014. Podaci koji su preuzeti za kreiranje svake dimenzije iz tabela
baze podatka možemo videti u tabeli 5.
Dimenzija Tabela Podatak Objašenjene Težina Težina Težina_kg Neto težinu proizvoda u kilogramima
Proizvodjač Proizvodjač
Naziv
Proizvodjača Naziv proizvođača hrane
Naziv Mesta Mesto iz kog je proizvodjač
Klasa Klasa Naziv Klase Naziv grupe životinja (npr. živina)
Šifra Šifra Šifra Proizvoda Šifra pod kojom se proizvod vodi u kasi
Hrana Hrana Naziv Naziv proizvoda tj. hrane za životinje
ZKupac Kupac Naziv Kupca Naziv kupca ( npr. Gazdinstvo Prokić)
Adresa Adresa kupca
ZPlaćanje Plaćanje Tip Plaćanja Sredstvo plaćanja (npr. platna kartica)
Tabela 5. Sadržaj svake dimenzije od kojih će se kreirati kocka
16
4.5 Metoda zvezde
Metoda zvezve daje odgovor na sledeće zahteve:
Koliki je iznos svih plaćenih računa za hranu u veterinarskoj stanici?
Kojim sredstvom plaćanja su najčešće pazarili hranu kupci?
Koliko je para dobijeno od plaćanja gotovinom, a koliko putem kartice?
Predstaviti procentualno koliko je ukupno trgovine obavljeno putem gotovine, a
koliko putem kartice?
Koliki su im bili računi za svakog kupca i koliki je zbir svih računa po kupcu?
Da bi se dobio odgovor na postavljene zahteve iznad, napravljena je kocka pomoću alata
SQL Server Business Intelligence Development Studio. Kao tabela činjenica uzeta je
Račun. Numerička kolona je PK_StavkaZaRacun, sa kojom se sumiraju iznosi računa.
Jedan račun sačinjen je od više kupljenih stavki. Ukupno predstavlja konačan saldo
računa, to je ukupni zbir svih stavki sa jednog računara. Dimenzije koje su korišćene za
kreiranje su ZKupac i ZPlaćanje. Elementi koji su korišćeni i njihova objašnjenja
možemo videti u tabeli 6.
Dimenzija Tabela Podatak Objašenjene
ZKupac Kupac Naziv Kupca Naziv kupca ( npr. Gazdinstvo Prokić)
Adresa Adresa kupca
ZPlaćanje Plaćanje Tip Plaćanja Sredstvo plaćanja (npr. platna kartica)
Tabela 6. Dimenzije korišćene za kreiranje zvezde
Na slici 8 prikazan je model zvezde koji se sastoji od jedne mere i dve dimenzije.
Slika 8. Metoda zvezde
17
4.6 Metoda pahulje
Metoda pahulje daje odgovor na sledeće zahteve:
Koja je ponuda hrane za odredjenu klasu životinja i kolika je cena za svaki proizvod,
odredjene zapremine pakovanja kao i koja je šifra tog proizvoda.
Da bi se dobio odgovor na postavljene zahteve iznad, napravljena je kocka pomoću alata
SQL Server Business Intelligence Development Studio. Kao tabela činjenica uzeta je
Hrana. Numerička kolona je Cena Jedinice, predstavlja cenu hrane tj. proizvoda.
Dimenzije koje su korišćeni za kreiranje ove kocke su Težina, Proizvodjač, Klasa, Šifra,
Hrana.
Elementi koji su korišnjeni i njihova objašnjenja možemo videti u tabeli 7.
Dimenzija Tabela Podatak Objašenjene Težina Težina Težina_kg Neto težinu proizvoda u kilogramima
Proizvodjač Proizvodjač
Naziv
Proizvodjača Naziv proizvođača hrane
Naziv Mesta Mesto iz kog je proizvodjač
Klasa Klasa Naziv Klase Naziv grupe životinja (npr. živina)
Sifra Sifra Šifra Proizvoda Šifra pod kojom se proizvod vodi u kasi
Hrana Hrana Naziv Naziv proizvoda tj. hrane za životinje
Tabela 7. Dimenzije korišćene za kreiranje pahulje
Na slici 8 prikaz je model zvezde koji se sastoji od jedne mere i pet dimenzije.
Slika 9. Metoda pahulje
18
4.7 Kreiranje OLAP kocke (MOLAP, ROLAP, HOLAP)
U svim primerima koji slede, prikazane su MOLAP kocke.
4.7.1 Prikaz MOLAP kocke za zvezdu
Na slici 10 prikazan je pregled plaćanja svakog kupca kao i iznos svakog računa, i način
plaćanja, vidljiva je i adresa svakog kupca. Ovakav izveštaj je zgodan za proveru uplata
i izračunavanje ukupnih prihoda za veterinarsku stranicu, koje je stekla prodajom stočne
hrane.
Slika 10. Editor kocke za zvezdu
19
4.7.2 Prikaz MOLAP kocke za pahulju
Na slici 11 prikazan je pregled ponude za određenu grupu životinja, po proizvođaču, šifri,
nazivu proizvoda, neto težini pakovanja i cena proizvoda. Ovakav izveštaj je zgodan za
prikazivanje ponude potrošačima i zaposlenima, kako bi uvideli odnos cene i količine
hrane.
Slika 11. Editor kocke za pahulju
20
5. Analiza podataka i grafički prikazi
5.1 Kreiranje izveštaja
Izveštaji su kreirani u alatu Microsoft Business Intelligence Mangement Studio 2008.
Nakon pokretanja programa biramo novi projekat i iz liste template-a biramo Report
Server Project.
5.1.1 Izveštaj za kocku zvezda
Ovaj izveštaj kreiran je MDX upitom, izgled ovog upita možemo videti u tabeli 8. Na
slici 12 prikazan je prozor sa izgledom isveštaja. Eksportovan izveštaj možemo videti u
tabeli 9.
SELECT NON EMPTY { [Measures].[Ukupno] } ON COLUMNS, NON EMPTY {
([ZKupac].[Naziv Kupca].[Naziv Kupca].ALLMEMBERS *
[ZKupac].[Adresa].[Adresa].ALLMEMBERS * [ZPlacanje].[Tip Placanja].[Tip
Placanja].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION,
MEMBER_UNIQUE_NAME ON ROWS FROM [Zvezda] CELL PROPERTIES
VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE,
FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
Tabela 8. MDX upit za kocku zvezdu
Na slici 12 prikazan je rezultat MDX upita iz tabele 8.
Slika 12. Kreiran izveštaj preko MDX upita za zvezdu
21
Tabela 9. Eksportovan izveštaj za zvezdu
Zvezda Izvestaj
Naziv Kupca Adresa Tip
Placanja Ukupno
Agroziv farma Tamiski put Kes 6000
Farma cuprija Cuprijski put
bb Kes 7500
Farma Matijevic Pancevacka
123 Kes 16012
Farma Pancevo Partizanska
60 Kes 15000
Farma Petrovic Ecanski Drum
12 Kartica 26000
Farma PKB Beogradski
put Kes 5000
Farma Stokic Proleterska
123 Kartica 10120
Gazdinstvo
Ivanovic Zeleznicka 10 Kes 9999
Gazdinstvo
Peric
Zarka
Zrenjanina Kes 15000
Inkubator
Elemir
Elemirski
drum bb Kes 10000
Ribljak BC Bele vode 12 Kes 6000
Stocna farma
Kovin
Ljubljanska
bb Kes 10000
22
5.1.2 Izveštaj za kocku pahulja
Ovaj izveštaj kreiran je MDX upitom, izgled ovog upita možemo videti u tabeli 10. Na
slici 13 prikaz je prozor sa izgledom isveštaja. Eksportovan izveštaj možemo videti u
tabeli 11.
SELECT NON EMPTY { [Measures].[Cena Jedinice] } ON COLUMNS, NON
EMPTY { ([Klasa].[Naziv Klase].[Naziv Klase].ALLMEMBERS *
[Proizvodjac].[Naziv Proizvodjaca].[Naziv Proizvodjaca].ALLMEMBERS *
[Sifra].[Sifra Proizvoda].[Sifra Proizvoda].ALLMEMBERS *
[Hrana].[Naziv].[Naziv].ALLMEMBERS * [Tezina].[Tezina Kg].[Tezina
Kg].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION,
MEMBER_UNIQUE_NAME ON ROWS FROM [Pahulja] CELL PROPERTIES
VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE,
FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
Tabela 10. MDX upit za kocku pahulja
Na slici 13 prikazan je rezultat MDX upita iz tabele 10.
Slika 13. Kreiran izveštaj preko MDX upita za pahulju
23
Pahulja Izvestaj
Naziv Klase
Naziv Proizvodjaca
Sifra Proizvoda
Naziv Tezina Kg Cena
Jedinice
Junad
Hrana produkt
109 Hrana za
junad 20 4000
Komponenta 111 Smesa za
junad 10 3000
Krave Komponenta 110 Hrana za
krave 50 5000
Pilici
Farm Commerc
103
Potpuna smesa za tov pilica
20 999
FSH Jabuka 102 Smesa za tov pilica
30 1012
Pracisi Fish corp 107 Smesa za prasice
5 1500
Riba
Fish corp 104 Hrana za
ribe 5 600
Hrana produkt
112 Smesa za
ribe 25 4000
Svinje FSH Jabuka 108 Hrana za
svinje 50 5000
Zivina
100 posto 100 Hrana za
koke nosilje 25 5000
Bioprotein 101 Hrana za kokoske
15 2500
Tabela 11. Eksportovan izveštaj za pahulju
24
5.2 Izvoz analitičkih podataka i kreiranje izvedenih (pivot) tabela
Microsoft Excel je profesionalni alat namenjen za obradu tabelarno sređenih podataka.
Veoma je koristan u savremenom poslovanju gde se traži brza i kvalitetna informacija.
Prednost Excel-a je u tome što omogućava interaktivan tj. neposredan rad sa podacima,
tako da ga mogu koristiti ljudi različitog nivoa i vrste obrazovanja za automatizaciju pre
svega svog ličnog poslovanja i to bez ikakvog programerskog znanja.
Pivot tabela je dinamička tabela sa objedinjenim podacima iz nekog izvora podataka. Za
ovaj primer autor je koristio Microsoft Office 2013.
Za izradu grafikona na osnovu napravljenih pivot tabela, koristi se opcija Chart koja se
nalazi u meniju Insert. Odabirom ove funkcije, automatski se izgeneriše grafik po unapred
definisanim podešavanjima. Ukoliko nam se ne sviđaju podešavanja, desnim klikom miša
i odabirom opcije Chart Type ili Chart Options moguće je promeniti izgled grafika i
koordinatnih osa.
5.2.1 Izvoz pivot tabela
U ovom poglavlju biće predstavljanjeni izvodi tabela za metodu zvezda i kocka koji su
kreirani za bazu podataka VeterinaskaStanica2014.
25
5.2.1.1 Izvoz pivot tabela za metodu zvezde
Na slici 14 je prikazana pivot tabela za šemu zvezde.
Slika 14. Pivot tabela za zvezdu
26
5.2.1.2 Izrada dijagrama za zvezdu
Za kreiranje grafikona u kartici Insert biramo Chart, potom biramo 2D Column vrstu prikaza
podataka. Na slici 15 je prikazan chart dijagram za metodu Zvezde. Dijagram prikazuje
kupce robe, njihovu adresu i iznose njihovih računa. Plavom bojom označene su sume novca
koje su dobijene od kupaca koji su plaćali gotovinskim putem. Zelenom su označene sume
novca koje su dobijane od kupaca koji su proizvode plaćali putem kartice.
Slika 15. Chart dijagram za metodu zvezde
0 5000 10000 15000 20000 25000 30000
Tamiski put
Cuprijski put bb
Pancevacka 123
Partizanska 60
Ecanski Drum 12
Beogradski put
Proleterska 123
Zeleznicka 10
Zarka Zrenjanina
elemirski drum bb
Bele vode 12
Ljubljanska bb
Agr
ozi
vfa
rma
Farm
acu
pri
jaFa
rma
Mat
ijevi
cFa
rma
Pan
cevo
Farm
aP
etr
ovi
cFa
rma
PK
BFa
rma
Sto
kic
Gaz
din
stv
o Iv
ano
vic
Gaz
din
stv
o P
eric
Inku
bat
or
Elem
irR
iblja
k B
C
Sto
cna
farm
aK
ovi
n
Kes
Kartica
27
Na slici 16 prikazan je dijagram procentualnog odnosa koliko je robe plaćeno
gotovinskim putem, a koliko putem kartica.
Slika 16. Chart dijagram pita za metodu zvezde
28
5.2.1.3 Izvoz pivot tabela za metodu pahulja
Na slici 17 je prikazana pivot tabela za šemu pahulje.
Slika 17. Pivot tabela za pahulju
29
5.2.1.4 Izrada dijagrama za pahulju
Za kreiranje grafikona u kartici Insert biramo Chart, potom biramo 2D Column vrstu prikaza
podataka. Na slici 18 je prikazan chart dijagram za metodu pahulje. Dijagram prikazuje
paralelni prikaz asortimana robe za stočnu hranu. Sa leve strane nalaze se cene jedinica, sa
desne strane u legendi nalazi se težina pakovanja jedinice. Na dnu se nalaze šifre proizvoda,
naziv proizvoda, naziv proizvođača i klasa za koju grupu životinja je ova hrana namenjena.
Na dijagramu može da se lako uoči koje pakovanje je isplatljivije za kupovinu i od kog
proizvođača.
Slika 18. Chart dijagram za metodu pahulje
30
ZAKLJUČAK
Prava znanja i prave informacije su stvari koje su u vremenu u kojem živimo najvrednije.
U modernom poslovanju praktično je nemoguće biti uspešan ukoliko ne posedujemo
prave informacije, ali je podjednako važno da znamo kako da upotrebimo te informacije.
Analitičarima su potrebni lako dostupni i pouzdani podaci predstavljeni tako da u isto
vreme, precizno i sažeto daju prikaz organizacije u celini kao i njenog okruženja.
Kreiranje Data Warehouse (skladištenje podataka) nam pruža mogućnost da iz
sopstvenog poslovanja utvrdimo konkretne zakone tržišta i da podatke koje imamo
koristimo na načine na koje do sada nismo mogli. Cilj skladišta podataka nije da se podaci
samo skladište, već je cilj da ljudima koji se bave analizom omogući samostalan pristup
vršenja analize.
U ovom seminarskom radu upravo je pokazan samo delić analize podataka koje se nalaze
u bazi podataka konkretno za primer veterinarske stanice za deo prodaje stočne hrane.
Analiza podataka pomoću Data Warehouse omogućava kreiranje slikovitih prikaza stanja
podataka i činjenica putem dijagrama koji su razumljivi svima. Upravo poslovica da jedna
slika u ovom slučaju dijagram vredi 1000 reči najbolje opisuje superiornost Data
Warehouse-a.
31
LITERATURA
[1] D. Vejnović, Seminarski rad: Prodavnica filmova – data warehouse, Tehnički
fakultet Mihajlo Pupin, Zrenjanin, 2012
[2] I. Tašin, Seminarski rad: Prodaja Honda motorcikala – Data warehouse, Tehnički
fakultet Mihajlo Pupin, Zrenjanin, 2009
[3] B. Kukić, Seminarski rad: Muzička Izdavačka kuća – Data Warehouse, Tehnički
fakultet Mihajlo Pupin, Zrenjanin, 2012
[4] M. Pavić, Diplomski rad: Proširenje SQL jezika za rad sa Data Warehouse-om,
CUBE i ROLLUP, Tehnički fakultet Mihajlo Pupin, Zrenjanin, 2004
[5] S. Perić, Diplomski rad: Proširenje SQL-a u ORACLE sistemu za upite u DATA
WAREHOUS-u (skladištenje podataka) , Tehnički fakultet Mihajlo Pupin,
Zrenjanin, 2010
[6] A. V. Veljović, “Menadžment Informacioni Sistemi: u Praksi“, [1. izd.]. – Čačak:
Kompjuter biblioteka, 2002.
[7] P. Mogin, I. Luković, M. Govedarica, Principi projektovanja baza podataka, ETF,
Beograd, 2001