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

Predmet: Kompleksne baze podataka Tema: Date warehouse za

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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.

Page 2: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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

Page 3: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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

Page 4: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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

Page 5: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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

Page 6: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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.

Page 7: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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.

Page 8: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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

Page 9: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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

Page 10: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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

Page 11: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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

Page 12: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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

Page 13: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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

Page 14: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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.

Page 15: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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.

Page 16: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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

Page 17: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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

Page 18: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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

Page 19: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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

Page 20: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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

Page 21: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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

Page 22: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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

Page 23: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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

Page 24: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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

Page 25: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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.

Page 26: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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

Page 27: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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

Page 28: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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

Page 29: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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

Page 30: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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

Page 31: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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.

Page 32: Predmet: Kompleksne baze podataka Tema: Date warehouse za

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