iniţiere în tehnologia olap. teorie şi practică

331
8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 1/331  

Upload: catalin

Post on 30-May-2018

236 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 1/331

 

Page 2: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 2/331

 Cuprins 

1. Sistemele OLAP – sisteme suport de decizie moderne ......................... 6

1.1. Locul sistemelor OLAP în evoluţia sistemelor suport de decizie ............................... 6

1.2. Sisteme suport de decizie orientate pe date (Data Driven Decision Support

Systems) .........................................................................................................................................13

1.2.1. Sisteme informatice executive ............................................................................ 13

1.2.2. Sisteme suport de decizie spaţiale .................................................................... 14

1.2.3. Sisteme suport de decizie ce utilizează depozite de date .......................... 15

1.2.4. Sisteme OLAP ......................................................................................................... 17

1.2.4.1. Evoluţia sistemelor OLAP ....................................................................... 21

1.2.4.2. Relaţia între depozitele de date şi sistemele OLAP ........................ 24

1.2.4.3. Regulile lui Codd ........................................................................................ 25

1.3. Sisteme informatice pentru inteligenţa afacerilor ...................................................... 39

2. Modele de date multidimensionale pentru sisteme OLAP .................... 36

2.1. Concepte de bază .................................................................................................................. 37

2.1.1. Conceptul de cub n - dimensional ........................................................................ 37

2.1.2. Conceptul de dimensiune ....................................................................................... 41

2.1.3. Conceptul de ierarhie ............................................................................................ 42

2.1.4. Conceptul de măsură .............................................................................................. 45

2.1.5. Conceptul de multicub ........................................................................................... 46

2.1.6. Conceptul de împrăştiere ...................................................................................... 47

2.2. Modele de date OLAP – extensii ale modelului relaţional .......................................... 49

2.2.1. Operatorul Cub de date ........................................................................................ 50

2.2.2. Modelul lui Li Wang ................................................................................................ 54

Page 3: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 3/331

2.3.3. Modelul lui Blaschka .............................................................................................. 64

2.4. Evaluarea modelelor multidimensionale ........................................................................... 69

3. Arhitectura sistemelor OLAP ..................................................................... 76

3.1. Sisteme ROLAP ..................................................................................................................... 77

3.2. Sisteme MOLAP .................................................................................................................... 80

3.3. Sisteme hibride (HOLAP) .................................................................................................. 85

3.4. Arhitectura sistemelor OLAP ........................................................................................... 87

4. Instrumente OLAP ........................................................................................ 92

4.1. Caracteristici logice ............................................................................................................. 92

4.1.1. Structura datelor ................................................................................................... 93

4.1.2. Operaţii ..................................................................................................................... 95

4.1.3. Modul de reprezentare a datelor multidimensionale ..................................... 96

4.1.4. Alte caracteristici logice ...................................................................................... 96

4.2. Caracteristici fizice ............................................................................................................ 97

4.3. Exemple de instrumente OLAP ......................................................................................... 98

4.4. Standarde .............................................................................................................................. 106

5. Proiectarea sistemelor OLAP ..................................................................... 110

5.1. Metoda lui Cabibbo şi Torlone ........................................................................................... 111

5.1.1. Identificarea faptelor, dimensiunilor, ierarhiilor şi măsurilor .................... 112

5.1.2. Restructurarea modelului entitate – asociere ................................................. 113

5.1.3. Derivarea unui graf dimensional .......................................................................... 115

5.1.4. Transformarea în modelul multidimensional conceptual ................................ 116

5.2. Metoda lui Golfarelli ............................................................................................................ 118

5.2.1. Identificarea faptelor .......................................................................................... 119

5.2.2. Construirea unui arbore al atributelor ............................................................. 120

5.2.3. Rafinarea arborelui ................................................................................................ 121

Page 4: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 4/331

5.3.1. Definirea cuburilor şi a dimensiunilor ................................................................ 125

5.3.2. Rafinarea cuburilor n – dimensionale ................................................................. 125

5.3.3. Identificarea ierarhiilor din dimensiuni ........................................................... 126

5.3.4. Identificarea variabilelor .................................................................................... 126

5.3.5. Stabilirea formulelor de calcul şi a tipurilor de agregare ........................... 126

5.3.6. Tratarea fenomenului de împrăştiere ............................................................... 126

5.3.7. Definirea modelelor de calcul complexe necesare analizelor ...................... 127

6. Dezvoltarea sistemelor OLAP cu Oracle Express Objects ................. 132

6.1. Utilitarul Object Browser .................................................................................................. 135

6.2. Crearea unui proiect ............................................................................................................ 136

6.3. Deschiderea, închiderea şi lansarea în execuţie a unui proiect ................................ 137

6.4. Crearea, editarea şi lansarea în execuţie a unei pagini ............................................... 139

6.5. Componentele lui Object Inspector ................................................................................ 141

6.6. Crearea obiectelor unui proiect ........................................................................................ 143

6.7. Utilizarea colecţiei de rutine QuickActions .................................................................. 148

6.8. Limbajul de programare Express....................................................................................... 150

6.8.1. Declararea variabilelor .......................................................................................... 153

6.8.2. Structuri de program ............................................................................................ 156

6.9. Utilitarul Database Browser .............................................................................................. 165

6.10. Crearea şi utilizarea tabelelor şi a graficelor ............................................................. 171

6.10.1. Crearea tabelelor şi a graficelor ...................................................................... 176

6.11. Crearea listelor ce conţin valori ale dimensiunilor ...................................................... 181

6.12. Instrumentul Selector ...................................................................................................... 185

6.13. Crearea meniurilor ............................................................................................................. 190

6.14. Adăugarea obiectelor definite de utilizator în caseta de instrumente ................ 192

6.15. Utilizarea obiectelor de dialog ........................................................................................ 192

Page 5: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 5/331

7.4. Mutarea, duplicarea şi referirea paginilor ..................................................................... 206

7.5. Crearea obiectelor unui briefing ...................................................................................... 207

7.6. Lansarea în execuţie a unui briefing sau a unei pagini ................................................ 212

7.7. Utilizarea tabelelor pentru analiza datelor ................................................................... 212

7.8. Instrumentul Selector ........................................................................................................ 215

7.9. Agregarea datelor ................................................................................................................ 219

8. Crearea unei baze de date multidimensionale cu Oracle Express

Administrator ......................................................................................................224

8.1. Definirea dimensiunilor bazei de date ............................................................................. 225

8.2. Definirea variabilelor .......................................................................................................... 236

8.3. Definirea relaţiilor ............................................................................................................... 240

8.4. Definirea formulelor ........................................................................................................... 242

8.5. Definirea seturilor de valori .............................................................................................. 243

8.6. Definirea programelor ........................................................................................................ 244

9. Proiectarea şi realizarea unui sistem OLAP (studiu de caz) ............... 248

9.1. Iniţierea proiectului ............................................................................................................. 252

9.2. Studiul şi analiza procesului decizional curent şi a cerinţelor informaţionale ...... 254

9.3. Proiectarea modelului multidimensional conceptual ..................................................... 261

9.3.1. Identificarea variabilelor ..................................................................................... 261

9.3.2. Identificarea dimensiunilor şi a ierarhiilor ..................................................... 262

9.3.3. Definirea cuburilor n – dimensionale sau a structurii multicub .................. 264

9.3.4. Rafinarea modelului multidimensional ............................................................... 264

9.4. Proiectarea logică ................................................................................................................. 266

9.5. Proiectarea fizică ................................................................................................................. 270

9.6. Construirea sistemului OLAP ............................................................................................. 271

Anexe .................................................................................................................... 288

Page 6: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 6/331

 

Capitolul 1

Sistemele OLAP-sisteme suport

de decizie moderne

Accesul la informaţie este o cerinţă de primă importanţă în orice organizaţie,care îşi doreşte să aibă o prezenţă competitivă pe piaţă, în condiţiile schimbărilor rapide din ziua de azi. Managerii doresc o informaţie corectă şi actuală, oferită întimp real, într-un format corespunzător  şi la un preţ convenabil. În 1992 Coddobserva că “ Abilitatea întreprinderii de a concura cu succes  şi de a prospera este

corelat ă direct cu eficacitatea capacit ăţ ii sale OLAP ”.Deşi sistemele OLAP (On-Line Analytical Processing) au fost incluse în

sistemele suport de decizie orientate pe date [POWE01] totuşi ele sunt mai exact  sisteme suport de decizie hibride, deoarece utilizează tehnici analitice simple

(analiza multidimensională a datelor) pentru a analiza seturi mari de date.Majoritatea specialiştilor sunt de acord că depozitele de date (data warehouse)împreună cu instrumentele OLAP ofer ă posibilitatea de a transforma cantităţileuriaşe de date ce există în firme, în informaţii utile procesului decizional. Deasemenea, folosirea tehnicilor analitice oferite de instrumentele OLAP împreună cudepozitele de date şi facilităţile oferite de Web, permit un acces mai uşor  şi mairapid la informaţiile necesare procesului decizional modern. Aceste sisteme aureuşit să ofere managerilor o informaţie de calitate şi noi moduri de interpretare ainformaţiilor, astfel eficacitatea procesului decizional s-a îmbunătăţit.

Ca urmare a creşterii rolului pe care sistemele OLAP îl au în infrastructura

informatică a unei organizaţii, s-a considerat necesar ă prezentarea, în acest capitol,a evoluţiei sistemelor OLAP de la apariţia lor până în prezent, a locului acestor sisteme în cadrul sistemelor suport de decizie moderne şi rolul lor în managementul“inteligent” al firmelor secolului XXI.

1.1 Locul sistemelor OLAP în evoluţia sistemelor suport

de decizie

Conceptul de sistem suport de decizie (SSD) este extrem de larg şi definiţia sa

variază în funcţie de punctul de vedere al celui care a formulat-o. Încă din anii’70

6

Page 7: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 7/331

Sisteme OLAP-sisteme suport de decizie moderne

specialiştii au încercat să definească cât mai complet sistemele suport de decizie şisă le stabilească caracteristicile.

Prima definiţie a sistemelor suport de decizie a fost dată de Little, la începutulanilor’70 [TURB98]. El definea SSD-ul ca fiind “un model bazat pe un set de

 proceduri pentru procesarea datelor  şi pentru asistarea unui manager în procesul decizional. Un SSD trebuie să  fie simplu, robust, u şor de între ţ inut, adaptiv, u şor de comunicat cu el etc”.

Unul din pionerii cercetării în domeniul sistemelor suport de decizie, StevenAlter [TURB98] defineşte aceste sisteme în comparaţie cu sistemele tranzacţionale.El consider ă că „ sistemele suport de decizie sunt destinate managerilor  şi au caobiectiv principal eficacitatea deciziilor spre deosebire de sistemele tranzac ţ ionale

care sunt folosite de operatori  şi au ca obiectiv principal eficien ţ a  şi consisten ţ adatelor”.

Moore şi Chang [TURB98] definesc sistemul suport de decizie ca “un sistem

extensibil, capabil să suporte analize ad-hoc  şi modelarea deciziei, orientat pentru planifică ri viitoare  şi folosit la intervale neplanificate  şi neregulate”.

În lucrarea “  Decision Support Systems: An Organizational    Perspective”(1978), Keen defineşte sistemul suport de decizie ca “un produs al procesului de

dezvoltare în care managerul, proiectantul   şi sistemul sunt capabili să  seinfluen ţ eze reciproc, cu rezultate în evolu ţ ia sistemului” [TURB98].

Bonczek  şi Holsapple în lucrarea “ Foundation of Decision Support Systems”(1981) definesc sistemul suport de decizie ca fiind un “ sistem informatic format din

trei componente ce interac ţ ioneaz ă : interfa ţ a cu utilizatorul (Dialog Management),

componenta de gestiune a datelor  (Data Management), componenta de gestiune amodelelor (Model Management).Sprague şi Carlson [SPRA93] definesc SSD-ul ca fiind “un sistem informatic

interactiv ce îi ajut ă  pe deciden ţ i să  folosească  date  şi modele, pentru a rezolva probleme economice semistructurate  şi nestructurate”.

Holsapple şi Whinston în lucrarea „ Decision Support Systems: A knowledge –  Based Approach” (1996) pun în evidenţă cinci caracteristici specifice unui SSD şianume:

  conţine o bază de cunoştinţe ce descrie unele aspecte ale lumii decidentului(de exemplu cum se realizează diferite activităţi ale procesului decizional);

  are abilitatea de a achiziţiona şi gestiona cunoştinţe descriptive şi alte tipuride cunoştinţe (proceduri, reguli);

  are abilitatea de a prezenta cunoştinţele ad-hoc sau sub formă de rapoarte periodice;

  are abilitatea de a selecta un subset de cunoştinţe pentru a fi vizualizate sau pentru a deriva alte cunoştinţe necesare procesului decizional;

   poate interacţiona direct cu decidentul şi îi permite acestuia flexibilitate înalegerea soluţiilor şi a gestiunii cunoştinţelor.

Într-un mod mult mai precis, Turban [TURB98] defineşte un SSD ca “un  sistem informatic interactiv, flexibil  şi adaptabil, special proiectat pentru a oferi  suport în solu ţ ionarea unor probleme manageriale nestructurate sau

7

Page 8: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 8/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

 semistructurate, cu scopul de a îmbună t ăţ i procesul decizional. Sistemul utilizeaz ă  date (interne  şi externe)  şi modele, ofer ă  o interfa ţă  simpl ă   şi u şor de utilizat,

 permite decidentului să controleze procesul decizional  şi ofer ă  suport pentru toateetapele procesului decizional ”.

Hattenschwiler [HATT99] consider ă că SSD-urile sunt “  sisteme informaticebine organizate, proiectate în special pentru un mediu de decizie clar definit  şicapabile să  fie perfec ţ ionate continuu. SSD-urile nu iau decizii dar propundeciden ţ ilor analize ale avantajelor   şi dezavantajelor alternativelor existente,

 studii de fezabilitate  şi documenta ţ ii ale alternativelor ”.Se observă că definirea sistemelor suport de decizie a pornit de la:   percepţia a ceea ce face un astfel de sistem (suport pentru procesul

decizional, în probleme nestructurate şi semistructurate);   ideile despre cum pot fi realizate obiectivele unui SSD;   identificarea componentelor unui SSD;   facilităţile oferite utilizatorilor (tabelul 1.1). 

Tabelul 1.1

 Defini ţ ii ale conceptului de SSD

Sursa Definirea unui SSD

Sprague, Carlson Tipul problemei şi funcţia sistemuluiLittle Funcţia sistemuluiAlter Obiectivele sistemuluiMoore, Chang Facilităţile sistemului

Keen Procesul de dezvoltareBonczek Componentele sistemuluiHolsapple, Whinston Caracteristicile sistemuluiTurban O combinare a definiţiilor date de Alter, Moore,

Bonczek, Sprague

Pe de altă parte, Schroff [SCHR98] şi Keen [POWE01] consider ă că esteimposibil de a da o definiţie precisă incluzând toate aspectele SSD-urilor. Totuşiconceptul de SSD r ămâne un termen folositor care se refer ă la multe tipuri de

sisteme informatice, ce ofer ă suport procesului decizional [POWE01].În ultimii ani, noile tehnologii informatice au determinat apariţia de noi criteriide clasificare a sistemelor suport de decizie moderne. Astfel Power [POWE01] propune o nouă clasificare (la nivel conceptual) a SSD-urilor în: SSD-uri orientate pe comunica ţ ie (Communication-Driven DDS), SSD-uri orientate pe date (Data-Driven DSS), SSD-uri orientate pe documente (Document-Driven DDS), SSD-uriorientate pe cuno ştin ţ e (Knowledge-Driven DDS), SSD-uri orientate pe modele (Model-Driven DDS), SSD-uri bazate pe Web (Web-based DSS), SSD-uri

 specializate (Function-specific DSS/industry-specific DDS) şi SSD-uriinterorganiza ţ ionale sau intraorganiza ţ ionale (Inter-organizational/Intra-

organizational DSS).

8

Page 9: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 9/331

Page 10: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 10/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

SSD-urile interorganiza ţ ionale sau intraorganiza ţ ionale (Inter-organizational/Intra-organizational DSS) utilizează facilităţile oferite de Internet şi Intranet. Celemai multe SSD-uri sunt intraorganizaţionale, deoarece sunt proiectate pentru a fifolosite de angajaţii unei firme, ca sisteme monoutilizator, sau de un grup de

manageri, ca sisteme la nivel de întreprindere .Multe SSD-uri sunt proiectate pentru a oferi suport în anumite domenii deactivitate sau pentru funcţii specifice (de exemplu pentru planificarea bugetar ă,marketing, planificarea activităţii de zbor pentru o firmă de transport aerian etc).Astfel de SSD-uri se numesc SSD-uri specializate (Function-specificDSS/industry-specific DDS). Aceste SSD-uri specializate pot fi mai departeclasificate în funcţie de componenta dominantă, ca fiind SSD-uri orientate pemodele, orientate pe date sau pe cunoştinţe. Unele SSD-uri specializate sunt proiectate pentru un scop mai general, cum ar fi managementul proiectelor, analizadeciziilor sau planificarea afacerilor şi în acest caz ele se mai numesc generatoare

SSD, deoarece pot fi folosite pentru a dezvolta sau “genera” un SSD mai specializat[SPRA93].

SSD-urile bazate pe Web (Web-based DSS) sunt sisteme informatice celivrează informaţii necesare procesului decizional sau instrumente suport de deciziemanagerilor sau analiştilor, utilizând un simplu browser Web (de exemplu  Netscape Navigator, Microsoft Internet Explorer) şi facilităţile oferite dearhitectura client/server. În multe firme, un SSD bazat pe Web este sinonim cu unSSD la nivel de întreprindere sau intraorganizaţional. SSD-urile bazate pe Web permit: analiza şi afişarea datelor structurate stocate în baze de date relaţionale sau

multidimensionale, acces la modele, acces la documente multimedia şi datenestructurate, comunicarea şi luarea deciziilor în echipele distribuite. În general,toate tipurile de SSD-uri (orientate pe date, orientate pe modele, orientate pecunoştinţe, orientate pe documente şi cele de grup) pot fi implementate folosindtehnologii Web (tabelul 1.2). Tehnologiile Web au extins scopul SSD-urilor, înspecial pentru SSD-urile de grup.

Tabelul 1.2

 Implementarea SSD-urilor 

Tehnologia utilizată Tipuri de SSD-uri

LAN WebSSD-uri de grupSSD-uri orientate pecomunicaţii

Aplicabile la nivel local Aplicabile la nivelglobal

SSD-uri orientate pe date Client complex Client simplu (de tip browser)

SSD-uri orientate pedocumente

 Numai documente de tip(.doc), (.xls)

Documente HTML

SSD-uri orientate pemodel

Monoutilizator Multiutilizator 

10

Page 11: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 11/331

Page 12: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 12/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

sistemelor suport de decizie moderne este Internetul. Web-ul reprezintă oimportantă oportunitate în livrarea cantitativă  şi calitativă a informaţiilor decidenţilor.

Pentru a putea realiza un studiu comparativ al sistemelor suport de decizie

moderne este necesar să stabilim criteriile pe baza cărora se face analizacomparativă. Aceste criterii sunt:  scopul sistemului, arhitectura utilizat ă , tipul deutilizatori, componenta principal ă a sistemului (tabelul 1.3). După cum se observă,SSD-urile orientate pe date, pe cunoştinţe şi pe documente au componenta principală baza de date (date, cunoştinţe, documente). Un SSD orientat pe modelare componenta principală formată din modele analitice şi matematice.

Tabelul 1.3  Analiza comparativă a sistemor suport de decizie

Componenta

principală a SSD-ului

Utilizatorii:

interni/externi

Scopul: general/

specific

Arhitectura

utilizată 

Comunica ţ iiSSD-uri orientate pecomunicaţii

Echipe interne/ parteneriexterni

Suport pentrucomunicare şicolaborare

Web sau client/server 

 Baze de dateSSD-uri orientate pedate

Manageri,furnizori

Interogarea unuidepozit de date,foloseşte datestructurate

Mainframe,client/server,Web

 Baze de documente

SSD-uri orientate pedocumente

Utilizatoriinterni dar grupul poate fiextins

Căutarea paginilor Web sau adocumentelor nestructurate

Client/server,

Web

 Baze de cuno ştin ţ eSSD-uri orientate pecunoştinţe

Utilizatoriinterni, clienţi

Foloseşte reguli,relaţii

Client/server,Web, PC

ModeleSSD-uri orientate pemodele

Manageri,clienţi

Foloseşte modele PC,client/server,Web

Modele/ baze de date şi comunica ţ iiSSD-uriinterorganizaţionale/intraorganizaţionale

Utilizatoriinterni şiexterni

Suport pentruintermediari Client/server,Web

Modele/ baze de date şi comunica ţ iiSSD-uri bazate peWeb

Utilizatoriinterni şiexterni

Suport pentru oricesarcină a SSD-ului

Web

12

Page 13: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 13/331

Sisteme OLAP-sisteme suport de decizie moderne

Componenta

principală a SSD-

ului

Utilizatorii:

interni/

externi

Scopul: general/

specific

Arhitectura

utilizată 

Modele/baze de date

SSD-uri specializate

Utilizatori

interni

Specializate pe

anumite domenii deactivitate sau cu unscop mai general(generator SSD)

PC, client/server 

1.2 Sisteme suport de decizie orientate pe date (Data Driven

Decision Support Systems)

Sistemele suport de decizie orientate pe date (SSDOD) au captat aten ţiamanagerilor, deoarece aceste sisteme pot furniza un acces mai uşor la colecţiifoarte mari de date. Într-o lume a competiţiei acerbe şi a comunicării electronice,managerii doresc să găsească propriile r ăspunsuri la întrebările ce apar în domeniulafacerilor. Managerii sunt utilizatorii direcţi şi cei mai vizaţi ai acestor sisteme. Eitrebuie să identifice împreună cu proiectantul, datele necesare pentru analiză  şirelevante pentru procesul decizional.

Un SSDOD este „un sistem informatic interactiv care-i ajut ă  pe manageri să  

utilizeze baze de date de dimensiuni foarte mari ce con ţ in date preluate din surse

interne şi externe ale organiza ţ iilor” [POWE01].Utilizatorii sistemului pot realiza analize foarte complexe şi cereri analitice de

date. Într-un sistem suport de decizie orientat pe date, managerii procesează date pentru a identifica fapte şi pentru a trage concluzii despre relaţiile dintre date saudespre tendinţa lor de evoluţie. Sistemele suport de decizie orientate pe date potajuta managerii să găsească, să afişeze şi să analizeze date istorice. Deşi acestesisteme sunt scumpe şi greu de implementat, multe firme mari le-au implementat.

Se pot defini următoarele categorii principale de sisteme suport de decizieorientate pe date:

  Sisteme informatice executive;  Sisteme suport de decizie spaţiale;  Sisteme suport de decizie care utilizează depozite de date;  Sisteme OLAP.

1.2.1 Sisteme informatice executive

Sistemele informatice executive (Executive Information Systems) sunt sistemesuport de decizie la nivel de întreprindere care îi ajută pe manageri să analizeze, să 

compare şi să pună în evidenţă tendinţele, să monitorizeze performanţele şi să 

13

Page 14: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 14/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

identifice oportunităţile şi problemele cu care se confruntă organizaţia. Auurmătoarele caracteristici: 

  sunt proiectate pentru cerinţele informaţionale ale managerilor de la nivelultactic şi strategic al organizaţiei;

  accesează date din surse variate (interne şi externe);    pun accentul pe afişarea grafică a informaţiilor şi pe uşurinţa în a utiliza

interfaţa. Aceste sisteme ofer ă facilităţi puternice de raportare (standard şiad-hoc) şi tehnici analitice complexe;

  utilizează de obicei o arhitectur ă client/server.La ora actuală, există o mare varietate de instrumente software pentru

  proiectarea sistemelor informatice executive (de exemplu: ActiveInsights-ActiveInsights, Action Driven balanced Scorecard-Show Business Software,Active Architect-European Management Systems etc), precum şi un număr marede sisteme informatice executive proiectate (de exemplu: Decision-Datavision

Technologies Inc., Focus EIS-Information Builders Inc., Executive InformationSupport System-Applied Media Resources Inc. etc).

Cerinţele informaţionale ale managerilor se modifică rapid, astfel multesisteme informatice executive sunt proiectate şi dezvoltate folosind metodologia  prototipului. Identificarea factorilor critici de succes pentru organizaţie (deexemplu distribuţia pieţei, productivitatea etc) îi poate ajuta pe analişti să determine ce informaţii trebuie prezentate într-un sistem informatic executiv. Un  proiect SIE este similar cu proiectele de depozite de date, dar pune accent înspecial pe proiectarea interfeţei.

1.2.2 Sisteme suport de decizie spa ţ iale

Sistemele suport de decizie spaţiale (Spatial Decision Support Systems) suntconstruite folosind tehnologii GIS (Geographic Information System). Datelespaţiale sunt reprezentări de obiecte construite din puncte, linii, suprafeţe, volumesau chiar date cu dimensionalitate ridicată. Datele spaţiale pot constitui reprezentăriale oraşelor, judeţelor, râurilor dintr-o hartă codificată într-un sistem GIS. Bazelede date spaţiale facilitează memorarea şi prelucrarea eficientă a informaţiilor 

spaţiale şi nespaţiale. Astfel de baze de date sunt din ce în ce mai folosite însistemele informatice geografice. În bazele de date spaţiale, unui obiect grafic i se  pot ataşa atât propietăţi spaţiale (de exemplu, frontiera unui judeţ poate fi o propietate spaţială asociată respectivului judeţ) cât şi atribute nespaţiale cum ar finumele unui oraş sau înălţimea unui munte. Sistemele suport de decizie spaţiale îiajută pe manageri să acceseze, afişeze şi analizeze datele care au conţinutgeografic. Ele şi-au găsit aplicabilitate în domenii ca geologie, industria forestier ă,agricultur ă. Multe firme software ofer ă instrumente GIS puternice pentru proiectarea sistemelor suport de decizie spaţiale (de exemplu: Expert Base-ExpertDatabase Marketing System, SAS System-SAS Institute, Arcview, BusinessMap-ESRI etc). 

14

Page 15: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 15/331

Sisteme OLAP-sisteme suport de decizie moderne

1.2.3 Sisteme suport de decizie ce utilizeaz ă depozite de date

În fiecare organizaţie există multe sisteme informatice tranzacţionale ceautomatizează operaţiile zilnice ale unei organizaţii, operaţii care sunt structurate şi

repetitive şi constau din tranzacţii scurte, atomice şi izolate. Aceste sisteme permitconducerea operativă a organizaţiilor  şi utilizează date de detaliu, reprezentăricurente şi în timp real a stării firmei, accesate şi actualizate frecvent. Dimensiunea bazelor de date operaţionale variază de la sute de Mb la Gb, iar consistenţa datelor stocate este o cerinţă fundamentală a sistemelor tranzacţionale. Spre deosebire desistemele tranzacţionale, sistemele suport de decizie sunt utilizate pentru a gestionaşi controla firma. Depozitele de date sunt destinate suportului decizional. Dateleistorice şi datele agregate sunt mai importante decât datele de detaliu. Dimensiuneadepozitelor de date pentru întreprindere variază de la sute de Gb pâna la Tb.Cererile ad-hoc pot accesa milioane de înregistr ări şi execută o mulţime de  parcurgeri ale tabelelor, joncţiuni şi agregări. Timpul de r ăspuns este un factor   principal în proiectarea sistemelor suport de decizie orientate pe date. Pentru afacilita analize complexe şi vizualizări, datele stocate în depozitul de date suntmodelate multidimensional. Operaţiile specifice acestor sisteme sunt: roll up(creşterea nivelului de agregare), drill down (creşterea nivelului de detaliu),

 slice/dice (selecţia şi proiecţia) şi  pivot (reorientarea viziunii multidimensionale adatelor). De asemenea, sistemele suport de decizie pot utiliza date ce nu se găsescîn bazele de date operaţionale (de exemplu, pentru realizarea de predicţii se cer date istorice, în timp ce bazele de date operaţionale stochează numai date curente).

Datele din depozitele de date provin din surse variate: sisteme operaţionaleeterogene (sisteme de gestiune a bazelor de date, sisteme de gestiune a fişierelor) şialte surse de date externe (baze de date demografice şi statistice, Internet). Surselede date externe sau interne pot conţine date inconsistente, cu formate variate, datecare trebuiesc “cur ăţate” şi prelucrate înainte de a fi stocate în depozitul de date.De asemenea, modele de date multidimensionale şi operaţiile tipice OLAP impun oorganizare diferită a datelor şi metode de acces care nu sunt oferite în general deSGBD-urile comerciale, destinate pentru sistemele informatice tranzacţionale. Dinaceste motive, depozitele de date sunt implementate separat de bazele de dateoperaţionale.

În concluzie, un depozit de date este o bază de date de dimensiuni mari,specific proiectată pentru a susţine procesul decizional dintr-o organizaţie şioptimizată pentru interogări on-line rapide şi pentru agregări complexe.

În 1995, Bill Inmon definea depozitul de date ca fiind “o colec ţ ie de dateorientat ă pe subiect, integrat ă  , dependent ă de timp  şi nevolatil ă  , destinat ă pentru a sus ţ ine procesul decizional dintr-o organiza ţ ie”:

  Orientat ă  pe subiect. Într-un depozit, datele sunt organizate în funcţie desubiectele importante pentru organizaţie, cum ar fi clienţii, produsele şiactivităţile. 

15

Page 16: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 16/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

   Integrat ă . Datele trebuie să fie reprezentate, în depozitul de date, într-unformat consistent, pentru a permite analistului să se concentreze asuprautilizării datelor din depozit şi nu asupra credibilităţii şi consistenţei lor. 

   Nevolatil ă . În depozitul de date, există doar două tipuri de operaţii:

încărcarea iniţială a datelor  şi interogarea datelor. Datele nu mai suntactualizate după ce au fost încărcate în depozitul de date. La proiectareadepozitului de date, tratarea anomaliilor de actualizare nu mai este unfactor important. Ralph Kimball [KIMB96] afirma că “un depozit de date

este o copie a datelor tranzac ţ ionale, specific structurat ă pentru interogare

 şi analiz ă ”.    Dependent ă de timp. Datele din depozitul de date sunt asociate cu elemente

temporale. În depozitul de date, orizontul de timp este cuprins între 5 şi 10ani, în timp ce în sistemele tranzacţionale poate lua valori între 60 şi 90 de

zile. De asemenea, structura cheilor conţine implicit sau explicit unelement de timp. 

Tehnologiile pentru depozite de date au fost utilizate cu succes în multedomenii: producţie, comer ţul cu amănuntul (pentru gestiunea stocurilor), serviciifinanciare (analiza riscului, analiza cardurilor de credit şi detectarea fraudelor),transport, telecomunicaţii (analiza apelurilor  şi detectarea fraudelor) etc. Motivulfundamental pentru construirea unui depozit de date este de a îmbunătăţi calitateainformaţiilor din organizaţie. Problema cheie este de a oferi acces la o viziune

globală a datelor la nivelul organizaţiei, indiferent de locaţia lor. Datele provin dinsurse interne ş externe, existând într-o varietate de forme de la datele structurate lacele nestructurate cum ar fi documentele sau multimedia.

Multe organizaţii doresc să implementeze un depozit de date la nivel deîntreprindere integrat ce colectează informaţii despre toate subiectele (clienţi,  produse, vânzări, personal etc). Totuşi construirea unui depozit de date este un  proces lung şi complex. De aceea, unele organizaţii utilizează  centrele de date (data mart).

Un centru de  date este un depozit de date la nivel de departament, care aredimensiuni mai reduse (10-50 Gb). El este concentrat pe un singur subiect (deexemplu vânzări, finanţe, asigur ări), fiind construit şi folosit de un singur departament al unei organizaţii şi preia date din sistemul operaţional intern alorganizaţiei, din depozitul de date central sau din surse externe. Centrele de date permit o agregare mai rapidă a datelor, dar pot conduce la probleme de integrarecomplexe. În tabelul 1.4 se prezintă o analiză comparativă între depozitele de dateşi centrele de date.

16

Page 17: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 17/331

Sisteme OLAP-sisteme suport de decizie moderne

Tabelul 1.4   Analiz ă comparativă între depozitele de date  şi centrele de date

Depozitul de date Centru de date

Se foloseşte: la nivel de organizaţie,

 pentru firme mari

 pentru firme mici, la nivel

de departamentDomenii multiple un singur domeniuSurse de date numeroase puţineDimensiunea 100 Gb-Tb < 100 GbTimpul deimplementare

ani luni

 Depozitele de date virtuale sunt considerate un mod de a implementa mai rapidun depozit de date. Utilizatorii au posibilitatea de a accesa direct datele sursă reale

utilizând instrumente cu facilităţi de reţea complexe. Dezavantajele acestor depozite de date virtuale sunt:  calitatea şi consistenţa datelor nu este garantată, întrucât nu se execută 

anterior nici o “pregătire” a datelor;  datele istorice nu sunt valabile;  timpul de acces al utilizatorilor este de obicei imprevizibil depinzând de

valabilitatea surselor de date operaţionale, încărcarea reţelei, complexitateacererii etc.

Majoritatea firmelor de renume, în domeniul bazelor de date, ofer ă instrumentesoftware puternice pentru proiectarea depozitelor de date, precum şi pentru

extracţia, transformarea şi încărcarea datelor din surse variate în depozitele de date(Power Designer Warehouse Architect –Power Soft, Red Brick Warehouse-Informix, Warehouse Builder-Oracle, SAS System –SAS Institute etc).

1.2.4 Sisteme OLAP 

Aşa cum indică cuvintele folosite pentru a construi acronimul (“on-line”,“analytic”, “proccesing”), rolul sistemelelor OLAP într-o organizaţie este de a oferiun acces interactiv şi uşor la resursele analitice necesare procesului decizional şi deconducere. În teoria sistemelor suport de decizie sunt recunoscute două tipuri deresurse analitice: datele (informaţii statice) şi modelele (informaţii dinamice).

La ora actuală nu există încă o teorie OLAP completă, unanim acceptată de toţispecialiştii. Există totuşi o serie de principii (reguli) care pun în evidenţă  potenţialul sistemelor OLAP, ca o componentă critică în orice infrastructur ă informaţională. Aceste principii sunt simple dar relevante şi nu trebuie să fieignorate:

  La baza tuturor activit ăţ ilor dintr-o firmă st ă prelucrarea informa ţ iilor .Aceasta include colectarea, stocarea, transmiterea şi manipularea datelor.

Importanţa unei bune informaţii poate fi gândită ca diferenţa în valoare întredeciziile corecte şi cele greşite, unde deciziile sunt bazate pe informaţii. Cu cât este

17

Page 18: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 18/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

mai mare diferenţa între deciziile bune şi cele greşite, cu atât este mai important dea avea informaţii bune. Majoritatea firmelor investesc mult în tehnologiileinformatice. Informaţiile bune trebuie să fie corecte, curente, complete şi uşor deînţeles. Prima cerinţă funcţională a sistemelor OLAP decurge din aceste cerinţe

generale pentru prelucrarea informaţiei:  să  ofere  informa ţ ii  corecte, curente,complete  şi u şor de în ţ eles.

Activităţile operaţionale şi cele de analiză orientată pe decizie constituienucleul activităţii unei firme, independent de mărimea ei, domeniul de activitate,forma legală. Cumpărarea, vânzarea, producţia şi transportul sunt exemple deactivităţi operaţionale. Informaţiile despre vânzări, producţie şi costuri pot fiînregistrate şi gestionate în una sau mai multe baze de date, folosite pentru scopurioperaţionale. Activităţile operaţionale se execută la un interval relativ constant.Datele sunt citite şi actualizate frecvent şi reprezintă o fotografie curentă a ceea cese întâmplă în firmă. Fiecare cerere foloseşte un volum mic de informaţii iar natura

ei este în general previzibilă.Monitorizarea, evaluarea, compararea, planificarea şi alocarea strategică a

resurselor sunt exemple de activităţi de analiză. Informaţia generată prin activităţilede analiză este orientată pe decizie, deoarece este într-o formă ce o face imediatutilizabilă în procesul decizional. Orientarea spre decizie a analizei este esenţială.Multe activităţi operaţionale sunt orientate pe decizie, f ăr ă a se baza pe analiză. Deexemplu dacă un client doreşte o creştere a creditului, trebuie luată o decizie. Dacă înregistrarea corespunzătoare clientului menţionează că s-a ajuns la limita cardului,decizia este NU. Informaţia despre credit a fost orientată pe decizie, dar nici o

analiză nu a fost implicată în decizie.Cu o frecvenţă mai mică, managerii şi analiştii pot pune întrebări analitice cumar fi: “Ce produse au fost cele mai profitabile pentru firmă  , în acest an?” “Care

este profitul firmei în acest trimestru fa ţă  de acela şi trimestru al anului trecut?”etc. R ăspunsurile la aceste tipuri de întrebări reprezintă informaţii ce sunt bazate peanaliză şi orientate pe decizie. Datele sunt mai mult citite decât actualizate în acesteactivităţi. Cererile analitice folosesc date derivate şi natura lor nu este întotdeauna previzibilă. Diferenţele între activităţile operaţionale şi cele orientate pe decizie şi  bazate pe analiză sunt prezentate în tabelul 1.5. Ca urmare a acestor diferenţe,majoritatea firmelor folosesc instrumente diferite pentru cele două tipuri de

activităţi :   pentru a asigura eficienţă maximă în ambele activităţi;    pentru a realiza actualizare rapidă în activităţile tranzacţionale şi calcul

rapid în activităţile de analiză.

18

Page 19: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 19/331

Sisteme OLAP-sisteme suport de decizie moderne

Tabelul 1.5  Analiz ă comparativă între activit ăţ ile opera ţ ionale

 şi cele orientate pe decizie  şi bazate pe analiz ă  

Activităţi operaţionale Activităţi orientate pe decizie

şi bazate pe analiză Mai frecvente Mai puţin frecventeMai previzibile Mai puţin previzibileVolume mai mici de date pe cerere Volume mai mari de date pe cerereUtilizează mai mult date de bază Utilizează mai mult date derivateUtilizează datele cele mai curente Utilizează date istorice şi date

curente

Teoria sistemelor suport de decizie stă la baza fundamentării teoretice asistemelor OLAP. Definiţia sistemului suport de decizie: “Sistem informatic

interactiv, flexibil   şi adaptabil, special proiectat pentru a oferi suport în solu ţ ionarea unor probleme manageriale nestructurate sau semistructurate, cu scopul de a îmbună t ăţ i procesul decizional, ce utilizeaz ă  date  şi modele, ofer ă  ointerfa ţă  simpl ă   şi u şor de folosit, permite decidentului să  controleze procesul decizional  şi ofer ă  suport pentru toate etapele procesului decizional ” [TURB98] afost o provocare pentru sistemele OLAP .

Sistemele OLAP reprezintă o categorie importantă de sisteme suport de decizieorientate pe date. Cerinţele funcţionale ale sistemelor OLAP decurg din obiectivelesistemelor suport de decizie orientate pe date:

  Oportunitate. Un SSDOD trebuie să garanteze următoarele:-  datele de bază au fost deja prelucrate sau pregătite pentru analiză.Aceasta se refer ă la ”cur ăţarea” şi integrarea datelor;

-  accesul la date este rapid;-  calculele sunt rapide.

   Acurate ţ e. Un SSDOD trebuie să asigure precizia datelor de bază  şiexactitatea calculelor.

   Inteligibile. Un SSDOD trebuie să asigure interfeţe prietenoase sauintuitive. 

Locul sistemelor OLAP în SSDOD-uri, în raport cu obiectivele SSDOD-urilor,

este pus în evidenţă în tabelul 1.6 [THOM96]. Se observă că principalele obiectiveale sistemelor OLAP sunt :

  access rapid şi calcule rapide, facilităţi analitice puternice (analize ad-hocfoarte rapide);

  interfaţă prietenoasă şi prezentări flexibile;   permit prelucrarea unor volume mari de date (1-500 Gb), cu multe niveluri

de detaliu, în mediu multiutilizator.  Acces rapid  şi calcule rapide. Sistemele OLAP ofer ă suport pentru cereri

analitice ad-hoc. Obiectivul principal al sistemelor OLAP este „de a furniza untimp de r ă  spuns de cinci secunde sau mai pu ţ in, indiferent de tipul de cerere sau dedimensiunea bazei de date, într-un mediu multiutilizator  şi distribuit ” [OLAP97].

19

Page 20: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 20/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Pentru acces eficient maxim, sistemele OLAP trebuie să ofere combinaţia corectă de rezultate antecalculate şi calculate la momentul interogării. Sistemele OLAPstochează date istorice, curente, de detaliu sau agregate.

Tabelul 1.6   Locul sistemelor OLAP în SSDOD-uri

Scopuri Colecţii

mari de

date

Multe

niveluri

Mulţi

factori

Mulţi

utilizatori

Oportunitate Acces rapidCalcule rapide

OLAPOLAP

OLAPOLAP

OLAPOLAP

DWOLAP

Acurateţe Date de bază exacteExpresivitate

de calcul

DW

OLAP

DW

OLAP

DW

OLAP

DW

Inteligibilitate Interfaţă  prietenoasă Viziuniflexibile

OLAP

OLAP

OLAP

OLAP

OLAP

OLAP

Facilit ăţ i analitice puternice. Sistemele OLAP permit navigarea interactivă laniveluri diferite de agregare şi viziuni multidimensionale ale datelor 

Flexibilitate. Flexibilitatea este un alt obiectiv al sistemelor OLAP. Ea are o

varietate de înţelesuri (prezentări flexibile, definiţii flexibile, analiză flexibilă,interfeţe flexibile). Sistemele OLAP trebuie să fie flexibile în toate modurile.Flexibilitatea prezentării se refer ă la faptul că utilizatorul poate vizualiza informaţiasub formă de grafice, matrici sau hăr ţi. De asemenea, utilizatorii trebuie să fiecapabili să modifice definiţiile formulelor şi locaţia surselor de date. Flexibilitateainterfeţei este o formă mai generală a ceea ce uneori se numeşte o interfaţă intuitivă. Flexibilitatea interfeţei se aplică la o varietate de arii cum ar fi definiţiamodelului, vizualizarea modelului, specificarea formulelor, introducerea directă adatelor şi legăturile la sursele de date externe.

  Suport multiutilizator. Organizaţiile sunt medii de lucru în colaborare. Carezultat al descentralizării, numărul relativ de angajaţi, ce trebuie să aibă acces decitire şi scriere la datele analitice pentru decizii, este în creştere.

 Sistemele OLAP sunt o aplica ţ ie a combinării între algoritmi  şi structuri de

date în scopul de a cre şte puterea de calcul . La început tehnologia OLAP a fostconsiderată ca o tehnologie de baze de date, fundamental diferită de tehnologia bazelor de date relaţionale [CODD93]. Teoria lui Codd nu a fost completă şi nici întotalitate reală, dar a constituit o listă de cerinţe pe care sistemele OLAP trebuie să le respecte. Alţi autori au încercat să detalieze aceste cerinţe [THOM96].

20

Page 21: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 21/331

Sisteme OLAP-sisteme suport de decizie moderne

 Sistemele OLAP sunt cel mai potrivit mediu pentru implementarea modelelor 

de afaceri (business models) ce aplică principiile dinamice ale sistemelor . Pentrua putea fi folosite efectiv, modelele trebuie să fie accesate şi manipulate uşor.Sistemele OLAP ofer ă aceste facilităţi.

1.2.4.1 Evolu ţ ia sistemelor OLAP 

Încă din anii ‘70-’80, s-au dezvoltat sisteme informatice ce au permis analiză multidimensională, înainte de a fi cunoscute sub numele de sisteme OLAP.Principalele eforturi în dezvoltarea tehnologiei OLAP pot fi prezentate cronologicdupă cum urmează :

În 1962 Ken Iverson, în cartea sa “ A programming Language”, descrie primullimbaj multidimensional, limbajul APL. Acest limbaj a fost implementat de IBM pe

mainframe-uri, la sfâr şitul anilor ’60. Multe din conceptele acestui limbaj suntfolosite şi astăzi (de exemplu, Adaytum Planning şi Lex 2000 folosesc limbajulAPL).

La sfâr şitul anilor ’60, John Little, doctor în fizică, Len Lodish, tânăr specialistîn marketing la Massachusetts Institute of Technology Sloan School şi Glen Urban,decanul de la Sloan School, au încercat să utilizeze calculatoarele în aplicaţiimatematice şi analitice. Au încercat utilizarea analiticului în marketing, în specialîn marketingul bunurilor de consum. Aceasta era o arie ideală de investigaţie,deoarece exista un volum mare de date brute neprelucrate şi procesul decizional

  putea fi îmbunătăţit prin înţelegerea mai bine a datelor. Efortul lor a condus laapariţia sistemelor de gestiune a deciziilor (Management Decision Systems), în1974. MDS-urile erau utilizate în special pentru crearea de modele matematice pentru analize de marketing. A fost o muncă complexă de programare în Fortran,care a avut ca rezultat o bibliotecă de funcţii analitice şi facilităţi de stocare amatricilor pe disc. John Wirts a considerat că biblioteca de subrutine ar putea figeneralizată  şi că facilităţile analitice ar putea fi îmbunătăţite mult, pentruutilizatorul final, prin adăugarea facilităţilor de gestiune a datelor. Acesta a fost unimportant pas în dezvoltarea primelor sisteme OLAP.

În 1972 funcţiile analitice şi facilităţile de gestiune a datelor au fost integrate

într-un limbaj, limbajul  Express. După 30 de ani,  Express r ămâne una din  principalele tehnologii OLAP folosite, conceptele şi modelul de date fiindneschimbate.

La începutul anilor ’70, firma Comshare a ales analiza financiar ă ca o activitatecentrală. Firma a achiziţionat un limbaj de modelare financiar ă numit FCS de la ofirmă de software britanică (EPS Consultants). Specialiştii firmei au căutat să facă din limbajul FCS, un limbaj care să satisfacă cerinţele utilizatorilor pentru analizamultidimensională.

În 1978-1979, Comshare a considerat necesar ă trecerea la o nouă generaţie delimbaj de modelare financiar ă, realizată prin combinarea funcţiilor analitice demodelare cu tehnologia gestiunii datelor, în scopul de a gestiona volume mult mai

21

Page 22: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 22/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

mari de date asociate cu conceptul de multidimensionalitate. Instrumentul rezultat afost System W   DSS , primul instrument OLAP pentru aplicaţii financiare, carefolosea conceptul de hypercub. Principala sa utilizare era ca suport decizionalfinanciar, utilizat în activitatea bugetar ă, de previziune şi de planificare strategică.

A introdus multe concepte cum ar fi: reguli complet neprocedurale, vizualizaremultidimensională a datelor, integrare cu datele relaţionale etc. Aşa cum Express adevenit un instrument important în aplicaţiile de analiză de piaţă, System W  adevenit o for ţă în planificare, analiză şi aplicaţii de raportare financiar ă, în anii’80.Hyperion Essbase, deşi nu este un descendent direct al lui System W , foloseştemulte din conceptele utilizate de System W (de exemplu conceptul de hypercub).

În 1984 a apărut primul instrument ROLAP, Methafor , folosit în analiza demarketing. A introdus noi concepte, care au devenit populare în anii’90, cum ar ficalcule distribuite client/server, procesare multidimensională a datelor relaţionale.Din păcate costurile pentru hardware şi software erau foarte mari şi nu a folosit o

arhitectur ă deschisă şi interfeţe GUI standard.La mijlocul anilor’80 a apărut termenul de  EIS  (Executive Information

System). În 1985 apare Pilot Command Center , primul instrument OLAP stil EIS,cu arhitectur ă client/server. Instrumentul utiliza analiza seriilor de timp, fiindimplementat pe servere VAX şi clienţi PC standard. Pilot a introdus multe concepteutilizate de noile instrumente OLAP cum ar fi procesarea multidimensională client/server. Unele din aceste concepte au fost implementate în Pilot’s AnalysisServer.

În 1990 Cognos Power Play devine primul instrument OLAP cu arhitectur ă 

desktop, pentru Windows. Firma Cognos ofer ă  şi versiuni pentru arhitectur ă client/server şi Web.În 1991 Metaphor este achiziţionat de consor ţiul Apple - IBM Taligent.Firma Arbor Software s-a constituit în 1991, cu scopul unic de a crea un server 

de bază de date multidimensională  şi multiutilizator, care s-a numit  Essbase.Essbase a fost introdus pe piaţă în 1992 şi s-a lansat sub sistemul de operare OS/2şi Windows NT .

În 1993 Codd introduce termenul de OLAP şi cele 12 reguli referitoare lasistemele OLAP. După ce a văzut Essbase, ca un exemplu de bază de datemultidimensională, a ajuns la concluzia că limbajul SQL nu a fost niciodată 

adecvat pentru analiză multidimensională. El a afirmat că există o diferenţă semnificativă între tehnologia sistemelor multidimensionale şi tehnologia sistemeletranzacţionale [CODD93].

În 1994 apare primul instrument ROLAP, Microstrategy DSS Agent , f ăr ă motor multidimensional. Toată procesarea era executată cu limbajul SQL (multi- pass SQL), o tehnică utilizată foarte des pentru baze de date foarte mari .

În 1995 apare primul OLAP hibrid, HOLOS 4.0 ce permite accesul atât la bazede date relaţionale cât şi multidimensionale. Multe din instrumentele OLAPfolosesc această arhitectur ă.

În 1995 Oracle achiziţionează  Express. Ianuarie 1995 a marcat şi formareaconsiliului OLAP  care a jucat un rol cheie în stabilirea sistemelor OLAP ca o

22

Page 23: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 23/331

Sisteme OLAP-sisteme suport de decizie moderne

categorie de software mai bine înţeleasă şi cunoscută. După 8 luni de muncă, patrufabricanţi de software au format consiliul OLAP (OLAP Council) cu scopul aelimina confuziile şi de a face sistemele OLAP mult mai atr ăgătoare pe piaţă, prinstabilirea unor standarde deschise (OLAP API). Consiliul OLAP definea conceptul

de OLAP ca “o categorie de instrumente software, care permit anali ştilor,managerilor   şi directorilor să  în ţ eleag ă  esen ţ a datelor printr-un acces rapid,consistent  şi interactiv la o mare varietate de viziuni posibile ale informa ţ iilor,care au fost ob ţ inute prin tranformarea datelor primare astfel încât să  reflectedimensiunile reale ale întreprinderii a şa cum o percepe  şi o în ţ elege utilizatorul ”.

În 1997 apare Microsoft OLEDB for OLAP , un standard OLAP API dezvoltatde Microsoft, ca un set de obiecte COM şi interfeţe destinate a oferi acces lasursele de date multidimensionale prin OLEDB. OLEDB for OLAP  dezvoltă unmodel pentru cuburi şi dimensiuni, ofer ă un limbaj MDX (multidimensionalexpressions) pentru calcul şi vizualizare a cuburilor şi este utilizat de peste 40 de

firme.În 1997 apare standardul MDIS (Metadata Interchange Specification) propus

de un grup de firme (IBM, Sybase, Informix) care ofer ă un mecanism standard deacces şi o interfaţă standard pentru a gestiona metadatele.

În 1998 apare IBM DB2 OLAP Server, o versiune a lui Essbase, care utilizează date stocate în baze de date relaţionale (schemă stea).

În 1999 apare Microsoft OLAP Services (numit iniţial Plato sau DecisionSupport Services) ce utilizează o tehnologie achiziţionată de la Panorama SoftwareSystems şi cu o arhitectur ă de stocare complexă (ROLAP/MOLAP/HOLAP).

În 2000 Microsoft redenumeşte Microsoft OLAP Services ca MicrosoftAnalysis Services.În 2002 Oracle lansează Oracle9i Release 2 OLAP care integrează toate

facilităţile OLAP (Analytical Workspace) în baza de date relaţională Oracle.Indiferent de tipul de arhitectur ă implementat, sistemele OLAP prezintă datele

la utilizator într-un model de date multidimensional, iar cererile sunt formulateutilizând paradigma multidimensională. Începând cu 1995 cercetătorii, din diferitedomenii de aplicaţii, au propus o serie de modele multidimensionale şi limbaje deinterogare corespunzătoare. Multe din modelele propuse sunt extensii alemodelului relaţional. De exemplu, Gray [GRAY96] propune operatorul CUBE care

generalizează clauza GROUP BY din limbajul SQL, o abordare foarte pragmatică, potrivită pentru aplicaţiile OLAP. Modelul lui Li şi Wang [LIWA96] şi modelul luiGyssens şi Lakshmanan [GYSS97] constituie o extensie a algebrei relaţionale, iar modelul lui Agrawal, Gupta şi Sarawagi [AGRA97] şi modelul lui Cabbibo şiTorlone [CABB97] sunt modele orientate pe cub. Cele mai multe dintre ele suntmodele de date logice şi numai câteva pot fi considerate pur conceptuale. Dar fiecare model prezintă o viziune proprie a cerinţelor analizei multidimensionale, oterminologie şi un formalism propriu.

23

Page 24: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 24/331

Page 25: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 25/331

Sisteme OLAP-sisteme suport de decizie moderne

Tabelul 1.8  Analiz ă comparativă între sistemele OLTP  şi sistemele OLAP 

AplicaţieCaracteristici

Procesarea tranzacţională 

(OLTP)

Procesarea

analitică (OLAP)Volum de date petranzacţie

mic mare

Orientarea înregistr ări atributeModul de afişare pe ecran nemodificabil definit de utilizator Operaţii tipice actualizare analiză   Nivelul datelor detaliu agregateOrizontul de timp curente istoriceScopul operaţional analiză 

Tip de acces citire/scriere citire/scriereStructura datelor normalizată dimensională,ierarhică 

Investiţii hardware moderate la scumpe minime la moderateDurata de implementare luni să ptamâni/luni

Prin compararea tabelului 1.7 cu tabelul 1.8, se obţine o analiză comparativă între depozitele de date şi sistemele OLAP (tabelul 1.9).

Tabelul 1.9 

 Analiz ă comparativă între depozitele de date (DW)  şi sistemele OLAP 

Caracteristici OLAP DW

Baza modelului atribute orientată pe subiectGranulaţia datelor agregate agregateOrizontul de timp istorice serii de timpRedundanţa datelor redundante redundanteVolumul de date accesate pe cerere mare depinde de cerereCaracteristici cerere analiza manageri, strategic

1.2.4.3 Regulile lui Codd 

Termenul de OLAP a fost folosit prima dată în septembrie 1993 de către Codd,în articolul “ Providing OLAP (On-line Analytical Processing) to User-Analysts: An

 IT  Mandate”. Cele 12 reguli, mai târziu considerate ca facilităţi (caracteristici) alesistemelor OLAP au fost extinse la 18, în mai 1995 [CODD93]:

Caracteristici de bază 

  Regula 1: O viziune conceptual ă multidimensional ă.  Codd consider ă că viziunea utilizatorului asupra întreprinderii este multidimensională  şi de aceea,viziunea conceptuală a modelelor OLAP trebuie să fie, de asemenea,

25

Page 26: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 26/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

multidimensională. La ora actuală puţine modele propuse sunt considerate modelemultidimensionale pur conceptuale şi anume: modelul lui Lehner [Leh98], modelullui Cabibbo şi Torlone [CABB98], modelul lui Golfarelli [GOLF98], modelul luiSapia şi Blaschka [BLAS99], modelul StarER [TRYF99] şi modelul MAC

[TSOI01]. Aceste modele încearcă să reprezinte modul cum utilizatorii percep uncub multidimensional, f ăr ă să acorde o atenţie deosebită formalismului.

  Regula 2: Manipularea intuitivă a datelor .  Majoritatea modelelor multidimensionale propuse permit operaţii de manipulare a datelor (operaţii de drill down, drill up, drill across), iar multe din instrumentele OLAP, existente la oraactuală pe piaţă, permit manipularea intuitivă a datelor (de exemplu: Express,Essbase, Microsoft OLAP etc).

 Regula 3: Accesibilitate. Sistemele OLAP trebuie să prezinte o singur ă viziune

logică a datelor din întreprindere. Sursele de date trebuie să fie transparente lautilizator. Codd consider ă că şi utilizatorii pot fi, de asemenea, o sursă de date.

 Regula 4: Surse de date variate. Codd consider ă că un sistem OLAP trebuie să fie capabil să lucreze cu date stocate fie în baze de date multidimensionale(MOLAP) cât şi în baze de date relaţionale (ROLAP). La ora actuală, o parte din  produsele OLAP îndeplinesc această regulă (de exemplu: Power Play, OracleExpress, Pilot Analysis, Seagate Holos sunt sisteme OLAP hibride).

Sunt diferite arhitecturi pentru un sistem hibrid OLAP şi anume: integrarea

sistemelor MOLAP şi ROLAP printr-o interfaţă comună (de exemplu SeagateHolos), integrarea mutuală a sistemelor ROLAP şi MOLAP (de exemplu Arbor Essbase) şi extensii la SGBDR sau SGBDOR (de exemplu Informix cu opţiuneaMetacube).

 Regula 5: Modele de analiz ă OLAP . Codd consider ă că instrumentele OLAPtrebuie să suporte patru modele de analiză: explicativ, direct, contemplativ  şi

 formativ. Cu alte cuvinte instrumentele OLAP trebuie să permită cel puţinrealizarea rapoartelor parametrizate, analize de tip “ce se întâmplă dacă?”(simulare) şi de “urmărire a unui scop“ (optimizare), operaţii de tip drill down, roll 

up, slice  şi dice. 

  Regula 6: Arhitectura client/server .  Codd consider ă că un sistem OLAPtrebuie să permită arhitectur ă client/server. Majoritatea instrumentelor OLAP permit arhitectur ă client/server (de exemplu: Power Play, Oracle Express, BusinessObject, DSS Microstrategy, Acumate, Informix Metacube, Microsoft OLAP etc) şichiar arhitectur ă pe trei niveluri (de exemplu: Business Objects, InformixMetacube, DB2 OLAP etc).

26

Page 27: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 27/331

Sisteme OLAP-sisteme suport de decizie moderne

  Regula 7: Transparen ţă . Sistemele OLAP trebuie să conţină interfeţe sprediverse instrumente client (de exemplu instrumente de tip foaie de calcul tabelar) şisă permită acces la tipuri de date eterogene. La ora actuală puţine instrumenteOLAP ofer ă transparenţă (de exemplu Acumate, Express).

 Regula 8: Suport multiutilizator. Instrumentele OLAP trebuie să asigure accesconcurent, integritatea şi securitatea datelor. Sistemele ROLAP permit accesulconcurent la scriere, integrarea cu alte sisteme informatice relaţionale existente.Puţine instrumente MOLAP (de exemplu Arbor Essbase) permit accesmultiutilizator concurent, atât la citire cât şi la scriere. Majoritatea instrumentelor MOLAP permit acces multiutilizator la citire şi monoutilizator la scriere.SGBDMD blochează întreagă bază de date în timpul actualizărilor (o formă foartesimplă de acces concurent). De asemenea, multe instrumente MOLAP au o noţiunefoarte vagă a conceptului de tranzacţie. Modificările în cuburile de date pot fi

executate ca adăugări în cub sau în timpul analizei de tip “what if”. Adesea ele cer o actualizare incrementală a agregatelor sau a măsurilor care sunt calculate pe bază de formulă. Astfel de dependenţe fac actualizările mult mai complicate. Multesisteme MOLAP nu ofer ă facilitatea de recuperare a erorilor  şi alte facilităţispecifice sistemelor ROLAP.

Caracteristici speciale

 Regula 9: Denormalizarea datelor . Codd sugerează că prelucrarea datelor într-un mediu OLAP nu trebuie să afecteze datele externe ce servesc ca sursă.

Instrumentele OLAP sunt folosite pentru a procesa colecţii mari de date, actualizate  periodic, de aceea trebuie să aibă abilitatea de a stabili legături persistente cusursele externe de date, pentru a asigura sincronizarea între sursele externe şihypercub (cubul de date). Deoarece sistemele OLAP sunt în general separate desistemele sursă, legăturile servesc ca funcţii de transformare. Ele indică cum setransformă datele din tabele sau foi de calcul tabelar în date multidimensionale.Legăturile pot descrie relaţii structurale, atributele membrilor sau conţinutulhypercuburilor . Legăturile pot fi unidirecţionale (de citire) sau bidirecţionale(citire/scriere). Unele instrumente OLAP ofer ă suport pentru legături bidirecţionale(de exemplu Essbase). Legăturile ofer ă o infrastructur ă persistentă pentru

importarea şi exportarea datelor  şi a metadatelor. Ele variază în functie de tipulinformaţiei adusă în cub şi de tipul sursei de date, de la care informaţia esteobţinută.

 Regula 10: Stocarea rezultatelor generate de instrumentul OLAP . SistemeleOLAP trebuie să stocheze datele separat de sistemele tranzacţionale. Această cerinţă apare ca urmare a diferenţelor ce există între datele operaţionale şi celedestinate suportului decizional.

27

Page 28: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 28/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

 Regula 11: Manipularea valorilor lipsă. Valorile lipsă sunt diferite de valorilezero şi cele invalide. Termenul de împr ăştiere a fost utilizat cu semnificaţia devaloare lipsă, valoare inaplicabilă  şi valoare zero. Primele două cazuri suntconsiderate date invalide (conceptul de null ). Codd sugerează că modelele OLAP

respectă regula privind valorile null , a modelului relaţional. Existenţa unui număr mare de valori zero nu este totuşi un exemplu real de împr ăştiere. Valoarea zeroeste validă ca orice alt număr. Confuzia a apărut deoarece în aplicaţiile OLAPapare un număr mare de valori zero, precum şi volume mari de date lipsă  şiinvalide. Tehnicile pentru optimizarea fizică a stocării unui număr mare de valorirepetate sunt similare şi uneori aceleaşi cu tehnicile pentru optimizarea fizică astocării de volume mari de date lipsă  şi invalide. Totuşi valorile lipsă  şi celeinvalide nu sunt date valide. Ele nu pot fi tratate în acelaşi mod ca orice altă valoare. De aceea, sunt necesare tehnici speciale pentru aceste cazuri. Tratamentulimpropriu al valorilor null poate cauza calcule incorecte. Acurateţea calculelor este

de o importanţă crucială pentru analiza oricărui set de date, indiferent că este saunu multidimensional. Problema tratării datelor  împr ăştiate este una foarteimportantă şi este frecvent dezbătută în domeniul bazelor de date. Cele două tipuride date (lipsă  şi invalide) trebuie totuşi să fie tratate individual, deoarece eleafectează calculele în moduri diferite.

 Regula 12: Modul de tratare al valorilor lipsă. Valorile lipsă sunt ignorate deinstrumentul OLAP, indiferent de sursa lor.

Modul de prezentare al datelor

  Regula 13: Flexibilitatea rapoartelor. Codd consider ă că orice subset demembri ai unei dimensiuni poate fi mapat la orice rând, coloană sau pagină aecranului de afişare. Cu alte cuvinte, aranjamentul axelor în raportare trebuie să fiela libera alegere a utilizatorului.

 Regula 14: Performan ţ a raport ării. Codd sugerează că performanţa raportăriinu trebuie să varieze semnificativ cu numărul de dimensiuni sau mărimea bazei dedate. Principalii factori care afectează performanţa raportării sunt: modul cum suntrealizate calculele (antecalculate sau la momentul interogării) şi locul unde sunt  procesate calculele (client/server). Aceşti factori sunt mai importanţi decâtmărimea bazei de date, numărul de dimensiuni sau complexitatea raportului.

 Regula 15: Ajustarea automat ă a nivelului fizic. Codd cere sistemelor OLAPsă-şi modifice automat schema fizică a bazei de date, în funcţie de tipul modeluluilogic şi de volumul datelor. Sistemele MOLAP nu au încă o tehnologie pentrustocarea şi gestionarea datelor unanim acceptată. Stocarea fizică a datelor multidimensionale, precum şi fenomenul de împr ăştiere sunt preocupări majore îndomeniul bazelor de date multidimensionale. O tehnică de stocare a datelor optimă trebuie să ţină cont de mulţi factori dinamici şi anume:

   profilul datelor şi volumul lor (numărul de dimensiuni şi membrii aidimensiunilor, tipuri de date etc);

28

Page 29: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 29/331

Sisteme OLAP-sisteme suport de decizie moderne

  fenomenul de împr ăştiere (în care dimensiuni sau combinaţii dedimensiuni, tipul de împr ăştiere);

  frecvenţa de modificare în sursele de date (cât de des vor fi actualizate bazele de date multidimensionale);

  frecvenţa de modificare în datele multidimensionale (de exemplu pentruanaliza de tip “what if”);  frecvenţa de modificare în modelul multidimensional;  accesul concurent etc.Ideal un sistem MOLAP ar trebui să aleagă structura de date optimă în funcţie

de aceşti factori. În cele mai multe sisteme MOLAP comerciale, se utilizează otehnică de stocare pe două niveluri: la nivelul inferior sunt stocate toatedimensiunile dense, iar la nivelul superior dimensiunile împr ăştiate ca o structur ă index, care conţine pointeri la cuburile de date dense, din nivelul inferior.

Unele dintre instrumentele OLAP ofer ă administratorului un număr foarte

limitat de opţiuni de optimizare. De exemplu Arbor Essbase are o metodă proprie  pentru stocarea şi încărcarea datelor multidimensionale în memorie. Această metodă utilizează o structur ă multinivel (cu un număr arbitrar de niveluri pentrudiferitele grade de împr ăştiere). Administratorul poate specifica dimensiunile denseşi împr ăştiate. Oracle Express suportă, de asemenea, o structur ă pe două niveluri.Pilot Decision Support Suite (Pilot Software) suportă aşa numitele multicuburi. Setratează timpul ca o dimensiune densă (toate celelalte dimensiuni sunt considerateîmpr ăştiate). Seagate Holos (Seagate Software) ofer ă structuri de date multiple, ce  pot fi combinate în aşa numita arhitectur ă OLAP compusă (Compound OLAP

Architecture).

Controlul dimensiunilor

  Regula 16: Dimensionalitate generică.  Codd consider ă că dimensiuniletrebuie să fie echivalente structural şi operaţional. Cu alte cuvinte să permită ierarhii multiple şi toate tipurile de operaţii multidimensionale şi în acelaşi timp să   poate fi actualizate (adăugarea/ştergerea unui membru, adăugarea/ştergerea uneiierarhii, modificarea unui membru/ierarhie etc).

  Regula 17: Dimensiuni  şi niveluri de agregare nelimitate.  Tehnic vorbind,

nici un produs software nu poate realiza acest lucru, pentru că nu se poate vorbi deun lucru nelimitat pe un calculator cu resurse limitate. Puţine aplicaţii OLAPnecesită mai mult de 8 sau 10 dimensiuni şi puţine ierarhii conţin mai mult de 6niveluri. Codd consider ă că dacă ar trebui stabilit un număr maxim de dimensiuni,acesta ar fi de 15-20 de dimensiuni. În practică există o multitudine de alte cerinţeşi limitări ale instrumentelor OLAP, astfel încât problema numărului maxim dedimensiuni poate fi pur şi simplu nesemnificativă.

 Regula 18: Opera ţ ii între dimensiuni nerestrictive. Limbajul de manipulare alinstrumentului OLAP trebuie să permită calcule şi manipularea datelor indiferentde numărul de dimensiuni.

29

Page 30: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 30/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

1.3 Sisteme informatice pentru inteligenţa afacerilor

În pagina Web a firmei IBM, conceptul de   Business Intelligence (BI)(inteligenţa afacerii) este definit astfel:

“BI înseamnă  utilizarea tuturor datelor de care dispune o firmă   , pentru aîmbună t ăţ i procesul decizional. BI presupune accesul la date, analiza lor   şi

descoperirea de noi oportunit ăţ i de utilizare a lor.”

În climatul competiţional al zilelor noastre, este vital pentru organizaţii să ofereacces rapid la informaţii, la costuri mici, pentru un număr cât mai mare şi maivariat de utilizatori. Soluţia la această problemă este un sistem BI care ofer ă un setde tehnologii şi produse software ce livrează utilizatorilor informaţiile necesare pentru a r ăspunde la întrebările ce apar în rezolvarea problemelor de afaceri:

  Nevoia de a cre şte veniturile  şi de a reduce costurile. S-au dus zilele când

utilizatorii finali puteau gestiona şi planifica activităţile utilizând rapoarte lunare şiorganizaţiile IT aveau mult timp la dispoziţie pentru a implementa noi aplicaţii.Astăzi firmele trebuie să dispună rapid de aplicaţii, să ofere utilizatorilor accesrapid şi uşor la informaţiile, ce reflectă schimbările mediului de afaceri. SistemeleBI pun accentul pe accesul şi livrarea rapidă a informaţiilor la utilizatori.

 Nevoia de a gestiona  şi modela complexitatea mediului de afaceri curent . Aînţelege şi gestiona un mediu de afaceri complex şi a maximiza investiţiile devinemult mai dificil. Sistemele BI ofer ă mai mult decât mecanisme de interogare şiraportare, ele ofer ă instrumente de analiză a informaţiilor complexe şi de data

mining . Nevoia de a reduce costurile IT. Astăzi, investiţia în sistemele informatice esteun procent semnificativ din cheltuielile firmelor  şi nu este necesar numai să sereducă aceste cheltuieli, dar de asemenea, să se obţină beneficii maxime de lainformaţiile gestionate de sistemele IT. Noile tehnologii informatice ca Intranetul şiarhitectura pe trei niveluri, reduc costul de utilizare a sistemelor BI de către o marevarietate de utilizatori, în special manageri.

În cele ce urmează, se va prezenta evoluţia   sistemelor informatice pentru

inteligen ţ a afacerii:

Primele   sisteme informatice pentru afaceri foloseau aplicaţii a căror ieşiriimplicau volume uriaşe de hârtie, pe care utilizatorii trebuiau să le citească, pentrua obţine r ăspunsurile dorite. Aplicaţiile client/server cu clienţi de tip terminal permiteau un acces mai rapid la date, dar erau totuşi greu de utilizat şi cereau accesla baze de date operaţionale complexe. Aceste  sisteme informatice pentru afaceri erau folosite numai de analişti. Managerii şi directorii executivi puteau foarte rar să utilizeze aceste sisteme.

A doua generaţie de   sisteme informatice pentru afaceri a apărut odată cudepozitele de date, care au o serie de avantaje faţă de sistemele din prima generaţie:

  depozitele de date sunt proiectate pentru a satisface nevoile managerilor şinu a aplicaţiilor tranzacţionale;

30

Page 31: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 31/331

Sisteme OLAP-sisteme suport de decizie moderne

  informaţia din depozitele de date este curată, consistentă  şi este stocată într-o formă pe care managerii o înţeleg;

  spre deosebire de sistemele operaţionale, care conţin numai date de detaliucurente, depozitele pot furniza atât informaţii istorice cât şi agregate;

  utilizarea unei arhitecturi client/server ofer ă utilizatorilor de depozite dedate interfeţe îmbunătăţite şi instrumente suport de decizie mai puternice.

  A treia genera ţ ie: BI. Un depozit de date nu este totuşi o soluţie completă   pentru nevoile managerilor. Un punct slab al soluţiilor ce folosesc depozitele dedate este că specialiştii pun accentul pe tehnologie şi mai puţin pe soluţiimanageriale (business solutions). Deşi producătorii de depozite de date ofer ă instrumente puternice pentru construirea şi accesarea unui depozit de date, acesteinstrumente cer un volum semnificativ de muncă pentru implementare. Deasemenea, se pune prea mult accent pe procesul de construire a depozitului şi mai

 puţin pe accesul la datele din depozit. Multe organizaţii consider ă că dacă construiesc un depozit de date şi ofer ă utilizatorilor instrumente corecte, problemaeste rezolvată. De fapt este tocmai începutul. Deşi informaţia din depozit estecomplet documentată  şi uşor de accesat, complexitatea va limita utilizareadepozitului de către manageri, principalii beneficiari. Sistemele pentru inteligenţaafacerii pun accentul pe îmbunătăţirea accesului şi livr ării de informaţii utile atât laconsumatorii de informaţii cât şi la cei care ofer ă informaţii. Un sistem informatic pentru inteligenţa afacerii trebuie să ofere scalabilitate şi să fie capabil să suporte şisă integreze instrumente software de la mai mulţi fabricanţi. Un depozit de date

este una din sursele de date ale unui sistem BI. De asemenea, există un volum marede informaţii pe serverele de Web ale Intranetului, pe Internet şi în format dehârtie. Sistemele informatice pentru inteligenţa afacerilor sunt proiectate pentru a permite acces la toate formele de informaţii, nu numai cele stocate într-un depozitde date.

Într-o firmă se colectează volume mari de date în tranzacţiile zilnice: datedespre comenzi, stocuri, facturi, vânzări, clienţi etc. De asemenea, firmele aunevoie şi de informaţii externe (de exemplu informaţii demografice). A fi capabilsă consolidezi şi să analizezi aceste date poate conduce adesea la un avantaj

competiţional (creşterea vânzărilor, reducerea costurilor de producţie,îmbunătăţirea activităţii de desfacere, descoperirea unor noi surse de venit etc).Toate acestea sunt posibile dacă există aplicaţii corespunzătoare şi instrumentenecesare pentru a analiza datele şi dacă datele sunt într-un format corespunzător  pentru analiză.

În concluzie, un sistem BI are trei avantaje cheie:  include în arhitectura sa cele mai avansate tehnologii informatice;    pune accentul pe accesul şi livrarea de informaţii la utilizatorii finali şi

ofer ă suport atât pentru specialişti cât şi pentru utilizatorii finali;   permite acces la toate formele de informaţii, nu numai cele stocate într-un

depozit de date.

31

Page 32: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 32/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Principalele obiective ale unui sistem BI sunt:  să permită soluţii cu costuri scăzute ce ofer ă avantaje firmei;  să permită acces rapid şi uşor la informaţiile firmei pentru un număr mare

şi variat de utilizatori ; 

să ofere suport pentru tehnologiile moderne (tehnici de analiză complexe-instrumente OLAP, instrumente de tip data mining etc);  să ofere un mediu de operare deschis şi scalabil.Observăm că sistemele informatice pentru inteligenţa afacerilor sunt de fapt

  sisteme suport de decizie moderne la nivel de organiza ţ ie, care utilizează noiletehnologii informatice. Termenul de sistem informatic pentru inteligen ţ a afacerilor  este de fapt un termen “umbrelă” utilizat de specialişti pentru o categorie mai vastă de sisteme suport de decizie, ce integrează toate facilităţile oferite de depozitele dedate, instrumentele OLAP, instrumentele data mining, Web-ul etc. În funcţie decomplexitatea procesului decizional la nivel de organizaţie, de numărul de

utilizatori, de cerinţele organizaţiei, de volumul de informaţii necesare procesuluidecizional şi de alţi mulţi factori, sistemele suport de decizie moderne vor utiliza şivor integra una sau mai multe din noile tehnologii informatice actuale. Dacă seutilizează depozite de date/centre de date şi instrumente de interogare şi raportareatunci avem un sistem suport de decizie cu depozite de date. Dacă se integrează depozitele de date cu instrumentele OLAP se obţin aşa numitele sisteme ROLAP,iar dacă se utilizează  şi facilităţile oferite de Web se obţin sistemele suport dedecizie orientate pe Web (figura 1.2).

Multe firme prefer ă să construiască un sistem separat pentru aplicaţii BI fiedin motive de securitate, fie din motive de performanţă ale sistemelor operaţionale.

Moduri de stocare a

datelor

BI (∀ tip de dată+∀ tip de analiză) Tehnici de

analiză a datelor

Data mining

Cerere

OLAP

Depozit de date /centru de date

BDMD

Alte stocuride informa ii

SSD hibride orientate pecuno tin e i date

SSD cu depozite de date

Sisteme ROLAP

Sisteme MOLAP

SSD orientat pe Web

Web, Internet/Intranet

Figura 1.2 Influen ţ a noilor tehnologii informatice în evolu ţ ia sistemelor suport de decizie moderne

32

Page 33: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 33/331

Sisteme OLAP-sisteme suport de decizie moderne

La ora actuală există o gamă variată de instrumente şi metodologii valabile pentru a dezvolta soluţii BI :

  Aplicaţii cum ar fi IBM’s DecisionEdge pentru managementul relaţiilor cuclienţii, Oracle Sales Analyzer pentru analiza activităţii de marketing,

Oracle Financial Analyzer pentru analiza activităţii financiare etc;  Instrumente pentru interogări cum ar fi Power Play-Cognos, Business

Objects-Business Objects, IBM’s Query Management Facility etc;  Instrumente OLAP cum ar fi Essbase-Arbor Software, Express Analyzer,

Express Objects-Oracle etc;  Instrumente pentru analiză statistică cum ar fi SAS System-SAS Institute,

etc;  Instrumente pentru data mining cum ar fi IBM’s Intelligent Miner.Multe din aceste aplicaţii şi instrumente au facilităţi Web. În figura 1.3 este

 prezentată arhitectura unui   sistem informatic pentru inteligen ţ a afacerilor  sau a

unui sistem suport de decizie modern la nivel de organiza ţ ie.

   G  e  s   t   i  u  n  e  a  m  e   t  a   d  a   t  e   l  o  r

  a   d  m   i  n   i  s   t  r  a  r  e

 Aplicaţii pentru inteligenţa afacerilor 

Accesulinterfeţele aplicaţiilor servere de aplicaţii

Instrumente pentru construirea şi modelarea depozitelor de date

Gestiunea datelor 

Centre dedate

Altestocuri de informaţii

Depozitcentral

Date externe i o era ionale

Instrumente suport de decizieCerere şi raportare OLAP data mining

Figura 1.3 Arhitectura unui sistem informatic pentru inteligen ţ a afacerilor 

33

Page 34: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 34/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Rezumat

Un SSD este “un sistem informatic interactiv, flexibil   şi adaptabil, special 

  proiectat pentru a oferi suport în solu ţ ionarea unor probleme managerialenestructurate sau semistructurate, cu scopul de a îmbună t ăţ i procesul decizional.

Sistemul utilizeaz ă  date (interne  şi externe)  şi modele, ofer ă  o interfa ţă  simpl ă   şiu şor de utilizat, permite decidentului să  controleze procesul decizional  şi ofer ă  

 suport pentru toate etapele procesului decizional ”. Power propune o nouă clasificare (la nivel conceptual) a SSD-urilor în: SSD-

uri orientate pe comunica ţ ie, SSD-uri orientate pe date, SSD-uri orientate pedocumente, SSD-uri orientate pe cuno ştin ţ e  şi SSD-uri orientate pe modele.

Un SSDOD este un sistem informatic interactiv care-i ajut ă  pe manageri să  utilizeze baze de date de dimensiuni foarte mari ce con ţ in date preluate din surseinterne şi externe ale organiza ţ iilor.

  Principalele categorii de sisteme suport de decizie orientate pe date sunt:

  sistemele informatice executive, sistemele suport de decizie spa ţ iale, sistemele suport de decizie care utilizeaz ă depozite de date, sistemele OLAP.

Sistemele informatice executive sunt sisteme suport de decizie la nivel de

întreprindere care îi ajut ă  pe manageri să  analizeze, să  compare  şi să  pună  îneviden ţă  tendin ţ ele, să monitorizeze performan ţ ele  şi să  identifice oportunit ăţ ile  şi

 problemele cu care se confrunt ă organiza ţ ia.Sistemele suport de decizie spa ţ iale îi ajut ă pe manageri să acceseze, afi şeze  şi

analizeze datele care au con ţ inut geografic  şi-au aplicabilitate în domenii ca geologie, industria forestier ă  , agricultur ă .

  Depozitul de date este „o colec ţ ie de date orientat ă  pe subiect, integrat ă  ,dependent ă  de timp  şi nevolatil ă   , destinat ă  pentru a sus ţ ine procesul decizional dintr-o organiza ţ ie.”

Sistemele OLAP reprezint ă o categorie important ă de sisteme suport de decizieorientate pe date.

  Principalele obiective ale sistemelor OLAP sunt: access rapid  şi calcule

rapide, facilit ăţ i analitice puternice (analize ad-hoc foarte rapide), interfa ţă   prietenoasă   şi prezent ă ri flexibile, permit prelucrarea unor volume mari de date(1-500 Gb), cu multe niveluri de detaliu, în mediu multiutilizator.

Consiliul OLAP definea conceptul de OLAP ca “o categorie de instrumente

 software, care permit anali ştilor, managerilor  şi directorilor să  în ţ eleag ă  esen ţ adatelor printr-un acces rapid, consistent  şi interactiv la o mare varietate de viziuni

 posibile ale informa ţ iilor, care au fost ob ţ inute prin tranformarea datelor primare

astfel încât să reflecte dimensiunile reale ale întreprinderii a şa cum o percepe  şi oîn ţ elege utilizatorul”.

Termenul de OLAP a fost folosit prima dat ă  în septembrie 1993 de că tre Codd,în articolul “Providing OLAP (On-line Analytical Processing) to User-Analysts:

 An IT Mandate”, care a  şi propus 18 reguli, mai târziu considerate ca facilit ăţ i(caracteristici) ale sistemelor OLAP.

34

Page 35: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 35/331

Page 36: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 36/331

 

Capitolul 2

Modele de date multidimensionale

pentru sisteme OLAP

Economia din zilele noastre este caracterizată de o creştere substanţială acompetiţiei între întreprinderi. Pentru a face faţă acestei competiţii acerbe,managerii trebuie să ia decizii strategice corecte, bazate pe informaţii reale. Astfel,informaţia devine un factor de producţie esenţial. Factorii care au condus la aceastasituaţie sunt: creşterea complexităţii structurii întreprinderilor, a relaţiilor întrefirme, crearea de noi procese de afaceri, redirecţionarea proceselor de afaceriexistente către client, globalizarea pieţelor, clienţilor  şi întreprinderilor şi apariţiade noi tehnologii cum ar fi Internetul sau comer ţul electronic.

Instrumentele OLAP sunt utilizate frecvent în sistemele suport de decizie,

deoarece permit analiza interactivă a datelor multidimensionale. Avantajul lor  principal este că sunt apropiate de modul de gândire al analiştilor şi îmbunătăţesc performanţa execuţiei cererilor. În consecinţă, tehnologia bazelor de datemultidimensionale a câştigat, în ultima perioadă, multă atenţie din partea firmelor  producătoare şi a cercetătorilor. Indiferent de tipul de arhitectur ă implementat,instrumentele OLAP prezintă datele la utilizator într-un model de datemultidimensional, iar cererile sunt formulate utilizând paradigmamultidimensională. Totuşi multe din produsele OLAP existente au o serie delimitări:

  nu ofer ă un limbaj de interogare similar cu limbajul SQL;  tratează dimensiunile şi măsurile asimetric;  nu există un model conceptual unanim acceptat pentru bazele de date

multidimensionale.Modelarea multidimensională este o tehnică de modelare conceptuală folosită 

de aplicaţiile OLAP. Totuşi modelarea datelor multidimensionale nu este o problemă specifică sistemelor OLAP. Bazele de date statistice, bazele de dategeografice şi cele temporale au legătur ă cu datele multidimensionale. Modelele dedate propuse în domeniul bazelor de date statistice, spaţiale, temporale au multe puncte comune cu modele de date OLAP. De exemplu, în bazele de date temporalerândurile şi coloanele unei tabele relaţionale sunt vizualizate ca două dimensiuni,iar timpul apare ca a treia dimensiune, formând ceea ce se numeşte cubul timpului 

36

Page 37: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 37/331

Modele de date multidimensionale pentru sisteme OLAP 

(time cube). Acest cub este diferit de cubul multidimensional propus de Agrawal,unde toate dimensiunile sunt tratate uniform. Eforturile de modelare în bazele dedate spaţiale sunt concentrate pe reprezentarea obiectelor geometrice (puncte, linii, poligoane, regiuni etc) în spaţiul multidimensional. Datele OLAP pot fi vizualizate

ca puncte în spaţiul multidimensional al atributelor. Totuşi operaţiile specifice  bazelor de date spaţiale sunt diferite de operaţiile OLAP. Domeniul cel maiapropiat de depozitele de date şi sistemele OLAP este domeniul bazelor de datestatistice, unde o serie de modele multidimensionale au fost propuse [SHOS97].Aceste modele au fost propuse înainte de apariţia termenului de OLAP şi sunt în principal extensii ale modelelor de date existente (de regula relaţionale). În bazelede date statistice, dimensiunile şi măsurile sunt tratate diferit. De exemplu, în[RAFA93] este prezentat un model funcţional “Mefisto” bazat pe definiţia uneistructuri de date numită entitate statistică  (statistical entity) şi un set de operatori(agregare, restricţie etc).

Multe firme utilizează şi dezvoltă propriile modele de date multidimensionale.De asemenea, diferite comitete de standardizare au definit propriile modele[META97], [OLAP97], [TPCB99]. Multe dintre ele sunt modele de date logice şinumai câteva pot fi considerate pur conceptuale. De asemenea, cercetătorii dindiferite domenii de aplicaţii au propus o serie de modele multidimensionaleformale şi limbaje de interogare corespunzătoare. Dar fiecare model prezintă oviziune proprie a cerinţelor analizei multidimensionale, o terminologie şi unformalism propriu. La ora actuală nu există nici un model de date multidimensional(conceptual şi formal) acceptat în unanimitate.

2.1 Concepte de bază 

Pentru a descrie în detaliu modelele de date multidimensionale (extensii alemodelului relaţional sau orientate pe cub) şi a putea fi înţelese, s-a consideratnecesar a se prezenta o serie de concepte utilizate şi anume: hypercubul (cub n-dimensional),  multicubul,  dimensiunile, ierarhiile, mă  surile  şi   fenomenul deîmpr ăştiere. Aceste concepte apar în majoritatea modelelor OLAP, deşi modul lor de definire difer ă uneori foarte mult. De asemenea, consiliul OLAP a propus un

glosar de termeni care se doreşte standardizat. De aceea, în prezentarea acestor concepte de bază s-au utilizat şi definiţiile date de Consiliul OLAP.

2.1.1 Conceptul de cub n-dimensional 

Conceptul de hypercub  sau cub cu mai mult de trei dimensiuni (cub n-dimensional ) sau  structur ă  multidimensional ă  este fundamental pentru înţelegereasistemelor OLAP şi a modelului multidimensional. Instrumentele OLAP folosescconceptul de hypercub în acelaşi mod în care foile de calcul tabelar folosesc

conceptul de   foaie de lucru (worksheet) şi bazele de date relaţionale conceptul de

37

Page 38: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 38/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

tabel ă . Toate vizualizările, rapoartele şi analizele sunt f ăcute în termeni dehypercuburi (cuburi n-dimensionale). 

Consiliul OLAP defineşte hypercubul ca „un grup de celule de date aranjatedupă  dimensiunile datelor. De exemplu, o foaie de calcul tabelar   exemplifică  o

matrice bidimensional ă  cu celulele de date aranjate în rânduri  şi coloane, fiecare  fiind o dimensiune. O matrice tridimensional ă  poate fi vizualizat ă  ca un cub cu fiecare dimensiune formând o fa ţă a cubului. Dimensiunile tipice ale datelor dintr-o întreprindere sunt timpul, mă  surile, produsele, regiunile geografice, canalele dedistribu ţ ie etc.” [OLAP97]

Pentru a înţelege conceptul de hypercub (cub n-dimensional ) trebuie să  ţinemcont de următoarele aspecte:

 Afi  şarea pe ecranul calculatorului nu este identică cu metaforele vizuale. Seconsider ă un exemplu de date bidimensionale şi anume informaţiile desprevânzările lunare (cantitatea vândută) de telefoane mobile Nokia ale unei firme.

Exemplul poate fi realizat foarte uşor cu ajutorul unei foi de calcul tabelar şi afişat pe orice ecran (tabelul 2.1).

Tabelul 2.1 Vânză rile lunare ale unei firme

Luni Vânzări

Ianuarie 790Februarie 850Martie 900Aprilie 910….. ……Decembrie 810Total 10180

Totalul vânzărilor este afişat pe ultimul rând. Este o singur ă coloană de date:coloana Vânză ri. Setul de date are două dimensiuni: o dimensiune Luna aranjată perânduri şi o dimensiune Vânză ri aranjată pe coloane. Lunile reprezintă modul cumsunt organizate datele. Lunile sunt un tip de cheie sau identificator. În concluzie,modelul prezentat are două dimensiuni: o dimensiune de identificare şi una pentru

variabile. În figura 2.1 variabila “cantitatea vândută” este determinată în funcţie detrei dimensiuni:  Loca ţ ie, Produs şi Timp. Dimensiunea  Loca ţ ie include o ierarhiecu două niveluri “judeţ”  şi “oraş”, iar dimensiunea  Produs ierarhia cu nivelurile“produs” şi “model produs”. Deşi nu se reprezintă în figur ă, dimensiunea Timp serefer ă la anul 2003. Fiecare subcub conţine cantitatea vândută pentru o anumită combinaţie de valori ale dimensiunilor. De exemplu, într-o anumită perioadă detimp, în oraşul Deva, din judeţul Hunedoara, s-au vândut 10 telefoane celulare,model Nokia 3410.

Ecranul calculatorului, la fel ca o hârtie, are numai două dimensiuni fizice.

Putem crea o reprezentare bidimensională pe ecran a unui cub tridimensional.Afişarea datelor pe ecranul bidimensional al calculatorului este diferită de

38

Page 39: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 39/331

Modele de date multidimensionale pentru sisteme OLAP 

metaforele folosite pentru a vizualiza datele. Cubul vizualizat în figura 2.1 este ometafor ă vizuală. Acest aspect îi face pe dezvoltatorii de software să caute un modoptim de reprezentare a structurilor numerice cu mai mult de două dimensiuni peun ecran bidimensional, pentru vizualizare şi manipulare. De exemplu, în cazul

foilor  de calcul tabelar tridimensionale, setul de date tridimensional din figura 2.1este afişat pe ecran, pe rânduri, coloane şi pagini. Este uşor de a vizualiza relaţiaîntre datele prezentate pe ecran şi întregul set de date stocat în calculator. Tot cetrebuie să facem este să ne imaginam un cub de date tridimensional şi un ecran ceafişează o felie din acel cub.

dimensiunea Locaţie variabila (cantitatea vândută)Ierarhia:Judeţ, Oraş 

Hunedoara

Hunedoara

DevaBacăuBacău

Piatra Neamţ 

3410 

3310 6100 8100

 Nokia

Membru dimensiunea Produs (ierarhia: produs, model produs)

10 22 10 29 21 92 21 12 34 22 8

Figura 2.1 Reprezentarea sub forma unui cub a modelului multidimensional 

 Dimensiunile logice nu sunt identice cu dimensiunile fizice. Cuburile studiatela geometrie sunt implicit fizice, deoarece se bazează pe noţiuni fizice ca lungime,lăţime şi înălţime. Cele trei axe perpendiculare (x, y, z) se transformă perfect îndimensiuni fizice ca lungime, lăţime şi înălţime. Cubul fizic este o reprezentareintuitivă a unui eveniment, deoarece toate dimensiunile coexistă pentru orice punct

din cub şi sunt independente între ele. Într-un spaţiu tridimensional, orice punct(orice vânzare) este identificat de coordonatele sale x, y şi z (sau de produs, timp şilocaţie). Totuşi fizic sunt numai trei dimensiuni independente. Chiar dacă nu estegreşit de a folosi un cub cu unghiuri drepte pentru reprezentarea multidimensională a unui eveniment, definiţia bazată pe unghi drept a unei dimensiuni nu estenecesar ă pentru reprezentarea evenimentului. O reprezentare corectă ceredimensiuni independente [THOM96].

Erik Thomsen [THOM96] utilizează pentru reprezentarea evenimentelor unnou concept: “ structur ă de domeniu multidimensional ă ” (multidimensional domainstructure-MDS) (figura 2.2). Fiecare dimensiune este reprezentată printr-unsegment vertical. Orice membru dintr-o dimensiune este reprezentat de un interval

39

Page 40: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 40/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

din segment. Pentru exemplu tridimensional anterior, se identifică patru segmente:unul pentru timp, unul pentru produse, unul pentru locaţie şi unul pentru variabile.Fiecărui element din eveniment şi din cub îi corespunde un interval din fiecare dincele patru segmente. De exemplu, în figura 2.2, MDS prezintă vânzările de

telefoane mobile Nokia din luna martie. Un MDS este mai descriptiv decât un cubfizic, totuşi nu arată punctele de date curente, ci combinaţii posibile ale membrilor dimensiunilor. Utilizând un MDS este uşor de a adăuga alte dimensiuni la model.Un MDS nu este o reprezentare fotografică a evenimentului ce a generat datele, dar nu este nici cub fizic. Un MDS:

  arată numărul de puncte de date extrase din eveniment şi organizarea lor logică;

   prezintă toate dimensiunile care se pot vizualiza;  arată mai multe informaţii structurale decât un cub fizic;  şi poate fi realizat pentru orice număr de dimensiuni.

  Dimensiunile logice pot fi combinate.  Cum se pot reprezenta patru sau maimulte dimensiuni logice în trei dimensiuni fizice (rând, coloană, pagină)?R ăspunsul este de a combina multiple dimensiuni logice în aceeaşi dimensiunefizică. Maparea a două dimensiuni logice într-o singur ă dimensiune fizică înseamnă crearea unei versiuni unidimensionale. Metoda tipică este de a include odimensiune în alta. Două lucruri se modifică ca rezultat al combinăriidimensiunilor : forma datelor prezentate şi vecinii.

Evenimentul ce generează datele MDS  cubul de date Timp Produse Variabile

Martie

 Nokia

vânzări

Vânzări (buc)

   telefoane mobile Nokia

martie

Figura 2.2 Exemplu de utilizare a MDS-ului pentru reprezentarea evenimentelor 

Într-o matrice bidimensională, fiecare punct are patru vecini. Cânddimensiunile sunt combinate fiecare punct într-o listă unidimensională are numaidoi vecini. Un lucru important nu se modifică în timpul procesului de combinare adimensiunilor logice: nu are importanţă cum se combină dimensiunile, rezultatele

sunt aceleaşi. Abilitatea de a modifica uşor prezentările aceloraşi date, prinreconfigurarea a cum sunt afişate dimensiunile, este una din cele mai mari avantaje

40

Page 41: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 41/331

Modele de date multidimensionale pentru sisteme OLAP 

ale sistemelor OLAP. Se separ ă structura datelor reprezentată în MDS, de afişareadatelor. Orice combinaţie de dimensiuni logice poate fi mapată la orice combinaţiede rânduri, coloane şi pagini ale unui ecran.

2.1.2 Conceptul de dimensiune

Conceptul de dimensiune este definit de Consiliul OLAP ca “un atribut   structural al unui cub ce const ă  dintr-o list ă  de membrii, pe care utilizatorii îi percepe ca fiind de acela şi tip. De exemplu, toate lunile, trimestrele, anii formează  dimensiunea Timp….. O dimensiune ac ţ ionează  ca un index pentru identificareavalorilor dintr-o matrice multidimensional ă ..….. Dimensiunile ofer ă un mod foarteconcis, intuitiv de organizare  şi selectare a datelor pentru explorare  şi analiză .”[OLAP97]

Dimensiunile sunt atribute de identificare a evenimentelor măsurabile sau alucrurilor pe care le analizăm. Spre deosebire de dimensiunile fizice care sunt bazate pe unghiuri şi sunt limitate la trei, dimensiunile logice nu au astfel de limite.Frecvent numărul de dimensiuni într-un set de date depăşeşte cele trei dimensiunifizice (rând, coloană, pagină) ale ecranului de afişare. Abilitatea instrumentuluiOLAP de a modela multiple dimensiuni de informaţii îl face mult mai potrivit pentru a lucra cu seturi complexe de date, decât bazele de date relaţionale şi foilede calcul tabelar. Dimensiunile au următoarele caracteristici:

  furnizează informaţii descriptive despre fiecare indicator (variabilă); 

conţin în general date statice şi sunt esenţiale pentru analiză. Un modelmultidimensional ce ofer ă un număr mare de atribute dimensionale permiteanalize cât mai complexe şi mai variate;

  într-un cub n-dimensional o dimensiune este reprezentată printr-o axă;  într-o schemă stea sunt tabelele care se dispun radial în jurul tabelei de

fapte şi se mai numesc tabele de dimensiuni.De exemplu, într-o bază de date pentru analiza vânzărilor se identifică 

următoarele dimensiuni: Timp, Regiune/loca ţ ie, Client, Agent de vânzare, Produs.O dimensiune conţine mai mulţi membri. Un membru este “un nume distinct 

  sau un identificator folosit pentru a determina pozi ţ ia unui element de dat ă  (în

schema stea apare sub denumirea de atribut dimensional)”. De exemplu, toatelunile, trimestrele şi anii formează dimensiunea Timp şi toate oraşele, regiunile şiţările dimensiunea Loca ţ ie. Un membru poate apar ţine la una sau mai multe ierarhiisau poate să nu fie inclus într-o ierarhie (independent). De exemplu, îndimensiunea Produs membru “culoare” nu este inclus în nici o ierarhie.

41

Page 42: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 42/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

2.1.3 Conceptul de ierarhie

O ierarhie este un atribut al unei dimensiuni. Cele mai multe dimensiuni au ostructur ă multi-nivel sau ierarhică. Timpul este o dimensiune ierarhică multi-nivel

(ore, zile, să ptămâni, luni, trimestre şi ani),  Loca ţ ia geografică  este o dimensiuneierarhică (vecini, oraşe, state şi ţări). În cele mai multe activităţi ale unei firme,ierarhiile sunt o necesitate. Ar fi imposibil de a funcţiona o firmă, dacă toate datelesale ar fi limitate la nivel tranzacţional. De exemplu, este necesar de a păstrainformaţii despre volumul vânzărilor lunare, pe trimestru, pe an, pentru a vedeacare produse se vând mai bine şi care mai prost. Criteriile după care datele suntagregate pentru analiză  şi raportare trebuie să fie aceleaşi cu factorii folosiţi în procesul decizional. În figura 2.3 este prezentată o ierarhie de produse.

cosmetice electronice

sapun şampon parfum acasă birou

fax xeroxradio casetofon

TV

cu baterii electric

Toate produsele

Figura 2.3 O ierarhie de produse

Elementele individuale sau nodurile sunt numite membri (de exemplu:cosmetice, echipamente de birou etc). Cei mai mulţi membri au conexiuni în sus şi jos, în ierarhie. Conexiunile în sus sunt de tip (m:1) şi sunt numite asocieri pă rinte.Conexiunile în jos sunt de tip (1:m) şi sunt numite asocieri copil . De exemplu,echipamentele electronice sunt părinţi pentru echipamentele de birou. Faxurile şixerox-urile sunt copii pentru echipamentele de birou. În general, un membru poateavea un singur părinte. Un membru ce nu are părinte se numeşte membru r ă d ă cină  (root). În figura 2.3 membru Toate Produsele este r ădacină în ierarhia de produse.Membrii ce nu au copii sunt numiţi frunză (de exemplu radio casetofoane cu baterii

etc).

42

Page 43: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 43/331

Modele de date multidimensionale pentru sisteme OLAP 

Pentru a identifica poziţia unui membru într-o dimensiune se folosescconceptele de înă l  ţ ime şi adâncime în ierarhie. Înă l  ţ imea se stabileşte de jos în sus.Din acest motiv nivelul (L0) al ierarhiei reprezintă nodurile frunză ale ierarhiei(înălţimea cea mai mică). Adâncimea în ierarhie este stabilită de sus în jos. Există 

  posibilitatea ca doi membri, care au aceeaşi înălţime, să aibă adâncimi diferite şiinvers (structuri arborescente neechilibrate). Structurile arborescente neechilibratesunt implementate cu succes în bazele de date multidimensionale, bazele de daterelaţionale fiind necorespunzătoare.

Ierarhiile dimensionale pot fi simetrice sau asimetrice (figura 2.4). Îndimensiunea Timp există o ierarhie simetrică. Cu ierarhiile simetrice se pot referimembrii prin nivelul lor ierarhic.

În glosarul de termeni OLAP se specifică că “ membrii dimensiunilor pot fiorganiza ţ i pe baza rela ţ iilor de tip pă rinte-copil, unde un membru pă rintereprezint ă  consolidarea (agregarea) membrilor copil. Rezultatul este o ierarhie  şi

rela ţ iile pă rinte/copil sunt rela ţ ii ierarhice”.Produsele se pot grupa şi în alte moduri decât cosmetice şi electronice. De

exemplu, preţul reprezintă un alt criteriu pentru organizarea dimensiunii  Produs (de exemplu: solduri, specifice, de  lux). Cu alte cuvinte, într-o dimensiune potexista mai multe ierarhii. Alegerea nivelurilor intermediare de grupare sau agregareeste importantă  pentru înţelegerea şi abilitatea de a lua decizii, deoarece datele aunumai un nivel de detaliu, un nivel de agregare complet, dar multe niveluriintermediare. Aşa cum arată figura 2.5, fiecare direcţie de agregare scoate înevidenţă unii factori şi-i ascunde pe alţii [THOM96]. Numărul de niveluri

intermediare, cum ar fi grupuri de produse după preţ, grupuri de produse după   profit, după tipul produsului şi producător, permite să experimentăm diferitemoduri de a privi şi înţelege datele. Aceasta este una din ariile de convergenţă întrestructurile multidimensionale şi analiza statistică.

Figura 2.4 Ierarhie simetrică  

L

Trim1 Trim2 Trim3 Trim4

L L L L L L L L L L L

an

Ierarhiile sunt fundamentul pentru agregarea datelor  şi pentru navigarea întrenivelurile de detaliu dintr-un cub n-dimensional . Deşi nu toate dimensiunile conţinierarhii, toate aplicaţiile din lumea reală implică dimensiuni ierarhice. Numărul de

ierarhii distincte într-o structur ă multidimensională este egal cu produsul dintrenumărul de ierarhii din fiecare dimensiune. De exemplu, dacă sunt trei ierarhii în

43

Page 44: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 44/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

dimensiunea Timp, trei ierarhii în dimensiunea  Loca ţ ie, patru ierarhii îndimensiunea Produs şi o singur ă variabilă ar putea fi 3*3*4*1=36 ierarhii distincte.

Unele instrumente OLAP permit numai o singur ă ierarhie pe dimensiune. Înacest caz, fiecare ierarhie este tratată ca o dimensiune separată.

Combina ţ ia de multiple dimensiuni  şi multiple niveluri pe dimensiuneconstituie esen ţ a unui cub n-dimensional sau hypercub.O celul ă într-un cub n-dimensional este definită de intersecţia unui membru din

fiecare dimensiune. Unele celule conţin date de intrare cum ar fi vânzările zilnice,altele conţin date derivate. Valorile datelor derivate sunt definite cu ajutorulformulelor. Cu cât sunt mai multe dimensiuni şi ierarhii în cub, cu atât este maicomplexă vecinătatea din jurul unei celule şi există mai multe direcţii după care se pot vizualiza datele. Într-un cub n-dimensional (cu un nivel ierahic pe dimensiune),fiecare celulă are 2n vecini imediaţi sau direcţii de vizualizare. De exemplu, ocelulă într-o foaie de calcul tabelar are  patru vecini (4 celule adiacente), iar o celulă 

într-un cub tridimensional are şase. Când se adaugă ierarhii, numărul de direcţii devizualizare creşte.

Toată compania

Domenii de activitate Regiuni

Diviziuni Oraşe

Departamente

Figura 2.5 Agregarea datelor dintr-o dimensiune

Ce tip de date pot fi stocate într-un cub n-dimensional ? Deşi majoritateadatelor stocate în cuburile n-dimensionale sunt numerice, orice tip de date de latext la grafice şi chiar sunete pot fi multidimensionale. Multe instrumente OLAPofer ă abilitatea de a popula cuburile n-dimensionale cu date text. Datele numericesunt mai potrivite pentru aplicaţiile OLAP, deoarece au o organizaremultidimensională şi se pot agrega. Alte tipuri de date pot beneficia de organizareamultidimensională, dar apar probleme datorate agregării lor. Totuşi cele mai multedate sursă, la nivel de întreprindere, sunt de tip caracter. Din acest motiv, datele detip şir de caractere vor deveni mult mai importante pentru instrumentele OLAP.

44

Page 45: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 45/331

Modele de date multidimensionale pentru sisteme OLAP 

Date cum ar fi: culoarea, adresa, tipul de ambalaj, tipul de client sunt factoriesenţiali pentru analiză.

Conceptul de nivel într-o ierarhie este foarte important pentru a determina cetipuri de navigări se pot executa în dimensiuni şi ce tipuri de calcule suportă 

dimensiunile. În glosarul OLAP se specifică că “ doi membrii ai unei ierarhii sunt de aceea şi genera ţ ie dacă  ei au acela şi numă r de str ă mo şi….. Termenii de genera ţ ie  şi nivel sunt necesari pentru a descrie subgrupuri de membrii întrucât,de exemplu, de şi doi fra ţ i membri au acela şi pă rinte  şi sunt de aceea şi genera ţ ie, eiar putea să nu fie la acela şi nivel, dacă unul din fra ţ i are un copil  şi cel ă lalt nu.”

2.1.4 Conceptul de mă sur ă 

O mă  sur ă   (variabilă) este un indicator de performanţă prin care se poateanaliza performanţa activităţii modelate (de regulă un atribut numeric al unuielement din colecţia de fapte). Valorile unui indicator se modifică continuu. Pentrufiecare combinaţie posibilă între dimensiuni, există sau nu o valoarecorespunzătoare a indicatorilor. Nu orice atribut numeric este un indicator. Deexemplu, “dimensiunea ambalajului” este un atribut numeric şi totuşi nu este unindicator ci un atribut dimensional. Dacă valoarea atributului numeric variază continuu (de  exemplu: costul de  livrare, cantitatea vândută, volumul vânzărilor)atunci atributul este un indicator, iar dacă atributul este perceput mai mult ca oconstantă (de exemplu: dimensiunea ambalajului, descriere produs, culoare) atunci

este un atribut dimensional. Indicatorii pot fi clasificaţi în:  indicatori de bază   (de exemplu: volumul vânzărilor, cantitatea vândută,

costurile, numărul de clienţi);  indicatori deriva ţ i care se obţin prin combinarea indicatorilor de bază (de

exemplu profitul).O altă clasificare este dată de Ralph Kimball în cartea sa “The Data Warehouse

Toolkit ” şi anume după posibilitatea indicatorilor de a se însuma după dimensiuni:  indicatori aditivi care se pot însuma după toate dimensiunile. De exemplu,

indicatorul “volumul vânzărilor” se poate calcula pentru o categorie de  produse sau pentru o anumită regiune sau pentru a anumită perioadă detimp. Volumul vânzărilor  , cantitatea vândută  şi costurile sunt aditive.Aceasta înseamnă că are sens de a aduna lei sau cantităţi de-a lunguloricărei combinaţii timp, produs, magazin.

  indicatori semiaditivi care se pot însuma numai după unele dimensiuni. Deexemplu, indicatorul “numărul de clienţi” este semiaditiv, deoarece se poate calcula numărul de clienţi într-o anumită perioadă de timp sau pentruo anumită regiune, dar nu este aditiv de-a lungul dimensiunii Produs. Dacă   pentru fiecare produs (dintr-o categorie de produse) se cunoaşte numărulde clienţi şi dorim să aflăm numărul de clienţi pentru categoria de produse,

nu se pot aduna aceste numere. Rezultatul poate fi eronat, deoarece pot

45

Page 46: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 46/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

exista clienţi, care au cumpărat mai multe tipuri de produse, din categoriarespectivă.

  indicatori neaditivi care nu se pot însuma după nici o dimensiune (deexemplu profitul marginal). Variabilele neaditive pot fi combinate cu alte

variabile pentru a deveni aditive. 

2.1.5 Conceptul de multicub

Un cub  n-dimensional  este de fapt un set de variabile ce utilizează aceleaşidimensiuni de identificare. Întrebarea care apare este dacă se poate adăuga unnumăr nelimitat de dimensiuni la un cub n-dimensional  şi dacă pentru modelareaunei activităţi complexe este suficient un singur cub n-dimensional . De exemplu, seconsider ă  cubul   n-dimensional  care modelează activitatea de vânzări cu

dimensiunile iniţiale: Timp, Loca ţ ie, Produs  şi dimensiunea de variabile[THOM96]. Se adaugă dimensiunea  Angajat   şi  variabila “numărul de ore lucrate/tip de angajat”. În modelul modificat, variabilele iniţiale (de exemplucantitatea vândută, volumul vânzărilor) continuă să fie identificate de locaţie, timpşi produs la care se adaugă tipul de angajat. În cubul modificat, variabilele pentruvânzări sunt acum în funcţie de locaţie, timp, produs şi angajat. Dar în realitate,vânzările nu depind de tipul angajatului. Într-un caz simplificat (f ăr ă dimensiunile Loca ţ ie  şi Timp) se consider ă dimensiunea  Angajat  cu 10 membri, dimensiunea Produs cu 10 membri. Ca variabile se consider ă numai “volumul vânzărilor”  pentru fiecare produs şi “totalul vânzărilor” pentru toate produsele şi “numărul de

ore lucrate”   pentru fiecare tip de angajat, precum şi “total număr de ore lucrate”  pentru toţi angajaţii. Cele două seturi de date au câte 11 puncte de date fiecare.Ierarhiile au fost eliminate din cub. Membrii “Toti angajaţii” şi “Toate produsele”au fost adăugaţi  la fiecare din dimensiunile respective, pe un singur nivel. Cubulrezultat este format din 11*11*2 = 242 de intersecţii (celule). Din acestea numai22 de celule au date, celelalte sunt goale. Cu alte cuvinte rezultă un cub  n-dimensional  foarte împr ăştiat. Apare necesitatea de a defini un nou cub  n-dimensional  logic şi un mod de a determina când o dimensiune nouă apar ţine saunu unui nou cub n-dimensional . Dacă două seturi de date apar ţin aceluiaşi cub n-dimensional  logic, densitatea combinaţiilor lor va fi egală cu media aritmetică a

densităţilor lor înainte de a fi combinate. De exemplu, un cub perfect dens ceconţine dimensiunea  Loca ţ ie (cu 100 de membri), dimensiunea Timp (cu 10  perioade de timp), dimensiunea Produs (cu 100 de produse) şi dimensiunea devariabile (cu 5 variabile) va avea 500000 puncte de date. Un cub ce conţinedimensiunea  Loca ţ ie (cu 100 de magazine), dimensiunea Timp (cu 10 perioade detimp), dimensiunea  Produs (cu 100 de produse), dimensiunea de variabile (cu 5variabile) şi dimensiunea Scenariu (planificat, curent şi variaţia), iar datele există numai pentru scenariu planificat, va conţine 500000 celule de date, dar este numai33 % dens. Combinaţia celor două cuburi va conţine 1000000 celule de date şi este67% dens.

46

Page 47: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 47/331

Modele de date multidimensionale pentru sisteme OLAP 

În multe aplicaţii multidimensionale se utilizează date din mai multe domeniide activitate (de exemplu activitatea financiar ă  şi activitatea de marketing sauactivitatea de producţie şi activitatea de desfacere). În aceste cazuri, se utilizează mai multe cuburi  n-dimensionale logice sau   structuri multicub. Problema care

apare în proiectarea unei structuri multicub este legată de modul cum se realizează legătura între cuburile n-dimensionale. Se consider ă cele două cuburi din exempluanterior: cubul cu date despre vânzări şi cubul cu date despre angajaţi. Cele două cuburi au două dimensiuni comune:  Loca ţ ie şi Timp. Cubul pentru vânzări are în plus dimensiunile Produs, Scenariu şi dimensiunea de variabile. Niciuna din acestedimensiuni nu este folosită de cubul pentru angajaţi. Cubul pentru angajaţi aredimensiunea  Angajat   şi dimensiunea de variabile legate de activitatea angajaţilor (de exemplu numărul total de ore lucrate/tip angajat) care nu sunt folosite de cubul  pentru vânzări. Se doreşte să se analizeze dacă există o relaţie între variabila“numărul de ore lucrate/tip de angajat” şi variabila “cantitatea de produse vândute”.

Pentru a compara valorile celor două variabile, care se găsesc în două  cuburi n-dimensionale separate, trebuie mai întâi să se definească un cadru analitic sau unnumitor comun [THOM96]. În cazul celor două cuburi n-dimensionale, numitorulcomun sunt cele două dimensiuni comune:  Loca ţ ie  şi Timp. În acest fel se potcompara valori individuale, serii dimensionale sau volume dimensionale. Figura2.6 arată o schemă pentru acest model multicub. Se observă că modelul conţinedimensiunile globale Loca ţ ie şi Timp şi fiecare cub n-dimensional din model este oramificaţie a dimensiunilor globale. Prin utilizarea structurii multicub este posibilde a integra seturi de date eterogene.

În concluzie, cel mai simplu mod de reprezentare a datelor unei aplicaţii

multidimensionale este cel al unui spaţiu cartezian definit de toate dimensiunileaplicaţiei (spaţiul datelor). Totuşi datele multidimensionale sunt împr ăştiate şicelulele de date nu sunt distribuite în mod egal în spaţiul multidimensional.Proiectanţii de instrumente OLAP au adoptat o varietate de strategii pentru a tratafenomenul de împr ăştiere dar  şi gruparea datelor. Instrumente ca Essbase, Power Play utilizează structura hypercub, o structur ă logică de cub simplu, dar cu unmodel sofisticat de compresie a datelor. Cealaltă structur ă, multicubul, este mai desîntâlnită. În aplicaţiile multicub, proiectanţii descompun baza de date într-un set destructuri multidimensionale, fiecare fiind compusă dintr-un subset de dimensiuniale bazei de date. Aceste structuri multidimensionale au diferite denumiri (variabile – Oracle Express, Pilot; structuri – Holos; cuburi – Microsoft OLAP).

2.1.6 Conceptul de împr ăştiere

Conceptul de împr ăştiere este frecvent asociat cu datele multidimensionale.Termenul de împr ăştiere a fost utilizat cu semnificaţia de valoare lipsă, valoareinaplicabilă  şi valoare zero. Primele două cazuri sunt considerate date invalide(conceptul de null). Codd, în cele 18 reguli pentru OLAP [CODD93], sugerează că 

modelele OLAP respectă regula privind valorile null, a modelului relaţional.Existenţa unui număr mare de valori zero nu este totuşi un exemplu real de

47

Page 48: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 48/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

împr ăştiere. Valoarea zero este validă ca orice alt număr. Confuzia a apărut,deoarece în aplicaţiile OLAP apare un număr mare de valori zero, precum şivolume mari de date lipsă şi invalide. Tehnicile pentru optimizarea fizică a stocăriiunui număr mare de valori repetate sunt similare şi uneori aceleaşi cu tehnicile

 pentru optimizarea fizică a stocării de volume mari de date lipsă şi invalide. Totuşivalorile lipsă şi cele invalide nu sunt date valide. Ele nu pot fi tratate în acelaşi modca orice altă valoare. De aceea, sunt necesare tehnici speciale pentru aceste cazuri.Tratamentul impropriu al valorilor null poate cauza calcule incorecte. Acurateţeacalculelor este de o importanţă crucială pentru analiza oricărui set de date,indiferent că este sau nu multidimensional. Problema tratării datelor împr ăştiateeste una foarte importantă şi este frecvent dezbătută în lumea bazelor de date.

Logicienii au crezut că există numai două valori logice: adevărat şi fals.Regulile logice, care se aplică la bazele de date, sunt exprimate în funcţie de acestedouă valori. Problema apare totuşi când se introduc date invalide. Dar conform

logicii, o propoziţie şi inversa sa nu pot avea ambele valoarea adevărat. Nu ştimdacă este adevărat sau fals, deoarece datele sunt lipsă. Conceptul de “invalid” estesimilar cu conceptul de “lipsă” în sensul că nu se poate prelucra ca o valoarevalidă, dar este diferit în sensul că ar putea fi greşit introdusă o valoare în acelcâmp. Datele lipsă şi cele invalide se introduc regulat în toate tipurile de baze dedate, inclusiv cele multidimensionale. În modelul relaţional, versiunea 2, Codd a  propus utilizarea unei logici bazată pe patru valori logice (figura 2.7). El aschimbat semnificaţia termenului de negaţie. Pentru propoziţii adevărate şi false,negaţia unui termen produce un termen diferit cu o valoare adevărată diferită.

 Negaţia lui adevărat este fals şi negaţia lui fals este adevărat. Pentru propoziţii cuvalori lipsă sau invalide, negaţia unui termen este el însuşi. Deci negaţia unei valorilipsă este “lipsă” şi negaţia unei valori invalide este “invalid” [THOM96].

Dimensiuni globale

Hypercubul pentru vânzări Hypercubul pentru angajaţi

Locaţie Timp○  ○ 

○  ○ 

Produs Scenariu Variabile○  ○  ○ 

○  ○  ○ 

Angajat Variabile○  ○ 

○  ○ 

Figura 2.6 Model multicub

48

Page 49: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 49/331

Modele de date multidimensionale pentru sisteme OLAP 

Această inconsistenţă în definiţia negaţiei produce totuşi o serie de probleme.Unii specialişti prefer ă să păstreze logica cu două valori, datorită propietăţilor ei dededucere şi eliminarea datelor invalide. Ei caracterizează în general, datele invalideca fiind rezultatul unei proiectări proaste a bazei de date. De exemplu, în loc de a

introduce valoare null pentru “numele so ţ iei ” într-o bază de date cu informaţiidespre angajaţi, când un angajat nu are soţie, ar fi mai bine de a introduce valoareavalidă “ Nu” în câmpul numit “este că  să torit ”. Se poate crea o tabelă separată cuinformaţii despre soţii. Îmbunătăţirea proiectării bazei de date ar putea eliminadatele invalide. Cele două tipuri de date (lipsă  şi invalide) trebuie totuşi să fietratate individual, deoarece ele afectează calculele în diferite moduri.

P Not (P)T FA AI IF T

T=adevărat A=lipsă F=fals I=invalid

Figura 2.7 Logica cu patru valori a modelului rela ţ ional, versiunea 2

2.2 Modele de date OLAP-extensii ale modelului relaţional

Aşa cum se observă în figura 2.8 modelele de date multidimensionale s-audezvoltat pe două direcţii şi anume: modele extensii ale modelului rela ţ ional   şimodele orientate pe cub.

Multe din modelele propuse sunt extensii ale modelului relaţional. Deexemplu, Gray [GRAY96] propune operatorul CUBE  ce generalizează clauzaGROUP BY din limbajul SQL şi care este o abordare foarte pragmatică, potrivită 

 pentru aplicaţiile OLAP. Modelul lui Li şi Wang [LIWA96] şi modelul lui Gyssensşi Lakshmanan [GYSS97] constituie o extensie a algebrei relaţionale. În cele ceurmează, se vor analiza câteva modele de date multidimensionale.

49

Page 50: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 50/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

2.2.1 Operatorul Cub de date

În limbajul SQL standard ‘93 se utilizează pentru agregare cinci funcţii:count(), sum(), min(), max(), avg() şi clauza GROUP BY. De asemenea, limbajul

SQL permite agregarea valorilor distincte (clauza DISTINCT). În afara de celecinci funcţii de agregare standard, multe SGBDR-uri permit funcţii statistice,funcţii de analiză financiar ă  şi alte funcţii specifice unor domenii. Unele sisteme  permit utilizatorilor să definească noi funcţii de agregare (de exemplu InformixIllustra).

Model cu facilităţi extinse –Lehner 

Concepte extinseModele extensii alealgebrei relaţionale

Operatorul Data Cube-Gra

Algebra de grupare-modelul Li, Wang

Modelul Gyssens

Modelul Agrawal

Modelul Cabbibo

Modelul Vassiliadis

Modelul Golfarelli

Modelul StarER 

Modelul Teste

Modelul Rafanelli

Modelul Guazzo

Modelul Blanschka

Modelul lui Kimball

Modelul MAC

Modele orientate pecub

Figura 2.8 Istoria modelului de date multidimensional 

50

Page 51: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 51/331

Modele de date multidimensionale pentru sisteme OLAP 

Gray [GRAY96] propune pentru agregare utilizarea operatorului CUBE.

Multe sisteme relaţionale permit deja aceşti operatori (Oracle, SQL Server). Deexemplu, se consider ă tabela de fapte F2_indicatori_performanţă (codcat, an,

nrcadre, nrtesa, nrstud_cer, nrdoct, …) şi tabela de dimensiuni Instituţii (codcat,dencat, codfac, denfac, codinst, denumire). Cheia primar ă a tabelei de fapte estecheie compusă (codcat, an), iar a tabelei de dimensiuni este codcat :

SQL> select an, codcat, nrcadre profesori from F2_indicatori_performan ţă ;

AN CODCAT PROFESORI-------------------------------------------2000 CIB 12000 IE 82000 MAN 12001 IE 3

SQL> select i.codfac, f.an, sum(f.nrcadre) profesori from F2_indicatori_performan ţă f, institutii iwhere f.codcat=i.codcat  group by i.codfac, f.an;

CODFAC AN PROFESORI

-------------------------------------------CSIE 2000 9CSIE 2001 3FMAN 2000 1

Operatorul ROLLUP creează subtotaluri:SQL > select i.codfac, f.an, sum(f.nrcadre) profesori

 from F2_indicatori_performan ţă f, institutii iwhere f.codcat=i.codcat  group by rollup(i.codfac, f.an);

CODFAC AN PROFESORI-------------------------------------------CSIE 2000 9CSIE 2001 3CSIE 12FMAN 2000 1FMAN 1

13

51

Page 52: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 52/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Primele două rânduri sunt identice cu cererea anterioar ă. Al treilea rând este unsubtotal al atributului “an” (apare valoarea null în coloană “an”). În realitate nusunt valori nule în această coloană (este un artificiu al operatorului  ROLLUP). Următorul rând este rând de detaliu, iar al cincilea rând este un alt subtotal după 

atributul “an”. Ultimul rând este un total general. Următoarea cerere esteechivalentă cu cererea ce utilizează operatorul ROLLUP:SQL > select i.codfac, f.an, sum(f.nrcadre) profesori

 from F2_indicatori_performan ţă f, institutii iwhere f.codcat=i.codcat  group by i.codfac, f.anunion select i.codfac, ‘ ‘, sum(f.nrcadre) profesori from F2_indicatori_performan ţă f, institutii iwhere f.codcat=i.codcat 

 group by i.codfac, ‘ ‘ union select ‘ ‘, ‘ ‘, sum(f.nrcadre) profesori from F2_indicatori_performan ţă f, institutii iwhere f.codcat=i.codcat  group by ‘ ‘, ‘ ‘, ;

CODFAC AN PROFESORI-------------------------------------------CSIE 2000 9

CSIE 2001 3CSIE 12FMAN 2000 1FMAN 1

13Citirea cererii este dificilă. De asemenea, tabela se parcurge de mai multe ori.

Operatorul  ROLLUP , mai concis şi mai uşor de citit, este mai eficient (mai ales  pentru seturi mari de date), deoarece tabela se parcurge o singur ă dată. Sunt posibile şi operaţii rollup par ţiale:

SQL > select f.an, i.codfac, sum(f.nrcadre) PROFESORI  from F2_indicatori_performan ţă f, institutii iwhere f.codcat=i.codcat  group by f.an, rollup(i.codfac);

AN CODFAC PROFESORI----------------------------------------------------2000 CSIE 92000 FMAN 12000 102001 CSIE 32001 3

52

Page 53: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 53/331

Modele de date multidimensionale pentru sisteme OLAP 

În acest caz, nu se produce un total general (total după toate dimensiunile).Dacă în  ROLLUP  sunt specificate N coloane, atunci se produc N+1 tipuri desubtotal.

Operatorul CUBE realizează toate tipurilor posibile de agregare (totaluri pentru

fiecare combinaţie posibilă de dimensiuni). De exemplu:SQL> select f.an, i.codfac, sum(f.nrcadre) PROFESORI  from F2_indicatori_performan ţă f, institutii iwhere f.codcat=i.codcat  group by cube(f.an,i.codfac);

AN CODFAC PROFESORI----------------------------------------------------2000 CSIE 92000 FMAN 1

2000 102001 CSIE 32001 3

CSIE 12FMAN 1

13Operatorul CUBE    produce toate combinaţiile posibile sau 2**N tipuri de

subtotaluri. Cubul poate fi un cub complet sau un cub par ţial. Funcţia GROUPING face distincţie între valorile null curente şi cele ce rezultă prin agregare, returnând o

valoare 0 pentru primul caz şi o valoare 1, când este detectat un subtotal. Deexemplu:SQL> select f.an, i.codfac, sum(f.nrcadre) profesori,

 grouping(f.an) t, grouping(i.codfac) f  from F2_indicatori_performan ţă f, institutii I where f.codcat=i.codcat  group by cube(f.an,i.codfac);

AN CODFAC PROFESORI T F

-----------------------------------------------------------------------2000 CSIE 9 0 02000 FMAN 1 0 02000 10 0 12001 CSIE 3 0 02001 3 0 1

CSIE 12 1 0FMAN 1 1 0

13 1 1Funcţia GROUPING poate fi utilizată, de asemenea, pentru filtrarea rândurilor.

53

Page 54: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 54/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

De exemplu:SQL> select f.an, i.codfac, sum(f.nrcadre) profesori

 grouping(f.an) t, grouping(i.codfac) f 

 from F2_indicatori_performan ţă f, institutii iwhere f.codcat=i.codcat  group by cube(f.an,i.codfac)having grouping(f.an)=0and grouping(i.codfac)=0;

AN CODFAC PROFESORI T F-----------------------------------------------------------------------2000 CSIE 9 0 02000 FMAN 1 0 0

2001 CSIE 3 0 0

Toate funcţiile utilizate în clauza GROUP BY (sum, count, max, min, variance,stddev) pot fi utilizate şi cu ROLLUP  şi CUBE. 

2.2.2 Modelul lui Li, Wang 

În [LIWA96] se defineşte un model de date multidimensional (MDD) pentru

aplicaţii OLAP. Conceptul de bază este cubul multidimensional .O schemă de cub n-dimensional este un set {(D1, R1), …,(Dn, Rn)} unde : Di

sunt dimensiuni şi Ri atribute.Un cub MD este o pereche (F,µ) unde F={(D1, r1), …,(Dn, rn)}(unde ri este o

relaţie pe Ri pentru fiecare i) şi µ este o funcţie de la {(D1, t1), …,(Dn, tn) | ∀ 1≤ i≤ n , ti ∈ri } la V (set de valori scalare). Deci un cub MD este un set de rela ţ iidimensionale ri şi o funcţie de la un n-tuplu la o valoare scalar ă.

O bază de date multidimensională este un set finit de cuburi MD şi un set finitde rela ţ ii  de grupare (grouping relations). De asemenea, se introduce o algebr ă 

(MD cube algebra), o extensie a algebrei relaţionale, pentru manipularea cuburilor (de exemplu reuniune de cuburi, adăugarea unei noi dimensiuni, agregarea cubuluietc) şi un limbaj de interogare algebric numit algebra de grupare (groupingalgebra).

Modelul lui Li şi Wang este un model multidimensional cu o puternică expresivitate prin setul de operatori definiţi, dar nu permite modelarea măsurilor complexe într-un singur cub. Pentru fiecare mă  sur ă  trebuie construit un cub MD separat. Ierarhiile multiple pot fi exprimate folosind operatorii algebrei de grupare(operatorul roll , order , operatorul de agregare).

54

Page 55: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 55/331

Modele de date multidimensionale pentru sisteme OLAP 

Pentru a ilustra acest model, autorii propun ca exemplu o fabrică de automobilecare doreşte să analizeze cazurile de reparaţii pentru maşinile pe care le produce.Se consider ă că o “reparaţie” este descrisă în funcţie de următoarele dimensiuni: 

  Vehicul (vehiculul ce trebuie reparat);  Timp (data reparaţiei);  Garaj (garajul ce execută reparaţia);  Clientul (propietarul maşinii reparate).Pentru o reparaţie sunt relevante următoarele informaţii: costurile pieselor 

componente (cost_comp), salariile (sal), costurile totale (cost_total), numărul de persoane implicate (nr_pers) şi durata reparaţiei (durata). Pentru fiecare mă  sur ă  seconstruieşte un cub separat. De exemplu, pentru mă  sura “cost_total” se defineşteurmătorul cub :  Reparatie_Vehicul=(rt, rg, rv, cost_total). S chema cub n – dimensional este:<(timp, Rd), (garaj, Rg), (vehicul, Rv)>, unde Rd ={an, luna, zi} .

2.2.3 Modelul lui Kimball 

În  [KIMB96] se defineşte schemă  stea, o reprezentare intuitivă a cubului dedate multidimensional într-un mediu relaţional. Schema  stea conţine o tabelă centrală şi un set de tabele de dimensiuni aranjate într-o manier ă radială, în jurultabelei centrale. Fiecare tabel ă  de dimensiuni reprezintă o dimensiune a activităţiianalizate, în timp ce tabela centrală conţine conţinutul cubului de date. Schema estefoarte asimetrică. Există o tabelă dominantă în centrul schemei, singura tabelă dinschemă cu multiple joncţiuni, prin care se conectează la celelalte tabele. Această tabelă se numeşte tabela de fapte (fact table). Celelalte tabele au numai o singur ă  joncţiune, prin care se leagă la tabela centrală şi se numesc tabele de dimensiuni sau dimensiuni (dimension table). Schema  stea reduce numărul de joncţiuni întretabele, ca urmare a procesului de denormalizare. Nu există nici o informaţie desprenivelurile ierarhice stocate în structura schemei  stea. În plus, reprezentarea uneidimensiuni printr-o singur ă tabelă conduce la date redundante, denormalizate şiinconsistente. În mediile cu depozite de date, aceasta nu cauzează nici o problemă,

deoarece datele sunt în cele mai multe cazuri interogate. Tabel ă  de fapte areurmătoarele caracteristici:  Conţine un număr foarte mare de tupluri (posibil milioane). Numărul de

tupluri din tabelă reprezintă de fapt produsul cartezian al dimensiunilor. Deexemplu, pentru analiza activităţii de desfacere a unei firme de comer ţ cu500 de magazine de distribuţie în întreaga lume şi care comercializează 50000 de produse în fiecare magazin, tabela de fapte va conţine500*50000*2*365 de tupluri. Baza de date va stoca informaţiile referitoarela tranzacţiile zilnice, pe o perioadă de doi ani.

  Dimensiunea ei creşte dinamic, în funcţie de cantitatea de date încărcate la

fiecare ciclu de actualizare a bazei de date, precum şi în funcţie de volumulde date istorice stocate în baza de date.

55

Page 56: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 56/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

  Este tabela care reflectă performanţa activităţii (procesului) analizate.  Cheia primar ă a tabelei este o cheie compusă, formată din cheile primare

ale tabelelor de dimensiuni. Fiecare tabel ă de fapte are o cheie compusă şiinvers fiecare tabelă care are o cheie compusă este o tabel ă de fapte.

  Este normalizată şi realizează de fapt o legătur ă indirectă între dimensiuni.Figura 2.9 prezintă un exemplu de schemă  stea. Tabela centrală este tabelaVânzări înconjurată de dimensiunile Timp, Client, Loca ţ ie, Produs, Vânză tor . Decischema stea are următoarele caracteristici:

  tabela de fapte se leagă de dimensiuni prin joncţiuni de egalitate;  fiecare atribut din cheie primar ă a tabelei de fapte reprezintă cheia primar ă 

a unei dimensiuni;  atributele non cheie pot fi agregate. Tabelele de fapte conţin numai atribute

numerice;  tabelele de dimensiuni sunt denormalizate.

Tabela de fapte

Vânzări

DimensiuneaClient

DimensiuneaTimp

DimensiuneaLocaţie

DimensiuneaProdus

DimensiuneaVânzător

Figura 2.9 Modelul stea

Avantajele schemei stea:  este simplu de construit;   reflectă cu exactitate modul cum înţeleg utilizatorii activitatea modelată;   furnizează o performanţă ridicată pentru cereri analitice, prin reducerea

numărului de joncţiuni;    permite modelarea unor structuri multidimensionale complexe;   este o schemă uşor de înţeles de către utilizatori, deoarece datele suntaranjate într-un mod uşor de înţeles, iar relaţiile între entităţi sunt foarte

clare;   toţi indicatorii de performanţă ai activităţii modelate sunt stocaţi în tabela

de fapte.Dezavantajele schemei stea:  este o schemă inflexibilă. Adăugarea unei noi dimensiuni în schemă, poate

duce la modificarea granulaţiei tabelei de fapte;   conţine date redundante ce conduc la creşterea riscului de inconsistenţă a

datelor;

56

Page 57: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 57/331

Page 58: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 58/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Avantajele schemei fulg de ză  pad ă :  este mai flexibilă şi se pot defini cerinţele utilizatorilor mult mai bine. De

exemplu, cu schema stea nu se pot folosi tabele istorice pentru modificareadimensiunilor;

  structura normalizată a dimensiunilor este mai uşor de modificat;  reduce redundanţa datelor;  îmbunătăţeşte performanţa operaţiilor de drill down şi roll up. Dezavantajele schemei fulg de ză  pad ă :  este mai complexă decât schema stea;   scade performanţa la interogare, deoarece sunt folosite multe joncţiuni;  schema este mai dificil de înţeles de către utilizatori, fiind mai apropiată de

modelul entitate-asociere.Modelele  stea  şi   fulg de ză  pad ă  , precum şi variantele lor au devenit o

reprezentare logică bine cunoscută a structurilor de date multidimensionale, în

sistemele relaţionale. Selectarea unei scheme potrivite ţine cont de raportul întrecostul de stocare şi performanţa interogării. Schema  stea ofer ă performanţe mai bune la interogare, datorită unui număr mic de operaţii de joncţiune între tabela de fapte şi tabelele de dimensiuni, dar costul de stocare este mai ridicat. Schema  fulg de ză  pad ă  implică mai multe operaţii de joncţiune, dar presupune o capacitate destocare mai mică. Pentru ambele modele există o mulţime de variante. Schema steade ză  pad ă  (starflake) sau schema   fulg de ză  pad ă  degenerat ă  (degeneratedsnowflake scheme) este o combinaţie de schemă  stea şi schemă  fulg de ză  pad ă  , încare o parte a tabelelor de dimensiuni sunt denormalizate.

Schema galaxie este o schemă  stea cu mai multe tabele de fapte. În schema constela ţ ie (fact constellation scheme) există  tabele de fapte suplimentare cestochează date agregate. O constela ţ ie este o colecţie de stele şi constă dintr-o steacentrală înconjurată de alte stele. Steaua centrală conţine datele la nivel atomic, iar celelalte stele conţin date agregate. Steaua centrală se leagă de celelalte stele prinatribute dimensionale (figura 2.11).

Figura 2.11 Constela ţ ia

58

Page 59: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 59/331

Modele de date multidimensionale pentru sisteme OLAP 

2.3 Modele orientate pe cuburi

Au existat, de asemenea, eforturi pentru a modela direct şi mai natural bazelede date multidimensionale şi anume modelele orientate pe cuburi.

2.3.1 Modelul lui Agrawal 

Modelul de date multidimensional propus de Agrawal [AGRA97] are în vedereurmătoarele aspecte:

  tratarea simetrică a dimensiunilor şi măsurilor;  flexibilitatea (multiple ierarhii, agregate ad-hoc);  un set minimal de operatori asemănători cu cei din algebra relaţională.

În modelul lui Agrawal datele sunt organizate în unul sau mai multe cuburi n-dimensionale (hypercuburi). Un cub are următoarele componente:

  k dimensiuni (fiecare dimensiune are un nume  Di şi un domeniu de valoridomi);

  elementele cubului sunt definite printr-o funcţie  E(C) care asociază dom1× …× domk  la un n-tuplu (valorile celulelor cubului C ) sau { 0, 1}. Astfel,E (C) (d1, …….., dk ) refer ă elementul de la “poziţia”  d1,……,dk acubului C. Elementele unui cub (valorile celulelor cubului) pot fi fie {0,1}sau un n-tuplu < X1,……,Xn>. Dacă elementul corespunzător laE(C)(d1,…..,dk) este “0” atunci acea combinaţie de valori aledimensiunilor nu există (celule f ăr ă conţinut). Valoarea “1” indică existenţa acelei combinaţii. Un n-tuplu reprezintă existenţa unei înregistr ăricu n mă  suri. Dacă un element al unui cub este “1” atunci nici unul dincelelalte elemente ale cubului nu pot fi un n-tuplu. Dacă toate elementeleunui cub sunt “0” sau dacă domeniul domi al dimensiunii Di nu are valori,atunci cubul este considerat a fi “gol” (empty).

  un n-tuplu ce descrie elementele cubului.

Dimensiunile nu au structur ă sau ordine şi elementele cubului sunt adresate  prin numele lor. De exemplu, un cub pentru analiza vânză rilor  poate aveaurmătoarele dimensiuni :

  Dimensiunea Produs (D1) cu domeniul de valori dom1={p1, p2, p3, p4};  Dimensiunea  Data (D2) cu domeniul de valori dom2={ian1, feb2, feb3,

mar4};  Dimensiunea Furnizori (D3) cu domeniul de valori dom3={s1, s2, s3, s4};  n-tuplu este format dintr-un singur membru <vânzare>;  Elementele cubului :

E (C)(p1, ian1, s1) este <10>

E (C)(p1, ian1, s2) este <20>E (C)(p1, ian1, s3) este <50>

59

Page 60: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 60/331

Page 61: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 61/331

Modele de date multidimensionale pentru sisteme OLAP 

utilizând o funcţie  felem. Acest operator este necesar pentru a permite tratareauniformă a dimensiunilor şi măsurilor. Are ca intr ări cubul C, dimensiunile  Di şica ieşire cubul C cu fiecare element (diferit de zero) extins cu valoarea dimensiunii Di corespunzătoare pentru acel element.

Matematic: push (C, Di ) =Ca  E (Ca)(d1,……..,dk) = g ⊕ di unde g= E (C)(d1,……..,dk).Operatorul ⊕ este :

-  0 dacă g=0 ,-  < d i > dacă g=1-  altfel g concatenat cu < di >.

Operatorul Pull este invers operatorului Push şi se utilizează pentru a convertiun element într-o dimensiune, astfel că elementul poate fi utilizat pentru joncţiuneşi este necesar pentru tratamentul simetric al dimensiunilor şi măsurilor. Operatorul Destroy şterge o dimensiune  D ce are domeniul format dintr-o singur ă valoare.Operatorul  Restriction operează pe o dimensiune a unui cub şi şterge valorilecubului ce nu satisfac o condiţie dată (operaţia slice  şi dice pe un cub ). Operatorul Join realizează joncţiunea unui cub m-dimensional C cu un cub n-dimensional C1  pe k dimensiuni numite dimensiuni de jonc ţ iune (joining dimensions) şi se obţinecubul Ca cu m+n-k dimensiuni. În cazul produsului cartezian, cele două cuburi nuau nici o dimensiune de joncţiune comună. Operatorul Merge este un operator deagregare.

Data

Mar4 <15> <10> <Vânzări>

Feb3 <20> <15> <15> <20>Feb2 <10> <15>Ian1 <10> <20> <25>

P1 P2 P3 P4 Produs

DataMar4 <15,p1> <10,p1> <Vânzări, Produs>Feb3 <20,p1> <15,p2> <15,p3> <20,p4>Feb2 <10,p2><15,p3>

Ian1 ………..

  p1 p2 p3 p4 produs

Figura 2.13 Operatorul Push

61

Page 62: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 62/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Tratarea simetrică a dimensiunilor  şi măsurilor are o influenţă mare în  proiectarea schemei conceptuale multidimensionale. Absenţa ei cauzează reproiectarea schemei atunci când se doreşte agregarea după un atribut ce a fostiniţial definit ca măsur ă. Autorii consider ă că operatorii relaţionali: proiecţie,

reuniune, intersecţie şi diferenţă cât şi operaţiile multidimensionale roll up, drill down pot fi exprimaţi în funcţie de operatorii prezentaţi anterior.Modelul nu face o distincţie explicită între structur ă  şi conţinut, nu conţine

informaţii despre structura dimensiunilor. Aceasta înseamnă că toate informaţiilestructurale şi funcţionale trebuie să fie incluse în cerere. Măsurile structurate caînregistr ări pot fi exprimate uşor, deoarece modelul permite n-tupluri.

2.3.2 Modelul lui Cabibbo

Modelul MD propus de Cabibbo este un model de date multidimensionalconceptual pentru sisteme OLAP. Cabbibo propune şi un limbaj de interogaredescriptiv bazat pe un calcul logic [CABB97]. În modelul MD, dimensiunile suntcategorii lingvistice ce descriu diferite moduri de prezentare şi de analiză ainformaţiilor. Fiecare dimensiune este organizată într-o ierarhie de niveluri (unnivel corespunde la un domeniu de date cu o anumită granularitate). Un nivel poateavea asociate descrieri. 

Fie ℒ un set de nume numite niveluri. Fiecare nivel l∈ℒ este asociat cu un setfinit de valori numit domeniu al lui l şi notat cu DOM(l). O dimensiune constă din:

  un set finit de niveluri L⊆ℒ;

  o ordine par ţială ≼ pe nivelurile din L (când l1 ≼ l2 spunem că l1 “roll-

up” la l2). De exemplu, garaj ≼ regiune înseamnă că nivelul “garaj” se vaagrega la nivelul “regiune”.

  o familie de funcţii “roll-up”. O funcţie R-UP(l1→l2) : DOM(l1) → 

DOM(l2 ) este definită pentru fiecare pereche de niveluri l1 ≼ l2. Funcţiile“roll-up” sunt o facilitate a modelului MD, ele descriu cum sunt asociatevalorile diferitelor niveluri (de exemplu garajele A, B, C apar ţin la

regiunea Bavaria). Funcţiile “roll-up” ofer ă un instrument puternic pentruinterogarea datelor multidimensionale, întrucât ele specifică modul cumtrebuie agregate datele.

Fiecare nivel l∈L este asociat cu un set de valori numit domeniu (de exempludom(garaj) ={A,B,C,…….}). O dimensiune cu un singur nivel se numeşte atomică . 

O schemă MD constă din:  un set finit D de dimensiuni;   un set finit F de tabele de fapte ( f -table) de forma

f[A1:l1<d1>,….., An:ln<dn>]: lo<do>, unde f este numele tabelei, fiecare

62

Page 63: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 63/331

Page 64: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 64/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Modelul MD a fost definit în principal, pentru dezvoltarea unei metodologii de  proiectare a bazelor de date multidimensionale.  Ierarhiile dimensionale suntdefinite explicit în modelul MD, în timp ce în modelul lui Agrawal  ele suntimplementate folosind un operator special al limbajului de interogare (operatorul

merge). De asemenea, modelul lui Agrawal este orientat în principal, spre oimplementare SQL, în baze de date relaţionale. Este posibilă definirea ierarhiilor 

multiple într-o dimensiune, deoarece relaţia ≼ defineşte numai o ordine par ţială penivelurile dimensiunii. Limbajul de interogare descriptiv este un calcul logic(conţine operaţii logice (∧, ∨, ¬), cuantificatori (∀  şi ∃) şi funcţii definite deutilizatori). În [CABB98b] se extinde modelul multidimensional pentru a permite şimăsuri structurate ca înregistrare şi se defineşte un limbaj de interogare algebric.Algebra utilizează 10 operatori, mulţi sunt similari cu operatorii relaţionali

(joncţiunea, produsul cartezian, selecţia etc).

2.3.3 Modelul lui Blaschka

Tehnica de modelare ME/R propusă de autori [BLAS00] pentru proiectareaschemei multidimensionale  este o extensie a tehnicii entitate-asociere. Notaţiilegrafice utilizate sunt specificate în figura 2.15. Se definesc următoarele concepte:

  o entitate specială : “nivel al dimensiunii” (dimension level);  o relaţie n-ar ă numită relaţia “ fapt “ ( fact relationship);  o relaţie binar ă numită relaţia de “clasificare” (classification relationship).Pentru a modela structura datelor se introduce o relaţie binar ă specială: rela ţ ia

de clasificare. Ea asociază un nivel A cu un nivel superior B (de exemplu nivelul“oraş” este “clasificat” în funcţie de nivelul “ţar ă”).

Graficul de clasificare este un graf aciclic definit astfel:  RG=(E,V) unde : Eeste un set finit al tuturor nivelurilor e1,…,ek  şi V={(ei, ej) | i# j ∧1≤ i, j≤ k ∧eieste clasificat în funcţie de ej}.

 Numele rela ţ iei de clasificare descrie criteriul de clasificare (de exemplu,“locuieşte în” pentru rela ţ ia de clasificare ce conectează nivelul “client” şi nivelul“regiune geografică”). Rela ţ ia fapt asociază n niveluri. O astfel de relaţie reprezintă un  fapt  (de exemplu “repararea maşinilor”) de dimensionalitate n.  Nivelurile asociate direct cu  faptul  sunt numite niveluri dimensionale atomice (atomicdimension levels).

64

Page 65: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 65/331

Modele de date multidimensionale pentru sisteme OLAP 

Relaţie de clasificare

Fapt

 Nivel

Figura 2.15 Nota ţ ii grafice în tehnica ME/R

Atributele unei rela ţ ii fapt  modelează  mă   surile faptului (date cantitative) întimp ce nivelurile asociate prin aceasta relaţie, modelează datele calitative. Autorii propun ca exemplu o fabrică de automobile, care doreşte să analizeze cazurile dereparaţii pentru maşinile pe care le produc. Se consider ă că o “reparaţie” estedescrisă în funcţie de următoarele  dimensiuni: Vehicul  (vehiculul ce trebuiereparat),  Ziua (data reparaţiei), Garaj (garajul ce execută reparaţia) şi Clientul (propietatul maşinii reparate). Pentru o reparaţie sunt relevante următoareleinformaţii: costurile pieselor componente, salariile, costurile totale, numărul de persoane implicate şi durata reparaţiei.

Pentru a construi graful ME/R trebuie respectate următoarele condiţii :  nu există noduri izolate, fiecare arc conectează două noduri (fiecare nod

este fie sursă sau destinaţie la cel puţin un arc). Sunt patru tipuri de arce :relaţia între un nivel  şi un atribut , relaţia între un fapt  şi un atribut , rela ţ iade clasificare între două niveluri şi relaţia “este dimensiune a” între un fapt  şi nivelurile corespunzătoare;

  nu se poate conecta un fapt cu un nivel printr-o rela ţ ie de clasificare;   sunt trei tipuri de noduri: nivel , fapt  şi atribut . Două noduri atribut nu pot

fi conectate;  un graf ME/R constă minim dintr-un nod  fapt şi un nod nivel  conectat

  printr-un arc “este dimensiune a”. La orice nod se ajunge plecând de lanodul fapt printr-o secvenţă de noduri şi arce;  se evită ciclurile în ierarhiile de clasificare (figura 2.16);Autorii propun, de asemenea, următorul set de operaţii:  inserare nivel  (se creează un nivel izolat).  Rela ţ iile de clasificare pentru

acest nou nivel trebuie adăugate separat;   ştergerea unui nivel  (ştergerea unui nivel  existent dar izolat). Instanţele

nivelului sunt şterse automat;  actualizarea unui atribut  (crearea un nou atribut f ăr ă ataşarea lui la un

nivel sau fapt, ştergerea unui atribut existent dar deconectat, conectarea sau

65

Page 66: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 66/331

Page 67: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 67/331

Page 68: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 68/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Cex={creparaţie_vehicul} cu Creparaţie_vehicul:dom (reparaţie_vehicul)→codom (reparaţie_vehicul)De exemplu: creparaţie_vehicul (“Popescu”, “Cluj”, “01/01/97”, “B-07-NID”)= ($500,$200, $700, 2, 8) 

AVex={avvârsta, avvenit} cuavvârsta : dom (client)→dom (vârsta) şi avvenit: dom (client)→dom (venit)De exemplu: avvârsta(“Popescu”)=70; avvenit(“Popescu”)=50000$

O schemă MD consistentă ℳ=<F, L, A, gran, class, attr> trebuie să respecteurmătoarele restricţii:

  fiecare colecţie de fapte trebuie să fie asociată la cel puţin un nivel;   fiecare nivel  trebuie să facă parte dintr-o ierarhie de clasificare sau să fie

asociat la o colecţie de fapte (niveluri izolate nu există);  fiecare atribut trebuie să fie asociat fie la o colecţie de fapte sau la un nivel 

dimensional;   nu se permit ierarhii dimensionale izolate (nu sunt conectate la o colecţie

de fapte).

costc=costuri componentesal=salariicostt=costuri totale nrpers=număr persoane

an

luna

ziua

client

model masina garaj regiune

Tipgaraj

Costc

sal

costt

nr ers

vârsta

durata

venit

taramarca

Figura 2.17 Reprezentarea grafică a unui model MD

68

Page 69: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 69/331

Modele de date multidimensionale pentru sisteme OLAP 

2.4 Evaluarea modelelor multidimensionale

Un model de date [ELMA94, BATI92] este un set de concepte ce pot fiutilizate pentru a descrie structura unei baze de date. Modele de date pot fi

clasificate în:  modele conceptuale (high-level models): ofer ă concepte ce sunt apropiate

de modul în care utilizatorii percep datele şi sunt independente deimplementare;

  modele logice: ofer ă concepte ce pot fi înţelese de utilizatorii finali şidepind de tipul de SGBD utilizat .

  modele fizice (low-level models): ofer ă concepte ce descriu detalii desprecum sunt stocate fizic datele (descrierea datelor pe suport fizic), depinzândde SGBD-ul utilizat ;

De exemplu, într-un mediu tranzacţional, proiectarea la nivel conceptual poateutiliza modelul entitate-asociere sau limbajul de definire obiectual (ObjectDefinition Language-ODL) pentru a reprezenta ideile utilizatorilor, la nivel logic se poate utiliza modelul relaţional, ierarhic sau reţea şi la nivel fizic implementareadepinde de SGBD-ul folosit (de exemplu Oracle, Informix, ObjectStore etc)(figura 2.18). Într-o manier ă asemănătoare, într-un mediu OLAP (figura 2.18) se poate folosi modelul de date multidimensional  la nivel conceptual şi în funcţie dearhitectura aleasă: relaţional-OLAP (ROLAP), orientat-obiect-OLAP (O3LAP) saumultidimensional (MOLAP) se poate folosi un model diferit la nivel logic şi unSGBD diferit pentru implementare.

În afar ă de cele trei modele menţionate mai sus, există un set de modele (lanivel formal) al căror concepte nu pot fi utilizate în etapa de proiectare a bazei dedate, dar ofer ă un cadru teoretic şi includ o algebr ă sau calcul. De exemplu, înmediu tranzacţional, un model formal ar putea fi algebra relaţională. Conform cuaceastă clasificare, modelele multidimensionale pot fi: modele multidimensionaleconceptuale, modele multidimensionale logice, modele multidimensionale fizice  şimodele multidimensionale formale.

Mediu tranzacţional SGBDOO Mediu OLAP

ODL SGBDMD

idei relaţii SGBDR idei MDDM clase SGBDOO

E/R relaţii SGBDR 

Figura 2.18 Procesul de modelare a datelor în mediu tranzac ţ ional  şi mediu OLAP 

69

Page 70: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 70/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Următoarele modele sunt considerate modele conceptuale: modelul lui Lehner [LEHN98], modelul lui Cabibbo şi Torlone [CABB98], modelul lui Golfarelli[GOLF98], modelul lui Blaschka [BLAS00], modelul StarER [TRYF99] şimodelul MAC [TSOI01]. Aceste modele încearcă să reprezinte modul cum

utilizatorii percep un cub multidimensional, f ăr ă să acorde o atenţie deosebită formalismului. Modelul StarER [TRYF99] este un model de date bazat pe modelulentitate-asociere care satisface următoarele cerinţe: modelează faptele şi propietăţile lor, asociază dimensiunile temporale la  fapte, modelează obiecte, propietăţile lor şi asocierile dintre ele, modelează asocierile între obiecte şi  fapte.Elementele constructive ale modelului sunt :  faptele, entit ăţ ile, asocierile întreentităţi şi fapte (1:1, 1:m, n:m) şi atributele (propietăţi statice ale entităţilor,asocierilor sau faptelor ).

Următoarele modele sunt considerate modele logice: modelul lui Kimball

[KIMB96], modelul lui Mangisengi şi Wagner [MANG99], modelul lui Moody şiKortink [MOOD00] şi modelul lui Teste [TEST00]. În  [KIMB96] se defineşteschema stea (star join schema) ca fiind compusă dintr-o tabel ă de fapte centrală, dedimensiuni mari şi un set de tabele de dimensiuni mai mici. În [MANG99] sedefineşte conceptul de rela ţ ii imbricate (nested relations), relaţii care nu sunt înforma normală unu. O rela ţ ie imbricat ă  este o relaţie ale cărui atribute pot fi alterelaţii. Prin rela ţ ii  imbricate se pot specifica nivelurile de detaliu diferite alemă  surilor . În [MOOD00] se prezintă o metodologie de proiectare a modelelor multidimensionale plecând de la modelele entitate-asociere. Schemele

multidimensionale propuse sunt caracterizate de niveluri diferite de denormalizare,în fiecare tabel ă  de fapte sau tabel ă  de dimensiuni. Autorii prezintă următoareletipuri de scheme multidimensionale:

  schema flat conţine un număr minim de tabele de fapte şi nici o tabel ă de dimensiuni, deoarece sunt denormalizate şi toate informaţiile sunt stocateîn tabele de  fapte. Toate joncţiunile sunt antecalculate; 

  schema cu etaje (terraced) conţine numai tabele de fapte şi nici o tabel ă de dimensiuni. Această schemă antecalculează numai joncţiunile  stea (careimplică o tabelă de fapte şi o tabelă de dimensiuni);

  schema  stea conţine tabele de fapte şi tabele de dimensiuni. Ierarhiile nusunt prezentate în mod explicit; 

  schema constela ţ ie (constellation);   schema galaxie (galaxy);   schema fulg de ză  pad ă este o schemă stea normalizată;   schema   stea cluster (star cluster) este o schemă   fulg de ză  pad ă  în care

tabelele de  dimensiuni, ce nu au ierarhii multiple, sunt compuse într-osingur ă tabel ă de dimensiuni.

70

Page 71: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 71/331

Modele de date multidimensionale pentru sisteme OLAP 

La nivel formal, s-au identificat următoarele modele: modelul lui Agrawal[AGRA97], modelul lui Li şi Wang [LIWA96], modelul lui Gyssens [GYSS97],modelul lui Vassiliadis [VASS98] şi modelul lui Guazzo [GUAZ00]. În[AGRA97] se prezintă unul din primele modele multidimensionale şi probabil unul

de referinţă. Principalele caracteristici ale acestui model sunt: tratamentul simetrical măsurilor şi dimensiunilor, un set minim de operatori, care pot fi prezentaţi şi înlimbajul SQL şi posibilitatea de a defini ierarhii multiple într-o dimensiune. Acestmodel nu ofer ă prea multe elemente conceptuale pentru a modela o schemă conceptuală multidimensională. În [GYSS97] modelul permite cereri ad-hoc,gruparea şi agregarea seturilor de date. Se propune, de asemenea, o algebr ă asemănătoare cu algebra relaţională. Operatorii  fold   şi unfold  permit conversiamăsurilor în atribute dimensionale şi invers. În [VASS99] şi [VASS00] se descrieun alt model formal pentru date multidimensionale, care poate fi implementat înarhitectura ROLAP şi MOLAP.

La nivel fizic, se pune accentul mai mult pe tehnicile de stocare utilizate,specifice SGBD-ului şi mai puţin pe definirea unui model de date.

În tabelul 2.2 se prezintă o sinteză a clasificării modelelor multidimensionale  pe cele trei niveluri: conceptual, logic şi formal. Se constată că modeleleconceptuale ofer ă un set mai bogat de construcţii semantice, în scopul de a capturaideile utilizatorilor. Se observă, de asemenea, că cele mai recente modele folosescmai multe semantici. Aceasta poate fi interpretată ca o tendinţă a îmbogăţiriisemantice a modelelor multidimensionale.

Tabelul 2.2

 Analiză comparativă a modelelor multidimensionaleNivelul Modele extensii ale

modelului relaţional

Modele orientate pe cub

conceptual StarER, Lehner, Cabibbo, Golfarelli,Blaschka, MAC

logic Kimball, Testeformal Teste, Li şi Wang, Gyssens, Cabibbo, Agrawal, Vassiliadis,

Guazzo

În [BLAS99] Carsten Sapia prezintă un set de cerinţe pe care ar trebui să leaibă un model de date multidimensional şi limbajul lui de interogare. Acestecerinţe sunt derivate din principiile generale de proiectare ale sistemelor informatice ce au utilizat modelul relaţional şi de la caracteristicile aplicaţiilor OLAP dezvoltate:

Principii generale de proiectare. Cerinţele generale pentru selectarea unuimodel de date formal, ce poate servi ca un fundament pentru sistemele de baze dedate multidimensionale, sunt similare cu acelea ce au determinat succesulmodelului relaţional şi anume:

  un model independent de implementare. Modelul formal trebuie să fie pur conceptual, să nu conţină vreun detaliu de implementare. Această cerinţă este importantă în special, pentru sistemele ROLAP care implementează multidimensionalitatea prin maparea modelului multidimensional logic la

71

Page 72: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 72/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

un model relaţional. În acest caz, nivelul relaţional trebuie să fie consideratca structura “fizică” pentru stocarea datelor. 

    separarea structurii de date de con ţ inut. Formalismul trebuie să permită definiţia separată a structurii de date (cubul multidimensional şi

dimensiunile lui) şi a conţinutului (valorile din celule).   limbaj de interogare declarativ. Analog cu limbajul SQL, limbajul deinterogare multidimensional (calcul logic sau algebr ă) trebuie să fiedeclarativ, pentru a permite optimizarea cererii şi independenţa datelor.

Pe lângă aceste cerinţe generale, aplicaţiile OLAP au o serie de cerinţe specialece nu se aplică la alte domenii de aplicaţii pentru analiza multidimensională.Aceste cerinţe sunt:

Dimensiuni structurate complex. Dimensiunile ofer ă informaţii de contextdespre datele ce sunt analizate. Pentru a prezenta aceste cerinţe, autorii utilizează un exemplu. O firmă de maşini doreşte să analizeze reparaţiile de maşini pentru aîmbunătăţi produsele ei, să definească noi politici de garanţie şi să crească calitateagarajelor. Subiectul de analiză este “reparaţia maşinii”. Dimensiunile acesteiaplicaţii sunt: maşina ce este reparată (de exemplu maşina lui Ionescu), garajul ceface reparaţia şi ziua când se execută reparaţia (de exemplu 27 Iunie). Pentruaplicaţiile OLAP, din perspectiva utilizatorului OLAP, elementele (respectivinstanţele) unei dimensiuni (membrii dimensiunii) nu sunt ordonate linear (deexemplu garajele). O excepţie de la această regulă este dimensiunea Timp ce posedă o ordine moştenită. Pentru a structura o dimensiune sunt utilizate ierarhiile. Fiecare nivel ierarhic conţine un set distinct de membri. Un nivel L1 al ierarhiei se poate agrega (roll-up) la alt nivel L2 . Semantica acestei relaţii este că nivelul L2reprezintă o clasificare (sau abstractizare) a conceptelor lui L1. Pentru a descrie oierarhie, este necesar a modela structura unui nivel (level structure) şi a determinacorespondenţa între elementele nivelului inferior  şi elementele nivelului superior ( structura membru/member structure). Ambele structuri ale unei dimensiuni pot fivizualizate folosind grafice, unde nivelurile/membrii apar ca noduri şi relaţiile deagregare ca arce. De exemplu, garajele pot fi clasificate după regiunea geografică (de exemplu Bavaria) sau după tipul de garaj (de exemplu cu contract sauindependent). În terminologia OLAP, se spune ca nivelul ierarhic “garaj” roll up lanivelurile “regiune geografică” şi “tip de garaj”. Logic se definesc două ierarhiidistincte pe dimensiunea Garaj. Un alt mod de structurare a dimensiunilor, din punctul de vedere al utilizatorului, este utilizarea atributelor dimensionale. Aceste

atribute descriu membrii dimensiunii, dar nu definesc ierarhii (de exemplu numeleşi adresa propietarului actual al unei maşini). Nivelurile ierarhiilor pot avea diferiteatribute dimensionale.  Ierarhiile şi atributele ce structurează dimensiunile suntelementele componente ale schemei conceptuale a bazei de date.

Măsuri complexe. Conţinutul unei celule a cubului multidimensional poate fi,de asemenea, structurat într-un mod complex. Fiecare celulă poate conţine o seriede măsuri ce formează o structur ă tip înregistrare. Aplicaţiile OLAP adesea conţinun volum mare de măsuri derivate (măsuri ce nu sunt atomice, în sensul că ele potfi calculate de la alte măsuri atomice sau derivate). În exemplu prezentat, suntdefinite următoarele măsuri: ”salariul”, „costul pieselor componente”, „costul

total”, „durata de reparaţie” şi „numărul de persoane” implicate într-o reparaţie.„Costul total” este o măsur ă derivată, se calculează din costurile pieselor 

72

Page 73: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 73/331

Page 74: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 74/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Tabelul 2.3  Evaluarea modelelor multidimensionale conform cerin ţ elor prezentate

în [BLAS99]

Modelarea dimensiunilor complexe

Modelarea măsurilor 

complexe

Formalism pentru limbaj de

interogare

Model

Separa-reaexpli-cită 

struc-tura/

conţinut

 Nivelierar-hic

MembriForma-

lism pentruniveluri

Atri- butedimen

sionale

Sime-trie

măsurişi

membritip

înregDeriv Adititiv Tip

Ierarhiiad-hoc

Funcţiide

agreg.defi-

nite deutiliz.

Agrawal Nu Nu Nu Da Nu Da Nu Nu Nu alge- bra

Da Da

Li/Wang Da Da Da Da Da Nu Nu Nu Nu alge- bra

Da Da

Gyssens Da Da Da Da Da Da Da Nu Nu alge- bra sicalcul

Da Da

Cabbibo Da Da Da Da Nu Da Nu Nu Nu alge- bra sicalcul

Da Da

Vassiliadis Nu Da Da Da Nu Da Nu Nu Nu alge- bra

  Nu Nu

Lehner Da Da Da Da Da Nu Nu Nu Pemăsura

alge- bra

  Nu Nu

Golfarelli Da Da Da Nu Da Nu Da Da Da alge- bra

Da Nu sespeci-fica

MAC Da Da Da Nu Nu Da Nu Da Nu Nu Nu NuStarER Da Da Da Nu Da Da Nu Da Nu Nu Nu NuBlaschka Da Da Da Da Da Da Da Da Nu alge-

 bra  Nu Nu

Teste Da Da Da Da Da Da Nu Nu Nu alge- bra

  Nu Nu

Tabelul 2.4  

 Evalurea modelelor de date multidimensionale conform cerin ţ elor prezentateîn [VASS99]

Spaţiu

multidimensional

Limbajul de interogare Arhitectura

implementată 

Modele Cuburi Ierarhii Procedural Declarativ Vizual ROLAP MOLAP

Orientat

pe

relaţional

Gray T - - extensieSQL

- da -

Li/Wang T Implicit algebra - - da -Gyssens T da algebra calcul - da -

Teste T da algebra - - da -StarER T da - - - da -Orientat

pe cub

Agrawal C - algebra - - da da

Cabibbo C da algebra calcul da da daVassiliadis C da algebra - - da daLehner C da algebra - - da implicitGolfarelli C da algebr ă - - da daMAC C da - - - - daGuazzo C da algebra - - - daBlaschka C da algebra - da da da

74

Page 75: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 75/331

Modele de date multidimensionale pentru sisteme OLAP 

Rezumat  La ora actual ă  exist ă  un numă r mare de modele de date multidimensionale

 propuse. Cele mai multe dintre ele sunt modele de date logice  şi numai câteva pot   fi considerate pur conceptuale. Fiecare prezint ă  o viziune proprie a cerin ţ elor 

analizei multidimensionale, o terminologie  şi un formalism propriu.Modelele de date multidimensionale s-au dezvoltat pe două  direc ţ ii  şi anume:modele extensii ale modelului rela ţ ional  şi modele orientate pe cub.

  Pentru a descrie în detaliu modelele de date multidimensionale  şi a putea fiîn ţ elese, se utilizează  o serie de concepte de bază   şi anume: cubul n-dimensional,multicubul, dimensiunile, ierarhiile  şi mă  surile.

Combina ţ ia de multiple dimensiuni  şi multiple niveluri pe dimensiuneconstituie esen ţ a unui cub n-dimensional.

 Dimensiunile furnizează  informa ţ ii descriptive despre fiecare indicator, con ţ inîn general date statice  şi sunt esen ţ iale pentru analiză .

Cele mai multe dimensiuni au o structur ă  multi-nivel sau ierarhică . Ierarhiile sunt fundamentul pentru agregarea datelor  şi pentru navigarea între nivelurile dedetaliu dintr-un cub n-dimensional.

O mă  sur ă  este un indicator de performan ţă  prin care se poate analiza performan ţ a activit ăţ ii modelate. Valorile unui indicator se modifică continuu.

  Datele multidimensionale sunt împr ăştiate  şi celulele de date nu sunt distribuite în mod egal în spa ţ iul multidimensional. Proiectan ţ ii de instrumenteOLAP au adoptat o varietate de strategii pentru a trata fenomenul de împr ăştieredar  şi gruparea datelor.

Cuvinte cheie

Cub n-dimensional, dimensiune, structur ă multicub, ierarhie, mă  sur ă  , împr ăştiereadatelor, model multidimensional conceptual, model multidimensionl logic, schema  stea, schema fulg de ză  pad ă   , modele de date OLAP extensii ale modeluluirela ţ ional, modele orientate pe cuburi. 

75

Page 76: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 76/331

 

Capitolul 3

Arhitectura sistemelor OLAP

Sistemele OLAP permit analiştilor  şi managerilor să îmbunătăţească  performanţele unei firme, printr-un acces interactiv rapid la o mare varietate de

viziuni de date organizate, pentru a reflecta aspectul multidimensional al datelor dintr-o întreprindere. Modelul conceptual multidimensional este cel mai naturalmod de a vizualiza informaţiile din afaceri. Dar stocarea acestor volume mari deinformaţii multidimensionale, într-un mod practic pe calculator, este departe de a fiuşor. Datele multidimensionale nu trebuie să fie numai stocate ci trebuie să fievizualizate, actualizate şi folosite pentru calculul altor rezultate, preferabil în mai puţin de cinci secunde. Modul cum sunt stocate va afecta performanţa şifuncţionalitatea la fiecare din celelalte cerinţe. Din acest motiv, instrumenteleOLAP trebuie să ofere un r ăspuns rapid, indiferent de volumul de date ce trebuie

utilizat pentru o simplă interogare. Timpul de r ăspuns pentru o cerere ar trebui să depindă de numărul de rezultate afişate pe ecran şi nu de dimensiunea bazei dedate. În practică, cele mai multe aplicaţii OLAP sunt foarte împr ăştiate. În generalmai puţin de o celulă dintr-o mie de celule are date. Deoarece aplicaţiile OLAPsunt de fapt sisteme suport de decizie interactive, este important ca ele să r ămână rapide, chiar dacă baza de date este mare şi împr ăştiată. Se urmăreşte să seconsume mai puţin spaţiu fizic pentru stocarea informaţiilor lipsă sau a indecşilor.Multe soluţii există, fiecare cu avantaje şi dezavantaje.

Factorii ce determină alegerea unei soluţii sunt :  Volumul de date curente stocat. Dacă volumul este relativ mic, o stocare

în RAM ar fi cea mai bună soluţie;  Gradul de împr ăştiere a datelor. Dacă datele sunt foarte împr ăştiate, poate

fi necesar ă o indexare mai complexă  şi compresia datelor, care vor faceinstrumentul mai lent;

  Frecvenţa de actualizare a datelor  şi modul cum se face actualizarea (înloturi sau celule individuale);

   Numărul de utilizatori;  Tipul arhitecturii client/server (unde are loc procesarea

multidimensională);  Cantitatea de memorie reală şi virtuală valabilă. Aceasta va determina câte

date active trebuie păstrate în memorie;

76

Page 77: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 77/331

Page 78: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 78/331

Page 79: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 79/331

 Arhitectura sistemelor OLAP 

ROLAP faţă de complexitatea implementării relaţionale.  Factorii dinamici includcaracteristicile de încărcare ale serverului de bază de date şi ale motorului ROLAP,volumul datelor curente ce trebuie să fie transferate de la sistemul relaţional lamotorul ROLAP. De exemplu, Decision Suite/Microstrategy permite

administratorului să determine locaţia procesării prin metadate.Alte probleme ale instrumentelor ROLAP sunt metamodelele (pentru o schemă  stea sau   fulg de ză  pad ă  metamodelul este foarte important), seturile de funcţiicomplexe etc. Limbajul SQL standard nu permite operaţii multidimensionale.Specialiştii ofer ă trei soluţii pentru a adăuga funcţionalitate multidimensională ladatele stocate în tabelele SQL:

  integrarea procesării multidimensionale în sistemul de gestiune a bazei dedate relaţionale, fie prin extinderea limbajului SQL sau prin adăugareafuncţionalităţii multidimensionale în nucleul SGBD-ului;

  executarea în mai mulţi paşi a comenzilor SQL (multipass SQL).Instrumentul OLAP realizează o serie de comenzi SELECT, în care ieşirilecomenzilor anterioare sunt stocate în tabele temporale, care sunt apoiutilizate de comenzile următoare;

  încărcarea datelor relevante din tabelele corespunzătoare pe un server deaplicaţie intermediar, unde este realizată procesarea multidimensională.

Datorită modului complicat în care datele sunt stocate pe disc, instrumenteleOLAP ce folosesc baze de date relaţionale permit numai citirea datelor. Alteinstrumente trebuie să fie utilizate pentru actualizarea datelor de bază şi a tabelelede agregate. Aceste instrumente ROLAP nu pot fi folosite pentru analize de tip

“what-if ”.În concluzie, stocarea datelor multidimensionale se face într-o bază de daterelaţională atunci când:

  Volumul de date este prea mare pentru a fi duplicat. Datele atomice nu suntcopiate în baza de date multidimensională ci sunt stocate în baze de daterelaţionale sursă (depozite de date/centre de date) şi citite când este nevoie;

  Datele sursă se modifică frecvent şi este mai bine de a citi în timp realdecât din copii;

  Integrarea cu alte sisteme informatice relaţionale existente;  Firma are o politică de neduplicare a datelor în alte structuri de fişiere,

  pentru securitate sau alte motive, chiar dacă aceasta conduce la aplicaţiimai puţin eficiente;

Câteva avantaje ale sistemelor ROLAP sunt:  se integrează cu tehnologia şi standardele existente;  sistemele MOLAP nu permit cereri ad-hoc eficace, deoarece sunt

optimizate pentru operaţii multidimensionale;  actualizarea sistemelor MOLAP este dificilă;  sistemele ROLAP sunt adecvate pentru a stoca volume mari de date, prin

utilizarea procesării paralele şi a tehnologiilor de partiţionare etc;  sistemele MOLAP sunt limitate la 5-10 dimensiuni şi sunt adecvate pentru

aplicaţii departamentale cu volume mici de date şi dimensionalitate

79

Page 80: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 80/331

Page 81: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 81/331

 Arhitectura sistemelor OLAP 

este foarte rar eficientă. Chiar şi atunci când datele sunt stocate în memorie, esteadesea necesar de a păstra datele într-un format mai complex decât o simplă matrice. Aceasta are legatur ă cu fenomenul de împr ăştiere şi cu cerinţa de amodifica dimensiunile, f ăr ă să fie nevoie să se reconstruiască din nou întreaga

matrice. În cazul stocării pe disc a datelor împr ăştiate, datele sunt citite în blocuri şidacă fiecare bloc are un grad de împr ăştiere mare, multe blocuri goale sau aproapegoale vor fi stocate în memorie, iar memoria va fi utilizată de mult mai multe oridecât este necesar.

Sistemele MOLAP au pus accentul pe flexibilitatea  şi optimizarea tehnicilor de stocare  şi pe conceptul de tranzac ţ ie. Sistemele MOLAP nu au încă o tehnologie  pentru stocarea şi gestionarea datelor unanim acceptată. Stocarea fizică a datelor multidimensionale, precum şi fenomenul de împr ăştiere sunt preocupări majore, îndomeniul bazelor de date multidimensionale. O tehnică de stocare a datelor optimă ar trebui să ţină cont de mulţi factori dinamici şi anume:

    profilul datelor şi volumul lor (numărul de dimensiuni şi membrii aidimensiunilor, tipuri de date etc);

  fenomenul de împr ăştiere (în care dimensiuni sau combinaţii dedimensiuni, tipul de împr ăştiere);

  frecvenţa de modificare în sursele de date (cât de des vor fi actualizate bazele de date multidimensionale);

  frecvenţa de modificare în datele multidimensionale;  frecvenţa de modificare în modelul multidimensional ;  accesul concurent.

Ideal un SGBD multidimensional (SGBDMD) ar trebui să aleagă structura dedate optimă în funcţie de aceşti factori. În cele mai multe SGBDMD comerciale seutilizează o tehnică de stocare pe două niveluri. La nivelul inferior sunt stocatetoate dimensiunile dense. Nivelul superior conţine dimensiunile împr ăştiate ca ostructur ă index, care conţine pointeri la cuburile de date dense din nivelul inferior.

Unele instrumente OLAP ofer ă administratorului un număr foarte limitat deopţiuni de optimizare. De exemplu, Arbor Essbase are o metodă proprie pentrustocarea şi încărcarea datelor multidimensionale în memorie. Aceasta metodă 

utilizează o structur ă multinivel (cu un număr arbitrar de niveluri pentru diferitelegrade de împr ăştiere). Administratorul poate specifica dimensiunile dense şiîmpr ăştiate, care construiesc cele două niveluri. Oracle Express suportă, deasemenea, o structur ă pe două niveluri. Pilot Decision Support Suite (PilotSoftware) suportă aşa numitele multicuburi. Timpul este tratat ca o dimensiunedensă, iar toate celelalte dimensiunile sunt considerate împr ăştiate.

O altă problemă este transferul conceptului de tranzacţie aşa cum este cunoscutşi acceptat în lumea relaţională la SGBDMD. Puţine instrumente MOLAP (deexemplu Arbor Essbase ) permit acces multiutilizator concurent atât la citire cât şila scriere. Majoritatea instrumentelor MOLAP permit acces multiutilizator la citireşi monoutilizator la scriere. SGBDMD blochează întreaga bază de date în timpul

81

Page 82: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 82/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

actualizărilor (o formă foarte simplă de acces concurent). De asemenea, multeinstrumente MOLAP au o noţiune foarte vagă a conceptului de tranzacţie.Modificările în cuburile de date pot fi executate ca adăugări în cub sau în timpulanalizei de tip “what if”. Adesea ele cer o actualizare incrementală a agregatelor 

sau măsurilor, care sunt calculate pe bază de formulă. Astfel de dependenţe facactualizările mult mai complicate. Conceptul de tranzacţie este legat de multe alte probleme cum ar fi:

   propiet ăţ ile ACID (atomic, consistency, isolation, durability).  Pentru arealiza propietăţile ACID, toţi termenii (în special consistenţa şi izolarea)trebuie reanalizaţi. De exemplu, dependenţele între datele de detaliu, dateleagregate şi măsuri complică noţiunea de consistenţă;

  mecanismul de blocare.  Dacă controlul concurenţial este realizat printr-otehnică de blocare, trebuie să fie definite modurile de blocare şi nivelul lacare se face blocarea. Blocarea întregii baze de date nu este o solu ţie foarte

 potrivită. Interdependenţele între date fac ca definirea nivelurilor de blocare să fie o problemă complexă;

   strategia de propagare a modifică rilor. Datele (agregate şi măsuri) trebuiemodificate în conformitate cu modificările din datele de detaliu sau dinmodelul de date.

Sunt şi alte probleme importante, deja rezolvate în SGBDR, dar care suntnerezolvate sau numai par ţial rezolvate în SGBDMD cum ar fi: restaurarea bazeide date, conceptul de tabelă virtuală etc.

Avantajul sistemelor MOLAP este că ofer ă o viziune multidimensională 

directă a datelor, în timp ce sistemele ROLAP sunt o “interfaţă multidimensională”la datele relaţionale. SGBDMD cer antecalcularea tuturor agregatelor posibile,astfel sunt adesea mai performante decât SGBDR tradiţionale, dar mai dificil deactualizat şi administrat. Deoarece, bazele de date multidimensionale folosescacelaşi motor atât pentru stocare cât şi pentru procesarea datelor şi acest motor areinformaţii complete despre structurile de date multidimensionale şi manipulărilemultidimensionale, este uşor pentru instrument de a manipula datelemultidimensionale şi de a face calcule corecte şi complexe. Totuşi multe baze dedate multidimensionale nu ofer ă facilitatea de recuperare a erorilor şi alte facilităţispecifice bazelor de date relaţionale.

Câteva avantaje ale sistemelor MOLAP sunt:  tabelele relaţionale nu sunt potrivite pentru date multidimensionale;  matricile multidimensionale permit stocarea eficientă a datelor 

multidimensionale;  limbajul SQL nu este corespunzător pentru operaţii multidimensionale.Tabelul 3.1 prezintă o analiză comparativă între sistemele ROLAP şi sistemele

MOLAP.

82

Page 83: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 83/331

 Arhitectura sistemelor OLAP 

Tabelul 3.1

 Analiză comparativă între sistemele ROLAP  şi MOLAP Criterii MOLAP/Baze de date

multidimensionale

ROLAP/Baze de date

relaţionale

Spaţiul de disc ocupat mare, dacă agregatele suntantecalculate (explozia datelor derivate şi fenomenul deîmpr ăştiere)

 posibil zero, dacă suntfolosite baze de dateexistente nemodificate(depozite de datevirtuale), dar poate fimare dacă noi structurisunt create

Performanţa laîncărcarea datelor 

moderată scăzută 

Viteza de calcul mare mică Volumul datelor atomice mediu la mare (Mb-Gb) extrem de mare (Gb-Tb)Posibilitatea de acces ladate de către alteaplicaţii (integrare cualte sisteme existente)

limitată excelentă în principiu,dar poate fi limitată dacă este folosită o schemă complexă 

Accesul la date încet şi adesea limitat,citire/scriere

 performanţă moderată 

Dimensionalitate mică (modele multidimensionalesimple, 5-10 dimensiuni)

mare (modelemultidimensionalecomplexe)

Modificarea

dimensiunilor 

 bună dar baza de date trebuie să 

fie off-line

 bună 

Volatilitatea datelor adecvate pentru volatilitatescăzută 

adecvate pentruvolatilitate ridicată 

Facilităţi de administrarea SGBD-ului

 puţine foarte puternice

Uşurinţa de a construiaplicaţii de cătreutilizatorii finali

moderată aproape imposibilă 

Arhitectura client/server pe două sau treiniveluri, lipsa standardelor  client/server pe două sautrei niveluri, arhitectur ă deschisă, standarde

Managementulmetadatelor 

nu da

Limbaj de interogare specific fiecărui instrument SQLFacilităţi de calcul foarte complexe, în toate

dimensiunilelimitate

Joncţiuni nu daAgregări dinamice nu daPartiţionarea datelor nu daCereri paralele nu da

83

Page 84: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 84/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Criterii MOLAP/Baze de date

multidimensionale

ROLAP/Baze de date

relaţionale

Algoritmi hash da daIndexare da da

Măsuri derivate da daComparaţii ale perioadelor de timp

da da

Analiza valutelor nu daPreviziuni da daConsolidări financiare da daTipul aplicaţiilor la nivel departamental la nivelul întreprinderii

În [COLL96], se face o evaluare comparativă a sistemelor ROLAP şi MOLAP.Se utilizează un model de afaceri cu şase dimensiuni al unei firme de băuturi.

Fiecare dimensiune este compusă dintr-o ierarhie de membri. Se consider ă următorul număr de membrii pentru fiecare dimensiune:  dimensiunea Canal : 6 membri;  dimensiunea Produs: 1500 de membri;  dimensiunea Zona de desfacere: 100 membri;  dimensiunea Timp: 17 membri;  dimensiunea Scenariu: 8 membri;  dimensiunea M ă  suri: 50 măsuri;Se doreşte stabilirea profitului real al firmei pentru luna curentă şi comparaţia

lui cu bugetul alocat, apoi operaţii de drill down pe regiuni de desfacere şi familiede produse. Sistemul ROLAP utilizează o schemă  stea denormalizată. Agregărilesunt antecalculate şi stocate în tabela de fapte. Numărul potenţial de rânduri dintabela de fapte este produsul cartezian al dimensiunilor:canal(6)* produs(1500)* pia ţ a de desfacere(100) * timp(17) * scenariu(8) = 122milioane.

Dacă se consider ă un grad de împr ăştiere de 80%, numărul de rânduri este de24 milioane (20%*122 mil). Dimensiunea unui rând este de 500 bytes şi tabela de fapte ajunge la 13Gb. Dacă se consider ă  şi indecşii construiţi pe fiecare coloană (cod_canal, cod_produs, cod_piaţă, cod_timp şi cod_scenariu) necesari pentru a se

executa joncţiunile, dimensiunea tabelei de fapte ajunge la 17 Gb (blocul de datede 4Kb) .În ciuda popularităţii bazelor de date relaţionale în aplicaţiile tranzacţionale,

autorii demonstrează că modelul relaţional nu este potrivit pentru aplicaţii OLAP,datorită numărului mare de operaţii I/O necesare pentru a executa operaţii simplede drill down sau calcule simple.

Pentru sistemul MOLAP, datele relevante pentru analiză sunt extrase dintr-undepozit de date relaţional sau alte surse de date şi încărcate într-o baza de datemultidimensională (un cub cu 6 dimensiuni). Implementarea acestui cub  n-dimensional este specific lui Essbase. 

84

Page 85: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 85/331

Page 86: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 86/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

  alocarea optimă  în sistemele de stocare. Sistemele hibride ar trebui să  beneficieze de strategiile de alocare specifice sistemelor distribuite.

Sunt diferite arhitecturi pentru un sistem hibrid OLAP:  integrarea sistemelor MOLAP şi ROLAP printr-o interfaţă comună.Clientul OLAP poate fi luat în considerare într-o astfel de soluţie, întrucât

ofer ă o interfaţă comună pentru SGBDMD şi motoarele ROLAP. Totuşimulte din cerinţele listate mai sus nu sunt satisf ăcute. De exemplu, SeagateHolos utilizează această arhitectur ă, permite tehnici de stocare relaţionaleşi multidimensionale integrate în aşa numita arhitectur ă OLAP compusă;

  integrarea mutuală a sistemelor ROLAP şi MOLAP. Aceasta arhitectur ă  poate fi găsită la Arbor Essbase, care ofer ă acces la datele relaţionale (IBMDB2 OLAP Server);

  extensii la SGBDR sau SGBDOR prin utilizarea tehnologiei datablade (de

exemplu Informix cu opţiunea Metacube). Totuşi acesta nu este un sistemOLAP hibrid (Metacube este un motor ROLAP, deci nu este încă implicatun SGBDMD).

Aplicaţiile complexe şi cu grad mare de împr ăştiere vor folosi o combinaţie aacestor moduri de stocare. Datele care sunt utilizate cel mai des vor fi stocate înmemoria RAM. Datele care sunt utilizate regulat, dar nu frecvent pot fi stocate în  baze de date multidimensionale optimizate. În final, volumele mari de datedetaliate sunt stocate în baze de date relaţionale sursă. În figura 3.3 [THOM96] se prezintă strategia de stocare optimă pentru aplicaţii de diferite mărimi şi grade de

împr ăştiere. Desigur scara este aproximativă şi va depinde de hardware-ul utilizat.Împr ăştiate

0.00001%

0.00001% stocare în BDR sauhibrid

0.001%

0.1% stocare în RAMstocare în BDM

1%

10%

100%Dense Volumul de date de bază (celule)

 Figura 3.3 Moduri de stocare

86

Page 87: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 87/331

 Arhitectura sistemelor OLAP 

Pentru aplicaţii foarte împr ăştiate, o soluţie hibridă este probabil cea mai bună.Aria graficului, în care sistemele MOLAP sunt recomandate, reflectă abilitatea lor de a stoca cel mai eficient volume medii până la mari de date. Pentru date foarteîmpr ăştiate sau pentru baze de date foarte mari, o strategie de stocare de tip bază de

date relaţională poate fi singura opţiune fezabilă. În general, dacă se doreşteimplementarea unei singure aplicaţii, este mai eficient din punct de vedere alcostului de a selecta un instrument mai simplu, decât unul proiectat special pentruacea aplicaţie. Pentru scopuri strategice şi aplicaţii complexe poate fi necesar de aachiziţiona un instrument complex. În funcţie de tipul bazei de date, se poate alegetehnica de indexare folosită. Cele mai multe baze de date multidimensionalestabilesc automat tehnica de indexare.

3.4 Arhitectura sistemelor OLAP

Aplicaţiile OLAP au o varietate mare de arhitecturi, unele foarte complexe.Multe aplicaţii OLAP stochează volume mari de date, care nu pot fi duplicate  pentru fiecare utilizator. Această cerinţă impune arhitectur ă client/server. Înarhitectura client/server, atât clientul cât şi unul sau mai multe procesoare aleserverului pot face transformări multidimensionale şi calcule. În principiu, se potdefini mai multe niveluri logice într-o arhitectur ă client/server (figura 3.4).

1. Fişiere de date

2

3

4

5Interfaţa

Calcule ad hocmultidimensionale

Calculemultidimensionale înlot

Se împart între client şi server depinde de locaţia datelor 

Calcule f ăcute în avans peserver 

Motor pentru gestiunea datelor-bazede date relaţionale saumultidimensionale

Datele şi agregatele stocate trebuie să fie distribuite între utilizatori

Gestiunea datelor 

 Figura 3.4 Niveluri logice în arhitectura client/server 

87

Page 88: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 88/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

În general, într-o implementare particular ă, nu toate aceste niveluri logice potexista ca niveluri distincte, astfel încât două sau mai multe pot fi combinate într-unsingur program [THOM96]. Totuşi în cazuri extreme, ar putea fi niveluri separate,executate pe maşini separate. În figura 3.4 volumele de date transmise între niveluri

sunt indicate de grosimea săgeţilor. Volumele vor varia în funcţie de aplicaţie.Figurile de la 3.5. la 3.9. ilustrează diferite tipuri de configuraţii client/server, iar tabelul 3.3. prezintă avantajele şi dezavantajele lor [THOM96].

Server de fişiere client OLAP

Fişierede date Gestiune

date

Calcule multidimensionaleîn lot

Calcule multidimensionalead-hoc

Interfaţa

 Figura 3.5 Server de fi şiere-client OLAP 

Server de bază de date relaţional client OLAP

-

Gestiunedate

Calcule multidimensionaleîn lot

InterfaţaCalculemultidimensionale ad-hoc

Fişierede date

 Figura 3.6 Arhitectura client/server (server rela ţ ional/client OLAP)

Server de bază de date relaţional Server de aplicaţii client OLAP

Gestiunedate

Calcule multidimensionalead-hoc

Calcule multidimensionaleîn lot

InterfaţaFişierede date

 Figura 3.7 Arhitectura pe trei niveluri

Server OLAP client OLAP

Fişierede date

Gestiunedate

Calcule multidimensionalead-hoc

Calcule multidimensionaleîn lot

Interfaţa

 Figura 3.8. Arhitectura client/server (Server OLAP/client OLAP)

88

Page 89: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 89/331

 Arhitectura sistemelor OLAP 

Server de bază de date relaţional Server de aplicaţii client WEB

Fişierede date

Gestiune

date

Calcule multi

dimensionaleîn lot

Calcule multi

dimensionalead-hoc

Interfaţa

 Figura 3.9 WEB OLAP pe trei niveluri

Tabelul 3.3

Tipuri de arhitecturi client/server 

Descriere Facilităţi Dezavantaje

Server de fişiere/client OLAP

 Numai nivelul 1 este pe un server de fişiere, nivelurile 2-5 pe client

Uşor de implementat, independent de protocoalele de reţea, server ieftin. Oriceserver de fişiere poate fi folosit

 Nu este chiar o arhitectur ă client/server. Procesarea nu se face peserver. Poate cere clienţi PC puternici.Poate genera trafic excesiv în reţea,deoarece toate datele trebuie să fiemutate la clienţi pentru procesare.Securitatea trebuie să fie gestionată deaplicaţiile client. Greu de implementatactualizarea multiutilizator 

Server relaţional/client OLAP Nivelurile 1 şi 2 sunt pe un server de baze de date relaţional,nivelurile 3-5 pe client

În funcţie de aplicaţie poate fi gestionată securitatea pe server. Reduce încărcareareţelei, deoarece datele pot fi selectate şi procesate par ţial de serverul de bază de date,înainte de a fi trimise la client pentru procesare şi prezentare. Cele mai multe procesări pot fi f ăcute de SGBD-ul relaţional,care permite o exploatare bună a procesării paralele. Capabil de actualizări online cu blocări mai bune a datelor.

Cere un SGBD potrivit pe server,adaugând la costuri şi complexitatea.Poate genera trafic excesiv în reţea,dacă toate procesărilemultidimensionale sunt f ăcute pe client.

Arhitectura pe trei niveluri Nivelurile 1 şi 2 pe un server de baze de date relaţional, nivelul 3 pe unul sau mai multe servere deaplicaţii, nivelurile 4 şi 5 pe client. Nivelul 3 poate avea, deasemenea, o bază de date locală  pentru stocarea informaţiilor multidimensionale.

Distribuţie flexibilă a procesării între serverulde bază de date şi serverele de aplicaţii. Sereduce traficul în reţea pentru că datele pot fi procesate acolo unde sunt stocate.Funcţionalitate ridicată prin utilizarea unuiSGBD relaţional complex şi a unui server deaplicaţii puternic. Scalabilitate bună în funcţiede dimensiunea aplicaţiei.

Greu de implementat şi se cereexperienţă în reţele. Adesea mai puţindeschis decât arhitectura cu bază dedate distribuită . Scalabilitatea înfuncţie de numărul de utilizatori poatefi restricţionată de limitele fiecăruiserver de bază de date sau de aplicaţii .

Server OLAP/ client OLAP Nivelurile 1-3 pe un server de bază de date multidimensional,nivelurile 4 şi 5 pe client.

Performanţă optimă cu trafic în reţea minim.Costuri hardware mici. Uşor de implementatactualizarea multiutilizator a datelor multidimensionale, cu securitatemultidimensională la nivel de detaliu.Aplicaţiile complexe sunt mai simplu deimplementat.

În general o arhitectur ă mai puţindeschisă. Instrumentele de acest tipsunt adesea mai specializate şi mai puţin potrivite pentru utilizare generală.

WEB OLAP pe trei niveluri  Nivelurile 1 şi 2 sunt pe un server relaţional, nivelurile 3 şi 4 peserverul de aplicaţii şi nivelul 5 peun browser WEB conectat prinInternet sau Intranet.

Uşor de utilizat pentru un număr mare deutilizatori, incluzând acei utilizatori din afaraorganizaţiei. Reţea la un cost mic. Nu ceresoftware dedicat pe client, reducând costurilecu software-ul. Suportă o varietate de platforme.

Funcţionalitate şi performanţă redusă.Reduce manipulările de date la nivel declient.

89

Page 90: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 90/331

Page 91: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 91/331

 Arhitectura sistemelor OLAP 

baze de date rela ţ ional/server de aplica ţ ii/client OLAP, server OLAP/client OLAP, server de bază de date rela ţ ional/server de aplica ţ ii/client WEB.

Cuvinte cheie

Sisteme ROLAP, sisteme MOLAP, sisteme HOLAP 

91

Page 92: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 92/331

 

Capitolul 4

Instrumente OLAP

Cerinţele utilizatorilor, identificate în etapa de analiză a sistemului informatic,vor determina alegerea instrumentului OLAP. De exemplu, dacă aplicaţia implică 

analiză financiar ă, atunci instrumentul trebuie să permită conversii de valută.Caracteristicile unui instrument OLAP sunt clasificate în două categorii:caracteristici logice şi caracteristici fizice [THOM96].

Caracteristicile logice sunt independente de platforma hardware utilizată, desistemul de operare, de numărul de utilizatori şi de metodele de stocare fizică.Dimensiunile, ierarhiile, formulele, legăturile sunt exemple de atribute logice.

Caracteristicile fizice sunt independente de modelul definit sau analizat şiinclud modul cum se stochează  şi încarcă datele şi ce platforme software şihardware se folosesc.

4.1 Caracteristici logice

Caracteristicile logice sunt:   structura datelor (modul cum sunt definitemodelele, dimensiunile, tipurile de relaţii ce pot exista între membrii uneidimensiuni), opera ţ iile (tipurile de legături ce pot fi create, tipurile de formule ce  pot fi definite) şi reprezent ă rile (modul de afişare a datelor multidimensionale:tabel sau grafic). Această organizare este similar ă dar nu identică cu modelulrelaţional care este definit în funcţie de structura datelor, operaţiile între date şi

integritatea datelor. Instrumentele OLAP au fost construite şi dezvoltate în absenţaunui model de date spre deosebire de modelul relaţional, care a fost definit ca unmodel de date înainte ca să se construiască un SGBDR.

Aspectele structurale ale modelului relaţional constau din domenii, atribute,tupluri, relaţii şi scheme. În lumea multidimensională, ele sunt compuse dindimensiuni,  ierarhii, cuburi n-dimensionale (hypercuburi)  şi modele (scheme).Operatorii modelului relaţional sunt specifici algebrei  relaţionale şi calcululuirelaţional. Produsul cartezian, joncţiunea şi proiecţia sunt exemple de  operatorirelaţionali. Aceşti operatori pot fi numiţi operatori structurali, în sensul că ei

manipulează structura relaţiilor. Modelul relaţional şi SGBDR-urile se

92

Page 93: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 93/331

  Caracteristicile sistemelor OLAP 

concentrează mai mult pe operaţiile structurale decât pe operaţiile pe date (dataoperations) cum ar fi suma, maxim, minim, order by etc.

În lumea multidimensională se pune accentul pe operaţiile pe date (tipurile deformule ce pot fi definite într-un cub sunt probleme legate de operaţiile pe date) şi

mai puţin pe operaţiile structurale (formarea unui cub dintr-un set de dimensiuni nucorespunde unui operator în lumea multidimensională, dar în lumea relaţională reprezintă produsul cartezian al dimensiunilor).

„ Restric ţ iile de integritate denumite  şi reguli de integritate definesc cerin ţ ele  pe care trebuie să  le satisfacă  datele din cadrul bazei de date pentru a putea ficonsiderate corecte, coerente în raport cu lumea real ă  pe care o reflect ă . Restric ţ iile de integritate reprezint ă  principalul mod de integrare a semanticiidatelor în cadrul modelului rela ţ ional al datelor, mecanismele de definire  şiverificare a acestor restric ţ ii reprezentând principalele instrumente pentrucontrolul semantic al datelor. Restric ţ iile de integritate ale modelului rela ţ ional 

 sunt de două tipuri  şi anume:  restric ţ ii de integritate structurale inerente modelului rela ţ ional care se

definesc prin egalitatea sau inegalitatea unor valori din cadrul rela ţ iilor (restric ţ ia de unicitate a cheii, restric ţ ia entit ăţ ii, restric ţ ia referen ţ ial ă   şidependen ţ ele între date);

  restric ţ iile de integritate de comportament proprii unei anumite BDR, care ţ in cont de semnifica ţ ia valorilor din cadrul bazei de date. În func ţ ie derealitatea descrisă  în baza de date, se pot defini de că tre utilizatori maimulte tipuri de restric ţ ii de integritate de comportament   şi anume:

restric ţ ii de domeniu, restric ţ ii temporale etc” [LUBO95]. Restricţiile de integritate nu sunt o componentă a modelului multidimensional(unele modele fac totuşi referiri la restricţiile de integritate), dar s-au inclusreprezentările care lipsesc de la descrierea modelului relaţional. Modelelemultidimensionale au totuşi legătur ă cu problema integrităţii în sensul de filtrare.Testarea integrităţii datelor este o parte importantă a modelării multidimensionaleşi este inclusă ca o parte a aplicaţiilor.

Reprezentările sunt o problemă importantă pentru modelele multidimensionale(modul de afişare a datelor multidimensionale: tabel sau grafic). În modelulrelaţional reprezentarea ar putea fi legată de viziuni.

4.1.1 Structura datelor 

 Dimensiunile. Unele instrumente OLAP permit numai o direcţie de agregare pe dimensiune. Pentru aceste instrumente, fiecare direcţie de agregare constituie odimensiune separată. Alte instrumente definesc o dimensiune ca un singur nivel alunei ierarhii. De exemplu, să ptămânile ar putea descrie o dimensiune. Lunile ar descrie altă dimensiune. Trimestrele ar defini a treia dimensiune etc. Alteinstrumente consider ă că toate dimensiunile sunt compuse din niveluri cu nume.

Timpul foloseşte de regulă niveluri cu nume. Unele instrumente tratează dimensiunile şi măsurile în acelaşi mod. Ele nu fac distincţie între dimensiuni şi

93

Page 94: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 94/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

măsuri. Alte instrumente tratează explicit măsurile ca o dimensiune specială şi leataşează la celelalte dimensiuni pentru a forma un cub (instrumentele ROLAP).

În alegerea unui instrument OLAP se vor analiza următoarele aspecte

[THOM96]:

Cardinalitatea (numărul maxim de membri dintr-o dimensiune). Instrumentullucrează eficient sau nu cu dimensiunile foarte mari. Ierarhiile. Instrumentul permite sau nu :  dimensiuni ierarhice;  multiple ierarhii într-o singur ă dimensiune;  niveluri cu nume în ierarhie şi ierarhii neregulate. Dacă agregările sunt

neregulate şi se modifică frecvent (cazul produselor sau ierarhiilor organizaţionale) este necesar un instrument ce permite ierarhii neregulate;

  conectarea membrilor copii la mai mulţi părinţi într-o singur ă ierarhie (deexemplu un oraş care se găseşte în două state).

Versiunile. Dacă într-un model multidimensional sunt multiple cuburi de datesau dacă dimensiunile pot fi create şi actualizate independent de cuburi, aceleaşidimensiuni apar frecvent în mai multe cuburi. Problema care apare este legată demodul cum se realizează sincronizarea între multiple instanţe ale unei dimensiuni.În acest caz, instrumentul trebuie să suporte mai multe versiuni ale dimensiunii.

Cuburile. Cele mai multe propietăţi ale cuburilor decurg din propietăţilecomponentelor lor (dimensiunile şi formulele). În alegerea unui instrument OLAPse va ţine cont de:

  numărul maxim de dimensiuni într-un cub. Instrumentele care nu permitdimensiuni ierarhice sau ierarhii multiple pe dimensiune sunt mai limitate

(de exemplu un model cu 6 dimensiuni ierarhice cu multiple direcţii deagregare ar putea să aibă nevoie de 30 sau mai multe dimensiunineierarhice);

  numărul maxim de celule într-un cub;  numărul maxim de date de intrare/pe cub;  numărul maxim de celule de date stocate/pe cub; Modelele. Unele instrumente tratează toate dimensiunile drept componente ale

unui singur cub n-dimensional . Alte instrumente permit ca unele dimensiuni să fiecomune la mai multe cuburi (multicuburi). De aceea, se va stabili dacă :

  modelul este compus dintr-un singur  cub  n-dimensional  sau din multiplecuburi interactive;

  toate variabilele sunt dimensionate în acelaşi mod.Tipurile de date. Valorile de date sunt limitate de tipul de date. În modelul

relaţional, valorile atributelor trebuie să se încadreze între anumite limite(domeniul ce defineşte toate valorile posibile). Cu instrumentele OLAP, definireaunei variabile prin specificarea tipului de date determină valorile posibile pe caremembrul le poate avea. Orice instrument OLAP permite stocarea numerelor reale,dar nu toate instrumentele OLAP permit stocarea: şirurilor de caractere, aimaginilor şi a tipurilor de date definite de utilizator.

94

Page 95: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 95/331

  Caracteristicile sistemelor OLAP 

4.1.2 Opera ţ ii 

Toate instrumentele OLAP permit ca datele de intrare atomice să fie agregate.În alegerea unui instrument OLAP se va analiza dacă:

  datele trebuie încărcate numai la nivel atomic;  formulele pot utiliza date de pe orice nivel ierarhic din cub;  formulele pot utiliza date din mai multe cuburi.Se vor analiza, de asemenea, şi următoarele aspecte: Prioritate. Pentru unele formule, ordinea în care ele sunt combinate afectează 

rezultatele. În aceste cazuri se va stabili:  logica implicită utilizată de instrument;    prioritatea prin definirea de către utilizator a tipului de date sau utilizând

 prioritatea implicită a formulei;  dacă instrumentul ofer ă posibilitatea de a testa impactul utilizării unei

 priorităţi diferite.Variabile/mă  suri. În alegerea unui instrument OLAP se va analiza dacă:  variabilele sunt tratate diferit de dimensiuni;  se pot ataşa formule de agregare la variabile;  se pot declara tipuri de variabile şi moşteni formula de la alte variabile;  instrumentul permite variabile care nu sunt numerice. Fenomenul de împr ăştiere. Cuburile n-dimensionale sunt împr ăştiate. Această 

împr ăştiere poate indica fie lipsă de date, date invalide sau date cu valoare zero.Cele mai multe instrumente OLAP ofer ă suport pentru procesarea datelor lipsă şi a

celor invalide. În aceste cazuri, se va analiza dacă instrumentul procesează datelelipsă diferit de cele invalide şi de cele cu valoare zero. Formule . Un instrument OLAP trebuie să permită utilizarea formulelor 

algebrice pentru definirea variabilelor. În alegerea instrumentelor OLAP se vaanaliza dacă:

  instrumentul permite ataşarea unei formule algebrice la orice membrudintr-o dimensiune;

  instrumentul OLAP permite, de asemenea, funcţii logice şi ecuaţii;  instrumentul permite definirea vizuală a formulelor. Leg ă turi. Modelele multidimensionale utilizează diferite surse de date şi din

acest motiv, în alegerea unui instrument OLAP se va analiza dacă:  datele şi metadatele pot fi încărcate dintr-o singur ă colecţie de date;  legăturile sunt persistente;  formulele stocate în sursele de date externe pot fi apelate în formulele din

cub etc.Întrucât sistemele OLAP utilizează adesea volume mari de date ce se

actualizează regulat, procesul de propagare a modificărilor de la surse la cubimpune multe activităţi ce trebuie automatizate. Din acest motiv, se va analizadacă:

  modificările ce apar în tabelele externe se pot propaga automat în modelulmultidimensional;

95

Page 96: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 96/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

  modificările ce apar în denumirea unui membru sunt propagate automat întoate formulele în care membrul este folosit;

  ordinea în care elementele sunt modificate se poate stabili automat (cum ar fi de exemplu, calculul dimensiunilor înaintea cuburilor);

Optimizare/eficien ţă . Un instrument OLAP trebuie să fie capabil să detectezetoate tipurile de valori modificate şi să declanşeze automat modificările în cubul n-dimensional (hypercub). De asemenea, se va analiza dacă:

  instrumentul permite ca un administrator să specifice care agregate suntantecalculate şi stocate şi care sunt calculate la momentul interogării;

  instrumentul poate stabili automat care agregate trebuie să fie antecalculateşi care se execută la momentul interogării;

  instrumentul poate stabili locul unde se execută un calcul (pe client sau peserver).

4.1.3 Modul de reprezentare a datelor multidimensionale

Reprezentarea datelor multidimensionale este un domeniu important însistemele OLAP şi se referă la:

Vizualizarea datelor. Un instrument OLAP trebuie să permită cel puţinvizualizarea datelor multidimensionale sub formă de tabel. În plus, un instrumentOLAP trebuie să ofere prezentări grafice ale datelor multidimensionale. Multeinstrumente OLAP permit grafice în două  şi trei dimensiuni. Unele instrumente

  permit vizualizare multicub, în care dimensiunile comune pentru două sau maimulte cuburi sunt afişate pe ecran ca dimensiuni imbricate. Navigarea. Ideal un instrument OLAP trebuie să permită operaţii de tip drill 

down, roll up şi drill across în ierarhiile dimensionale. Formatul de afi şare a variabilelor. Modelele OLAP sunt folosite de utilizatori

  pentru a comunica informaţia necesar ă procesului decizional. La ora actuală,instrumentele OLAP au o abilitate foarte limitată de a defini modul cum se afişează o variabilă. Ideal, un instrument OLAP ar trebui să permită un format de afişareimplicit (cum ar fi valoarea curentă), care să fie asociat cu variabila.

4.1.4 Alte caracteristici logice

  Domenii de cuno ştin ţ e. Domeniile în care un instrument multidimensional posedă cunoştinţe sunt : timpul, valuta, limbile str ăine. Timpul este o dimensiunece apare în orice model multidimensional şi de aceea, este necesar ca instrumentul:

  să aibă cunoştinţe despre timp;  să înţeleagă diferitele tipuri de calendare (de exemplu fiscal);  să permită compararea seriilor de timp, de periodicităţi diferite;  să poată crea o dimensiune Timp specifică unei aplicaţii;  să permită crearea mai multor dimensiuni Timp într-un singur cub.

96

Page 97: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 97/331

  Caracteristicile sistemelor OLAP 

De asemenea, este necesar ca instrumentul: să recunoască valutele, să executeconversii de valute, să se bazeze pe o anumită rată de schimb (medie, ultima zi, prima zi, cea mai mare, cea mai mică) etc. Este necesar, de asemenea, a se stabilice limbi suportă instrumentul şi cât din aplicaţie poate fi tradusă (de exemplu:

opţiunile din meniu, mesajele de eroare, help-ul). Domeniile orientate pe proces se refer ă la: Realizarea aplica ţ iei. Se va analiza:  dacă instrumentul ofer ă un mediu complet de dezvoltare a aplicaţiei;  ce funcţii realizează instrumentul (analiză, crearea modelului etc);  dacă instrumentul foloseşte un limbaj procedural sau neprocedural;  dacă instrumentul ofer ă facilităţi de depanare etc.  Asigurarea securit ăţ ii multiutilizator . Sistemele OLAP au aceleaşi nevoi de

securitate ca orice mediu de date multiutilizator şi de aceea, se va analiza:  dacă ofer ă securitate atât la citire cât şi la scriere;  dacă securitatea este definită folosind un limbaj multidimensional;  la ce nivel de granulaţie poate fi definită securitatea (model, cub, membrii

dimensiunii, celulă);  dacă sistemul poate monitoriza toate încercările utilizatorilor de a accesa

datele;  dacă utilizatorul poate vedea membrii pentru celulele la care el nu are

acces;  dacă drepturile unui utilizator pot fi modificate;  dacă se pot defini grupuri de utilizatori (roluri) sau numai utilizatori

individuali etc. Facilit ăţ i de gestiune a datelor. Se va analiza: ce tip de facilităţi de salvare şirestaurare ofer ă instrumentul, dacă instrumentul realizează controlul tranzacţiilor etc.

 Interfa ţ a instrumentului. Sunt în general o serie de probleme legate de interfaţacu utilizatorul, care trebuie luate în considerare şi anume dacă:

  instrumentul permite utilizatorului confirmarea înainte de execuţiaoperaţiilor importante, cum ar fi ştergerea unui cub;

  utilizatorul poate să oprească o cerere în execuţie;  există facilităţi de anulare a diferitelor acţiuni etc.

4.2 Caracteristici fizice

Caracteristicile fizice sunt independente de modelul multidimensional şi serefer ă la:

Stocare/acces. Se va analiza:  dacă datele din sesiunea curentă sunt stocate pe client sau pe server;  cum sunt stocate datele lipsă, invalide şi cele cu valoarea zero;

97

Page 98: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 98/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

  care este spaţiu necesar pentru a stoca 1 milion, 10 milioane şi 100milioane de numere etc.

Modul de calcul. Unele instrumente pot fi rapide pentru calcule simple, dar neperformante pentru cele complexe. Altele pot lucra cel mai bine cu un număr mic

de dimensiuni.Tipul de arhitectur ă client/server. Se va determina:  ce calcule, definite de utilizator, pot fi procesate pe server;  dacă sistemul poate stabili cel mai eficient mod de a distribui calculele

între client şi server;  care este numărul maxim de clienţi concurenţi (la citire);  dacă instrumentul suportă access concurenţial la scriere;  ce se întâmplă dacă doi utilizatori, cu drept de scriere, încearcă să scrie în

aceeaşi celulă la un moment dat;  la ce nivel este blocat cubul în cazul scrierilor concurente etc.

 Platforma. Pentru a alege un instrument OLAP se va stabili:  care sunt sistemele de operare acceptate de instrument;  ce tipuri de maşini foloseşte instrumentul OLAP;  dacă instrumentul poate să folosească avantajele lui MPP pentru încărcare,

cerere şi/sau calcule etc.

4.3 Exemple de instrumente OLAP

Business Objects Americans [www.businessobjects.com] este lider înfurnizarea de instrumente suport de decizie incluzând interogare, raportare, analiza proceselor on-line, data mining şi administrare SSD pentru arhitectur ă client/server şi mediu Internet : 

 Business Objects permite dezvoltarea de aplicaţii suport de decizie cu facilităţide interogare şi raportare. Asigur ă acces la diferite surse de date (depozite de date/centre de date, baze de date multidimensionale, fişiere text, pachete de aplicaţii,sisteme SAP). Folosind facilitatea VBA permite utilizatorilor să modifice şi să extindă nucleul funcţional al produsului Business Objects (se pot crea noi funcţii,noi comenzi sau subprograme) .

  Developer Suite  permite integrarea completă a lui   Business Objects cu alteaplicaţii (financiare, resurse umane, marketing sau producţie) şi cuprindeurmătoarele componente: Business Objects, WebIntelligence (server de Web),Broadcast Agent şi o componentă pentru vizualizarea rapoartelor.

Cognos [www.cognos.com] ofer ă instrumente pentru inteligenţa afacerii(Power Play şi Impromptu), medii de dezvoltare a aplicaţiilor (Power House,Axiant, RealObjects).

 Power Play este un instrument de analiză şi raportare multidimensională folosit

  pentru a oferi informaţii utile managerilor. Este folosit de manageri pentru aexplora datele în format numeric sau grafic şi pentru raportare. Power Play este un

98

Page 99: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 99/331

  Caracteristicile sistemelor OLAP 

instrument foarte scalabil (până la câteva mii de utilizatori), cuburile pot fi create pe client sau pe servere Unix. Ele pot fi create ca fişiere într-un sistem de gestiunede fişiere sau ca tabele într-o bază de date relaţională (Oracle sau Sybase). Power Play permite o metodologie de proiectare a aplicaţiilor iterativă.

 Impromptu permite utilizatorilor să creeze rapoarte complexe f ăr ă să cunoască limbajul SQL sau structura bazei de date. Power Play  şi Impromptu se folosesc  pentru aplicaţii de analiză a vânzărilor, analiză financiar ă, controlul calităţii etc.Instrumentele pot importa date din peste 100 de surse de date relaţionale şimultidimensionale.

Holistic Systems, Inc [www.holistic.com] este un membru al grupului SeagateSoftware Information Management şi este cel mai puternic furnizor de instrumente pentru inteligenţa afacerii. Holistic Systems este complet dedicat pentru activitateade marketing, fiind un lider în BI.  Holos este un mediu de dezvoltare pentru

aplicaţii BI, încorporează facilităţi EIS, SSD şi OLAP, cu o arhitectur ă pe treiniveluri, pentru firme de dimensiuni foarte mari. Holos se poate instala pe Unix,VMS şi NT şi clienţi Windows, Windows NT şi MacIntosh. În versiunea 5.0 a fostintrodusă facilitatea de data mining, bazată pe reţele neuronale, integrată cu nivelulanalitic foarte puternic ale lui Holos.

Pilot Software, Inc [www.pilotsw.com] este o firmă a corporaţiei The Dun &Bradstreet, care dezvoltă instrumente suport de decizie interactive pentru managerişi analişti.   Pilot Decision Support Suite constă din cinci componente şi poate fi

instalat monoutilizator, workgroup sau distribuit. Clienţii suportă Windows 95,Windows NT şi Windows 3.1, iar serverul Windows NT şi Unix .  Pilot Desktop este un mediu monoutilizator pentru analiză interactivă de

afaceri cu un set complet de instrumente multidimensionale, ce permit utilizatorilor să facă operaţii de drill down, roll up şi  pivotare prin datele agregate. Include unmotor OLAP cu cunoştinţe de timp şi instrumente pentru analiza de excepţii.Sursele de date pot fi relaţionale .

  Pilot Analysis Server este un server OLAP multiutilizator ce ofer ă multefacilităţi de modelare (suport pentru analiza seriilor de timp), include o bibliotecă de funcţii (funcţii de previziune, funcţii de corelaţie, analiza de regresie etc).

  Pilot Designer este un instrument pentru crearea tuturor tipurilor de aplicaţiivizuale de tip suport de decizie (de la EIS la aplicaţii OLAP complexe). Include unlimbaj pentru scripturi ce este compatibil cu Visual Basic.

  Pilot Analysis Library este o bibliotecă opţională de module de analiză ce  permite utilizatorilor să accelereze implementarea de soluţii suport de deciziecomplexe .

 Pivot Excel Add-In este o componentă opţională ce permite utilizatorilor Excelde a integra facilităţile mediului Pilot în soluţiile Excel .

MicroStrategy, Inc [http://www.strategy.com] este lider în soluţii ROLAP şiofer ă următoarele produse OLAP:   DSS Server (motor relaţional-OLAP), clienţi

99

Page 100: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 100/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

( DSS Agent Relational OLAP , DSS Objects pentru dezvoltarea de aplicaţii OLAP,  DSS Web Relational OLAP - client pentru Web ),   DSS Architect (instrument de proiectare), DSS Administrator (client pentru depozite de date), DSS Executive EIS  (instrument de proiectare).

Kenan Systems Corp [http://www.kenan.com] ofer ă soluţii pentru firmele dindomeniul telecomunicaţiilor, servicii financiare, comer ţ. Ofer ă următoarele produse:

 Acumate Server este un mediu de dezvoltare de aplicaţii, incluzând un limbaj procedural multidimensional (MSPL) şi instrumente de analiză complexe. Serverulinclude un set de instrumente de încărcare a datelor, pentru accesarea depozitelor de date şi a sistemelor operaţionale eterogene.

 Acutrieve este o aplicaţie suport de decizie optimizată pentru analişti.  Acumate Workbench este o interfaţă grafică ce permite utilizatorilor să 

folosească avantajele mediului Windows, precum şi a limbajului multidimensionalMSPL.

  Acumate Web este un motor generator HTML ce poate fi utilizat pentru a permite raportare ad-hoc şi statică folosind tehnologia Web.

Informix Software, Inc [http://www.informix.com] ofer ă următoarele produseOLAP:

  INFORMIX MetaCube este un motor de analiză complex, ce transformă  Informix Online Dynamic Server într-un server OLAP foarte performant.

  INFORMIX MetaCube Explorer este un instrument SSD pentru utilizatori ceofer ă o interfaţă simplă pentru acces la depozitele de date şi realizarea de rapoarte.  INFORMIX MetaCube Warehouse Manager este un instrument grafic pentru

administrarea metadatelor ce descriu depozitul de date. INFORMIX MetaCube Warehouse Optimizer analizează automat depozitul de

date pentru a recomanda agregarea optimă şi strategii de performanţă. INFORMIX MetaCube for Excel extinde mediul foaie de calcul tabelar pentru a

oferi acces de tip wizard la depozitul de date.

Arbor Software Corporation [http://www.arborsoft.com] ofer ă instrumente

OLAP pentru activitatea de planificare şi analiză a afacerilor :  Essbase Analysis Server este un server de bază de date multidimensional

optimizat pentru aplicaţii de planificare şi analiză a afacerilor (analiza profitabilităţii, analiza bugetar ă, previzionare, planificare, analiza de piaţă şi EIS)cu următoarele caracteristici: arhitectur ă client/server, acces concurent lacitire/scriere, stochează volume mari de date, permite calcule analitice complexe,navigare flexibilă prin date, timp de r ăspuns mic, permite aplicaţii OLAP robustece accesează direct sisteme OLTP sau un centru de date şi operează pe Windows  NT, OS/2, IBM-AIX, Sun Solaris şi AS/400 cu clienţi Windows, MacIntosh şiUnix.

100

Page 101: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 101/331

Page 102: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 102/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

  Relational Storage Manager (RSM) separ ă motorul OLAP de baza de daterelaţională.

Figura 4.2 Arhitectura pentru Essbase  şi DB2 OLAP Server 

Componentele de prezentare şi aplicaţie

Motorul OLAP SQL

MS ExcelLotus EssbaseObjects EssbaseApplicationManager 

EssbaseCurrencyConversionModule

EssbaseAdjustmentModule

EssbaseSpreadsheetAdd-In

RDBMSManagementTools

Essbase API

Motor Essbase OLAP

Essbase API

Motor Essbase OLAP

Multidimensional StorageManager  Relational Storage Manager 

Fişiere/baze de datemultidimensionale Bază de date

relaţională (schema stea)

SQLDecisionSupport

Oracle Corporation [http://www.oracle.com] ofer ă următoarele produseOLAP:

Oracle Express Server/Oracle Personal Express este un server OLAP. Datelesunt stocate într-o bază de date multidimensională. În 2002, Oracle lansează Oracle9i Release 2 OLAP care integrează toate facilităţile OLAP (AnalyticalWorkspace) în baza de date relaţională Oracle.

Oracle Express Administrator  este un utilitar grafic pentru definirea,întreţinerea şi popularea bazelor de date multidimensionale Express.

Oracle Express Relational Access Manager  (RAM) permite ca  Express Analyzer  să acceseze datele stocate într-o bază de date relaţională, care a fostconfigurată cu Oracle Relational Access Administrator (RAA).

102

Page 103: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 103/331

  Caracteristicile sistemelor OLAP 

Pentru a construi o bază de date Express se parcurg următoarele etape: Etapa de definire. În această etapă, cu ajutorul lui RAA se execută următoarele

activităţi:  se selectează tabelele depozitului de date folosit;  se defineşte modelul multidimensional;  se determină modul cum se accesează datele relaţionale şi se definesc

caracteristicile bazei de date Express. Modelul de date împreună cumapările asociate şi definiţiile bazei de date formează un proiect. RAMconstruieşte un set de metadate şi le stochează în baza de date relaţională.Pot exista mai multe proiecte asociate cu un singur depozit de date şifiecare proiect poate utiliza un model de date multidimensional diferit.

  Etapa de creare/actualizare. În această etapă, se contruieşte baza de dateExpress pentru a fi utilizată de aplicaţiile Express.

 Etapa online. Utilizatorii pot utiliza datele prin aplicaţii Express (figura 4.3).

Figura 4.3 Etapa online

Da NuDate inExpress cache

Modulul de runtime generează comenzi SQL SELECT

Se trimit comenzile SELECT la SGBDR 

Se primeşte r ăspunsul şi se stochează în Expres Cache

Express procesează datele

R ăspunsul este trimis la client

Clientul Express generează o cerere de date

RAM conţine următoarele componente (figura 4.4):    Relational Access Administrator, un utilitar folosit pentru a defini un

model multidimensional şi a determina cum accesează serverul Expressdatele relaţionale. Când se creează un nou proiect se alege fie opţiunea

103

Page 104: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 104/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

 Project Editor sau Project Wizard. Opţiunea Project Editor este o interfaţă   prin care se poate crea un proiect pentru orice tip de schemă, în timp ceopţiunea Project Wizard ofer ă o metodă simplă pentru crearea unui modelmultidimensional bazat pe o schemă stea. RAA defineşte automat cuburi

de date, un cub de date separat pentru fiecare set unic de dimensiuni, ceeste utilizat în definirea variabilelor. De exemplu, dacă avem două variabile: variabilă Vânză ri dimensionată după  Produs, Loca ţ ie geografică  şi Timp  şi variabila  Popula ţ ie după  Loca ţ ia geografică   şi Timp, RAAdefineşte două cuburi CUBUL 1 (Produs, Locaţie geografică, Timp) şiCUBUL2 (Locaţie geografică, Timp). Cu ajutorul opţiunii Database/Sparsity, RAA permite specificarea dimensiunilor împr ăştiate şiincluderea lor într-o dimensiune de tip conjoint . Pentru stocarea datelor lipsă, Oracle Express foloseşte dimensiunile de tip conjoint . O dimensiuneconjoint  stochează combinaţii de valori de la două sau mai multe

dimensiuni, numai pentru acele celule ce conţin date.    Build modul conţine programul ce construieşte noi baze de date Express

sau actualizează pe cele existente. Acest modul citeşte proiectul şiconstruieşte sau actualizează baza de date Express, ce corespundemodelului de date multidimensional definit în proiect.

   Runtime modul conţine utilitare ce încarcă datele relaţionale la momentulde execuţie.

Baza de dateExpress

Aplicaţie Express

ExpressRAM RAMRuntime BuildModul modul

Depozit de date 

Relation Access Administrator 

Figura 4.4 Componentele lui Relational Access Manager 

Oracle Express Analyzer  este un instrument OLAP folosit pentru analizadatelor şi realizarea rapoartelor. Permite:

  lansarea în execuţie a briefing-urilor (dosare);  crearea de briefing-uri pentru utilizatori;  analiză ad-hoc;  lansarea în execuţie a aplicaţiilor realizate cu Express Objects;

104

Page 105: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 105/331

  Caracteristicile sistemelor OLAP 

  editarea briefing-urilor create cu Express Objects. Aceste briefing-uri potfi accesate prin Web. Un briefing  este un set de pagini ce conţin tabele,grafice şi date preluate de la alte instrumente, organizate într-un modaccesibil utilizatorilor, pentru a putea fi analizate. Datele afişate într-un

briefing  pot fi stocate într-o bază de date relaţională (Oracle) saumultidimensională (Express).Oracle Express Objects permite crearea de aplicaţii OLAP şi briefing-uri 

complexe care pot fi rulate în Express Analyzer, precum şi realizarea de programeîn limbaj Express, prin care se controlează comportamentul aplicaţiei. Este unelement cheie în Oracle Integrated    Business Intelligence Tools, fiind integrat cuOracle Discoverer.

Oracle Express Spreadsheet Add-In permite afişarea datelor multidimensionaleîntr-o foaie de tip calcul tabelar Excel.

Oracle Express Web Agent  permite crearea de aplicaţii Express ce pot fi

lansate în execuţie folosind un browser Web şi constă din următoarele componentedistribuite într-o arhitectur ă client/server:

  Web Listener primeşte şi procesează cererile de la browserul Web pentru avizualiza documente HTML sau a executa programe. Se poate utilizaOracle Web Server;

  WebListener Interface (Oracle Web Request Broker cartridge sau CommonGateway Interface –CGI);

  Web Agent Modules for Express Server  ce permite comunicarea întreExpress Server şi Web Listener Interface;

  Developer’s Toolkit ce conţine programe folosite în aplicaţii Web pentru agenera tag-uri HTML şi a produce viziuni de date multidimensionale(figura 4.5).

Client Server Express Web Agent

WebListener 

Web Listener Interface

Express Server 

Web Developer’sModules Toolkit

Web browser 

Figura 4.5 Componentele lui Express Web Agent 

 Aplica ţ ii Oracle Express (Oracle Sales Analyzer  şi Oracle Financial Analyzer) sunt aplicaţii preconstruite pentru analiza vânzărilor şi a pieţei şi analiză financiar ă.Sales Analyzer  poate estima tendinţe ale vânzărilor, profitabilitatea unor produsesau a unor clienţi, ciclul de viaţă al unui produs, eficacitatea unei campanii de  promovare. Include template-uri pentru rapoarte de excepţii, o bibliotecă de

formule predefinite. Utilizatorii îşi pot defini propriile lor formule. Cu ajutorul unui

105

Page 106: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 106/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

  browser Web, Sales Analyzer poate executa analize ad-hoc folosind facilităţileInternetului.

Oracle Financial Analyzer  este o aplicaţie preconstruită pentru planificare,stabilirea bugetelor, analize şi rapoarte financiare.

SNAPI (structured N dimensional application programming interface) este o bibliotecă de funcţii C care permite ca aplicaţiile client Windows să poată comunica cu serverul Express.   Local SNAPI permite clienţilor să se conecteze laPersonal Express, iar   Remote SNAPI la serverul Express.  ExpressCommunication Architecture (XCA) permite comunicarea între Personal Express şi Express Server şi între instanţe diferite ale serverului Express.

4.4 Standarde

Consiliul OLAP a propus un APB-1 benchmark [OLAP97b ] pentru a comparaserverele OLAP din punct de vedere al timpului mediu de interogare (AverageQuery Time-AQT). Standardul defineşte un set de dimensiuni specifice activităţiide analiză a vânzărilor. Structura logică a bazei de date este formată din 6dimensiuni: Timp, Scenariu,  M ă  sura, Produs,  Client  şi Canal de distribu ţ ie.Benchmark-ul nu consider ă un anumit model fizic de bază de date, datele de intraresunt furnizate în format de fişiere ASCII. Operaţiile simulează perfect operaţiilestandard OLAP şi includ încărcarea secvenţială  şi în lot a datelor de la surse dedate interne sau externe, agregarea sau deagregarea (roll up, drill down) datelor dea lungul ierarhiilor, calcule de noi date bazându-se pe modele de afaceri etc.

TPC-D benchmark  [TPBC98] modelează un mediu suport de decizie în caresunt executate cereri ad-hoc complexe pe un volum mare de date relaţionale. TPC- D include o schemă   fulg de ză  pad ă  cu mai multe tabele de fapte  şi tabele  dedimensiuni. Dimensiunile au o structur ă simplă.  Benchmark-ul prezintă un set decereri specifice mediului SSD.

Standardul OLEDB pentru OLAP  [MICR98] a fost dezvoltat de firmaMicrosoft ca un set de obiecte COM şi interfeţe destinate pentru a furniza acces lasurse de date multidimensionale prin OLEDB. Standardul OLEDB pentru OLAPutilizează un model pentru cuburi şi dimensiuni şi ofer ă un limbaj de expresii

multidimensionale (MultiDimensional eXpressions/ MDX) pentru calcule şi prezentări de cuburi. Acest standard are o serie de dezavantaje: îi lipseşte un suportteoretic solid (nu există definită  schema unui multicub) şi utilizează un limbaj preacomplex (deşi destul de puternic).

Metadata Interchange Specification [META97] a fost propus de MetadataCoalition (un grup de firme cum ar fi IBM, Sybase, Informix etc). MDIS ofer ă unmecanism de acces standard şi o interfaţă API standard pentru a gestionametadatele cu instrumente specificate de standard. MDIS încearcă să prezinte unmetamodel de metadate pentru o varietate de modele de baze de date (relaţional,orientat-obiect etc). Modelul propus de MDIS suportă noţiunea de dimensiune

(care include un set de niveluri). Cuburile nu sunt direct modelate în modelul

106

Page 107: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 107/331

  Caracteristicile sistemelor OLAP 

MDIS. În tabelul 4.2 este prezentată o analiză comparativă între standardeledescrise mai sus (C-cub, T-tabela).

Tabelul 4.2

Compara ţ ie între standardeStandarde Spaţiu multi-

dimensional

Limbajul

de interogare

Stocarea datelor

Cuburi Ierarhii Procedu-ral

Decla-rativ

ROLAP MOLAP

APB-1 C da Limbaj propriu

TPC-D T SQL daOLEDB C da C++ SQL da daMDIS T da

În tabelul 4.3 este prezentată o clasificare a celor mai cunoscute instrumenteOLAP, în funcţie de modul de stocare a datelor multidimensionale şi de modul de  procesare multidimensională utilizat. Instrumentele din grupele 1, 2 şi 3 suntinstrumente ROLAP, cele din grupele 4 şi 5 instrumente MOLAP, cele din grupa 6instrumente desktop OLAP, iar cele din grupele 2, 4 instrumente OLAP hibride(cele scrise italic). În tabelul 4.4 sunt prezentate produse OLAP cu facilităţi Web,iar în tabelul 4.5 este prezentată o evaluare a câtorva instrumente OLAP luând înconsiderare următoarele criterii: modul de vizualizare a datelor, tipul de aplicaţii,modul de stocare a datelor, modul de procesare a datelor, tipul de arhitectur ă 

utilizat, sistemul de operare utilizat şi limbajul utilizat. 

Tabelul 4.3Clasificarea instrumentelor OLAP 

Modul de stocare a datelor multidimensionaleModul de procesare

multidimensională  BDR BDMD Fişiere client

SQL în mai mulţi paşi 1.Microstrategy

Motor OLAP pe server 2.IBM DB2 OLAP Server Informix Metacube

Microsoft OLAP ServicesOracle Express

 Pilot Analysis Server Seagate HolosApplix TM-1White Light

4.Comshare DecisionEssbase

Oracle Express,Seagate Holos, GentiaMicrosoft OLAPServicesPower Play EnterpriseServer Pilot Analysis Server Applix TM-1

Motor OLAP pe client 3.Oracle Discoverer Informix MetaCube

5.Dimensional InsightComshare FDC

6.Brio Enterprise,Business ObjectsCognos PowerPlayPersonal Express

107

Page 108: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 108/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Tabelul 4.4  Produse OLAP cu facilit ăţ i Web

Firma Produsul OLAP Produsul Web Modul de stocare

Arbor Software Essbase Essbase Web Gateway BDMDBrio Technology Inc. BrioQueryEnterprise BrioQuery Enterprise BDR 

Business Objects Inc Business Objects Business Objects BDR Cognos Corp. Power Play PowerPlay BDR Comshare Inc. Commander Decision CDWeb BDMDDimensional Insight Inc. CrossTarget DataFountain BDR Information Advantage Inc. DecisionSuiteServer WebOLAP BDMDInformixSoftware Inc. Informix MetaCube MetaCube for the Web BDR Kenan Systems Corp. Acumate Es Acumate Web BDMDMicrostrategy Inc. DSS Server DSS Web BDR Oracle Corp. Oracle Express Server Oracle Express Web Agent BDMDPilot Software Inc. Pilot Analysis Server Pilot Internet Publisher BDMDSeagate Software IMG Holos Holos BDMDTM-1 Software TM-1 Server TM-1Server BDMD

Tabelul 4.5 Analiză comparativă a instrumentelor OLAP 

Produs

OLAP

Vizualizarea

datelor

Tipul de aplicaţii Modul

de

stocare

Modul de

procesare

Tipul de

arhitectură 

Platforma

utilizată 

Limbajul

utilizat

Power PlayCognos

TabeleGrafice,Rapoarte

Analiza vânzarilor Analiză financiar ă Controlul calităţii

FişiereBDR BDM

Motor OLAP peclient/server 

Client/server 

Server UnixWinNT,ClientWindows

APL2000 pentruaplicaţiifinanciare

DecisionBas

e OLAPComputer 

Associates

Rapoarte HTML,Grafice

Analiza vânzărilor BDM Motor OLAP peserver 

Client/server pe treiniveluri

Windows Orientatobiect

Oracle

ExpressOracle

Rapoarte, tabele,grafice

Analiza vânzărilor Analiza financiar ă 

BDR BDMFişiere

Motor OLAP peserver /client

Client/Server, PC

Server WinNTClientWindows

ExpressBasic

Business

Objects Rapoarte Analiza vânzărilor 

Analiza financiar ă Fişiere Motor 

OLAP peclient

Client/server pedouă/treiniveluri

WinNT VisualBasic

DSSMicrostrategy

Rapoarte, grafice Marketing BDR SQL înmai mulţi paşi

Client/server 

Server WinNTClientWindows

SQL

AcumateKenan

Systems

Rapoarte Telecomunicaţii,Servicii

financiare,marketing,Analizavânzărilor, previziuni,Segmentarea pieţei,Analiza clienţilor 

BDM Motor OLAP pe

server 

Client/server 

Server WinNT

ClientWindows

Limbajmultidim

MSPL

Informix

MetacubeInformixSoftware

Rapoarte, grafice Analiza vânzărilor Analiză financiar ă 

BDR Motor OLAP peserver/client

Client/server pedouă şi treiniveluri

Server WinNTUnix,ClientWindows

LimbajOO,SQL

108

Page 109: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 109/331

  Caracteristicile sistemelor OLAP 

Produs

OLAP

Vizualizarea

datelor

Tipul de aplicaţii Modul

de

stocare

Modul de

procesare

Tipul de

arhitectură 

Platforma

utilizată 

Limbajul

utilizat

DB2 OLAPIBM

Rapoarte Telecomunicaţii (DecisionEdge), marketing, previziuni

BDR BDM

Motor OLAP peserver (motor Essbase)

Client/server pe treiniveluri

Server WinNT,OS/2Unix

SQLInterfaţă API pentruVisualBasic,C

Microsoft

OLAP

ServicesMicrosoft

Grafice, rapoarte PrevizionăriAnaliză financiar ă 

BDR BDM

Motor OLAP peserver 

Client/server 

Server WinNTUnixVAX/VMSSun, Mac,Aix

VisualBasic

EssbaseArbor Software

Rapoarte, grafice Analiza de piaţă Analiza profitabilităţii,Planificare,Analiza bugetar ă,Previzionare,EIS

BDMFişiereBDR 

Motor OLAP peserver 

Client/server  server WinNTOS/2IBM-AIXSun SolarisAS/400ClientWindowsUnix

Interfaţă

 API pentruVisualBasic, C,Power Builder 

RezumatCaracteristicile unui instrument OLAP sunt clasificate în două  categorii:

caracteristici logice  şi caracteristici fizice.

Cuvinte cheie

Caracteristici logice, caracteristici fizice, standarde OLAP.

109

Page 110: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 110/331

 

Capitolul 5Proiectarea sistemelor OLAP

Firmele şi mediul academic au acordat puţină atenţie problemelor legate demodelarea multidimensională conceptuală. Tehnicile de modelare conceptuale

existente nu pot fi direct aplicate la caracteristicile modelului de datemultidimensional [BLAS98]. Ca o consecinţă, multe proiecte industriale elimină etapa de modelare conceptuală  şi încep cu proiectarea logică (de exemplumodelarea unei scheme stea sau fulg de ză padă).

 Nu există la ora actuală, nici un standard pentru modelarea multidimensională conceptuală a datelor. Există însă un consens general că tehnica de modelareentitate-asociere nu este potrivită pentru proiectarea sistemelor cu depozite de dateşi a sistemelor OLAP. De exemplu, în [KIMB96] se precizează că “ modeleleentitate-asociere nu pot fi utilizate pentru proiectarea depozitelor de date la nivel 

de întreprindere”, iar în [BULO96] că “modelul entitate-asociere nu este potrivit  pentru modelarea cuburilor n-dimensionale.”În [BLAS98] se consider ă că procesul de proiectare a modelului

multidimensional conceptual depinde foarte mult de cerinţele utilizatorilor  şi devalabilitatea şi structura datelor din sistemele operaţionale. Cele mai multe proiectefolosesc o metodologie evolutivă [KIMB96],[INMO92]. Proiectele încep cu un prototip, care este apoi modificat în concordanţă cu cerinţele utilizatorilor. Procesulde proiectare a modelului multidimensional conceptual este executat de mai multeori (iterativ). Există două motive principale pentru acest comportament dinamic:

  tehnologia de analiză multidimensională interactivă este nouă pentru

analist. Aceasta înseamnă că este imposibil pentru el să stabilească de laînceput toate cerinţele aplicaţiei;

    procesele de afaceri pe care analistul trebuie să le modeleze, se modifică frecvent. Aceste modificări trebuie reflectate în cerinţele de analiză (noitipuri de cereri). Întrucât modelul multidimensional determină facilităţilede analiză posibile, noile cerinţe conduc la modificări ale schemei bazei dedate. 

La ora actuală se identifică două abordări în proiectarea modeluluimultidimensional conceptual şi anume:

Abordarea orientat ă  pe sursele de date ce presupune existenţa sistemuluiinformatic tranzacţional şi începe cu analiza datelor existente în baza de date

110

Page 111: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 111/331

 Proiectarea sistemelor OLAP 

operaţională. Această abordare utilizează în general ca punct de pornire, modelulentitate-asociere al bazelor de date operaţionale existente, pentru domeniulanalizat, pe care apoi îl transformă în modelul multidimensional (de exemplumetoda lui Cabibbo [CABB98a] şi metoda lui Golfarelli [GOLF99]). De asemenea,

această abordare se utilizează în special, în procesul de proiectare a sistemelor ROLAP, care utilizează un depozit de date pentru stocarea datelor multidimensionale.

Abordarea orientat ă  pe cereri este utilizată în absenţa surselor de date (şi amodelelor entitate-asociere corespunzătoare). Pe baza studiului şi analizeiactivităţii pentru care se construieşte sistemul OLAP, se vor identifica indicatoriide performanţă ai activităţii respective (variabilele cubului n-dimensional ). Această abordare se poate utiliza în procesul de proiectare a sistemelor MOLAP.

Indiferent de tipul abordării, se utilizează aceleaşi concepte, iar paşii suntasemănători (figura 5.1).

Orientată e cereri Orientată e surse de date

Identificarea măsurilor (variabilelor)

Identificarea dimensiunilor şi aierarhiilor Identificarea hypercubului sau astructurii multicub

Identificarea faptelor 

Identificarea dimensiunilor şi aierarhiilor Identificarea măsurilor 

Modelarea multidimensională datelor 

Figura 5.1 Abord ă ri în modelarea multidimensional ă a datelor 

În cele ce urmează, se vor prezenta câteva metode de modelaremultidimensională şi anume: metoda lui Cabibbo, metoda lui Golfarelli şi metoda

lui Thomsen. Ele utilizează concepte asemănătoare (de exemplu conceptul dedimensiune, ierarhie, măsur ă, fapt), dar etapele parcurse pentru proiectareamodelului multidimensional conceptual sunt diferite.

5.1 Metoda lui Cabibbo şi Torlone

Metoda propusă de autori, pentru proiectarea unei model  multidimensional 

[CABB98b] are ca punct de pornire modelul entitate-asociere al bazelor de dateoperaţionale existente pentru domeniul analizat. Se consider ă că modelul entitate-

111

Page 112: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 112/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

asociere existent este complet (conţine toate informaţiile necesare în procesareaanalitică) şi normalizat.

Metoda propusă constă din patru etape:  identificarea faptelor, dimensiunilor, ierarhiilor şi măsurilor;  restructurarea modelului entitate-asociere;  derivarea unui graf dimensional;  transformarea în modelul multidimensional.De obicei, primele două etape nu sunt strict secvenţiale, în multe cazuri se

execută în paralel (în etapa de restructurare a modelului entitate-asociere, faptele şidimensiunile identificate pot fi rafinate şi modificate). Apoi celelalte etape seexecută secvenţial, întrucât fiecare etapă cere completarea etapei anterioare.Autorii utilizează această metodă pentru a proiecta un model multidimensionalconceptual pentru analiza activităţii de desfacere a unei firme. Modelul entitate-asociere al activităţii de desfacere este prezentat în figura 5.2.

5.1.1 Identificarea faptelor, dimensiunilor, ierarhiilor  şi mă surilor 

În prima etapă, se face o analiză atentă a modelului entitate-asociere existent pentru a se identifica faptele, mă  surile şi dimensiunile de interes pentru domeniulanalizat. Faptele pot fi entităţi, asocieri sau atribute ale modelului entitate-asociere,importante în procesul decizional. O mă  sur ă  este o propietate atomică a unui fapt  (în general un atribut numeric al unui  fapt  sau un număr al instanţelor lui). O

dimensiune este o subschemă a modelului entitate-asociere ce descrie o perspectivă  prin care analiză unui fapt poate fi executată.Firma doreşte pe de o parte să cunoască evoluţia în timp a volumului vânzărilor 

şi veniturile corespunzătoare, pe de altă parte analiza variaţiei costurilor de producţie ale produselor vândute. În acest caz,  faptele sunt entitatea Vânzare  şiatributul „cost”  al entităţii  Produs.   Faptul Vânzare are următoarele măsuri:„numărul de vânzări” (numărul de instanţe ale entităţii) şi veniturile obţinute dinvânzări (atributul „venit”). Faptul Cost are măsura „valoarea costului”.

De-a lungul unei dimensiuni, analiza unui fapt este executată prin consolidarea(agregarea) datelor. De aceea, se poate identifica o dimensiune prin navigarea în

schemă începând de la fiecare fapt şi incluzând conceptele ce sugerează un mod dea grupa datele (entităţile asociate prin relaţii (1:m) sau atributele după care se potface clasificări, de exemplu atributele „vârsta” sau „sex”). Se consider ă deexemplu,  faptul   Vânzare. Se poate vedea că fiecare vânzare este asociată cu produsul corespunzător vândut şi fiecare produs este asociat cu categoria şi marcacorespunzătoare. Înseamnă că vânzările pot fi analizate după tipurile de produsevândute, la diferite niveluri de agregare (produs, categorie, marcă). Astfel, o posibilă dimensiune pentru analiza vânzărilor este Tipologia produsului vândut.Această dimensiune include entităţile  Produs, Marcă   şi Categorie. Se poate, de

asemenea, observa că pentru unele vânzări există informaţii despre clientul asociat.Clienţii pot fi grupaţi după vârstă, sex, oraş de reşedinţă  şi ocupaţie. Deci o altă 

112

Page 113: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 113/331

 Proiectarea sistemelor OLAP 

dimensiune pentru analiza vânzărilor este Tipologia clientului. Această dimensiuneinclude entităţile Client   şi Ocupa ţ ie (şi atributele lor corespunzătoare). Deasemenea,  Loca ţ ia vânzărilor este o altă posibilă dimensiune pentru analizavânzărilor. Această dimensiune include numai entitatea Magazin. Se poate

identifica şi o dimensiune temporală pentru analiza vânzărilor (atributul „data-vânzării” al entităţii Vânzare). Aceasta este o dimensiune fundamentală în analizamultidimensională.

Figura 5.2 Modelul entitate-asociere

5.1.2 Restructurarea modelului entitate-asociere

În această etapă, se face o reorganizare a modelului entitate-asociere existent,

  pentru a pune în evidenţă   faptele  şi dimensiunile. Această etapă includeurmătoarele activităţi : Reprezentarea faptelor ca entit ăţ i. În general, faptele corespund la entităţi, dar 

  pot corespunde şi la atribute sau asocieri. În aceste cazuri, este necesar să fietransformate în entităţi. De exemplu, costul de  producţie al unui produs este unatribut în modelul entitate-asociere iniţial. Acest atribut poate fi transformat uşor într-o entitate Cost al produsului prin adăugarea unei asocieri (1:1) între nouaentitate şi entitatea  Produs (figura 5.3). Se poate întâmpla ca unele dimensiuni importante pentru analiză să lipsească din modelul entitate-asociere al bazelor dedate operaţionale sursă, dar pot fi derivate din baze de date externe. De exemplu,

analiza efectivă a costurilor poate fi realizată numai prin comparaţia lor, în diferite perioade de timp. De aceea, este necesar a se adăuga informaţii temporale despre

113

Page 114: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 114/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

costuri. Dacă se consider ă că se cunoaşte momentul exact al operaţiilor deactualizare a costurilor şi că costurile se modifică de regulă, o singur ă dată pe lună,se face restructurarea entităţii Cost. Astfel, între entitatea Produs şi entitatea Cost  apare o asociere (1:m), iar între entitatea Cost   şi entitatea  Luna o asociere (m:1)

(figura 5.4).

Cod produsvaloare

denumire

Produs Cost produs

Figura 5.3 Restructurarea entit ăţ ii Cost 

 Rafinarea nivelurilor din fiecare dimensiune. În fiecare dimensiune trebuie să se reprezinte într-un mod explicit, nivelurile de agregare importante pentru analiza

 faptelor  (de exemplu atributele „categorie” şi „marca” unui produs) şi să sediferenţieze de conceptele ce sunt numai descriptive şi nu pot fi utilizate în analiză,întrucât nu permit realizarea de agregări (de exemplu atributele „adresa” şi„numărul de telefon” al unui magazin). În practică, această activitate presupuneurmătoarele transformări :

  înlocuirea relaţiilor (m:m);  adăugarea de noi concepte (entităţi sau atribute) ce reprezintă noi niveluride agregare;  stabilirea unui identificator pentru fiecare entitate nivel;  eliminarea conceptelor irelevante.Se consider ă de exemplu, entitatea Client . Clienţii se pot agrega după vârstă,

sex şi oraş de reşedinţă. Dacă se doreşte agregarea clienţilor în funcţie de ocupaţialor, nu se poate utiliza direct entitatea Ocupa ţ ie, întrucât între entităţile Client şiOcupa ţ ie există o asociere (m:m), fiecare client are în general mai multe ocupaţii.Totuşi se poate înlocui această entitate cu o nouă entitate Ocupa ţ ia Principal ă  cedescrie ocupaţia unui client în cea mai mare parte a timpului, astfel că relaţia este

transformată din (m:m) în (1:m) (figura 5.4). Dimensiunea  Loca ţ ie constă dinentitatea Magazin. Ar putea fi de interes agregarea magazinelor după oraş şi zonageografică (această informaţie poate fi derivată din atributul “adresa”). Aceasta

 poate fi f ăcută explicit prin adăugarea unor noi entităţi Ora ş şi  Zonă  (figura 5.4).Pentru noile entităţi se stabileşte un identificator. Dacă se doreşte agregareavânzărilor, de exemplu după zile, luni, perioade speciale (Cr ăciun, Paşte etc),trimestre şi ani se adaugă noi entităţi. Când toate dimensiunile au fost examinate, pasul final constă în eliminarea conceptelor (entităţi, atribute şi relaţii) ce nu suntfolositoare în procesarea analitică (de exemplu niveluri de agregare

nesemnificative). Modelul entitate-asociere obţinut după etapa de restructurare este prezentat în figura 5.4.

114

Page 115: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 115/331

 Proiectarea sistemelor OLAP 

Figura 5.4 Modelul entitate-asociere restructurat 

5.1.3 Derivarea unui graf dimensional 

Pornind de la modelul entitate-asociere restructurat, se poate deriva un graf special numit dimensional. Un  graf dimensional reprezintă  faptele şi dimensiunilemodelului entitate-asociere restructurat. Fiecare nod al grafului corespunde unuiconcept specific (entitate sau atribut), iar reprezentarea unui domeniu se face astfel:dacă nodul corespunde la o entitate, se reprezintă domeniul cheii entităţii, iar dacă nodul corespunde unui atribut, se reprezintă domeniul atributului. Arcul între două noduri reprezintă o funcţie între domeniile corespunzătoare (arcul este punctat dacă funcţia este par ţială). Figura 5.5 reprezintă  graful dimensional obţinut din modelulentitate-asociere prezentat în figura 5.4. În acest graf, nodul  Produs reprezintă domeniul atributului “cod_produs”, nodul  Luna reprezintă domeniul atributului

“nume” al entităţii corespunzătoare, nodul Venit  reprezintă domeniul atributului

115

Page 116: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 116/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

“venit” al entităţii Vânzare. Se observă că dimensiunile devin subgrafuri ale grafului dimensional. În graful dimensional se pot distinge patru tipuri de noduri:

  noduri de fapte (fact nodes) ce au marginile bolduite (ele îşi au originea înentităţile de fapte);

  noduri nivel (level nodes) sunt acelea ce apar într-o dimensiune;  noduri descriptive sunt noduri reprezentate în afara dimensiunilor, dar sunt

legate prin arce de nodurile nivel (se obţin din atributele descriptive);  şi noduri mă  suri legate printr-un arc la un nod de fapte.De exemplu, nodul Vânzar e este un nod de fapte, nodul Valoare şi nodul Venit  

sunt noduri măsuri, iar nodul Adresă este un nod descriptiv.

5.1.4 Transformarea în modelul multidimensional conceptual 

Modelul  multidimensional conceptual (figura 5.6) poate fi derivat din grafuldimensional şi anume:

  fiecare dimensiune a grafului dimensional devine o dimensiune amodelului multidimensional;

  fiecare nod nivel  al grafului devine un nivel al modeluluimultidimensional; 

  fiecare arc al subgrafului corespuzător se transformă într-o funcţie deagregare (roll-up).

Subgrafurile grafului dimensional, asociate cu dimensiunile, determină ordinea

 par ţială pe nivelurile modelului multidimensional. Trebuie să se definească, deasemenea, un număr de dimensiuni atomice pentru a reprezenta nodurile mă  suri şinodurile descriptive. De exemplu, se poate defini o dimensiune numerică pentruveniturile obţinute din vânzări şi costurile produselor  şi o dimensiune şir decaractere pentru numele produselor şi adresele magazinelor.

În exemplul prezentat de autori, modelul multidimensional conceptual esteimplementat în baze de date relaţionale şi transformat în schema stea. Tabelele de

 fapte   pot definite astfel: pentru fiecare nod de fapte din graful dimensional seselectează o combinaţie de niveluri de la dimensiunile “asociate” (dimensiuni  pentru care există un arc de la nodul de  fapte la ele). Se pot selecta mai multe

niveluri pentru fiecare dimensiune corespunzătoare şi nu toate dimensiunileasociate cu un nod de fapte trebuie să fie selectate. În exemplu studiat suntidentificate trei măsuri: cantitatea de produse vândute pentru fiecare tip de produsşi în fiecare magazin, veniturile obţinute prin vânzarea fiecărui tip de produs, înfiecare magazin şi costul lunar al produselor. Aceste măsuri pot fi reprezentate deurmătoarele tabele de fapte:

Vânzare [timp: ziua, produs: produs, loca ţ ie: magazin] : numeric (obţinută din faptul  Vânzare prin count(vânzare));

Venituri  [timp: ziua, produs: produs, loca ţ ie: magazin]: numeric (obţinută din

 faptul  Vânzare prin sum(venit(vânzare));

116

Page 117: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 117/331

 Proiectarea sistemelor OLAP 

Costul produsului   [timp: luna,  produs: produs]: numeric (obţinută din  faptul Cost  prin valoare(cost))

Produs

Timp

Locatie

Client

sex

ocupaţierinc

vârsta

client

oraş 

nume

categorie

zona

marca

 produs

vânzare

magazin

cost

venit

zi

Perioadas pecială

adresa

valoare

luna

trimestru

an

Figura 5.5 Graful dimensional 

Client

SexVârstaOraş etc

LocaţieMagazinOraş Zonaetc

Cost

Vânzare

TimpZiuaLunaTrimestruetc

ProdusDenumireMarcaCategorieetc

Figura 5.6 Modelul multidimensional conceptual 

117

Page 118: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 118/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

Metoda lui Cabibbo poate fi utilizată în procesul de proiectare a unuisistem ROLAP, care presupune utilizarea unui depozit de date pentru stocareadatelor multidimensionale.

5.2 Metoda lui Golfarelli

În [GOLF99], Golfarelli propune o metodologie pentru proiectarea unuidepozit de date (poate fi utilizată pentru proiectarea unui sistem ROLAP). Această metodologie pune accentul pe proiectarea modelului multidimensional conceptual.În tabelul 5.1 sunt prezentate etapele acestei metodologii.

Tabelul 5.1

Metodologia de proiectare a unui depozit de date

Etape Intrări Ieşiri Personalulimplicat

Analiza sistemuluiinformatic existent

documentaţiaexistentă 

schema bazei dedate operaţionale

Proiectant,manageri aisistemuluiinformatic

Specificareacerinţelor 

schema bazei dedate operaţionale

faptele Proiectant,utilizatori finali

Proiectarea

conceptuală (modelulmultidimensional)

schema bazei de

date operaţionale,faptele

modelul

multidimensional

Proiectant

Validarea modeluluimultidimensional

modelulmultidimensionalconceptual

modelulmultidimensionalvalidat

Proiectant,utilizatori finali

Proiectarea logică modelulmultidimensional,modelul logicutilizat

modelul logic aldepozitului dedate

Proiectant

Proiectarea fizică modelul logic aldepozitului,SGBD-ul ales

modelul fizic aldepozitului

Proiectant

În timpul analizei sistemului operaţional proiectantul trebuie:  să verifice corectitudinea datelor sursă sau dacă lipsesc date importante

 pentru analiză;  să selecteze sursele de date operaţionale în funcţie de calitatea datelor  şi

stabilitatea schemelor lor;  să determine care date pot fi integrate în scopul de a obţine o viziunecompletă. Persoanele implicate în această etapă sunt proiectantul

118

Page 119: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 119/331

 Proiectarea sistemelor OLAP 

depozitului de date împreună cu cei care gestionează sistemul informaticoperaţional existent şi cu proiectanţii săi.

Specificarea cerinţelor constă în colectarea şi filtrarea cerinţelor utilizatorilor,implicând atât proiectantul cât şi utilizatorii finali ai depozitului. Se obţin ca ieşiri

 faptele  şi cerinţele preliminare legate de procesul de încărcare a depozitului dedate. Stabilirea  faptelor  are ca punct de pornire modelul entitate-asociere alsistemului informatic operaţional.

Proiectarea modelului multidimensional conceptual    presupune parcurgereaurmătorilor paşi:

  identificarea faptelor;  construirea unui arbore al atributelor;  rafinarea arborelui;  definirea dimensiunilor;  definirea măsurilor;  definirea ierarhiilor.Autorii proiectează  modelul multidimensional conceptual pentru analiza

activităţii de desfacere (modelul entitate-asociere este prezentat în figura 5.7).Fiecare instanţă a entităţii Vânzare se refer ă la un singur produs din bonul de casă.Atributul “preţ unitar” apar ţine entităţii Vânzare  şi nu entităţii  Produs, întrucât preţul produselor poate varia în timp. Schema logică a bazei de date operaţionale(cheile primare sunt subliniate, pentru fiecare cheie externă este prezentată schemareferită) este următoarea:MAGAZINE(magazin, adresa, telefon, manager_vânzări, oras: ORASE, nrdistrict:

DISTRICTE)ORASE (oraş, zona: ZONE)STATE (stat)ZONE (zona, stat: STATE)DISTRICTE (nrdistrict, stat: STATE)PRODUSE (codprodus, greutate, mărime, dieta, marca: MARCI, tip: TIPURI)MARCI(marca)TIPURI (tip, grup: GRUPURI, categorie: CATEGORII)GRUPURI (grup, manager_grup marketing)CATEGORII (categorie, departament: DEPARTAMENT)

DEPARTAMENTE (departament, manager_departament)BONURI (nrbon, data, magazin: MAGAZINE)VÂNZARI (codprodus: PRODUSE, nrbon: BONURI, cant, preţ unitar)DEPOZITE (depozit, adresa)PROD_DEPOZ (codprodus: PRODUSE, depozit: DEPOZITE)

5.2.1 Identificarea faptelor 

 Faptele sunt concepte importante pentru procesul decizional şi modelează 

evenimente ce au loc în întreprindere (de exemplu vânzările). Un fapt  poate fireprezentat în modelul entitate-asociere fie de o entitate F sau de o asociere R de

119

Page 120: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 120/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

tip (m:m) între entităţile E1,….,En. În ultimul caz, pentru simplitate, este indicat ase transforma relaţia într-o entitate F prin înlocuirea fiecărei ramuri Ei cu o relaţie binar ă între F şi Ei. Atributele relaţiei devin atribute ale lui F, identificatorul lui Feste combinaţia identificatorilor lui Ei, i=1,…n. Entităţile sau asocierile care sunt

actualizate frecvent (cum ar fi Vânzare) pot fi considerate  fapte. Cele care nu semodifică frecvent (sunt aproape statice, cum ar fi entităţile Magazin şi Ora ş) nu potfi considerate  fapte. Fiecare  fapt  identificat în modelele entitate-asociere sursă,devine r ădăcină a unei scheme fapt. 

Figura 5.7 Modelul entitate-asociere al bazei de date opera ţ ionale

5.2.2 Construirea unui arbore al atributelor 

Se consider ă un model entitate-asociere şi o entitate F ce identifică un fapt. Senumeşte arbore al atributelor (attribute tree) un semi-arbore în care :

  fiecare vârf corespunde la un atribut (simplu sau compus) al modeluluientitate-asociere;

  r ădăcina corespunde la identificatorul lui F (cheia primar ă);    pentru fiecare vârf v, atributul corespunzător determină funcţional toate

atributele ce corespund descendenţilor lui v (figura 5.8).

120

Page 121: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 121/331

Page 122: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 122/331

Page 123: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 123/331

 Proiectarea sistemelor OLAP 

În unele cazuri, agregarea nu este necesar ă pentru a defini măsurile, întrucât afost deja executată la nivelul modelului entitate-asociere. De exemplu, fiecareinstanţă a entităţii Vânzare din modelul entitate-asociere ar putea descrie vânzăriletotale să ptămânale pentru fiecare produs, în fiecare magazin. În acest caz,

instanţele entităţii corespund (1:1) la instanţele   faptului Vânzare  şi atributeleentităţii pot fi transformate direct în măsuri.

5.2.6 Definirea ierarhiilor 

Ultima etapă este definirea ierarhiilor în dimensiuni. În fiecare ierarhie,atributele trebuie aranjate într-un semi-arbore astfel că între fiecare nod şidescendenţii săi există o relaţie (1:m). Se pot adăuga noi niveluri de agregare (deexemplu, în dimensiunea Timp se adaugă atributul “luna”). În această etapă, sunt

identificate atributele care nu sunt folosite pentru agregare ci numai pentru scopuriinformative (de exemplu atributele “adresa” şi “greutate”).

În etapa de  validare a modelului multidimensional, se verifică dacă dimensiunile şi măsurile au fost corect identificate şi ierarhiile bine structurate.

Proiectarea logică are ca intr ări modelul multidimensional conceptual şi un setde informaţii suplimentare (frecvenţa de utilizare, spaţiu de stocare valabil etc).Este necesar să se stabilească modelul logic utilizat (relaţional saumultidimensional). De exemplu, un model multidimensional conceptual poate fiimplementat în baze de date relaţionale prin scheme  stea sau   fulg de z ă  pad ă . În

această etapă sunt create tabelele de fapte şi cele de dimensiuni pe baza modeluluimultidimensional conceptual şi în funcţie de modelul logic adoptat. În cel maisimplu caz, în care este adoptată schema stea, fiecare schemă  fapt f=(M, A, N, R,O, S) cu Dim(f)={d1, …dn} şi M={m1, …, mz} este transformată într-o tabel ă de

 fapte:FT_f(k1, ….kn, m1,….mz) cu n tabele de dimensiuni:DT_d1 (k1, a11,…., a1v1, a’11,…., a’1u1)…………………………………………………DT_dn (kn, a n1,…., a nvn, a’ n1,…., a’ nun)Ierarhia din dimensiunea di include atributele dimensionale ai1,…., aivi  şi

atributele a’i1,…., a’iui. De exemplu,  schema stea pentru exemplu din figura 5.9devine:FT_VANZARE(codprodus, codtimp, codmagazin, volumul_vânzărilor,număr_clienti, cantitatea_vândută)DT_PROD (codprodus, produs, greutate, dieta, marca, oraş, tip, categorie,departament, manager_departament, …..)DT_TIMP (codtimp, data, ziua din să ptămână, luna,…)DT_MAGAZIN(codmagazin, magazin, telefon, adresa, manager de vânzări, oraş,zona)

123

Page 124: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 124/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

5.3 Metoda lui Erik Thomsen

În [THOM96] Erik Thomson propune o metodă pentru proiectarea modeluluimultidimensional conceptual ce poate fi utilizată în proiectarea şi realizarea unui

sistem MOLAP sau ROLAP.În etapă de analiză a cerinţelor, se vor analiza aspectele fizice şi logice ale

activităţii pentru care se construieşte sistemul OLAP. Se va stabili, pe bază deinterviu sau chestionar:

  frecvenţa de utilizare a sistemului pe categorii de utilizatori;  numărul de utilizatori pe categorie şi categoriile de utilizatori ai sistemului;  tipul de dialog specific pentru fiecare categorie de utilizatori;  volumul de date utilizat de fiecare categorie de utilizatori, în timpul unei

sesiuni de lucru;  categoriile de informaţii vizualizate de fiecare categorie de utilizatori;  tipurile de instrumente utilizate pentru a vizualiza sau analiza datele;  volumul de date de intrare;  sursele de date şi problemele ce apar ca urmare a integr ării acestor surse

eteroge;  tipurile de calcule ad-hoc ce se execută de regulă pe server;  tipurile de calcule ce trebuie antecalculate;  tipurile de calcule executate de regulă pe client;  frecvenţa de actualizare a datelor pe server;  tipurile de calculatoare, sistemele de operare şi configuraţiile de reţea

utilizate.Proiectanul va culege informaţii de la toate persoanele care utilizează direct sauindirect sistemul (utilizatori finali, operatori de date, administratori de sistem, persoane responsabile pentru sursele de date etc). Unele din informaţiile relevante  pot fi exprimate de utilizatori sub formă de restricţii la soluţie. O soluţie poateinclude următoarele tipuri de restricţii de sistem: tipul de calculator, sistemul deoperare, rezoluţia monitorului, protocolul de reţea, instrumentele client, numărul deutilizatori ai sistemului, tipurile de date valide etc. Pe baza acestor informa ţii se vaconstrui o diagramă a surselor şi a modului de utilizare (arată ce tipuri de date intr ă în sistem şi cine utilizează datele). Este un model logic al situaţiei curente.

Pentru definirea modelului multidimensional conceptual se parcurg următorii paşi:

  definirea cuburilor şi a dimensiunilor;  rafinarea cuburilor n-dimensionale;  identificarea ierarhiilor;  identificarea variabilelor;  stabilirea formulelor de calcul necesare analizelor şi a tipurilor de agregare;  tratarea fenomenului de împr ăştiere  definirea modelelor de calcul necesare analizelor.

124

Page 125: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 125/331

 Proiectarea sistemelor OLAP 

5.3.1 Definirea cuburilor  şi a dimensiunilor 

Definirea cubului de date sau a structurii multicub va depinde, în primul rând,de tipul şi formatul surselor de date. Aceste surse vor determina identificarea

dimensiunilor cubului şi a variabilelor. De exemplu, dacă sursa de date este undepozit de date cu o schemă stea, atunci tabelele de dimensiuni vor devenidimensiunile cubului n-dimensional , iar din tabela de fapte se vor identificavariabilele. Există instrumente OLAP care generează automat cubul  n-dimensional, dacă se cunoaşte  schema stea a depozitului de date (de exemplu Oracle ExpressRelational Manager).

În absenţa surselor de date, se vor identifica mai întâi, pe baza studiului şianalizei activităţii pentru care se construieşte sistemul, variabilele sau indicatorii de performanţă ai activităţii respective. Apoi pentru fiecare indicator (variabilă) se vor stabili factorii în funcţie de care variază (dimensiunile cubului n-dimensional ). Deexemplu, într-o aplicaţie pentru analiza vânzărilor, variabilele ar putea fi volumulvânzărilor, costurile şi cantitatea vândută, iar dimensiunile Timpul ,  Loca ţ ia  şi

 Produsul . Într-o aplicaţie de planificare a bugetului, variabilele ar fi veniturilestabilite, cheltuielile alocate, iar dimensiunile Unitatea organiza ţ ional ă , Timpul şiScenariu. În cazul structurii multicub, este important a se stabili de la începutdimensiunile comune.

5.3.2 Rafinarea cuburilor n-dimensionale

Structura multidimensională, identificată în etapa anterioar ă, se poate rafina  prin adăugarea sau ştergerea dimensiunilor. Pentru a elimina valorile f ăr ă semnificaţie şi a reduce explozia datelor derivate în cub, se pot combina două saumai multe dimensiuni într-o singur ă dimensiune. De asemenea, se pot adăugadimensiuni şi anume dimensiunea Timp (dacă nu există), o dimensiune foarteimportantă în sistemele OLAP. Este necesar a se stabili şi dimensiunile care semodifică frecvent şi care este rata de modificare a fiecărei dimensiuni. Uneledimensiuni nu se modifică în timp, în special dacă modelul este utilizat pe termenscurt. Cele mai frecvente modificări apar de obicei, în dimensiunile  Produs,Organiza ţ ie  şi  Loca ţ ie geografică . Există diferite metode de modelare a acestor modificări şi anume:

  se păstrează copii multiple ale dimensiunilor  şi se construiesc cuburiseparate pentru fiecare versiune de dimensiune;

  se păstrează o singur ă dimensiune în cub ce reprezintă reuniuneaversiunilor;

  se păstrează versiuni explicite pentru dimensiuni într-un singur cub[KIMB96].

125

Page 126: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 126/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

5.3.3 Identificarea ierarhiilor din dimensiuni 

Dimensiunile pot avea structur ă ierarhică. Problema care apare este de a stabilitipul de ierarhie : simetrică sau asimetrică. De exemplu, dimensiunea Timp are o

structur ă ierarhică simetrică şi se pot identifica nivelurile: zi, luna, trimestru şi an.De asemenea, dimensiunea  Loca ţ ie geografică  poate fi o dimensiune cu structur ă ierarhică simetrică cu nivelurile: ţar ă, regiune, judeţ şi oraş. Este necesar a se definirelaţiile de tip părinte-copil între nivelurile unei ierarhii. De asemenea, se vor identifica dimensiunile care conţin ierarhii multiple şi criteriile de grupare amembrilor. De exemplu, produsele se pot grupa după tip, culoare, mărime sau zonă geografică de destinaţie. O problemă destul de importantă este de a stabili dacă seutilizează dimensiuni cu ierarhii multiple sau fiecare ierarhie va deveni odimensiune separată. În general, se examinează cardinalitatea relaţiilor ce apar întremembrii dimensiunilor. De exemplu, dimensiunea Produs conţine ierarhii multiple,

în care produsele pot fi grupate după categorii, mărci etc. Timpul este un exemplude dimensiune, în care nivelurile sunt reprezentate frecvent ca dimensiuni separate,în special să ptămânile şi lunile.

5.3.4 Identificarea variabilelor 

Pe baza studiului şi analizei activităţii pentru care se construieşte sistemul, seidentifică variabilele sau indicatorii de performanţă ai activităţii respective. Pentrufiecare variabilă se stabilesc dimensiunile corespunzătoare. De exemplu, pentruanaliza vânzărilor, variabila “cantitatea vândută” depinde de dimensiunile Timp,

 Loca ţ ie geografică   şi  Produs. De asemenea, fiecare variabilă va fi analizată, înscopul de a se determina dacă este aditivă, semiaditivă sau neaditivă. 

5.3.5 Stabilirea formulelor de calcul  şi a tipurilor de agregare

O componentă cheie a modelării multidimensionale este definirea formulelor şiîn special a formulelor de agregare. O astfel de formulă poate fi o simplă sumă a

doi membrii sau complexă, un sistem de ecuaţii. Pentru cele mai multe aplicaţii,majoritatea formulelor de agregare sunt sume sau medii aritmetice. Cu excepţiavariabilelor, cele mai multe dimensiuni cum ar fi  Produs, Client , Timp,  Loca ţ ie 

 geografică sunt ierarhice şi sunt utilizate în agregări.

5.3.6 Tratarea fenomenului de împr ăştiere

Când se proiectează şi implementează un sistem OLAP, trebuie să se cunoască următoarele aspecte: cum sunt împr ăştiate datele şi ce tip de împr ăştiere există.

Unele instrumente stabilesc automat dacă datele sunt împr ăştiate şi care combinaţiide dimensiuni sunt cele mai împr ăştiate. Totuşi este bine ca proiectantul să acorde

126

Page 127: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 127/331

 Proiectarea sistemelor OLAP 

destulă atenţie fenomenului de împr ăştiere, deoarece tipul de împr ăştiere va afectaanalizele executate.

5.3.7 Definirea modelelor de calcul complexe necesare analizelor 

Dacă sistemul OLAP va fi folosit pentru analize complexe, în special pentru previziuni, se vor defini modelele de realizare a acestor analize. Unele instrumenteOLAP au incluse astfel de modele, în acest caz proiectantului îi revine sarcina de aalege modelul adecvat. 

De asemenea, Erik Thomsen propune şi un mod de reprezentare a unui cub n-dimensional , în care segmentele verticale reprezintă dimensiunile cubului n-dimensional, iar pentru fiecare segment se specifică nivelul de granulaţie şi direcţiade agregare (figura 5.10).

La ora actuală nu există nici o metodologie unanim acceptată pentru proiectarea şi realizarea unui sistem OLAP, dar există un consens general că   proiectarea unui sistem OLAP (în special a unui sistem ROLAP) este un procescomplex şi evolutiv. În figura 5.11 se prezintă un cadru generalizat al etapelor acestui proces evolutiv. Se consider ă că aceste etape ar trebui parcurse indiferent că se proiectează un sistem ROLAP sau un sistem MOLAP.

De asemenea, se observă că modelarea multidimensională a datelor reprezintă o etapă centrală în proiectarea unui sistem OLAP.

Locaţie geografică Produs Timp

1 ∧ 1 ∧ 1 ∧ Variabile pentru analiza vânzărilor:

-  volumul vânzărilor 10 ∧ 500 ∧ 10 ∧ -  cantitatea vândută  • -  numărul de clienţi etc 100 • 10000 500 • 

Notă: dimensiunea Loca ţ ie geografică are trei niveluri ierarhice (ţara, judeţ, oraş) cu 1,10 şi 100 de membrii fiecare nivel. Nivelul de granulaţie de bază este oraşul, iar 

direcţia de calcul şi agregare este simbolizată prin săgeată cu linie întreruptă.

Figura 5.10 Reprezentarea grafică a unui cub n-dimensional 

Procesul de proiectare a modelului conceptual multidimensional depinde foartemult de cerinţele utilizatorilor, de valabilitatea şi structura datelor din sistemeleoperaţionale sursă. Identificarea cerinţelor este foarte mult orientată pe înţelegereadomeniului problemei, pentru care modelarea va fi f ăcută. Pentru identificareacerinţelor se folosesc tehnici tradiţionale cum ar fi interviurile cu utilizatorii finali,studiul documentelor existente şi rapoartelor. Aceste cerinţe vor fi punctul de

 pornire în proiectarea modelului multidimensional conceptual.

127

Page 128: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 128/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

Cadrul generalizat din figura 5.11 încearcă să grupeze cerinţele utilizatorilor îndouă categorii şi anume: cerin ţ e orientate pe proces  şi cerin ţ e orientate peinforma ţ ii (figura 5.12) [BALL98]. 

Pentru sistemele ROLAP, care utilizează un depozit de date pentru stocarea

datelor multidimensionale, este foarte dificil de a identifica, în etapa de studiu şianaliză a cerinţelor informaţionale, toate cerinţele utilizatorilor. De aceea, seconsider ă a fi utilă şi importantă această structurare, pentru a putea fi identificatemai uşor cerinţele.

Cerin ţ ele orientate pe proces se refer ă la principale activităţi de prelucrare ainformaţiilor stocate (de regulă într-un depozit de date), executate de utilizatori.Din această categorie de cerinţe fac parte:

Obiectivele proiectului. Se pot stabili unul sau mai multe obiective  şi pot fiexprimate textual astfel: ” Depozitul de date trebuie să  suporte analiza costurilor de produc ţ ie  şi a veniturilor ob ţ inute prin vânzarea produselor fabricate  şi vândute

de firma X”. Aceste obiective pot fi folosite pentru a identifica domeniile(subiectele) de interes implicate în proiect şi variabilele ce vor fi analizate. Înexemplu de mai sus, subiectele de interes sunt produsele şi vânzările. Obiectiveleindică că variabilele globale folosite în procesul de analiză a informaţiilor sunt“costul de fabricaţie” şi “venitul obţinut din vânzări”. 

Tipurile de cereri reprezintă cereri, ipoteze şi întrebări analitice pe careutilizatorii încearcă să le rezolve în activităţile de analiză. Aceste cereri suntexprimate în termenii specifici activităţii analizate, în general nu sunt precisformulate şi nu sunt exprimate în limbaj SQL. Exemple de tipuri de cereri frecventfolosite:

  cereri de verificare a existenţei cum ar fi : ”S-a vândut un anume tip de produs la un anumit client?”;

  cereri de comparare cum ar fi : ”Să se compare valoarea comenzilor a doiclienţi pe ultimele şase luni” sau “Să se compare numărul de produse dintr-o anumită categorie, vândute să ptămânal, în fiecare magazin”;

  cereri de analiză a tendinţelor cum ar fi : ”Care este tendinţa vânzărilor  pentru un grup de produse, în ultimele 12 luni?”;

  cereri de analiză statistică cum ar fi : ”Să se calculeze media vânzărilor pecategorii de produse şi regiuni.”

Scenariile de analiz ă  a datelor sunt un mod de a adăuga substanţă la setul decerinţe ce sunt identificate şi analizate. Din păcate sunt mai greu de obţinut decâtalte cerinţe de prelucrare şi de aceea, nu sunt întotdeauna valabile pentru analizacerinţelor. De exemplu, pentru modelarea depozitului de date se pot folosi două tipuri de scenarii:

  Scenarii pentru fluxul de execu ţ ie a cererilor . Aceste scenarii reprezintă secvenţe de cereri pe care utilizatorii finali le execută în activitatea deanaliză  şi sunt utile pentru a crea o mai bună înţelegere a procesului deanaliză a informaţiilor;

  Strategii de inferen ţă  a cuno ştin ţ elor . Aceste cerinţe confirmă faptul că activităţile executate de utilizatorii finali au caracteristici de sistem expert.

Cele mai simple forme de strategii sunt acelea care arată cum utilizatorii

execută operaţii de drill down  şi roll up de-a lungul ierarhiilor.

128

Page 129: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 129/331

 Proiectarea sistemelor OLAP 

Cerin ţ ele orientate pe informa ţ ii  se refer ă la principalele categorii deinformaţii şi date ce sunt cerute de utilizatori pentru activităţile de analiză  şianume:

    subiectele informa ţ ionale (information subject areas) sunt informaţii

folosite pentru a construi modelul de date la nivelul întreprinderii. Acestesubiecte indică scopul proiectului şi permite analistului de a corela proiectul cu alte păr ţi deja proiectate ale depozitului de date sau cu centrelede date existente. De exemplu, subiecte informaţionale de interes pot fi:  produsele, vânzările şi producţia (incluzând stocurile) etc. Deşi vânzărilese fac la clienţi, deci sunt şi ei implicaţi, nu există întotdeauna o cerinţă dea include subiectul „Clienţi” în proiect.

  modelele de date valabile ca modele la nivel de întreprindere, modeleleentitate-asociere sau modelele multidimensionale deja existente.

Etapa de proiectare a modelului multidimensional conceptual este structurată întrei subetape şi anume: proiectarea modelului multidimensional conceptual ini ţ ial,rafinarea modelului multidimensional  şi validarea modelului multidimensional. Seconsider ă că aceste subetape trebuie executate indiferent că se proiectează unsistem ROLAP sau MOLAP. De asemenea, în ceea ce priveşte proiectareamodelului multidimensional iniţial, se identifică două abordări: una orientat ă  pecereri şi alta orientat ă  pe sursele de date. Rafinarea modelului multidimensional presupune stabilirea nivelurilor de granulaţie pentru dimensiuni şi măsuri, stabilireatipurilor de agregare, tratarea fenomenului de împr ăştiere (în special pentrusistemele MOLAP), stabilirea metadatelor pentru elementele modeluluimultidimensional (în special pentru sistemele ROLAP). Validarea modeluluimultidimensional presupune verificarea coerenţei şi completitudinii modeluluimultidimensional conceptual şi dacă corespunde cerinţelor utilizatorilor.

În etapa de proiectare logică modelul multidimensional conceptual setransformă într-un model logic în funcţie de tipul de implementare ales. Deexemplu, pentru sistemele ROLAP se transformă în schema stea sau fulg deză padă, identificându-se tabelele de fapte şi tabelele de dimensiunicorespunzătoare.

În etapa de proiectare fizică, se stabileşte dimensiunea bazei de date sautehnicile de optimizare utilizate (tipuri de indecşi, clustere), în special pentrusistemele ROLAP.

Urmează etapa de construire şi testare a sistemului OLAP care pune accentul  pe definirea modelelor de analiză complexe, realizarea şi testarea elementelor componente ale interfeţei, realizarea prototipului şi testarea lui împreună cuutilizatorii. În această etapă, se stabilesc ce produse software şi arhitecturi sefolosesc.

În etapa de implementare este inclusă încărcarea iniţială cu date a bazei de date(pentru prima iteraţie a ciclului de proiectare şi realizare a sistemului OLAP). Dacă există un volum mare de noi cerinţe, începe o nouă iteraţie a ciclului de proiectare.

Acest cadru generalizat va fi utilizat ca metodologie în capitolul 9 pentru proiectarea şi realizarea unui sistem MOLAP.

129

Page 130: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 130/331

Page 131: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 131/331

 Proiectarea sistemelor OLAP 

Tipuri de cereri, ipoteze,….

Analizadatelor Scenarii

Obiectivele proiectuluiSubiecte /domenii

Modele multidimensionaleiniţialeCerinţe validate

Variabile, colecţii de fapte, dimensiuni,entităţi

Figura 5.12 Identificarea cerin ţ elor 

Rezumat Nu exist ă  la ora actual ă nici un standard pentru modelarea multidimensional ă  

conceptual ă  a datelor. Exist ă  însă  un consens general că  tehnica de modelareentitate-asociere nu este potrivit ă  pentru proiectarea sistemelor cu depozite de

date  şi a sistemelor OLAP.  Procesul de proiectare a modelului multidimensional conceptual depinde

  foarte mult de cerin ţ ele utilizatorilor  şi de valabilitatea  şi structura datelor din sistemele opera ţ ionale.

  La ora actual ă  se identifică  două  abord ă ri în proiectarea modeluluimultidimensional conceptual  şi anume: abordarea orientat ă  pe sursele de date ce

  presupune existen ţ a sistemului informatic tranzac ţ ional   şi începe cu analizadatelor existente în baza de date opera ţ ional ă   şi abordarea orientat ă  pe cereri ceeste utilizat ă în absen ţ a surselor de date.

Modelarea multidimensional ă  a datelor reprezint ă  o etapă  central ă  în

 proiectarea unui sistem OLAP.  La ora actual ă  nu exist ă  nici o metodologie unanim acceptat ă  pentru

 proiectarea  şi realizarea unui sistem OLAP, dar exist ă  un consens general că   proiectarea unui sistem OLAP (în special a unui sistem ROLAP) este un procescomplex şi evolutiv.

Cuvinte cheieModelarea multidimensional ă  a datelor, modelul multidimensional conceptual,abordare orientat ă  pe sursele de date, abordare orientat ă  pe cereri, fapte,dimensiuni, ierarhii, mă  suri.

131

Page 132: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 132/331

 

Capitolul 6

Dezvoltarea sistemelor OLAP cu

Oracle Express Objects 

Oracle Express este un pachet software de tip sistem de gestiune a bazelor dedate multidimensionale (SGBDMD) cu următoarele caracteristici:

  ofer ă un limbaj de manipulare a datelor foarte puternic;  utilizează modelul de date multidimensional;  utilizează o arhitectur ă client/server (Oracle Express Server) sau o

arhitectur ă pe un singur nivel (Oracle Personal Express);    permite dezvoltarea de aplicaţii OLAP care pot fi executate utilizând un

 browser Web.

 Nucleul (limbajul Express)

Utilitare pentru administrare

ExpressAdministrator 

BDR (depozitede date)

BDMD

RelationalAccess Manager 

fişiereExpress InstanceManager 

 Instrumente de dezvoltare

ExpressAnalyzer 

Express WebPublisher 

FinancialAnalyzer 

SalesAnalyzer 

ExpressObjects

Figura 6.1 Arhitectura pe componente a lui Oracle Express

132

Page 133: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 133/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

Arhitectura pe componente a lui Oracle Express este formată din (figura 6.1):

Utilitare pentru administrare (Express Instance Manager, Express Administrator  şi Relational Access Manager). Oracle Express Administrator  este

un utilitar pentru crearea, configurarea şi instalarea bazei de date Oracle Express.Acest utilitar permite crearea bazei de date Express, a elementelor ei componente(măsuri, dimensiuni, ierarhii, selecţii etc) şi a programelor de încărcare a datelor din fişiere externe în baza de date. Aplicaţiile OLAP dezvoltate cu Oracle Express  pot accesa direct date stocate în baze de date relaţionale (depozite de date) cuajutorul lui Relational Access Manager (RAM). Express Instance Manager este unutilitar orientat Java ce utilizează comunicaţii CORBA şi care gestionează  şiconfigurează servicii şi sesiuni de lucru. Fiecare instanţă Express Server este unserviciu ce permite utilizatorilor acces la bazele de date multidimensionale sauaplicaţii prin interfeţe de tip SNAPI (Structured n-dimensional Application

Programming Interface), XCA (Express Communications Architectures) sauExpress Web Agent. De asemenea, Express Instance Manager permite modificarea parametrilor de configurare a instanţelor Express.

 Instrumente de dezvoltare. Oracle Express Analyzer este un instrument OLAPcare permite utilizatorilor să selecteze, afişeze şi analizeze datele stocate în baza dedate multidimensională. Oracle Express Objects este un instrument OLAP ce  permite dezvoltarea de aplicaţii OLAP şi utilizează limbajul de programare Express.

Conexiunile la baza de date multidimensională se definesc cu editorul de

conexiuni (  Express Connection Editor ). Aceste conexiuni sunt utilizate deaplicaţiile dezvoltate cu Oracle Express Objects/Analyzer. Fiecare conexiunedefinită se salvează într-un fişier de conexiune cu extensia (.xcf) ce conţineinformaţii despre versiunea bazei de date şi locaţia fişierelor corespunzatoare.Pentru a defini o conexiune Express se selectează editorul de conexiuni. Sedeschide fereastra de dialog   Express Connection Editor . Se selectează butonul Define  şi se deschide fereastra de dialog Connection Settings (figura 6.2). Seintroduce numele fişierului de conexiune cu locaţia corespunzătoare şi descriereaconexiunii (se specifică serverul la care se face conexiunea). Se selectează versiunea de Express (Express Server sau Personal Express). Se introduce numele

(host name) sau adresa IP a serverului Express la care se face conexiunea. Se alege  protocolul de transport. De exemplu ncacn_ip_tcp (TCP/IP), dacă sistemul deoperare este Windows. Se introduce identificatorul unic universal (universal uniqueidentifier-uuid ) pentru a identifica unic instanţa Express. Pentru protocolulncacn_ip_tcp nu se introduce numărul portului (end point ) pe care serverul Expressacceptă cereri de conexiune. Se alege tipul de autentificare şi nivelul de securitateşi se salvează setările.

Oracle Express Objects este un instrument OLAP ce permite crearea deaplicaţii OLAP şi briefing-uri complexe care pot fi rulate şi în  Express Analyzer , precum şi realizarea de programe în limbaj Express, prin care se controlează comportamentul aplicaţiei. Acest instrument este un element cheie în pachetul de

133

Page 134: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 134/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

instrumente pentru inteligenţa afacerilor  Oracle Integrated Business IntelligenceTools, fiind integrat cu Oracle Discoverer . Aplicaţiile OLAP dezvoltate cu Oracle  Express Objects accesează datele stocate în baze de date multidimensionale sau baze de date relaţionale.

Figura 6.2 Definirea unei conexiuni cu Express Connection Editor 

Fereastra principală a lui   Express Objects [DAOE98] are următoarelecomponente (figura 6.3):

  Titlu ferestrei (title bar ) ce afişează numele aplicaţiei OLAP şi alobiectului activ;

  Meniul principal (menu bar ) cu opţiunile:   File, Edit, Database, Layout,Window şi Help;

 Selectorul ( selector bar ) ce permite un acces mai rapid la facilităţile oferitede instrumentul Selector ;

  Bara (  Layout toolbar ) cu instrumentele ce permit îmbunătăţirea interfeţeiaplicaţiei (de exemplu: alinierea obiectelor, redimensionarea lor etc);

  Bara de instrumente (main window toolbar ) ce permite un acces mai rapidla facilităţile oferite de Express Objects (de exemplu  New Project, Object  Browser, Database Browser, Open Project etc);

  Bara de stare ( status bar ) ce afişează informaţii despre activitatea curentă (de exemplu ora curentă);

  Caseta de instrumente (toolbox) utilizate pentru a crea diferitele obiecte ale

interfeţei aplicaţiei (de exemplu: pagini, tabele, grafice, butoane etc).

134

Page 135: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 135/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

6.1 Utilitarul Object Browser

Utilitarul Object Browser permite vizualizarea conţinutului unui proiect sau aunui briefing (dosar). Cu acest utilitar (figura 6.4) se pot:

  deschide şi vizualiza mai multe proiecte (opţiunea View Projects din barade butoane corespunzătore lui Object Browser ) sau briefing-uri (opţiuneaView Briefings);

  selecta, muta, copia, şterge, deriva obiecte incluse în proiect/briefing ;  muta, copia sau referi obiecte între proiecte/briefing-uri;  edita şi modifica pagini;  se pot vizualiza propietăţile obiectelor cu Object Inspector;   specifica diferite acţiuni (de exemplu QuickActions) pentru obiecte;  lansa în execuţie briefing-uri/proiecte etc.Un proiect este unitatea de bază pentru stocarea obiectelor create cu Express

Objects. Este un container r ădăcină ce include celelalte obiecte. Proiectele suntstocate în fişiere cu extensia (.xpj). Briefing-ul (o colecţie ordonată de pagini) esteinclus într-un proiect şi se stochează într-un fişier cu extensia (.xbr). O aplicaţieOLAP poate fi formată din unul sau mai multe proiecte.

Figura 6.3 Componentele ferestrei principale 

135

Page 136: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 136/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Se poate utiliza Object Inheritance Browser  (opţiunea View Inheritance din  bara de butoane corespunzătoare lui Object Browser ) pentru a vizualiza relaţia părinte-copil pentru toate obiectele create. Se afişează toate obiectele predefinite deOracle Express Objects, dar  şi obiectele ce sunt derivate din aceste obiecte

(figura 6.5).

Figura 6.4 Object Browser 

6.2 Crearea unui proiect

Pentru a crea un proiect se selectează opţiunea Create a new Project  dinfereastra de dialog Oracle Express Objects sau opţiunea   File/New Project din

meniul principal sau icoana   New project din bara de instrumente a ferestrei  principale. Se deschide fereastra  New Project (figura 6.6) în care se tastează numele proiectului (valoare a propietăţii  Name), descrierea proiectului (valoare a propietăţii Description) şi tipul de proiect (standard sau de tip briefing ). Numele nutrebuie să fie un şir mai mare de 8 caractere alfanumerice (primul caracter o liter ă).Proiectele se pot lansa în execuţie şi din Express Analyzer , dar nu pot fi modificate. Briefing-urile pot fi editate şi executate din  Express Analyzer , dar codul scris înlimbajul Express nu poate fi modificat. Un proiect poate conţine unul sau maimulte briefing-uri sau una sau mai multe pagini.

Dacă se creează un briefing, se utilizează   Briefing Editor pentru a edita

 paginile din briefing sau pentru a adăuga noi pagini. Pentru a afişa Briefing Editor  se selectează icoana corespunzătoare din caseta de instrumente (toolbox) sau se

136

Page 137: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 137/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

face dublu click cu mouse-ul pe briefing-ul  creat sau se selectează opţiunea  Edit din meniul ataşat butonului dreapta al mouse-ului (briefing-ul  este selectat cumouse-ul).   Briefing Editor conţine o bar ă de instrumente (  Briefing Toolbar ) ce permite navigarea între paginile briefing-ului, un browser pentru a afişa briefing-

urile deschise şi o zonă de editare a paginii curente (figura 6.7).

Figura 6.5 Object Inheritance Browser 

Pentru a adaugă o nouă pagină la un briefing, se selectează briefing-ul şi apoise selectează icoana  Page din caseta de instrumente (Toolbox) sau se selectează 

icoana New Page din bara de instrumente a Briefing Editor-ului (figura 6.7).

6.3 Deschiderea, închiderea şi lansarea în execuţie

a unui proiect

Se utilizează fereastra de dialog Open Project  pentru a selecta şi deschide  proiectul dorit (opţiunea File/Open Project din meniul principal). Se utilizează opţiunea   File/Close Project din meniul principal pentru a închide un proiect sauopţiunea   File/Close All Projects pentru a închide toate proiectele deschise la unmoment dat.

137

Page 138: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 138/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Pentru lansarea în execuţie a unui proiect se selectează opţiunea   Run an  Application or Briefing din fereastra de dialog Oracle Express Objects sauopţiunea File/Run din meniul principal.

În Oracle Express Objects se pot utiliza meniurile ataşate butonului dreapta al

mouse-ului pentru a executa mai rapid diferite acţiuni. Conţinutul meniului estespecific obiectului la care este asociat meniul. Opţiunile din partea de sus ameniului ofer ă acces la acţiuni comune tuturor obiectelor (de exemplu: duplicareaobiectului, derivarea obiectului, ştergerea obiectului etc), iar opţiunile din partea de  jos a meniului se refer ă la propietăţi specifice obiectului. Dacă se doreştedezactivarea acestui meniu se setează propietatea ShowDefaultPopup pe  No (propietatea este inclusă în setul de propietăţi  PopupMenus). De asemenea, se  poate modifica acest meniu (ce opţiuni din meniu se vor afişa la momentulexecuţiei) prin utilizarea ferestrei de dialog  Popup Menu Attributes. Se selectează obiectul (tabela/graficul/lista cu valorile unei dimensiuni) cu mouse-ul, se afişează 

 propietăţile obiectului cu Object Inspector. Se selectează (dublu click) propietatea PopuMenuAttributes din setul de propietăţi PopupMenus şi se deschide fereastra dedialog   Popup Menu Attributes (figura 6.8). Coloana V indică dacă opţiunea estevizibilă, coloana E indică dacă opţiunea este activată.

Figura 6.6 Fereastra New Project 

138

Page 139: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 139/331

Page 140: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 140/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Figura 6.8. Fereastra de dialog Popup Menu Attributes

Figura 6.9 Fereastra de dialog Page Style

Dacă se selectează opţiunea Size din meniul ataşat butonului dreapta al mouse-

ului, se deschide fereastra de dialog   Page Size and Position prin care se setează 

140

Page 141: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 141/331

Page 142: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 142/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Fereastra Object Inspector conţine şi o bara de instrumente ce permite definireade noi propietăţi, evenimente şi metode. Pentru a crea o nouă propietate se parcurgurmătorii paşi (figura 6.11):

  se selectează obiectul pentru care se doreşte definirea unei noi propietăţi;  se selectează opţiunea  Inspect  din meniul ataşat butonului dreapta almouse-ului şi se deschide fereastra Object Inspector;   se selectează icoana Add Item din bara de icoane şi se afişează fereastra de

dialog Add property;   se specifică: numele propietăţii, descrierea ei, tipul de data (de exemplu

număr întreg sau dată calendaristică), valoarea implicită a propietăţii, dacă este o propietate sau set de propietăţi (caseta de validare   Property Set ),numele setului de propietăţi la care se adaugă propietatea ( Add to set ), carecaractere sunt valori valide pentru propietate (Characters to allow),atributele propietăţii (  Property Attributes), caseta de dialog care se va

utiliza pentru a seta valorile propietăţii (Custom Inspector, Font Dialog  etc).

Aceste propietăţi definite de utilizator pot fi modificate (icoana Modify din barade icoane a lui Object Inspector ) sau şterse (icoana Delete).

Figura 6.11 Fereastra Add Property

142

Page 143: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 143/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

6.6 Crearea obiectelor unui proiect

Se pot crea următoarele tipuri de obiecte:   Briefing-ul este o colecţie de pagini ce conţin în general tabele sau grafice,

organizate într-un mod accesibil utilizatorilor;  Pagina este un container pentru alte obiecte (butoane, casete de validare,

tabelă, grafic etc);  Tabelul (sau graficul) este utilizat pentru a afişa şi analiza datele

multidimensionale;  Obiectul de tip ieşire (  Express output ) permite utilizatorilor să execute

comenzi din limbajul Express, în timpul execuţiei aplicaţiei;  Obiectul OLE (OLE object ) permite inserarea de informaţii din alte

aplicaţii într-o pagină;  Obiectul de tip banner-ul se utilizează pentru a afişa static sau dinamic un

text . Obiectele de tip banner afişează o singur ă linie de text şi se utilizează  pentru a crea efecte speciale în asociaţie cu obiectele de tip timer .

  Butonul de comandă este utilizat pentru a executa o acţiune sau o comandă  predefinită;

  Caseta de validare (check box);  Lista (de tip combo box din care se poate selecta un element sau în care se

 poate insera un element sau de tip List box ce permite numai selectarea aunuia sau a mai multor elemente);

  Lista valorilor unei dimensiuni (  Dimension list box) permite afişarea

valorilor unei dimensiuni;  Lista de directoare (Directory list box) afişează directoarele de la o

anumită locaţie;  Listă de locaţii (  Drive combo box) afişează locaţiile accesibile

utilizatorilor;  Lista de fişiere ( File list box) afişează fişierele de la o anumită locaţie;  Obiectul de tip reţea (Grid object ) conţine un număr specificat de linii şi

coloane şi este utilizat pentru a afişa text sau imagini într-un formattabular;

  Obiectul de tip grup (Group box) este utilizat pentru a grupa alte obiecte

cum ar fi casete de validare sau butoane de opţiune;  Obiectul de tip  Hotspot creează o zonă invizibilă pe pagină de la care se

 pot executa unele acţiuni ca r ăspuns la un eveniment;  Eticheta ( Label ) este utilizată pentru a afişa una sau mai multe linii de text

ce nu se pot modifica, iar obiectul de tip text (text box) afişează una saumai multe linii de text ce pot fi editate de utilizator;

  Buton de opţiune (option button);  Bara de defilare ( scroll bar );  Obiectul de tip Tabcontrol (Tabcontrol ) este un container ce grupează mai

multe obiecte. Fiecare Tab poate conţine numai o tabelă, un grafic sau o pagină;

143

Page 144: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 144/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

  Obiectul de tip arbore (Tree view) afişează o ierarhie de elemente (noduri);  Meniul orizontal sau vertical cu opţiunile corespunzătoare (command 

item);   Bara de instrumente (toolbar ) se poate ataşa unui briefing sau unei pagini;  Bara de stare (Status bar ) se utilizează pentru a afişa unele informaţii ( deexemplu ora curentă, starea tastei CAPS etc);  Secţiunea din bara de stare (Status bar panel ) se utilizează pentru a afişa

text sau informaţii despre modul de derulare a unei operaţii;  Obiectul de dialog Color  (Color Dialog ) este un obiect invizibil la

momentul execuţiei aplicaţiei şi este utilizat pentru a afişa fereastra dedialog Color; 

  Obiectul de dialog  File ( File Dialog ) este un obiect invizibil la momentulexecuţiei aplicaţiei şi este utilizat pentru a afişa fereastra de dialog Open sau Save As; 

  Obiectul de dialog Font ( Font Dialog ) este un obiect invizibil la momentulexecuţiei aplicaţiei şi este utilizat pentru a afişa fereastra de dialog Font; 

  Obiectul de dialog  Printer  este utilizat pentru a afişa fereastra de dialog Printer Setup; 

  Obiectul de tip Timer  este un obiect invizibil la momentul execuţieiaplicaţiei şi este utilizat pentru a se executa la intervale regulate de timpdiferite acţiuni (cod Express);

  Obiectul de tip modul reprezintă o unitate de compilare în limbajulExpress;

 Obiectul de tip QuickAction permite specificarea unei acţiuni (de exempluexportul unei pagini de date dintr-o tabelă în Microsoft Excel, afişarea unuidocument Word etc) pentru un anumit eveniment (specific unui anumitobiect). De exemplu, la apăsarea unui buton să se lanseze în execuţie o altă aplicaţie (Microsoft Excel).

În figura 6.12 se afişează un obiect de tip banner, o etichetă, un obiect de tiplistă de directoare, un obiect de tip listă de fişiere, un obiect de tip listă de locaţii,un obiect de tip combo box şi un obiect de tip list box. 

144

Page 145: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 145/331

Page 146: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 146/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Figura 6.13 Crearea unui grup de butoane  şi a unei liste

Caseta de dialog Default list afişează lista implicită de elemente ce se afişează 

(caseta List ), indexul pentru fiecare element din listă (caseta List Index). Indexul primului element din listă este 0.

În figura 6.14 este creat un obiect de tip TabControl . Propietatea TabCaption specifică textul pentru fiecare Tab. 

Pentru a crea un obiect se poate utiliza şi opţiunea  Derive din meniul ataşat  butonului dreapta al mouse-ului. Obiectul de la care se moştenesc propietăţile,metodele şi evenimentele se numeşte părinte, iar obiectul care moşteneşte copil. Deexemplu, dacă părintele are asociată o acţiune cu evenimentul AfterClick, atunci şicopilul va moşteni automat aceeaşi acţiune cu evenimentul AfterClick asociat lui.

Se poate modifica în mod explicit o propietate, un eveniment sau o metodă aobiectului copil (propietatea, metoda sau evenimentul corespunzător părintelui nuse va modifica). Pentru a crea un obiect copil, ce moşteneşte caracteristicileobiectului părinte, se selectează opţiunea  Derive din meniul ataşat butonuluidreapta al mouse-ului (obiectul părinte este selectat) sau se selectează obiectul părinte în Object Browser  sau Briefing Browser   şi se “trage” (drag ) la poziţiadorită. Apare un meniu vertical din care se selectează opţiunea  Derive(figura 6.15).

146

Page 147: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 147/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

Figura 6.14 Crearea unui obiect de tip TabControl 

Figura 6.15 Crearea unui obiect cu op ţ iunea Derive

În figura 6.16 se creează o pagină cu propietăţile ( Name: pgVizualizare, Text:Vizualizare date), un tabel ( Name: tabvizualizare), un grafic ( Name: grvizualizare)şi un buton ( Name: btninapoi, Text: Inapoi).

147

Page 148: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 148/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Figura 6.16 Crearea unui tabel, a unui grafic  şi a unui buton

6.7 Utilizarea colecţiei de rutine QuickActions

Se poate utiliza colecţia de rutine predefinite QuickActions (scrise în VisualC++) pentru a executa anumite operaţii. De exemplu se creează un buton. Sedoreşte ca la apăsarea acestui buton să se lanseze în execuţie o altă aplicaţie cum ar fi Notepad . Se selectează butonul, apoi se selectează opţiunea Set QuickAction dinmeniu ataşat butonului dreapta al mouse-ului. Apare o listă de evenimente asociatecu obiectul selectat. Se selectează evenimentul AfterClick şi se afişează fereastra dedialog QuickAction Definition (figura 6.17) în care se specifică: numele obiectuluiQuickAction care se creează, descrierea lui, acţiunea care se asociază acestui obiectşi o serie de argumente necesare pentru a se executa acţiunea. În caseta  Actions sespecifică acţiunile care se pot asocia şi anume:

  User defined  şi se specifică codul Express care se va executa;  Goto  page permite deplasarea la pagina specificată;   Launch Application lansează în execuţie o aplicaţie;   Print tipăreşte un proiect, un briefing sau o pagină;   Run lansează în execuţie un proiect, un briefing sau o pagină; 

Show Help afişează helpul sistemului;  Show Message afişează caseta de mesaje;

148

Page 149: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 149/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

  Stop termină execuţia unui proiect, a unui briefing sau a unei pagini;  Create View creează o viziune temporar ă (tabel sau grafic) pe baza uneia

existente;    Define Custom Measure afişează fereastra de dialog Custom Measures,

care permite utilizatorului să vizualizeze, editeze, copieze sau să creezemăsuri;   Execute Express Command execută una sau mai multe comenzi Express;    Export Table permite exportul paginii curente (de exemplu în Microsoft

Excel);    Execute Action List permite execuţia unei liste de acţiuni de tip

QuickAction etc.

Figura 6.17 Fereastr ă QuickAction Definition

În caseta Command Line se tastează numele aplicaţiei care se lansează, iar încaseta   Display State se alege: 1-Normal  (dacă fereastra se va deschide ladimensiunea normală), 2-Minimized (dacă fereastra va fi minimizată iniţial) etc.

Pentru a exporta pagina curentă de date dintr-un tabel (de exemplu înMicrosoft Excel) se utilizează  Export Table. Se specifică numele tabelului care seva exporta (de exemplu linktable), numele fişierului în care se va exporta tabelul(de exemplu d:\oracle\olap\oeo632\work\export.xls), comanda care va lansa înexecuţie aplicaţia (de exemplu C:\Program Files\Microsoft Office\Office\EXCEL.EXE), formatul în care se exporta (Microsoft Excel XLS Format, Tab

Delimited values şi Comma separated values) (figura 6.18).

149

Page 150: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 150/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Figura 6.18 Exportul unui tabel 

6.8 Limbajul de programare Express

Fiecare obiect are ataşată o listă de evenimente pe care le recunoaşte şir ăspunde la ele. La declanşarea unui eveniment se execută o acţiune care poate fi o procedur ă scrisă în limbajul Express, o metodă a obiectului sau o rutină din colecţiade rutine QuickActions. Metodele pot fi apelate de proceduri. Există proceduri carese execută la apariţia unui eveniment şi proceduri locale valabile numai în modululde cod în care se găsesc.

Modulul este unitatea de compilare în Express. Există trei tipuri de module:  Modulul de cod (code module) este creat automat de Oracle ExpressObjects când un obiect este creat. Modulul de cod este identificat prinnumele obiectului. Acest modul poate conţine proceduri ce se execută laapariţia unui eveniment, metode, metode definite de utilizator şi procedurilocale valabile numai în interiorul modulului de cod. Modulul de cod esteîncapsulat în obiect. Fiecare obiect conţine un singur modul de cod. Înmodulul de cod se pot identifica uşor procedurile ce se execută la apariţiaunui eveniment sau metodele, deoarece au un indicator “read-only” ca prim caracter la începutul şi la sfâr şitul lor. Pentru a şterge dintr-un modul

de cod, o metodă sau o procedur ă ce se execută la apariţia unui eveniment,mai întâi se selectează opţiunea   Detach Code  şi apoi se şterge codul.

150

Page 151: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 151/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

Această opţiune şterge indicatorii de “read-only” de la începutul şi sfâr şitul procedurii.

  Modulul bi bliotecă  (library module) este creat prin selectarea icoaneicorespunzătoare din caseta de instrumente (Toolbox). Apoi dublu click pe

modulul de tip bibliotecă creat şi se afişează editorul   Express Basic corespunzător. Modulele bibliotecă sunt stocate la nivel de proiect şi conţin  proceduri ce sunt accesibile la nivelul unei aplicaţii. Toate procedurilecreate într-o bibliotecă sunt tratate ca metode. De exemplu, pentru a referi procedura  p1 din bibliotecă librarie1 se utilizează notaţia librarie1.p1. Se pot crea un număr nelimitat de module de tip bibliotecă într-o aplicaţie ceconţine mai multe proiecte.

  Modulul global (  global module) se creează automat atunci când seselectează opţiunea  File/New/Global module din meniul lui Express Basic Editor. În fiecare proiect poate fi un singur modul global. Un modul global

nu trebuie să includă proceduri, ci numai declaraţii de variabile globale,constante sau tipuri de date definite de utilizator. 

Se poate utiliza editorul   Express Basic pentru a scrie, compila şi depanamodulele de cod  Express. Acest editor poate fi accesat în mai multe moduri şianume: prin selectarea opţiunii Window/Express Basic Editor din meniul principalsau prin selectarea opţiunii Edit Express Basic din meniul ataşat butonului dreaptaal mouse-ului (obiectul pentru care se scrie cod este selectat). Express Basic Editor  are următoarele componente şi anume (figura 6.19):

  Meniul cu opţiunile File, V iew, Edit, Debug, Window şi Help; 

Bara de icoane ce permite un acces mai rapid la facilităţile editorului;  Zonă ce conţine fereastra în care se introduce codul, fereastra în care seafişează mesajele de eroare ale ultimei compilări, fereastra ce afişează variabilele globale declarate pentru fiecare proiect deschis, fereastra ceafişează tipurile de date şi valorile pentru variabilele modului curent(activă numai la depanarea modulului) etc;

  Bara de stare ce afişează o serie de informaţii despre activitatea curentă (dacă modulul este compilat f ăr ă erori).

Pentru a compila codul se utilizează opţiunea  File/Compile sau se selectează icoana Compile din bara de butoane.

Pentru a insera o funcţie Express în modulul de cod se utilizează opţiunea Edit/Insert Function.

Se poate compila un singur modul sau se pot compila toate modulele dintr-un  proiect sau toate modulele din toate proiectele deschise. Dacă se lansează înexecuţie un obiect (pagina, briefing sau proiect), Express Basic Editor va compilaautomat toate modulele de cod ataşate, dacă ele au fost modificate. Pentru acompila toate modulele, se selectează opţiunea File/Build All . Se afişează fereastrade dialog Build All  şi se selectează modulele care se vor compila (opţiunea Current  Project sau All projects).

151

Page 152: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 152/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Figura 6.19 Express Basic Editor 

Se utilizează caracterul (!) pentru a indica obiectul de tip container şi caracterul(.) pentru a indica metoda, propietatea sau evenimentul ( Nume_obiect.nume_  propietate sau  Nume_obiect.nume_metoda). De exemplu , Exercitii!pagina1!buton1.text  se refer ă la propietatea Text a butonului buton1 din pagina  pagina1 din proiectul exercitii (a se vedea bara de titlu a lui Object  Inspector ).

Se pot insera comentarii pe orice linie de cod utilizând (‘) sau comanda  Rem.De asemenea, se poate continua o comandă pe mai multe linii utilizând SpaceBar  şiunderscore. Pentru concatenare de şiruri se utilizează (&). Pentru a afişa mesaje

într-o casetă de mesaje se utilizează comanda:Msgbox prompt, [butoane] [, titlu] unde   prompt specifică textul care se va afişa;  [butoane] specifică o sumă de trei valori ce indică butoanele, icoanele şi

 butonul implicit din caseta de dialog. Dacă lipseşte acest argument, casetaafişează numai butonul OK .

  titlu specifică titlul casetei .De exemplu: Msgbox “Dori ţ i să pă r ă  si ţ i aplica ţ ia?”, 4+32+256, “Iesire”

În tabelul 6.1 se afişează valorile ce se pot utiliza şi semnificaţia lor.

152

Page 153: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 153/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

Tabelul 6.1 Valorile ce se pot utiliza pentru butoane

Valoarea Semnifica ţ ie0 Afişează butonul OK  

1 Afişează butoanele OK  şi CANCEL 2 Afişează butoanele Abort, Retry, Ignore 3 Afişează butoanele Yes, No şi Cancel  4 Afişează butoanele Yes şi No 5 Afişează butoanele Retry şi Cancel  16 Afişează icoana de mesaj critic (STOP )32 Afişează icoana de întrebare de atenţionare (?)48 Afişează icoana de mesaj de atenţionare (!)64 Afişează icoana de mesaj informativ (i)

0 Selectează primul buton ca implicit256 Selectează al doilea buton ca implicit512 Selectează al treilea buton ca implicit

Se pot utiliza şi o serie de constante (de exemplu qaMBIconInfoExpressBasic, qaMBOK ) pentru a selecta butoanele şi icoanele ce se vor afişa în caseta de mesaje.De exemplu, se deschide pagina pgprincipala din proiectul pjexercitiu2. Se creează o procedur ă, ce se declanşează la evenimentul  AfterClick  al butonuluibtncomentarii (Text: Comentarii) şi va afişa într-o casetă de mesaje (cu un butonOK) următorul mesaj: “  Pagina curent ă  este: pgprincipala.” Se vor utilizaconstantele qaMBIconInfoExpressBasic  şi qaMBOK (figura 6.20).

În figura 6.21 se prezintă lansarea în execuţie a paginii  pgprincipala. Semodifică procedura astfel încât dacă caseta de mesaje este afişată, propietatea Text  a butonului btncomentarii se modifică din “Comentarii” în “ Afi şare mesaj” şi dacă caseta se închide, revine la valoarea iniţială. De asemenea, mesajul ce apare încaseta de mesaje va fi (figura 6.22):„Pagina curent ă este: Application!Projects!pjexercitiu2!pgprincipala”

În figura 6.23 se afişează pagina pgprincipala lansată în execuţie.

6.8.1 Declararea variabilelor 

O variabilă poate fi declarată: la nivel de procedur ă şi este valabilă numai înaceea procedur ă, la nivel de modul (declarată într-un modul şi valabilă pentru toate  procedurile din acel modul) şi global (declarată într-un modul global şi valabilă   pentru toate modulele şi procedurile proiectului). Pentru a defini o variabilă, seutilizează comanda: Dim nume_variabila [AS tip_data]Pentru a iniţializa o variabilă se utilizează comanda:

[Let] nume_variabila = expresie

153

Page 154: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 154/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

De exemplu: Dim messagetext as string  Messagetext=”Selecta ţ i butonul OK”

Figura 6.20 Utilizarea constantelor qaMBIconInfoExpressBasic, qaMBOK 

Figura 6.21 Lansarea în execu ţ ie a paginii Pgprincipala

154

Page 155: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 155/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

Figura 6.22 Codul pentru modificarea propiet ăţ ii Text a butonului btncomentarii

Figura 6.23 Lansarea în execu ţ ie a paginii Pgprincipala

155

Page 156: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 156/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

În limbajul  Express se pot declara următoarele tipuri de date: integer, long ,  single, double, currency, date, string, object, record şi variant . Se declar ă ovariabilă de tip variant, atunci când tipul variabilei nu este cunoscut la începutul

  procedurii. De exemplu, se poate defini o variabilă de tip variant  care va stoca

informaţia introdusă de utilizator, care poate fi de tip şir de caractere sau numeric.Următoarele exemple sunt identice şi creează un buton btniesire. Dim nume_obiect as [New] tip_obiect [Set] nume_variabila=expresie

 Dim btniesire as New ButtonSau Dim btniesire as object Set btniesire=New Button

Variabila Me este creată de sistem, valoarea ei este setată de sistem, stochează o referire la obiectul curent şi se utilizează pentru a rezolva referirile la obiectenecalificate. Exemplele de mai jos sunt identice: Btniesire.text=”Iesire”Me.text=”Iesire” (Variabila Me stochează referirea la obiectul btniesire)Text=”Iesire” (propietatea Text  este asociată automat obiectului a cărui referireeste stocată în variabila Me)

6.8.2 Structuri de program

Structura alternativă simplă:

 IF conditie ThenSecventa_comenzi – [elseif expresie then secventa_comenzi] _ [Else secventa_comenzi] _ end if 

De exemplu, se creează o procedur ă ataşată evenimentului  DoRun pentru proiectul  pjexercitii2. Se declar ă o variabilă la nivel de procedur ă ce va stoca oracurentă a sistemului. Se iniţializează această variabilă cu valoarea returnată defuncţia Hour(). Se utilizează o structur ă alternativă  IF…END IF pentru a afişa într-o casetă de mesaje următoarele mesaje (figura 6.24):“Buna dimineata, este ora….”“Buna ziua, este ora ….”“Buna seara , este ora…”.

Structura alternativă cu mai multe ramuri execută o serie de comenzi înfuncţie de valoarea expresiei:SELECT CASE expresie

156

Page 157: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 157/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

[CASE lista_expresii[secventa_comenzi]][CASE lista_expresii[secventa_comenzi]]

[CASE else[secventa_comenzi]] END SELECT 

De exemplu, se creează un buton în pagina pagina_quickaction cu următoarele propietăţi: Name: btntrimestru, Text şi Description: Afi şează  trimestru. Se asociază evenimentului  AfterClick o procedur ă ce utilizează funcţia Month() pentru a stocaluna curentă într-o variabilă. Se utilizează structura SELECT CASE pentru a evaluavaloarea variabilei şi a afişa într-o casetă de mesaje următorul mesaj: “Trimestru…. Luna…” (figura 6.25). În figura 6.26 se prezintă pagina  pagina_quickactionlansată în execuţie. 

Figura 6.24  Utilizarea structurii alternative simple 

Structura repetitivă condiţionată anterior, cu numărător:

 FOR contor=valoare_ini ţ iala TO valoare_final ă [STEP increment][secventa_comenzi][EXIT FOR][secventa_comenzi]

 NEXT [contor]

157

Page 158: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 158/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Figura 6.25 Utilizarea structurii SELECT CASE 

Figura 6.26 Lansarea în execu ţ ie a paginii Pagina_quickaction

De exemplu, se creează un buton btnFOR în pagina pagina_quickaction, iar la

evenimentul AfterClick se asociază o procedur ă care afişează numerele de la 1 la 5într-o casetă de mesaje (figura 6.27).

158

Page 159: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 159/331

Page 160: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 160/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Comanda GOTO  eticheta transfer ă controlul programului la etichetaspecificată. Comanda  EXIT {DO|FOR|function|Sub} determină o ieşire for ţată dinstructura repetitivă (  DO… LOOP sau FOR….NEXT ) sau transfer ă controlul la procedura apelantă.

Apelul de metode sau proceduri ce se execută la apariţia unui eveniment seface cu comanda:CALL nume_metoda(lista_argumente) sau  Nume_metoda lista_argumente sau Nume_variabila = nume_metoda (lista_argumente)De exemplu call move(240, 720, 1575, 375) sau Move 240, 720, 1575, 375 

Metoda Count () este utilizată pentru a returna numărul de membrii ai unuiobiect de tip container. În exemplul următor, variabila nr_membri stochează numărul de obiecte dintr-o pagină: Dim nr_membri as integer 

 Nr_membri = pagina_quickaction.count()Metoda  Item(nume sau index) este utilizată pentru a referi un membru al unui

obiect de tip container prin nume sau index. În exemplul următor, numele primuluimembru al unei pagini este stocat într-o variabilă: Dim variabila as string Variabila = pagina_quickaction.item(0).name

Metoda  Run() este utilizată pentru a lansa în execuţie un obiect. Un proiecttrebuie să fie deschis înainte de a fi apelată metoda  Run() corespunzătoare. Înexemplu următor, se creează un buton btnexecuta în pagina  pagina_quickaction a

 proiectului  pjexercitii2. La evenimentul  AfterClick  al butonului, se ataşează o procedur ă care permite lansarea în execuţie a altui proiect: Dim pjproiect as new project  If pjproiect.open() thenCall pjproiect.run() ElseMsgbox “Proiectul nu este deschis” End if 

Metoda Stop() este utilizată pentru a opri execuţia unui proiect, briefing  sau pagină. În exemplul următor, se lansează în execuţie pagina pagina_quickaction şi

se opreşte execuţia paginii  pgvizualizare. În acest fel, se permite navigarea întredouă pagini ale unui proiect:Call pagina_quickaction.run()Call pgvizualizare.stop()

De exemplu, se creează un buton ( Name: btn_membrii, Description: Membrii  paginii) în pagina  pagina_quickaction. Se ataşează la evenimentul  AfterClick  al butonului o procedur ă care afişează într-o casetă de mesaje, numărul de membrii ai paginii curente şi ultimul membru (figura 6.28). În figura 6.29 se prezintă pagina pagina_quickaction lansată în execuţie.

160

Page 161: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 161/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

Figura 6.28 Utilizarea metodei count()

Figura 6.29 Lansarea în execu ţ ie a paginii

161

Page 162: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 162/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Se poate utiliza direct limbajul Express cu ajutorul următoarele obiecte:Obiectul  Express ( Express object ) gestionează conexiunea clientului  Express 

la serverul  Express. Se poate utiliza obiectul  Express pentru pornirea şi oprireainstanţei Express, pentru a verifica starea conexiunii, pentru a executa comenzi din

limbajul Express etc. De exemplu, se utilizează metoda Connect ([Prompt]) pentrua stabili o conexiune la serverul  Express. Se poate utiliza metoda  Disconnect ([UpdateAllDBs], [,QueryOnDBDetach])   pentru a încheie o conexiune.Argumentul UpdateAllDBs specifică dacă se actualizează toate bazele de date cândse face deconectarea, iar argumentul QueryOnDBDetach specifică dacă utilizatoruleste întrebat la deconectare, dacă se va face sau nu actualizarea bazelor de date. Deexemplu:Call express.connect()Call express.disconnect()

Propietatea Connected a obiectului Express specifică dacă clientul Express este

conectat sau nu la serverul  Express, iar propietatea ServerDescription conţine odescriere textuală a conexiunii  Express. De exemplu, la evenimentul  AfterClick alunui buton btnopen se ataşează un cod care deschide şi lansează în execuţie un  proiect. Codul verifică de asemenea, dacă este stabilită conexiunea cu serverul Express . Dim pjexemplu as newproject  If express.connected=true thenMsgbox „Sunte ţ i conectat la Express” &express.serverdescription Else

Call express.connect(Yes) End if  If pjexemplu.open() thenCall pjexemplu.run()elseMsgbox „Nu s-a selectat nici un proiect” End if 

Obiectul de tip comand ă Express (express command object)  permiteexecutarea comenzilor din limbajul  Express  şi accesarea rezultatelor. Pentru aaccesa baza de date, obiectul de tip comandă  Express este asociat cu obiectul

 Express. Atunci când este apelată metoda  Execute() a obiectului Express, secreează un obiect de tip comandă  Express care se poate utiliza pentru a accesarezultatele execuţiei comenzilor. Se utilizează metoda   Execute ([command(s)]) aobiectului de tip comandă  Express pentru a executa comenzile specificate caargumente. De exemplu, la evenimentul  AfterClick  al butonului btnexecuta seataşează următorul cod: Dim comenzi as expresscommand Set comenzi=express.execute („baza de date demo.db” & ‚;”& _ „limit time to first 6” & „;” & _ „limit product to first 1”)

162

Page 163: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 163/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

Argumentul command  al metodei   Execute (command [, pusherroronstack])specifică comenzile care se vor executa, iar dacă argumentul pusherroronstack estesetat pe No, nu se mai afişează mesajele de erori.

Obiectul de tip ie şire Express (express output object) ofer ă o interfaţă vizuală 

în care se introduc comenzi  Express la momentul execuţiei aplicaţiei OLAP şi seafişează rezultatele. Obiectul de tip ie şire Express are următoarele componente: ozonă unde se introduc comenzi Express (script), o zonă unde se afişează rezultatelecomenzilor (output ), un buton  Execute prin care se execută comenzile şi un butonClear prin care se şterg rezultatele afişate (figura 6.30).

Figura 6.30 Exemplu de utilizare a obiectului de tip ie şire Express

Propietatea Commands a obiectului de tip ie şire Express stochează o listă decomenzi ce sunt executate de obiect. Propietatea AutoexecuteOnRun specifică dacă toate comenzile sunt executate automat, atunci când obiectul se lansează înexecuţie. Propietatea HideButtonsOnRun specifică dacă butoanele Execute şi Clear  sunt afişate la momentul execuţiei. Propietatea ShowErrors specifică dacă seafişează mesaje de eroare în zona de afişare a rezultatelor (output ) (figura 6.31).

Setul de propietăţi CommandArgs specifică argumentele pentru comenzile Express. Se tastează valorile argumentelor ( Arg0...Argn) , iar în comenzi seutilizează aceste valori folosind semnul de substituţie (%). De exemplu : %0 se

refer ă la Arg0 (figura 6.32).

163

Page 164: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 164/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Figura 6.31 Propiet ăţ ile obiectului de tip ie şire Express

Figura 6.32 Utilizarea propiet ăţ ii ArgX 

164

Page 165: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 165/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

Figura 6.33 Propietatea Commands

Metoda  Execute() a obiectului de tip ie şire Express se utilizează pentru aexecuta toate comenzile din propietatea Commands (figura 6.33). Această   propietate stochează toate comenzile tastate în zona de execuţie a comenzilor  şieste echivalentă cu a selecta butonul  Execute. Metoda ClearOutput () esteechivalentă cu a selecta butonul Clear . De exemplu:Call expressoutput1.execute()Call expressoutput1.clearoutput()

6.9 Utilitarul Database Browser

Utilitarul   Database Browser afişează dimensiunile şi măsurile (variabile,formule şi relaţii) ale bazei de date multidimensionale la care se conectează  Express Objects. Conectarea la o bază de date se face:

   prin selectarea opţiunii Database/Attach (figura 6.34);   prin deschiderea sau lansarea în execuţie a unui proiect care cere o bază de

date ataşată. Această ultimă metodă ataşează automat baza de date.

165

Page 166: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 166/331

Page 167: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 167/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

Figura 6.35 Utilitarul Database Browser 

Dicţionarul de date ( DataDictionary) este o colecţie de obiecte, cod şistructuri de date ce ofer ă acces la obiectele bazei de date multidimensionale. El estegestionat de obiectul DataDictionary creat automat atunci când Express Objects seconectează prima dată la serverul  Express. Obiectul  DataDictionar y gestionează obiectele de tip  DatabaseFile  şi este utilizat în următoarele proceduri: ataşarea bazelor de date, afişarea utilitarului Database Browser , afişarea ferestrei de dialog  Edit Custom Measures, accesarea obiectelor bazei de date. Pentru a vizualiza propietăţile obiectului  DataDictionary, se selectează acest obiect în fereastraObject Inheritance (se selecteaza icoana View Inheritance din Object Browser ).

Apoi se selectează opţiunea  Inspect din meniul ataşat butonului dreapta al mouse-ului (figura 6.37).Obiectul  DataDictionary are metode pentru ataşarea unei baze de date

multidimensionale. În exemplu următor, se utilizează metoda AttachDatabase() pentru a ataşa baza de date DEMO, respectiv metoda DetachDatabase():Call DataDictionary.AttachDatabase (“DEMO”)Call Datadictionary.DetachDatabase (“DEMO”)

167

Page 168: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 168/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Figura 6.36 Fereastra de dialog Custom Measures

Se utilizează metoda  BrowseDatabases() pentru a afişa utilitarul  Database Browser   şi metoda  EditCustomMeasures() pentru a afişa fereastra de dialog  Edit  Custom Measures. În exemplu următor, se afişează utilitarul   Database Browser  f ăr ă bara de butoane şi fereastra de dialog Edit Custom Measures:Call DataDictionary.BrowseDatabases (ddBRWNoToolbar)Call DataDictionary.EditCustomMeasures()

De exemplu, se creează o nouă pagină (  Name: pagina_attach, Description: Ata şare la baza de date DEMO) în proiectul  pjexercitii2. Apoi se creează trei butoane: buton 1 ( Name: btnAttach, Text: Ata şare la DEMO, Enabled :No), buton

2 (  Name: btndeattach, Text: deata şarea bazei DEMO; Enabled: Yes), buton 3(  Name: btnmasuri, Text : Creare noi mă   suri, Enabled: Yes). La evenimentul AfterClick al butonului btnattach se asociază o procedur ă care permite ataşarea la baza de date DEMO (figura 6.38). De asemenea, se creează o procedur ă şi pentruevenimentul AfterClick al butonului btndeattach (figura 6.40) prin care se activează  butonul btnattach, se dezactivează celelalte două butoane şi se utilizează metoda DetachDatabase() a obiectului  DatabaseDictionary. La evenimentul  AfterClick al butonului btnmasuri se asociază o procedur ă care utilizează metoda EditCustomMeasures() pentru a afişa fereastra de dialog Custom Measures(figura 6.39).

168

Page 169: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 169/331

Page 170: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 170/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Figura 6.39 Utilizarea metodei EditCustomMeasures()

Figura 6.40 Utilizarea metodei DetachDatabase()

170

Page 171: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 171/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

6.10 Crearea şi utilizarea tabelelor şi a graficelor

Oracle Express Objects utilizează un mod optim de reprezentare a structurilor numerice cu mai mult de două dimensiuni pe un ecran bidimensional, pentru

vizualizare şi manipulare. De exemplu, un set de date tridimensional este afişat peecran, pe rânduri, coloane şi pagini. Cum se pot reprezenta patru sau mai multedimensiuni logice în trei dimensiuni fizice (rând, coloană, pagină)? R ăspunsul estede a combina multiple dimensiuni logice în aceeaşi dimensiune fizică. 

Oracle Express Objects creează automat un cub de date  n-dimensional  (datacube) şi obiectele lui asociate ori de câte ori se populează cu date un tabel sauun grafic. Cubul de date  n-dimensional  defineşte conţinutul şi structura datelor afişate într-un tabel sau într-un grafic. Fiecare tabel sau grafic are un cub de date n-dimensional asociat.

Propietatea  DataCube a tabelului sau a graficului se refer ă la obiectul cub dedate  n-dimensional  asociat. Pentru a vizualiza propietăţile, metodele şievenimentele asociate acestui obiect se face dublu click pe obiect, în fereastraObject   Inspector (figura 6.41).

Cubul de date are trei muchii (dimensiuni fizice): coloana (column edge),rândul (row edge) şi pagina ( page edge). Structura multidimensională a cubului dedate este afişată în bara de dimensiuni a instrumentului Selector . Icoanele din barade dimensiuni arată ce dimensiuni logice (noduri ale dimensiunilor fizice- edgenode) sunt afişate   pe coloană, rând sau pagină. Pentru fiecare dimensiune logică afişată în tabel sau grafic, există creat un obiect de tip edge node (figura 6.42).

Figura 6.41 Vizualizarea propiet ăţ ilor obiectului DataCube

171

Page 172: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 172/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

În figura 6.42, pe pagină se afişează districtele (pe fiecare pagină un altdistrict), pe linii produsele, iar pe coloane variabila Sales (Vânză ri) şi lunile. Deci  pagina conţine o singur ă dimensiune logică (nod), rândul o singur ă dimensiunealogică, iar coloana două dimensiuni logice ale cubului de date n-dimensional .

Pentru a vizualiza propietăţile unui nod (de exemplu edgenode1) se face dubluclick cu mouse-ul pe valoarea propietăţii  Datacube. Se selectează, din fereastraObject Inspector corespunzătoare, opţiunea Contents, apoi dublu click pe valoareaunui nod ( de exemplu edgenode1) şi se selectează opţiunea Properties. Propietatea Dimension a unui nod specifică numele dimensiunii logice asociate cu acel nod. Deexemplu, valoarea propietăţii  Dimension   pentru nodul edgenode1 este XP_MEASUREDIM (figura 6.43). 

Figura 6.42 Afi şarea structurii cubului de date multidimensional 

Obiectul cub de date  (DataCube) are o serie de metode pentru adăugarea de

măsuri, schimbarea poziţiei dimensiunilor fizice ale cubului n-dimensional,reordonarea nodurilor într-o dimensiune fizică, mutarea unui nod de la odimensiune fizică la alta şi afişarea informaţiilor despre un nod. Metoda  AddMeasures (list ă  _mă  suri)) se utilizează pentru a adăuga una sau mai multemăsuri la obiectul  DataCube. Această metodă este echivalentă cu operaţia de“tragere” (drag) a unei măsuri din fereastra utilitarului   Database Browser   şi poziţionarea ei pe pagină. În exemplul următor, se adaugă măsura Sales la obiectul Datacube asociat cu tabelul table1:Call table1.datacube.addmeasures(“Sales”)

172

Page 173: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 173/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

În exemplul următor, se creează un nou obiect  Datacube, se adaugă măsuraSales la acest obiect şi se setează propietatea  Datacube a tabelului table1 la noulobiect Datacube: Dim dc as new datacube

Call dc.addmeasures (“Sales”)Set table1.datacube=dc

Figura 6.43 Afi şarea propiet ăţ ilor unui nod 

Metoda  Rotate(optiune_rotire, de la dimensiunea/nod, la dimensiunea/nod ) seutilizează pentru a muta sau schimba nodurile într-un grafic sau tabel. În exemplul

următor, se mută nodul asociat cu dimensiunea Timp, după nodul asociat cudimensiunea Produs din tabelul table1. Apoi se mută dimensiunea Timp pe pagină:Call table1.datacube.rotate (dcROAfter, “TIMP”, “PRODUS”)Call table1.datacube.rotate (dcROTOPage, “TIMP”)

Metoda  RotateEdges() schimbă între ele dimensiunile fizice ale cubului dedate. În exemplul următor, se schimbă între ele coloana cu rândul, apoi pagina curândul:Call table1.rotateedges (dcEColumn, dcERow)Call table1.rotateedges (dcEPage, dcERow)

173

Page 174: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 174/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

În exemplu următor, se schimbă nodul asociat cu dimensiunea Produs cu nodulasociat cu dimensiunea Timp din tabelul table1: Call table1.datacube.rotate (dcROSwap, “PRODUS”, “TIMP”)

Metoda GetEdgeNode() întoarce numele nodului sau a dimensiunii fizice. În

exemplu următor, se afişează numele nodului corespunzător dimensiunii Timp: Dim timenode as edgenodeSet timenode=table1.datacube.getedgenode (“TIMP”)Msgbox “Dimensiunea TIMP este ‘ + timenode.name

De exemplu, se creează o pagină ( Name: pagina_metodecubdate, Text: Metodeale cubului de date). Se creează un grafic  graph4. La evenimentul  AfterClick  algraficului se ataşează un cod care creează un nou obiect  Datacube, apelează metoda AddMeasures() pentru a adăuga măsura Sales la noul cub de date, setează  propietatea Datacube a graficului la noul obiect creat (figura 6.44). Apoi se creează două butoane în pagina pagina_metodecubdate şi anume: buton 1 ( Name: btnmuta,

 Description şi Text: Mut ă  mă   sura la pagină ) şi buton 2 (Name:  btnschimba, Description şi Text: Schimbă  coloana cu pagina). Se ataşează la evenimentul AfterClick al butonului btnmuta un cod care mută dimensiunea M ă  suri pe pagină (figura 6.45), iar la evenimentul  AfterClick  al butonului btnschimba un cod careschimbă coloana cu pagina (figura 6.46). În figura 6.47 se afişează pagina pagina_metodecubdate lansată în execuţie.

Figura 6.44 Utilizarea metodei AddMeasures()

174

Page 175: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 175/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

Figura 6.45 Utilizarea metodei Rotate()

Figura 6.46 Utilizarea metodei Rotateedges()

175

Page 176: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 176/331

Page 177: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 177/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

nu se pot şterge, nu se poate adăuga o nouă propietate, eveniment sau metodă la ocomponentă a tabelului.

Graficele au diferite componente în funcţie de tipul graficului şi anume: axele graficului ( X/Y1/Y2-axis), linia ce marchează intervale de valori de a lungul axelor 

(Tick mark ), eticheta ( Label ), legenda graficului ( Legend ), subtitlu, zona unde seafişează datele ( Plot area) etc. Unele componente ale graficului sunt invizibile înmod implicit (de exemplu subtitlu). Componentele graficului nu pot fi mutate, nuse pot adăuga noi propietăţi, metode sau evenimente la o componentă a graficului.

Se poate modifica modul de afişare a tabelei sau a graficului prin setarea unor  propietăţi. De exemplu, setul de propietăţi SpecialEffects creează efecte speciale îngrafic, propietatea GraphType specifică tipul de grafic etc.

Propietatea DisplayPage specifică pagina logică de date ce va fi afişată în tabelsau grafic, la un moment dat. De exemplu, dacă pagina are asociată dimensiuneaTimp care are trei valori: 2000, 2001, 2002, atunci vom avea trei pagini logice. De

asemenea, se poate utiliza metoda GoToDataPage() pentru deplasarea de la o pagină logică la altă pagină logică. Această metodă are ca argument următoareleconstante (tabelul 6.2):

Tabelul 6.2 Constantele utilizate de metoda GoToDataPage()

Constanta Valoare Rezultat

VwPGFirst -1 Afişează prima pagină VwPGLast -2 Afişează ultima pagină VwPGNext -3 Afişează următoarea pagină VwPGPrevious -4 Afişează pagina anterioar ă 

În exemplul următor, se realizează mutarea la ultima pagină logică din tabelultable1: Call table1.gotodatapage (vwpglast) sauCall table1.gotodatapage (-2)

De exemplu, se creează o pagină ( Name: pagina_mutare, Description şi Text :Mutarea de la o pagină  la alta). Apoi se creează un tabel table1 care afişează valorile măsurii Sales. Se creează un grup de butoane radio (  Name: grpmutare,

Text: Selecta ţ i pagina dorit ă ) format din patru butoane: buton 1 ( Name: optprima,Text: Prima pagină ), buton 2 (  Name: optanterioara , Text: Pagina anterioar ă ),  buton 3 (  Name: opturmatoarea, Text: Urmă toarea pagină ) şi buton 4 ( Name:optultima, Text: Ultima pagină ). La evenimentul  BeforeRun al paginii se asociază un cod care activează butonul optprima şi le dezactivează pe celelalte (figura 6.48).La evenimentul AfterClick al grupului de butoane se asociază un cod care permitedeplasarea de la o pagină la alta. Dacă este afişată prima pagină logică  şi seselectează butonul “  Prima pagină ” sau butonul “  Pagina anterioar ă ”, se va afişaîntr-o casetă de mesaje mesajul :” E  şti pe prima pagină ”. Dacă este afişată ultima pagină  şi se selectează butonul “Ultima pagină ” sau “Urmă toarea pagină ” se va

afişa mesajul “ E  şti pe ultima pagină ” (figura 6.49). În figura 6.50 se prezintă  pagina pagina_mutare lansată în execuţie. 

177

Page 178: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 178/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Figura 6.48 Asocierea unui cod la evenimentul BeforeRun al paginii

Figura 6.49 Codul pentru deplasarea de la o pagină logică la alta pagină logică  

178

Page 179: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 179/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

Figura 6.50 Lansarea în execu ţ ie a paginii Pagina_mutare

Propietatea GraphType a unui grafic specifică tipul de grafic şi se poate utiliza pentru a schimba programat tipul de grafic. În exemplul următor, se specifică un

grafic de tip bar ă , un grafic de tip plăcintă şi un grafic de tip linie:Graph1.graphtype = grGTBarClust Graph1.graphtype = grGTPieGraph1.graphtype = grGTLineAbs

Pentru a îmbunătăţi aspectul graficului, se utilizează setul de propietăţiSpecialEffects şi anume: SFXApplyType specifică tipul de efect (Wash sau Image),SFXIImageFileName specifică numele fişierului ce conţine imaginea, propietăţileSFXWashDirection, S  FXWashStartColor, SFXWashstopcolor   şi SFXWashTypespecifică modul în care va fi colorat fundalul graficului, stabilindu-se culoarea de

început, culoarea de sfâr şit etc.De exemplu, se creează o pagină ( Name: pagina_grafice, Description şi Text :  Pagina cu tipuri de grafice). Se creează un grafic (  Name: graph1) ce va afişavalorile măsurii Sales. Se creează apoi un grup de butoane de opţiune ( Name: grpgrafic, Text: Se selectează  tipul de grafic). Se adaugă trei butoane de opţiune şianume: buton 1 ( Name: optbar, Text: Bar ), buton 2 ( Name: optlinie, Text: Linie),  buton 3 (  Name: optplacinta, Text: Pie). Dacă se selectează unul din butoane semodifică tipul de grafic. Se modifică de asemenea, setul de propietăţiSpecialEffects şi anume: SFXApplyType: Wash, SFXWashDirection: Down Right,SFXWashType: Start-Stop, SFXWashStartColor: galben deschis,

SFXWashStopColor: verde. Se afişează  şi titlul graficului “Volumul vânză rilor”(figura 6.51). În figura 6.52 se prezintă pagina pagina_grafice lansată în execuţie.

179

Page 180: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 180/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Figura 6.51 Setarea tipului de grafic

Figura 6.52 Lansarea în execu ţ ie a paginii Pagina_grafice

180

Page 181: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 181/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

Pentru a sincroniza un grafic cu un tabel, astfel ca orice modificare în tabel să se reflecte automat şi în grafic, se setează propietatea SyncDataPage pe Yes (atât  pentru tabel cât şi pentru grafic). De exemplu, se creează o pagină ( Name: pagina_sincronizare, Text: Sincronizarea unui tabel cu un grafic). Se creează apoi

un buton (  Name:btnsincronizare, Text: Sincronizare tabel cu grafic). Laevenimentul AfterClick al butonului se ataşează un cod ce va permite sincronizareatabelului cu graficul (cele două obiecte partajează acelaşi cub de date). În acestscop, se creează un obiect cub de date. Se apelează metoda AddMeasures () pentrua adăuga măsura Sales la cubul de date. Se setează propietatea  DataCube atabelului, precum şi a graficului la noul cub de date creat (figura 6.53). Paginalansată în execuţie este prezentată în figura 6.54.

Figura 6.53 Sincronizarea unui tabel cu un grafic

6.11 Crearea listelor ce conţin valori ale dimensiunilor

Obiectul   Dimension List este o listă ce afişează valorile unei dimensiuni dincare utilizatorul poate selecta una sau mai multe valori. Pentru a crea o listă devalori se selectează icoana DimListBox din caseta de instrumente (Toolbox) şi click cu mouse-ul în pagină. Se va crea o listă care va fi mai târziu populată cu date. Sause selectează o dimensiune din fereastra utilitarului Database Browser  şi se “trage”în pagină. Această metodă creează o listă ce afişează valorile dimensiunii selectate.

Pentru a popula o listă cu valorile unei dimensiuni, se selectează opţiunea Dimension din meniu ataşat butonului dreapta al mouse-ului sau se selectează 

opţiunea  Inspect. Se deschide fereastra Object Inspector . Apoi dublu click pe

181

Page 182: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 182/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

 propietatea  Dimension. De asemenea, se poate utiliza şi metodaSetDefaultSelection():Call dimlb1.setdefaultselection (nume_dimensiune) sau Dimlb1.dimension = “nume_dimensiune”

Se utilizează propietatea  Availablevalues pentru a specifica valorile ce vor fiafişate în listă  şi anume: 0-All  (afişează toate valorile dimensiunii. Este valoareimplicită pentru toate dimensiunile ce nu au ierarhii), 1-hierarchy (afişează toatevalorile din ierarhia curentă a dimensiunii ), 2-Selection (afişează toate valorile dinselecţia curentă. Este valoarea implicită, după ce se utilizează instrumentul Selector   pentru a schimba selecţia), 3-None.

Figura 6.54 Lansarea în execu ţ ie a paginii Pagina_sincronizare

Propietatea  ListBoxType stabileşte tipul de listă asociată unei dimensiuni şianume: 0-single highlight (o singur ă valoare este selectată la un moment dat) sau 1-extended highlight (permite selecţie multiplă). Pentru a schimba valorile afişate înlistă se selectează opţiunea Select data din meniul ataşat butonului dreapta almouse-ului.

De exemplu, se creează o pagină ( Name: pagina_dimensionlist, Text: Paginace con ţ ine o list ă  cu valorile unei dimensiuni). Se creează un tabel ( Name:table2)ce afişează valorile măsurii Sales. Se creează o listă ce va afişa valorile dimensiunii Product  (baze de date DEMO). Apoi se creează două butoane: buton 1 ( Name:btnsinc, Text: Sincronizare) şi buton 2 (  Name: btnrefresh, Text:Refresh). Laevenimentul  AfterClick al butonului btnsinc se asociază un cod care sincronizează lista cu tabelul (valorile ce se afişează în tabel se vor afişa selectate în listă)(figura 6.55). La evenimentul AfterClick al butonului btnrefresh se asociază un cod

182

Page 183: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 183/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

care va sincroniza lista cu tabelul (ce se selectează din listă se va afişa în tabel). Deexemplu, dacă din listă se selectează produsul Tents, în tabel se vor afişa numaivânzările acestui produs (figura 6.56). În figura 6.57 se afişează pagina pagina_dimensionlist lansată în execuţie.

Figura 6.55 Codul ata şat evenimentului AfterClick al butonului “Sincronizare”

Figura 6.56 Codul ata şat evenimentului AfterClick al butonului “Refresh”

183

Page 184: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 184/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Figura 6.57  Lansarea in execu ţ ie a paginii Pagina_dimensionlist 

Figura 6.58 Propietatea Highlight Selection

184

Page 185: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 185/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

Dacă se selectează propietatea HighlightSelection (dublu click) a listei Dimlb1se afişează valorile dimensiunii selectate. În figura 6.58 se observă că propietatea HighLightSelection se refer ă la obiectul Selection9. Dublu click pe această valoareşi se afişează propietăţile obiectului Selection9 (inclusiv valorile dimensiunii care

sunt selectate la un moment dat ) (figura 6.59). Metoda  RefreshSelection() poatemodifica propietăţile DataSelection şi HighlightSelection ale listei.De exemplu: Call dimlb1.refreshSelection (dlbselhighlight) actualizează  tabelultable2 cu valorile curent selectate din lista Dimlb1. 

Figura 6.59 Propiet ăţ ile obiectului Selection9

6.12 Instrumentul Selector

Instrumentul Selector (figura 6.60) permite dezvoltatorilor de aplicaţii OLAP şiutilizatorilor să selecteze valorile unei dimensiuni ce vor fi afişate într-un tabel(grafic sau listă de valori). Propietatea Selector  a unui tabel (grafic sau listă devalori) specifică tipul de Selector utilizat. Când se creează un tabel sau un graphic, propietatea Selector are valoare “ No value”. Prima dată când instrumentul Selector  este apelat,   Express Objects creează un obiect Selector  de tip Main  selector   şi-lataşează la propietatea Selector a tabelului sau graficului. Se poate modifica tipul

de selector prin utilizarea opţiunii Options din fereastra instrumentului Selector sau

185

Page 186: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 186/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

din Object Inspector . În fereastra de dialog Selector Options se poate modificatipul de instrument Selector (figura 6.61).

Propietatea SelectorType a obiectului Selector creat determină ce selector va fiafişat şi anume: Main Selector (selectorul implicit creat automat de sistem), Single

Tool Selector (unul din instrumentele incluse în Selector) şi miniselector (o listă devalori cu butoane de comandă ataşate) (tabelul 6.3).

Tabelul 6.3 Valorile propieta ţ ii SelectorType

Constanta Valoare Descriere

SlcTYPMain 1 Selectorul principalslcTYPMini 2 Caseta de dialog pentru dimensiuni (Dimension

dialog box)slcTYPAll 4 Instrumentul All

slcTYPAttribute 8 Instrumentul AttributeslcTYPException 16 Instrumentul ExceptionslcTYPFamily 32 Instrumentul FamilyslcTYPLevel 64 Instrumentul LevelslcTYPMatch 128 Instrumentul MatchslcTYPRange 512 Instrumentul RangeslcTYPsavedSel 1024 Instrumentul Saved selectionSlcTYPSort 2048 Instrumentul SortslcTYPTopBottom 4096 Instrumentul Top/BottomslcTYPCustomMeasure 16384 Instrumentul Custom MeasureslcTYPList 32768 Instrumentul List

Propietatea ShowOptions dacă este setată pe Yes, permite utilizatorilor să acceseze fereastra de dialog Selector Options (figura 6.62).

Propietatea  AvailableTools specifică ce instrumente se vor afişa (se specifică suma valorilor constantelor din tabelul 6.3).

Miniselectorul  conţine o listă de valori şi trei butoane Ok, Cancel   şi  Help.Titlul listei afişează numele dimensiunii asociate. Pentru a crea un mini selector sesetează propietatea SelectorType a obiectului Selector pe valoarea 2 (figura 6.62).Setul de propietăţi SelectorMini conţine:

  propietatea   Explanatory Text ce permite dezvoltatorului de aplicaţie să controleze  promptul  ce apare în miniselector. Acest  prompt  specifică utilizatorului cum se utilizează  miniselectorul. De exemplu “Selecta ţ ivalorile pentru Timp” (figura 6.63);

   propietatea  ListBoxType specifică tipul de selecţie din listă  şi anume: 0-Single Highlight (se selectează un singur element), 1-extended highlight (seselectează multiple elemente utilizând Shift+Click  sau CTRL+Click), 2-manual sort (elementele se selectează prin “drag and drop”), 4-view only (nici un element nu poate fi selectat), 3-dropdown (se selectează numai unelement din lista de tip “combo”). În figura 6.63 se afişează un

miniselector.

186

Page 187: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 187/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

Orice instrument din Selector  se poate afişa individual dacă se setează  propietatea SelectorType cu una din valorile specificate în tabelul 6.3. De exemplu,Selector Type=32768 afişează numai instrumentul List (figura 6.64). 

Figura 6.60 Instrumentul Selector 

Figura 6.61 Fereastra de dialog Selector Options

187

Page 188: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 188/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Figura 6.62. Setarea propiet ăţ ilor AvailableTools  şi ShowOptions

Figura 6.63 Exemplu de miniselector 

188

Page 189: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 189/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

Figura 6.64 Instrumentul List 

Propietatea EnableSelectData afişează sau ascunde Selectorul ataşat unui tabelsau grafic (nu se afişează icoana Selector din bara de dimensiuni). Se poate utiliza propietatea  EnableSelectData  şi pentru a determina dacă utilizatorii pot modificaselecţia pentru un anumit nod. De exemplu, dacă propietatea  EnabledSelectData este setată pe  No, pentru un nod şi pe Yes, pentru un tabel (sau grafic), utilizatorii pot afişa Selectorul, dar dimensiunile ataşate nodului respectiv nu apar în lista dedimensiuni din Selector . De exemplu se modifică obiectul Selector pentru tabelultable2 din pagina  pagina_dimensionlist, astfel încât dimensiunea ce conţinemăsurile să nu se mai afişeze în lista cu dimensiuni din Selector . Se utilizează 

Object Inspector pentru a determina care nod corespunde dimensiunii ce conţinemăsurile (XP_MEASUREDIM). Se selectează opţiunea  Inspect din meniul ataşat  butonului dreapta al mouse-ului şi se deschide fereastra Object Inspector  pentrutabelul table2. Apoi dublu click pe valoarea propietăţii  Datacube  şi se afişează  propietăţile obiectului cub de date asociat. Se selectează opţiunea Contents, dubluclick pe fiecare dimensiune fizică a cubului (de exemplu edge4), apoi pe fiecarenod (de exemplu edgenode7 ). Apoi se setează propietatea  EnableSelectData anodului corespunzător dimensiunii  XP_MEASUREDIM  pe  No. Dimensiunea ceconţine măsurile nu se mai afişează în lista de dimensiuni din Selector (figura 6.65).

Pentru a ataşa unui grafic selectorul utilizat de un tabel, se utilizează comanda: set graph1.selector= table1.selector 

189

Page 190: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 190/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Figura 6.65 Setarea propiet ăţ ii EnableSelectData

6.13 Crearea meniurilor

Se pot crea meniuri orizontale sau verticale. Se selectează opţiunea Menu dincaseta de instrumente (toolbox) şi click cu mouse-ul pe pagină. Apoi se creează opţiunile meniului selectând icoana CommandItem din caseta de instrumente.Pentru a modifica propietăţile unei opţiuni, se utilizează  Object Inspector  saufereastra de dialog Command ItemProperties. Această fereastr ă este accesată prindublu click pe propietatea  Accelerator  a opţiunii respective. Fereastra Command  ItemProperties (figura 6.66) permite dezvoltatorilor un acces mai rapid la un subset

de propietăţi. Unele propietăţi sunt valabile numai dacă se creează o bar ă de butoane (de exemplu propietatea Popup Tip). În această fereastr ă (figura 6.66) sespecifică: numele opţiunii (Name), textul asociat, stilul opţiunii, textul ce se vaafişa în bara de stare atunci când utilizatorul selectează această opţiune, textul ce seva afişa atunci când utilizatorul trece cu mouse-ul peste opţiunea din bara de icoane( Popup Tip), dacă opţiunea este activă (enabled ) şi vizibilă (visible), starea opţiunii( state), combinaţia de chei ataşată opţiunii (accel.Key), identificatorul opţiunii (id )etc.

Pentru a crea o bar ă de butoane (toolbar) se selectează icoana Toolbar  dincaseta de instrumente şi click cu mouse-ul pe pagină. Bara de butoane poate fi

afişată vertical sau orizontal. Există mai multe moduri de a crea un buton în bara de  butoane. De exemplu: se selectează icoana CommandItem din caseta de

190

Page 191: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 191/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

instrumente, sau dublu click pe bara de butoane nou creată, apoi se “trage” (drag and drop) o imagine din instrumentul Toolbar Galery în bara de butoane noucreată. Instrumentul Toolbar   Galery (figura 6.67) conţine o colecţie de imagini  predefinite ce pot fi utilizate pentru a crea butoane în bara de butoane. Aceste

imagini sunt grupate în şase categorii. De exemplu, categoria Stock conţine imagini pentru funcţiile standard cum ar fi  print  şi paste, categoria Graph conţine imaginireprezentând diferite tipuri de grafice etc.

Figura 6.66 Fereastra Command Item Properties

Figura 6.67 Instrumentul Toolbar Galery

191

Page 192: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 192/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

6.14 Adăugarea obiectelor definite de utilizator în caseta

de instrumente

Un obiect definit de utilizator poate fi adăugat în caseta de instrumente(toolbox) prin “tragere” (drag and drop). Icoana ataşată obiectului poate fimodificată prin setarea propietăţilor ToolbarSmallPicture şi ToolbarLargePicture.Caseta de instrumente va afişa obiectele definite de utilizator, numai dacă  proiectele care le conţine sunt deschise (figura 6.68). Pentru a şterge un obiect creatde utilizator din caseta de instrumente, se selectează opţiunea  Edit/Install  dinmeniul principal. Se afişează fereastra de dialog  Install . Se selectează caseta User  Defined  şi se deselectează numele obiectului din lista de obiecte, apoi se apasă tastaOK .

Figura 6.68 Includerea unui obiect definit de utilizator (pagina_template)în caseta de instrumente

6.15 Utilizarea obiectelor de dialog

Obiectele de dialog (dialog objects) sunt obiecte invizibile la momentul

execuţiei proiectului sau briefing-ului. Ele sunt utilizate pentru a afişa următoareleferestre de dialog: Open, Save As, Color, Font şi Print .

192

Page 193: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 193/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

Pentru a crea un obiect de dialog se selectează icoana corespunzătoare dincaseta de instrumente şi click cu mouse-ul pe pagină. Obiectul de dialog este afişatca o icoană pe pagină. Pentru a vizualiza fereastra de dialog asociată cu obiectul dedialog se alege opţiunea Show din meniul ataşat butonului dreapta al mouse-ului

(cu excepţia ferestrei de dialog  Print ). Pentru a afişa o fereastr ă de dialog lamomentul execuţiei proiectului se utilizează metoda Show() (în cazul ferestrelor dedialog   File, Color   şi  Font ) sau Showdialog() (pentru fereastra de dialog  Print ).Metoda Show() întoarce valoarea Yes dacă utilizatorul a selectat butonul OK . Înexemplu următor, se utilizează metoda Show() pentru a afişa fereastra de dialog File şi metoda ShowDialog() pentru a afişa fereastra de dialog Print :Call filedialog1.show()Call printer1.showdialog 

În figura 6.69 se afişează fereastra de dialog File, se evaluează dacă utilizatorul

a ales butonul OK  şi se deschide proiectul selectat de utilizator. Apoi se lansează înexecuţie proiectul. Metoda Openproject () deschide proiectul selectat, îl face activ,elimină orice căsuţă de dialog sau mesaje (argumentul  pjsilent ). Variabila  fi şier   păstrează calea pentru proiectul selectat. Metoda Run() este folosită pentru a lansaîn execuţie proiectul.

Figura 6.69 Utilizarea metodei Show()

193

Page 194: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 194/331

Page 195: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 195/331

Page 196: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 196/331

Page 197: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 197/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

Figura 6.74 Codul ata şat evenimentului AfterItemClick al op ţ iunii ciselector 

Figura 6.75 Exportul unei pagini de date în Excel.

197

Page 198: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 198/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Rezumat

Oracle Express Objects este un instrument OLAP ce permite crearea de

aplica ţ ii OLAP, precum  şi realizarea de programe în limbaj Express, prin care se

controlează comportamentul aplica ţ iei.

  Acest instrument este un element cheie în pachetul de instrumente pentru

inteligen ţ a afacerilor Oracle Integrated Business Intelligence Tools, fiind integrat 

cu Oracle Discoverer. Aplica ţ iile OLAP dezvoltate cu Oracle Express Objects

accesează  datele stocate în baze de date multidimensionale sau baze de date

rela ţ ionale.

Oracle Express Objects utilizează  tabele  şi grafice pentru a vizualiza datele

multidimensionale stocate în baza de date multidimensional ă .

Un proiect este unitatea de bază pentru stocarea obiectelor create cu Express

Objects. Este un container r ă d ă cină ce include celelalte obiecte.

O aplica ţ ie OLAP poate fi format ă din unul sau mai multe proiecte.

Utilitarul Object Browser permite deschiderea  şi vizualizarea mai multor 

  proiecte sau briefing-uri, selectarea, mutarea, copierea,  ştergerea, derivarea

obiectelor incluse în proiect (sau briefing), editarea  şi modificarea paginilor,

vizualizarea propiet ăţ ile obiectelor etc.

 În Oracle Express Objects se pot crea urmă toarele tipuri de obiecte: briefing-

uri, pagini, tabele, grafice, obiecte de tip ie şire, diferite tipuri de butoane, diferite

tipuri de liste, etichete, bare de defilare, obiecte de tip arbore, meniuri, obiecte de

dialog, obiecte de tip Timer etc.

Utilitarul Database Browser afi şează  dimensiunile  şi mă   surile bazei de date

multidimensionale, la care se conectează Express Ob jects.

  Instrumentul Selector permite dezvoltatorilor de aplica ţ ii OLAP   şi

utilizatorilor să  selecteze valorile unei dimensiuni ce vor fi afi şate într-un tabel 

(grafic sau list ă de valori).

Modulul este unitatea de compilare în limbajul Express  şi exist ă  trei tipuri de

module: modulul de cod, modulul bibliotecă   şi modulul global.

O variabil ă  poate fi declarat ă  la nivel de procedur ă   , la nivel de modul  şi

 global.

  În limbajul Express se pot declara urmă toarele tipuri de date: integer, long,

 single, double, currency, date, string, object, record  şi variant.

  În limbajul Express se pot defini structuri de program: structura alternativă  

 simpl ă  (IF…END IF), structura alternativă  cu mai multe ramuri (SELECT 

CASE…END SELECT), structura repetitivă  condi ţ ionat ă  anterior cu numă r ă tor 

(FOR…NEXT), structura repetitivă (WHILE…WEND) etc.

198

Page 199: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 199/331

   Dezvoltarea sistemelor OLAP cu Oracle Express Objects

Cuvinte cheie

Obiect, mo ştenire, metod ă   , eveniment, modul de cod, modul bibliotecă   , modul 

 global, aplica ţ ie, proiect, briefing, pagină  , variabil ă global ă  , tabel, grafic, obiecte

de tip ie şire, etichete, bare de defilare, obiecte de tip arbore, meniuri, obiecte de

dialog, obiecte de tip timer etc.

199

Page 200: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 200/331

 

Capitolul 7

Dezvoltarea sistemelor OLAP

cu Oracle Express Analyzer

Oracle Express Analyzer [OEAG99] este un instrument OLAP ce permite :  analiza datelor. Se pot crea tabele şi grafice ce afişează datele stocate în

  baza de date multidimensională. Datele sunt selectate cu ajutorulinstrumentului Selector ; 

  crearea de briefing-uri ce pot fi folosite de alţi utilizatori;  editarea şi modificarea briefing -urilor create cu   Express Analyzer sau

 Express Objects;  lansarea în execuţie a unui briefing;  lansarea în execuţie a aplicaţiilor create cu Express Objects. 

Oracle Express Analyzer  poate accesa datele stocate în baze de datemultidimensionale Express sau baze de date relaţionale.La lansarea în execuţie a lui  Express Analyzer, se afişează fereastra de dialog

Welcome to Oracle Express Analyzer (figura 7.1). Se poate selecta opţiunea: Run a  Briefing or Application pentru a lansa în execuţie un briefing sau o aplicaţie,Create a new Briefing (crearea unui briefing ), Change an existing   Briefing pentru amodifica un briefing  existent,   Analyzer Express Data pentru a afişa în fereastra  Database Browser o listă cu baze de date multidimensionale existente, pentruconectare, Start where I left off last time pentru a redeschide briefing-ul  utilizatanterior şi a realiza conectarea automată la bazele de date deschise anterior.

Utilitarul   Briefing Browser listează toate briefing -urile deschise şi se poatevizualiza conţinutul fiecăruia (figura 7.2). Acest utilitar se utilizează  şi pentrumodificarea unui briefing  şi anume: se poate modifica ordinea paginilor în briefing ,se poate deschide o pagină şi poate fi modificată, se poate muta o pagină de la unbriefing la altul sau se poate face o copie etc.

Utilitarul  Database Browser permite selectarea datelor din una sau mai multe baze de date multidimensionale, pentru a fi afişate în tabele sau grafice, în paginileunui briefing (figura 7.3).

Pentru baza de date la care se face conexiunea se afişează dimensiunile şimăsurile. Pentru a determina dimensionalitatea unei variabile se selectează baza dedate din  Database Browser. Apoi se selectează una sau mai multe dimensiuni (în

200

Page 201: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 201/331

 Dezvoltarea sistemelor OLAP cu Oracle Express Analyzer 

ecranul din stânga al ferestrei utilitarului   Database Browser). În ecranul dindreapta, variabilele asociate cu aceste dimensiuni sunt colorate (figura 7.4).

 Figura 7.1 Fereastra de dialog Welcome to Oracle Express Analyzer 

 Figura 7.2 Utilitarul Briefing Browser 

201

Page 202: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 202/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

 Figura 7.3 Utilitarul Database Browser 

 Figura 7.4 Stabilirea dimensionalit ăţ ii variabilelor 

202

Page 203: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 203/331

 Dezvoltarea sistemelor OLAP cu Oracle Express Analyzer 

Se pot obţine informaţii despre o bază de date multidimensională prinselectarea ei în   Database Browser   şi apoi se selectează din submeniul Window opţiunea Object Inspect. Se afişează fereastra de propietăţi Object Inspector  (figura 7.5).

 Figura 7.5 Afi şarea propiet ăţ ilor unui obiect cu Object Inspector 

Când se creează un obiect, Express Analyzer stabileşte valori implicite pentru propietăţile obiectului respectiv. Aceste valori pot fi modificate ulterior cu Object   Inspector . Toate obiectele au o serie de propietăţi standard şi anume:

   propietatea  Name specifică numele obiectului care apare în fereastra

utilitarului   Briefing Browser (implicit object#  unde object  este tipul deobiect creat şi # este un număr secvenţial). De exemplu,  page3 reprezintă  pagina 3 dintr-un briefing ;

   propietatea  LocalName specifică alt nume pentru obiect (în altă limbă str ăină: germana, italiana etc);

   propietatea Description afişează descrierea obiectului;   propietatea  Parent  specifică tipul de obiect (de exemplu:   page, banner ).

Propietatea este read-only.   propietatea Container specifică obiectul în care este inclus obiectul curent.

Această propietate este read-only. De exemplu, pentru o pagină, container-

ul este briefing-ul , pentru un tabel sau grafic container-ul este pagina etc.

203

Page 204: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 204/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

De asemenea, există seturi de propietăţi (seturi de caracteristici grupate logic).De exemplu, setul de propietăţi  Line include propietăţi ce controlează caracteristicile liniilor cum ar fi culoarea liniei, lăţimea, stilul etc.

Dacă se selectează opţiunea Contents, din fereastra utilitarului Object Inspector  

se afişează conţinutul obiectului curent, numai dacă este de tip container. Deexemplu, o pagină poate conţine tabele, grafice etc.

7.1 Conectarea la baza de date multidimensională 

Conectarea la o bază de date multidimensională se face prin selectarea opţiunii Attach din submeniul Database. Se deschide fereastra de dialog  Attach Database.Se selectează baza de date şi se apasă apoi butonul OK (figura 7.6).

 Figura 7.6 Conectarea la baza de date

7.2 Crearea, actualizarea şi salvarea unui briefing 

Pentru a crea un nou briefing, se selectează din submeniul File opţiunea New

 Briefing . Se deschide fereastra de dialog Briefing Name în care se tastează numeleşi descrierea briefing-ului (figura 7.7).

204

Page 205: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 205/331

Page 206: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 206/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Paginile create nu se pot salva separat de briefing . Atunci când o pagină estecreată, ea este adaugată automat la briefing-ul  curent. Dacă dorim ca paginilecreate să nu fie adăugate la un briefing , se parcurg următorii paşi:

  din submeniul  Edit  se alege opţiunea Options  şi se afişează fereastra de

dialog Options;  se deselectează caseta de validare Add New pages to briefing (figura 7.9).Totuşi, atunci când se doreşte închiderea paginii,   Express Analyzer întreabă 

utilizatorul dacă doreşte să adauge pagina la briefing-ul curent.

 Figura 7.8 Crearea  şi editarea unei pagini

7.4 Mutarea, duplicarea şi referirea paginilor

Pentru a muta, duplica sau referi o pagină se parcurg următorii paşi:  se selectează pagina din fereastra utilitarului Briefing Browser;   se „trage” (drag and drop) pagina în alt briefing . Express Analyzer întreabă 

utilizatorul dacă doreşte duplicarea (duplicate), mutarea (move) saureferirea (link ) paginii. Duplicarea presupune crearea unei copii a paginii,la noua locaţie. Mutarea presupune ştergerea paginii din briefing-ul curentşi inserarea în noul briefing , iar referirea stabileşte o legătur ă (link ) la o

 pagină din briefing-ul original. Această ultimă opţiune simplifică viitoarele

206

Page 207: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 207/331

Page 208: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 208/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

 Figura 7.10 Crearea unui obiect 

Pentru a crea un tabel sau un grafic ce conţine date se parcurg următorii paşi:  din fereastra utilitarului   Database Browser se selectează baza de date şi

apoi măsurile dorite;  se „trag” cu mouse-ul (drag and drop) pe suprafaţa paginii şi apare un

meniu vertical cu două opţiuni: Table şi Graph. Se alege una din opţiuni şiva apare în pagină fie un tabel populat cu date, fie un grafic (figura 7.11).

Se pot adăuga şi alte obiecte în pagină, dacă propietatea  AutoSize a tabeluluisau graficului este setată pe  No. Se selectează cu mouse-ul pagina unde este creattabelul şi se alege din meniul vertical ataşat butonului dreapta al mouse-ului,

opţiunea  Inspect. Se deschide fereastra Object Inspector şi se setează propietatea AutoSize.Pentru a crea un obiect de tip ieşire (  Express output object ) se selectează 

icoana obiectului din caseta de instrumente şi se „trage” cu mouse-ul în pagină. Se  poate utiliza acest tip de obiect pentru a afişa rezultatele comenzilor  Express executate de utilizatori (figura 7.12).

  Express Analyzer permite includerea de informaţii preluate din alte aplicaţiifolosind obiecte OLE (Object Linking and Embedding ).  Express Analyzer  permitenumai obiecte OLE incluse (embedding OLE objects). Odată adăugate în paginabriefing-ului, ele devin elemente componente ale briefing-ului. Pentru a crea un

obiect OLE, se selectează icoana OLE din caseta de instrumente şi se „trage” cu

208

Page 209: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 209/331

Page 210: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 210/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

 Figura 7.13 Crearea unui obiect OLE 

Se pot crea şi butoane utilizate pentru: a lansa în execuţie un alt briefing , aschimba pagina curentă din briefing , a crea tabele sau grafice, a rearanja datele întabele sau grafice, a afişa mesaje sau a executa comenzi Express. Pentru a adăugaun buton şi a-i ataşa o acţiune se parcurg următorii paşi:

  se selectează icoana butonului din caseta de instrumente;  se „trage” cu mouse-ul în pagină şi se creează butonul;  se selectează apoi butonul şi se deschide meniul vertical ataşat butonului

dreapta al mouse-ului;  se alege opţiunea QuickAction  şi se deschide fereastra de dialog

QuickAction;   se selectează acţiunea dorită care va fi ataşată butonului. De exemplu

 pentru a schimba pagina curentă, se alege acţiunea GO TO şi se specifică numărul paginii (figura 7.14).

Un obiect de tip banner este o casetă ce conţine o singur ă linie de caractere. Seutilizează de exemplu ca titlul unei pagini. Pentru a crea un obiect de tip banner se parcurg următorii paşi:

  se selectează icoana corespunzătoare din caseta de instrumente;  se „trage” în pagină  briefing-ului curent şi se creează obiectul de tip

banner;   se selectează obiectul de tip banner  creat şi se deschide meniul vertical

ataşat butonului dreapta al mouse-ului;

210

Page 211: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 211/331

 Dezvoltarea sistemelor OLAP cu Oracle Express Analyzer 

  se alege opţiunea Text   şi se tastează  şirul de caractere care va fi afişat(figura 7.15).

 Figura 7.14 Crearea unui buton  şi ata şarea unei ac ţ iuni

 Figura 7.15 Crearea unui obiect de tip banner 

Pentru a afişa mai multe linii de text, se poate crea un obiect OLE ce afişează textul scris într-un editor cum ar fi Microsoft Word.

211

Page 212: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 212/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

7.6 Lansarea în execuţie a unui briefing sau a unei pagini

Lansarea în execuţie a unui briefing , se poate face prin selectarea opţiunii Run nume_briefing  din submeniul File.

Pentru a lansa în execuţie o pagină, se selectează pagina şi apoi opţiunea Run din meniul vertical asociat butonului dreapta al mouse-ului.

Ordinea în care apar paginile într-un briefing (în fereastra utilitarului Briefing  Browser), este ordinea în care vor fi afişate la lansarea în execuţie a briefing-ului.Când se creează o nouă pagină, Express Analyzer o adaugă la sfâr şitul briefing-ului curent. Pentru a modifica ordinea de afişare a unei pagini, se selectează pagina înfereastra utilitarului Briefing   Browser  şi se „trage” (drag and drop) cu mouse-ul la

noua locaţie .În Express Analyzer se pot tipări paginile briefing-ului, tabelele sau graficele.Când se tipăresc pagini, se poate selecta tipărirea paginii curente, a tuturor  paginilor sau numai a unui set de pagini.

7.7 Utilizarea tabelelor pentru analiza datelor

Tabelele se utilizează pentru :  a vizualiza toate datele stocate în baza de date multidimensională;  a executa analize ad-hoc prin interogarea bazei de date. Se selectează 

datele dorite şi sunt vizualizate în tabel din diferite perspective (view-uri),  prin modificarea poziţiilor dimensiunilor cu ajutorul barei de dimensiuni( Dimension Bar ) ; 

  a modifica setul de date afişate cu ajutorul instrumentului Selector;   a executa analize de tip “What-if” etc.Pentru a crea un tabel f ăr ă date se selectează icoana Table din caseta de

instrumente şi se „trage” cu mouse-ul pe suprafaţa paginii curente. Pentru a crea untabel populat cu date, se conectează la o bază de date. În fereastra utilitarului

  Database Browser se selectează o măsur ă  şi se trage cu mouse-ul pe suprafaţa paginii curente. Apare un meniu vertical. Se selectează opţiunea Table şi se creează automat un tabel populat cu valorile măsurii selectate (figura7.16). De asemenea,se poate crea un tabel plecând de la un tabel existent, dacă se selectează opţiunea Duplicate din meniul vertical asociat butonului drepta al mouse-ului (tabelul sursă este selectat) sau de la un grafic, dacă se selectează opţiunea Table din meniulvertical asociat butonului dreapta al mouse-ului (se selectează în prealabil fundalulgraficului). În acest ultim caz, se creează un tabel pe o nouă pagină.

Datele afişate în tabel pot fi prezentate sub diferite aspecte. Când se creează un nou tabel, bara de dimensiuni apare implicit. Se poate modifica această setare.

În fereastra de dialog Options, se deselectează caseta de validare Show Dimension Bar. În bara de dimensiuni sunt afişate trei icoane care reprezintă cele trei

212

Page 213: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 213/331

Page 214: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 214/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

 Figura 7.17 Mutarea dimensiunii Anii

Dacă se setează propietatea  AllowCellEditing  (din setul de propietăţiCellEditing ) cu valoarea Yes, se pot modifica valorile din celulele de date. Totuşinu se pot edita celulele ce conţin valori calculate pe baza unor formule. Această   propietate permite executarea analizelor de tip “what-if ” de către utilizatori. Deasemenea, în Express Analyzer se pot defini variabile (custom measures) care pot fifolosite pentru analize de tip “what-if ”. Utilizatorul poate modifica valorile acestor variabile, f ăr ă ca aceste valori să fie stocate în baza de date (baza de date este read-only). Pentru a crea aceste variabile se parcurg următorii paşi:

  din submeniul Database se alege opţiunea Custom Measures;   în fereastra de dialog Custom Measures se specifică baza de date utilizată şi se afişează variabilele deja definite de utilizatori (de exemplu baza de

date evaluare_final );  se alege opţiunea New pentru a crea o nouă variabilă, Copy pentru a crea o

copie a unei variabile deja existentă sau Edit pentru a modifica o variabilă deja definită;

  în caseta  Expression se defineşte expresia pe baza căreia se creează nouă variabilă. De exemplu, se defineşte variabila Total_personal cu expresia :Total_personal=nrcadre+nrtesa (figura 7.18). 

Când se creează o nouă variabilă,   Express Analyzer adăugă numele acestei

variabile în fereastra Measures a utilitarului   Database Browser (figura 7.19).Definiţia variabilei este stocată în briefing-ul  în care este definită variabila şi în

214

Page 215: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 215/331

 Dezvoltarea sistemelor OLAP cu Oracle Express Analyzer 

fişierul  XANALYZE.XPJ . Fiecare utilizator a lui   Express Analyzer are propriulfişier  XANALYZE.XPJ, în care sunt stocate variabilele proprii şi selecţiile de datesalvate.

 Figura 7.18 Crearea unei variabile

7.8 Instrumentul Selector

Instrumentul Selector  permite dezvoltatorilor de aplicaţii OLAP şiutilizatorilor să selecteze valorile unei dimensiuni, care vor fi afişate într-un tabel

sau grafic. Acest instrument a fost prezentat în detaliu în capitolul 6. În OracleExpress Analyzer se pot utiliza opţiunile selectorului şi anume:

   All  selectează (sau deselectează) toate valorile unei dimensiuni sau toatevalorile unei ierarhii;

   List selectează (sau deselectează) acele valori ale unei dimensiuni care sevor afişa;

   Level selectează (sau deselectează) toate valorile dimensiunii de la un nivelsau de la mai multe niveluri ale unei ierarhii. De exemplu, în dimensiunea Institu ţ ii se pot selecta toate valorile de la nivelul L1 (figura 7.20);

  Match selectează (sau deselectează) acele valori ale unei dimensiuni careconţin un şir de caractere specificat (figura 7.21);

215

Page 216: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 216/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

   Family selectează (sau deselectează) o familie de valori dintr-o ierarhie;   Exception selectează (sau deselectează) un set de valori ale unei

dimensiuni, în funcţie de valorile unei variabile ce utilizează această dimensiune. De exemplu, se pot selecta numai facultăţile care au numă r 

 proiecte> 2 (figura 7.22);  Top/Bottom se utilizează pentru a afişa primele sau ultimele n valori ale

unei dimensiuni, în funcţie de valorile unei variabile. De exemplu, se potselecta primele 3 facultăţi, în funcţie de valoarea contractată în lei, în 2002;

   Range selectează (sau deselectează) un şir de valori ale unei dimensiuni detip Timp. De exemplu, se pot selecta lunile cuprinse între Ianuarie şiSeptembrie 2002;

•  Saved Selection selectează (sau deselectează) un set de valori dintr-oselecţie salvată (ce poate fi reutilizată);

  Sort ordonează valorile unei dimensiuni după diferite criterii.

 Figura 7.19 Afi şarea variabilei create în fereastra Measures a utilitarului Database Browser 

Se poate afişa instrumentul Selector  prin dublu click cu mouse-ul pe odimensiune din bara de dimensiuni (dimension bar ) a unui tabel (sau grafic), sau seselectează opţiunea Select Data, din meniul vertical ataşat butonului dreapta almouse-ului (tabelul sau graficul este selectat).

216

Page 217: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 217/331

Page 218: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 218/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

 Figura 7.22 Op ţ iunea Exception

Se poate modifica selecţia curentă prin adăugarea unor noi valori aledimensiunii sau ştergerea unor valori. De exemplu, se alege opţiunea  List  aselectorului (figura 7.23). În fereastra de dialog List , se selectează cu mouse-ul, dincaseta Available Institu ţ ii, valorile care se doresc adăugate (de exemplu FPS). Apoise selectează butonul  Add. Valorile selectate apar în caseta Selected Institutii. Laselectarea butonului OK , valorile sunt adăugate la selecţie curentă. Dacă seselectează butonul Select, selecţia curentă este înlocuită cu noile valori selectate.Butonul  Add  adaugă noi valori la selecţia curentă. Butonul  Keep păstrează noilevalori în selecţia curentă şi le şterge pe celelalte, iar butonul  Remove şterge noile

valori din selecţia curentă şi le păstrează pe celelalte.Se poate salva o selecţie, pentru a fi reutilizată. Salvarea se poate face în două moduri:

   static. Selecţiile salvate au aceleaşi valori ori de câte ori sunt utilizate. Deexemplu, o selecţie ce conţine numai facultăţile (dimensiunea Institutii). Sealege opţiunea Library şi se deschide fereastra de dialog Selection Library (figura 7.24).

  dinamic. Selecţiile salvate variază în timp, deoarece ele se bazează pe uncriteriu de selecţie respectat de valorile dimensiunii. De exemplu, se poatecrea o selecţie ce cuprinde primele 3 facultăţi care au cel mai mare număr 

de proiecte. Această selecţie variază de la an la an. Scriptul pentru o

218

Page 219: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 219/331

Page 220: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 220/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

 Figura 7.24 O selec ţ ie statică  

 Figura 7.25 Agregarea datelor 

220

Page 221: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 221/331

 Dezvoltarea sistemelor OLAP cu Oracle Express Analyzer 

 Figura 7.26 Fereastra Aggregate

 Figura 7.27 Numă rul total de produse vândute în primele 10 luni ale anului

221

Page 222: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 222/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

După agregare, în bara de dimensiuni apare o icoană specială ce indică că dimensiunea respectivă a fost agregată, iar dacă dimensiunea este selectată cumouse-ul, se afişează un mesaj care descrie agregarea (figura 7.27). Se poateagrega orice dimensiune cu excepţia variabilelor. La anularea agregării (prin

alegerea opţiunii  Disaggregate), modul de afişare a datelor nu mai este identic cucel dinainte de agregare .În  Express Analyzer, dimensiuniile ierarhice deja includ niveluri de agregare

cum ar fi pentru dimensiunea  Institu ţ ii din baza de date evaluare_final  (figura7.28). Această dimensiune are incluse totaluri (embedded totals). Atunci când sedoreşte agregarea dimensiunii Institu ţ ii apare un mesaj de avertizare (figura 7.28),  prin care se specifică că dimensiunea conţine totaluri. Pentru a nu crea rezultateeronate, se selectează butonul Change Selection din fereastra Aggregate şi se alegnumai valorile unui singur nivel ierarhic sau se utilizează instrumentul Selector  (opţiunea Level  şi Family).

 Figura 7.28 Dimensiunea ierarhică Institu ţ ii

Rezumat

Oracle Express Analyzer este un instrument OLAP ce permite analiza datelor,crearea de briefing-uri, actualizarea briefing-urilor create cu Express Analyzer  sau Express Objects, lansarea în execu ţ ie a unui briefing  şi lansarea în execu ţ ie a

aplica ţ iilor create cu Express Objects.

222

Page 223: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 223/331

 Dezvoltarea sistemelor OLAP cu Oracle Express Analyzer 

Oracle Express Analyzer poate accesa datele stocate în baze de datemultidimensionale Express sau baze de date rela ţ ionale.

  În Oracle Express Analyzer se pot crea briefing-uri, pagini, tabele, grafice,obiecte de tip ie şire, obiecte OLE, obiecte de tip banner  şi butoane.

Oracle Express Analyzer  şi Oracle Express Objects au o serie de utilitarecomune  şi anume: Database Browser, Briefing Browser, Object Inspector,instrumentul Selector.

Cuvinte cheie

  Briefing, pagină   , obiect de tip ie şire, obiect de tip OLE, tabel, grafic, agregareadatelor.

223

Page 224: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 224/331

Page 225: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 225/331

Crearea unei baze de date multidimensionale

Modelele. Un model stochează un set de ecuaţii interdependente, careutilizează valorile unor variabile sau a unor dimensiuni. Modelele sunt folositeatunci când calculele sunt complexe sau variabilele nu sunt aditive.

 Programele. Un program conţine secvenţe de comenzi ale limbajului  Express

ce manipulează datele multidimensionale. În tabelul 8.1 sunt prezentate comparativconceptele utilizate de limbajul SQL şi limbajul multidimensional  Express[OEDA99]. 

Tabelul 8.1

 Prezentare comparativă a conceptelor utilizate de limbajul SQL şi limbajul Express

Concepte SQL Concepte Express

Baza de date Baza de dateTabela -

Tabela virtuală FormulaColoana DimensiuneClauza JOIN RelaţieClauza GROUP BY Comanda LIMITClauza ORDER BY Comanda SORTGRANT PERMITProceduri stocate, scripturi SQL Programe, funcţii definite de utilizatori, comanda

INFILEPL/SQL Limbaj de programare Express (Express SPL-

Stored Procedural Language)

Agregări (sum, avg, count, min,max) Funcţii şi formule Express folosind dimensiunile

SELECT REPORTINSERT MAINTAIN ADDDELETE DELETE/MAINTAIN DELETEUPDATE SET

Pentru a crea o bază de date multidimensională se parcurg următorii paşi:  definirea dimensiunilor bazei de date;  definirea măsurilor (variabile, relaţii, formule); 

definirea seturilor de valori;  definirea programelor şi a modelelor de analiză.

8.1 Definirea dimensiunilor bazei de date

Din meniul principal se selectează submeniul  File şi apoi se alege opţiunea New. Apare fereastra de dialog Create a New Express Database. Se tastează numele bazei de date (de exemplu evaluare_final ). Oracle Express Administrator  va crea un fişier principal evaluare_final.db, în directorul specificat în mod implicit

225

Page 226: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 226/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

(de exemplu d:\oracle\olap\oes634\service) sau se va alege un alt director, dacă seselectează butonul Browse (figura 8.1). 

 Figura 8.1 Fereastra de dialog Create a New Express Database

Dimensiunea maximă a fişierului principal este de 2Gb (propietatea  Filesize).Pe măsur ă ce se creează obiecte în baza de date,   Express Server creează unul saumai multe fişiere de extensie (extension file) cu acelaşi nume cu cel al bazei dedate. Pentru fişierul principal extensia este (.DB), iar pentru fişierele de extensie(.001, 002, 003 etc).

 Numele bazei de date creată este afişat în fereastra Database Browser, care se

deschide automat la lansarea în execuţie a utilitarului Oracle Express  Administrator . Se vor afişa de asemenea, obiectele bazei de date (dimensiuni,formule, modele, programe, relaţii, seturi de valori, variabile) sub forma uneistructuri ierarhice. În mod implicit, în fereastra   Database Browser se vor afişanumai obiectele care sunt vizibile utilizatorului (figura 8.2).

Există mai multe modalităţi pentru a defini o dimensiune a bazei de date şianume:

  se selectează cu mouse-ul ramura  Dimension din fereastra  Database Browser   şi apoi opţiunea  New din meniul ataşat butonului dreapta almouse-ului. Se deschide fereastra de dialog Define a Dimension; 

  se selectează din meniul principal opţiunea  Edit/Define/Dimension  şi sedeschide fereastra de dialog Define a Dimension; 

226

Page 227: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 227/331

Crearea unei baze de date multidimensionale

  se utilizează limbajul Express . 

 Figura 8.2 Fereastra Database Browser 

De exemplu, pentru a defini dimensiunea  Nivel_institut, se selectează dinmeniul principal, opţiunea Edit/Define/Dimension  şi se deschide fereastra de dialog

 Define a Dimension (figura 8.3). În caseta  Name se tastează numele dimensiunii(de exemplu  Nivel_institut ). În caseta  Database se alege baza de date în care sedefineşte dimensiunea. În caseta Type se alege tipul de date (Text, ID, Integer, Day, Week, Month, Quarter, Year, Conjoint  şi Composite). Dacă dimensiunea este Timp atunci tipul de dată ales poate fi:   Day, Week, Month, Quarter, Year . Dacă 

dimensiunea este de tip text (de exemplu dimensiunea Centre) tipul de dată poate fi: ID (valorile dimensiunii au maxim 8 caractere) sau Text (valorile dimensiunii potavea mai mult de opt caractere). Dacă dimensiunea este de tip Integer valorile salesunt identificate numai de poziţiile lor numerice (1, 2 etc). Dacă tipul de dată esteText  se specifică  şi numărul maxim de caractere pentru valorile dimensiunii, încaseta Width. În caseta   Dimension Identifier se specifică un identificator alfanumeric pentru dimensiune. În caseta  Dimension se specifică dimensiunile de bază utilizate pentru a defini o dimensiune de tip conjoint  sau composite, iar încaseta Options, algoritmul utilizat pentru a încărca şi accesa valorile uneidimensiuni de tip conjoint  sau composite. Pentru a specifica numele, pe care

 Express Objects şi Express Analyzer îl vor utiliza pentru a identifica dimensiunea,se selectează butonul  Labels. În caseta Comments se specifică o descriere a

227

Page 228: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 228/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

dimensiunii create. Caseta Short Description specifică o descriere scurtă utilizată de   Express Objects  şi   Express Analyzer în tabele sau grafice, iar caseta Short 

  Description (Plural) specifică pluralul acestei descrieri, utilizată de  ExpressObjects şi Express Analyzer în scripturile selectorului. Caseta Description specifică 

o descriere mai detaliată utilizată de instrumentul Selector  sau  Database Browser  din   Express Analyzer sau   Express Objects (dacă lipseşte se utilizează valoareaspecificată în caseta Short Description), iar caseta  Description (Plural) specifică  pluralul acestei descrieri (figura 8.4).

 Figura 8.3 Fereastra de dialog Define a Dimension

Când se creează o dimensiune, numele ei este stocat automat în dicţionarul de

date. Dicţionarul de date include structuri de date generate de Oracle Express Administrator , pe care aplicaţiile construite cu   Express Analyzer sau  Express

Objects le utilizează, pentru a organiza datele şi ale prezenta mult mai clar. Pentrua vizualiza metadatele în fereastra  Database  Browser, se selectează opţiuneaOptions din submeniul Tools şi se deschide fereastra de dialog  Administrator Options (figura 8.5). Se selectează opţiunea  DBBrowser , apoi opţiunea Show All Metadata.

228

Page 229: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 229/331

Crearea unei baze de date multidimensionale

 Figura 8.4 Utilizarea op ţ iunii Label din fereastra Define a Dimension

 Figura 8.5 Fereastra Administrator Options

229

Page 230: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 230/331

Page 231: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 231/331

Crearea unei baze de date multidimensionale

 Figura 8.7 Definirea unei dimensiuni cu comanda DEFINE DIMENSION 

 Figura 8.8 Modificarea propiet ăţ ilor unei dimensiuni

231

Page 232: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 232/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

 Figura 8.9 Fereastra de propiet ăţ i

După definirea unei dimensiuni, se vor introduce valorile corespunzătoare

manual sau prin import din surse externe. Pentru a defini valorile unei dimensiuni,se selectează opţiunea  Edit Values din meniul ataşat butonului dreapta al mouse-ului şi se deschide fereastra de dialog Edit Values (figura 8.10). În această fereastr ă se pot: adăuga noi valori (butonul   Add values), şterge anumite valori, ordonavalorile după anumite criterii (butonul Sort ), seta propietăţile Value, Short label şi

 Long label pentru fiecare valoare (figura 8.11), adăuga, copia, şterge sau redenumiierarhii sau niveluri din ierarhii.

Pentru o dimensiune Timp ( year, month, day, week ) se deschide fereastra dedialog   Add Initial Data Values în care se stabileşte prima valoare (caseta  First Time Period), apoi numărul de valori (caseta Number of Periods). De exemplu, se

defineşte o dimensiune Luna de tip Month, se stabileşte prima lună (JUL03), apoise stabileşte numărul de perioade (6 luni) (figura 8.12).

O dimensiune poate avea una sau mai multe ierarhii. Pentru a defini o ierarhieexistă două modalităţi şi anume:

  se defineşte o relaţie între două dimensiuni;  sau se defineşte ierarhia în fereastra de dialog Edit Values.De exemplu, se defineşte dimensiunea ierarhică  Universitate cu următoarele

niveluri ierarhice: universitate (de exemplu ASE),  facultate (de exemplu CSIE,FMAN, FREI, EGPAA etc) şi catedr ă  (de exemplu CIB, IE, STAT, EM etc)(figura 8.13). În fereastra Edit Values se creează o ierarhie pentru care se specifică numele şi descrierea (figura 8.14). Se pot redenumi nivelurile în ierarhie

232

Page 233: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 233/331

Crearea unei baze de date multidimensionale

(figura 8.15). Se definesc apoi valorile care vor fi incluse în ierarhie. Aceste valorise „trag” apoi din caseta  Available în caseta  Hierarchy pentru a crea ierarhia devalori (figura 8.13).

 Figura 8.10 Fereastra de dialog Edit Values

 Figura 8.11 Setarea propiet ăţ ilor Value, Short Label  şi Long Label 

233

Page 234: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 234/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

 Figura 8.12 Ad ă ugarea de valori pentru o dimensiune Timp

 Figura 8.13 O dimensiune ierarhică  

234

Page 235: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 235/331

Page 236: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 236/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

8.2 Definirea variabilelor

Pentru a defini o variabilă se alege opţiunea  Define  Variable din submeniul Edit. Se afişează fereastra de dialog  Define a Variable (figura 8.16). Se tastează 

numele variabilei în caseta  Name (de exemplu nrproiecte). În caseta  Database seselectează baza de date, în care se va defini variabila. Se alege tipul de dată încaseta Type ( Boolean, Date, Decimal, ID, Integer, Shortdecimal, Shortinteger sau Text ). De exemplu, pentru variabila nrproiecte se alege tipul de dată  shortinteger .În caseta Available se selectează dimensiunile variabilei (de exemplu Timp, Centre şi Tip_proiect ). Se selectează mai întâi dimensiunea care se modifică cel mai des(dimensiunea Timp).  Toate variabilele definite vor putea fi folosite de aplicaţiilecreate cu  Express Analyzer  şi Express Objects. Dacă caseta Temporary Data esteselectată, valorile variabilei vor fi şterse la încheierea sesiunii de lucru. În casetaSparse se listează dimensiunile împr ăştiate ( Express creează automat un obiectcompus). Pentru a specifică numele pe care Express Objects şi Express Analyzer îlfolosesc pentru a identifica variabila, se selectează opţiunea  Labels. Pentru aspecifica formatul de afişare al valorilor variabilei, se selectează opţiunea Format. 

 Figura 8.16 Fereastra Define a Variable

Propietăţile variabilei se pot modifica în două moduri:  se selectează opţiunea   Property Inspector din meniul ataşat butonului

dreapta al mouse-ului (variabila este selectată ) şi se deschide fereastra de propietăţi (figura 8.17). Se poate modifica: propietatea  LD (descrierea

variabilei), propietatea ShortName, propietatea UserVisible (dacă variabilaapare sau nu în Database Browser ); 

236

Page 237: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 237/331

Crearea unei baze de date multidimensionale

  se selectează opţiunea Modify din meniul ataşat butonului dreapta almouse-ului şi se deschide fereastra de dialog Modify Variable (figura8.18). Se pot modifica: formatul de afişare al valorilor variabilei (opţiunea

 Format ), numele pe care îl utilizează  Express Objects şi Express Analyzer  

  pentru a identifica variabila (opţiunile Comments, ShortDescription, Description), precum şi valorile variabilei (opţiunea Data). 

 Figura 8.17 Modificarea propiet ăţ ilor unei variabile

Valorile variabilei se pot adăuga fie manual, dacă se selectează opţiunea Datadin fereastra de dialog Modify Variable (figura 8.19), fie prin import din surseexterne, dacă se selectează opţiunea Import din submeniul File. Se pot importa datedin fişiere text, fişiere create cu instrumentul  Discoverer, din baze de daterelaţionale etc. De exemplu, pentru a importa date dintr-o bază de date relaţională,

se selectează opţiunea Import Relational din submeniul File şi se afişează fereastrade dialog Import Relational Data (figura 8.20). Se selectează butonul SQLConnect    pentru a realiza conexiunea la baza de date relaţională. Se selectează din casetaTableName numele tabelei sursă (de exemplu nrprof_cat  din schema de obiectemihaela), apoi se identifică obiectele din baza de date multidimensională corespunzătoare atributelor tabelei (se „trag”cu mouse-ul din Database Browser încaseta   Express Object). Se selectează butonul Save  şi se deschide fereastra dedialog Save SQL Data Loader  (figura 8.21), în care se specifică numele  programului de încărcare a datelor (implicit newloader ). Acest program apare înfereastra Database Browser, în ramura Programs şi se poate executa ori de câte ori

237

Page 238: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 238/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

se doreşte. Se selectează programul şi se alege opţiunea Execute din meniul asociat butonului dreapta al mouse-ului.

 Figura 8.18 Fereastra de dialog Modify variable

 Figura 8.19 Ad ă ugarea valorilor unei variabile

238

Page 239: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 239/331

Crearea unei baze de date multidimensionale

 Figura 8.20 Fereastra de dialog Import Relational Data

 Figura 8.21 Fereastra de dialog Save SQL Data Loader 

239

Page 240: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 240/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

O variabilă se poate defini şi cu ajutorul comenzii  DEFINE VARIABLE dinlimbajul Express. De exemplu, pentru a defini variabila nrcadre se scrie următorulcod:

 Define nrcadre variable shortinteger <Timp, Institutii>

 Ld Numă rul de Cadre Didactice antrenate în cercetare la nivel de catedr ă   şi an Describe nrcadre

8.3 Definirea relaţiilor

O relaţie descrie corespondenţa între valorile unei dimensiuni şi valorile alteidimensiuni din baza de date şi se utilizează adesea pentru a defini ierarhii. Deexemplu, se poate stabili o relaţie prin care se specifică modul cum se asociază facultăţile cu catedrele. Pentru a defini o relaţie se selectează opţiunea  Define

 Relation din submeniul  Edit   şi se deschide fereastra de dialog   Define a Relation (figura 8.22). Se specifică numele relaţiei în caseta Name, numele bazei de date încaseta  Database, dimensiunea ale cărei valori se vor utiliza în relaţie (caseta

  Related Dimension) etc. Dimensiunile care se asociază se selectează din caseta Available şi se mută în caseta Selected.

 Figura 8.22 Fereastra de dialog Define a Relation

Propietăţile unei relaţii se pot modifica fie în fereastra de propietăţi  Property Inspector , fie se selectează opţiunea Modify din meniul ataşat butonului dreapta almouse-ului şi se deschide fereastra de dialog Modify a Relation (figura 8.23). Se

  pot modifica etichetele relaţiei (opţiunea  Labels) şi valorile relaţiei (opţiunea Data), dar nu se pot modifica propietăţile de bază ale relaţiei.

240

Page 241: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 241/331

Crearea unei baze de date multidimensionale

 Figura 8.23 Fereastra de dialog Modify a Relation

De asemenea, o relaţie se poate defini şi cu comanda DEFINE RELATION dinlimbajul  Express. De exemplu, pentru a defini relaţia inst_inst se scrie următorulcod:define inst_inst relation institutii<institutii>limit institutii to 'CO' 'TS' 'MMC''MAR' inst_inst='COM' limit institutii to 'DR' 'AEF' 'MON' 'FIN' inst_inst='FABBV' limit institutii to 'CIIF' 'CACG' 'IG' 

inst_inst='CIG' limit institutii to 'MAN' 'EC' inst_inst='FMAN' 

limit institutii to 'TI' 'CDE' 'EPE' 'EFS' 'IEG' inst_inst='EG' limit institutii to 'LRCA' 'LGCA' 'REI' inst_inst='FREI' limit institutii to 'TPAA' inst_inst='EGPAA' 

limit institutii to 'SELS' inst_inst='FSELS' limit institutii to 'CIB' 'IE' 'STAT' 'AS' 'EM' inst_inst='CSIE' 

limit institutii to fac_set inst_inst='ASE' 

241

Page 242: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 242/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

8.4 Definirea formulelor

Într-o bază de date multidimensională   Express se pot defini şi formule.Formulele se folosesc pentru a calcula date temporare, care nu trebuie stocate

 permanent în baza de date. De exemplu, se defineşte formula procent (procentul de  participare la activitatea de cercetare) = nrcadre/ncd  unde: variabila nrcadre serefer ă la numărul de cadre didactice antrenate în cercetare, la nivel de catedr ă şi an,iar variabila ncd se refer ă la numărul de cadre didactice la nivel de catedr ă şi an.Pentru a defini această formulă se selectează opţiunea   Define Formula dinsubmeniul Edit şi se deschide fereastra de dialog Define a Formula (figura 8.24).

 Figura 8.24 Fereastra de dialog Define a Formula

Se specifică numele formulei (caseta  Name), baza de date curentă (caseta Database), tipul de dată (boolean, date, decimal, id, integer  etc), dimensiunileformulei (caseta Selected ). Dacă formula va conţine valori încărcate dintr-o bază dedate relaţională, se selectează caseta SQL Data şi se activează butoanele SQLConnect  (se realizează conexiunea la baza de date relaţională), Map Data (semapează atributelor tabelei relaţionale sursă la obiectele corespunzătoare din bazade date multidimensională  Express). În caseta Equation, se scrie formula de calculcorespunzătoare.

Dacă se selectează opţiunea Edit Formula din meniul ataşat butonului dreaptaal mouse-ului, se afişează formula de calcul corespunzătoare şi se poate modifica(figura 8.25). Propietăţile formulei se pot modifica fie în fereastra de propietăţi

 Property Inspector, fie prin selectarea opţiunii Modify din meniul ataşat butonuluidreapta al mouse-ului şi se deschide fereastra de dialog Modify Formula (figura

8.26). Se pot modifica etichetele formulei (opţiunea  Labels), formatul de afişare(opţiunea Format ) şi formula de calcul corespunzătoare.

242

Page 243: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 243/331

Page 244: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 244/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

(caseta Dimension), etichetele setului de valori (opţiunea Labels). Pentru a adăugavalori în setul de valori se utilizează comanda LIMIT .

Propietăţile setului de valori pot fi modificate fie în fereastra de propietăţi Property Inspector, fie se selectează opţiunea Modify din meniul ataşat butonului

dreapta al mouse-ului şi se deschide fereastra de dialog Modify Valueset  (figura8.28).Un set de valori se poate defini şi cu comanda   DEFINE VALUESET . De

exemplu, pentru a defini setul de valori cat_set se scrie următorul cod:define cat_set valueset institutii

ld setul de catedrelimit cat_set to 'CO' 'REI' 'MAN' 'SELS' 'CIB' 'IE' 'STAT' 'AS' 'DR' 'CIIF' 'CACG' 

 Figura 8.26. Fereastra de dialog Modify Formula

8.6 Definirea programelor

Un program conţine secvenţe de comenzi ale limbajului  Express cemanipulează datele multidimensionale. Pentru a crea un program, se selectează opţiunea   Define program din submeniul  Edit. Se deschide fereastra de dialog

 Define a program (figura 8.29). Se specifică numele programului (caseta  Name), baza de date curentă (caseta  Database), etichetele programului (opţiunea  Labels),tipul de dată al valorii returnate de program (caseta Return Type).

Se selectează opţiunea Modify din meniul ataşat butonului dreapta al mouse-ului, pentru a afişă fereastra de dialog Edit program, în care se tastează secvenţa decomenzi (figura 8.30). Programul se poate compila, dacă se selectează icoana

244

Page 245: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 245/331

Crearea unei baze de date multidimensionale

Compile din bara de butoane a ferestrei de dialog Edit program şi lansa în execuţie,dacă se selectează icoana Run Program. Un program se poate lansa în execuţie şidacă se selectează opţiunea Execute din meniul ataşat butonului dreapta al mouse-ului şi se deschide fereastra Express Command. În fereastra Express Command, se

 pot executa comenzile limbajului Express. 

 Figura 8.27 Fereastra de dialog Define a Valueset 

 Figura 8.28 Fereastra de dialog Modify Valueset 

245

Page 246: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 246/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

 Figura 8.29 Fereastra de dialog Define a Program

 Figura 8.30 Fereastra de dialog Edit program

246

Page 247: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 247/331

Crearea unei baze de date multidimensionale

Se poate crea un program şi prin utilizarea instrumentului   Data Loader (deexemplu, pentru a importa date din baze de date relaţionale), a instrumentului

 Database Wizard, a instrumentului Rollup Wizard (pentru agregarea datelor) sau cucomanda DEFINE PROGRAM din limbajul Express.

Se poate planifica momentul lansării în execuţie (ora, ziua) a unui program,dacă se selectează opţiunea Schedule din meniul ataşat butonului dreapta al mouse-ului. Se deschide fereastra de dialog Schedule the program (figura 8.31). Sespecifică numele programului, baza de date în care este stocat, tipul de program(command, dataloader, rollup), descrierea programului, comanda ce apelează 

  programul (caseta Command ), momentul lansării în execuţie: imediat(immediately), la un anumit moment (at this time), după execuţia altui program(after running ). De asemenea, se specifică de câte ori se execută programul (în ore,minute, zile, luni) şi momentul opririi execuţiei programului (caseta Until ).

 Figura 8.31 Fereastra de dialog Schedule the Program

Rezumat

Oracle Express Administrator se utilizeaz ă pentru a crea  şi administra baze de

date multidimensionale Express. Pentru a crea o baz ă de date multidimensional ă se definesc dimensiunile bazei

de date, mă   surile (variabile, rela ţ ii, formule), seturile de valori, programele  şimodelele de analiz ă .

Cuvinte cheie

 Baz ă  de date multidimensional ă   , dimensiuni, variabile, formule, rela ţ ii, seturi devalori, programe, modele de analiz ă  , obiecte compuse.

247

Page 248: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 248/331

 

Capitolul 9

Proiectarea şi realizarea unui sistem

OLAP

(studiu de caz)

În secolul 21, secolul informa ţ iilor  şi al afacerilor inteligente, organizaţiile vor   putea să-şi îndeplinească obiectivele, numai dacă managerii vor putea utiliza casuport în procesul decizional informaţii suficiente şi de calitate.

La ora actuală, preocuparea major ă a specialiştilor în domeniul sistemelor informatice este de a satisface cererea tot mai mare a managerilor pentru informa ţiicare să le permită evaluarea cât mai rapidă  şi mai corectă a performanţelor organizaţiilor pe care le conduc. Sistemele OLAP pot satisface această cerere de

informaţii de calitate şi pot îmbunătăţi eficacitatea muncii decizionale amanagerilor.Obiectivul  acestui capitol este de a ar ăta că modelarea multidimensională a

datelor existente în organizaţii, în funcţie de subiectele de interes ale managerilor şivizualizarea multidimensională a informaţiilor, poate oferi un suport informaţionaleficace managerilor în procesul decizional, indiferent de domeniul de activitate.Pentru a demonstra acest lucru, în acest capitol, se va proiecta un model de datemultidimensional şi un sistem OLAP pentru analiza activităţii de cercetareştiinţifică în învăţământul universitar.

Tehnica de modelare entitate-asociere şi structurarea datelor în tabele

normalizate reprezintă standardul pentru specialiştii de baze de date, care utilizează în mod frecvent bazele de date relaţionale, pentru a stoca volumele mari de datetranzacţionale existente în organizaţii. Totuşi, utilizarea tabelelor pentru a furnizainformaţiile necesare procesului decizional la nivelul organizaţiilor, nu esteîntotdeauna o soluţie ideală pentru manageri.

Accesul la informaţiile stocate în bazele de date relaţionale tranzacţionale cererealizarea de operaţii, adesea foarte complexe, între multe tabele. Din acest motiv,managerii trebuie să apeleze la specialişti pentru a executa cererile de regăsire (deexemplu în limbajul SQL). De asemenea, bazele de date relaţionale de dimensiunimari, proiectate să ofere suport aplicaţiilor tranzacţionale, permit cu dificultatevizualizarea informaţiilor după subiectele de interes ale managerilor.

248

Page 249: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 249/331

Page 250: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 250/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

De exemplu, evaluarea şi managementul activităţilor de marketing presupune[KOTL98]:

  “ verificarea realiză rii performan ţ elor planificate cu ajutorul a cinci tipuride analize: analiza vânză rilor, analiza participă rii pe pia ţă   , analiza

raportului dintre cheltuielile de marketing  şi vânză ri, analiza financiar ă   şiurmă rirea nivelului de satisfacere a clientului.  examinarea locului unde câ ştig ă  firma bani  şi unde pierde prin stabilirea

 profitabilit ăţ ii pe produs, teritoriu, client, segment al pie ţ ei, canal dedistribu ţ ie, mă rimea comenzii lansate.

  evaluarea  şi îmbună t ăţ irea eficien ţ ei utiliză rii fondurilor destinateactivit ăţ ii de marketing prin: analiza eficien ţ ei for  ţ ei de vânzare, analizaeficien ţ ei reclamei comerciale, analiza eficien ţ ei promovă rii vânză rilor  şianaliza eficien ţ ei activit ăţ ii de distribu ţ ie.

  examinarea modului în care firma d ă  curs celor mai bune ocazii ale sale

legate de pie ţ e, produse  şi canale de distribu ţ ie prin: evaluarea eficien ţ eiactivit ăţ ii de marketing, analiza de marketing, analiza performan ţ elor demarketing  şi analiza responsabilit ăţ ilor etice  şi sociale ale firmei.”

Exemple de

dimensiuni

Client:StudenţiStat/societateClienţi interni

Conţinut“fa te”

Exemple de dimensiuni Produs:La studenţi:  La societate:Invăţământ CercetareCazare Resurse umaneAjutor financiar Servicii publiceHrană Contabilitate

Sănatate etcCercetare în învăţământ etc

Exemple de dimensiuni

Resurse:

BaniOrganizaţiiPersonal

Echipamente

Figura 9.2 Procesul (problema analizat ă  ) sub forma unui “cub” de informa ţ ii

Analiza vânzărilor constă în măsurarea şi evaluarea vânzărilor reale, în raportcu obiectivele propuse prin plan. Controlul pe baza planului anual cere deasemenea, firmei să se asigure că nu face cheltuieli exagerate pentru a-şi realizavânzările. În acest scop, se va face analiza raportului dintre cheltuielile demarketing şi vânzări care constă în rapoartele: for ţa de vânzare/vânzări, cheltuielilecu reclama/vânzări, promovarea vânzărilor/vânzări, cercetarea de

250

Page 251: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 251/331

Proiectarea  şi realizarea unui sistem OLAP 

marketing/vânzări, cheltuieli administrative/vânzări. Pentru aceste analize se poateutiliza cu succes modelul multidimensional. Cubul n-dimensional  pentru analizavânzărilor conţine informaţii despre venituri (volumul vânzărilor) şi cheltuieli(cheltuieli cu reclama şi promovarea vânzărilor, costul bunurilor vândute, cheltuieli

cu cercetarea de piaţă, cheltuieli administrative şi generale, cheltuieli cu activitateade desfacere, cheltuieli cu activitatea de ambalare şi livrare, cheltuieli cu activitateade facturare, salarii, chiria, costurile cu investiţiile etc).  Dimensiunile de bază  alecubului n-dimensional sunt : Ţ ara (locaţie geografică),  Produs, Timp şi Promo ţ ie.Atributele acestor dimensiuni pot varia în funcţie de specificul firmei analizate. Deasemenea, se pot adăuga şi alte dimensiuni cum ar dimensiunea Strategia deinvesti ţ ii. Dimensiunea Strategia de investi ţ ii a fost definită pentru a evaluadiferitele moduri de a investi (efectul expansiunii liniei de produse, a numărului de pieţe sau regiuni de desfacere sau a publicităţii şi reclamei asupra profitului). Cavariabile se pot defini: volumul de vânzări, costul bunurilor vândute, cheltuielile cu

activitatea de desfacere, cheltuielile cu activitatea de reclamă, cheltuielile cuactivitatea de ambalare şi livrare, salariile, cheltuielile administrative, chiria,costurile cu investiţiile, alte cheltuieli (ce apar pe lângă cele prezentate anterior),costul banilor (pierderile ce apar ca urmare a schimburilor valutare, dacă firma arereprezentanţe şi în alte ţări). Pe baza acestor variabile se pot determina cu ajutorulformulelor: marja profitului brut (vânzări-costul bunurilor vândute), cheltuieliletotale directe, total cheltuieli, profitul net sau pierderea (volumul vânzărilor-totalcheltuieli). În figura 9.3 se prezintă un   prototip de cub n-dimensional pentruanaliza vânză rilor .

Locaţie geografică Cod magazinDenumireAdresa, Oraş Judeţ, RegiuneŢara,Manager magazin,Telefon,fax,Su rafa ă 

TimpCod dataZiua din să ptămâna Numărul zilei în luna Numărul să ptămânii înanLunaTrimestruAnPerioada fiscală Sezon, Eveniment

Măsuri:Cantitatea vândutâVolumul vânzărilor Costurile Numărul de clienţi

ProdusCodprodusMarcaSubcategoriaCategorieTipul de ambalajGreutateaCuloareDimensiuneFabricant

Cubul n-dimensional pentruanaliza vânzărilor  

PromoţieCodDenumireTipul de reducere a preţuluiTipul de publicitateCostul promoţionalData începerii promoţieiData de sfâr şit

Figura 9.3 Cubul n-dimensional pentru analiza vânză rilor 

251

Page 252: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 252/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Granulaţia cubului n-dimensional  este dată de granulaţia dimensiunilor (deexemplu cantitatea zilnică vândută din fiecare produs, în fiecare magazin). Cu acestmodel se poate realiza o analiză detaliată a vânzărilor  şi anume volumul total alvânzărilor la nivel de să ptămână, lună, trimestru, an , pe o anumită categorie de

 produse, într-un anumit magazin, oraş, regiune etc.Orice firmă trebuie de asemenea, să măsoare rentabilitatea diferitelor ei produse, teritorii, canale de distribuţie şi comenzi. Aceste informaţii îi vor ajuta pemanageri să stabilească dacă vreunele din produsele firmei trebuie să fie extinse,reduse sau eliminate. Cubul n-dimensional din figura 9.3 poate fi folosit pentru astabili rapoarte de profit şi cheltuieli, pentru fiecare canal de comercializare (tip demagazin), produs, teritoriu etc. În figura 9.4 se propune un   prototip de cub n-dimensional pentru analiza poli ţ elor de asigurare (granularitatea este la nivel detranzacţie individuală).

Produs asiguratCod produs asiguratDescriereTip produs asigurat

Agent Cod agent NumeTip agentLocaţie

TranzacţieCod tranzacţieDescriereMotiv

RisculCod poliţă Grad de risc

Măsuri:Suma asigurată Suma încasată Rata primă etc

Asigurat/ coasigurat/

contractantCod NumeAdresaTipAtribute demografice

Cubul n-dimensional pentru analiza poliţelor de asigurare 

Tipul de asigurareCodDescriereSegment piaţă 

TimpCod dataZiua din să ptămână Perioada fiscală 

Figura 9.4 Cubul n-dimensional pentru analiza poli ţ elor de asigurare

9.1 Iniţierea proiectului

Pentru proiectarea sistemului OLAP s-a utilizat metodologia prezentată încapitolul  5. În cartea “Metodologia cercetării ştiinţifice economice” [RACI01]cercetarea ştiinţifică este definită “ca o activitate sistematică   şi creatoare, menit ă   să  sporească  volumul de cuno ştin ţ e, inclusiv cuno ştin ţ e despre om, cultura,  şiutilizarea acestor cuno ştin ţ e pentru noi aplica ţ ii”. Activitatea de cercetare

ştiinţifică se clasifică în trei categorii [RACI01]:

252

Page 253: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 253/331

Proiectarea  şi realizarea unui sistem OLAP 

Cercetarea  ştiin ţ ifică  fundamental ă  este o activitate mai mult teoretică (îndomenii ca: creşterea economică  şi modelare, analiza proceselor economice,  probleme financiare, fiscale şi monetare etc) care are ca scop principal“acumularea de noi cuno ştin ţ e privind aspectele fundamentale ale fenomenelor  şi

  faptelor observabile, f ă r ă  să  aibă  în vedere o aplica ţ ie deosebit ă  sau specifică ” [RACI01]. Cercetarea  ştiin ţ ifică aplicativă este o activitate de investigare “orientat ă  spre

un scop sau obiectiv practic specific” care transformă rezultatele cercetăriiştiinţifice fundamentale şi de dezvoltare în “tehnici  şi tehnologii concrete, înmă   suri concrete de organizare, de conducere economică  etc” [RACI01].Cercetarea ştiinţifică fundamentală  şi aplicativă ocupă un loc important înactivitatea de cercetare ştiinţifică din învăţământul superior.

Cercetarea  şi dezvoltarea experimental ă  este o activitate sistematică dedicată utilizării rezultatelor cercetării ştiinţifice fundamentale şi a celei aplicative “ pentru

ob ţ inerea unor solu ţ ii de principiu, pentru proiectare, executare  şi încercare de prototipuri experimentale  şi de produse etc” [RACI01]. 

În România, cercetarea ştiinţifică economică are următoarea structur ă instituţională [RACI01]:

  Institutul Naţional de Cercetări Economice;  Reţeaua cercetării ştiinţifice economice româneşti din sistemul

Ministerului Educaţiei şi Cercetării;  Institute de cercetare ştiinţifică f ăr ă subordonare directă academică,

apar ţinând altor ministere;

Reţeaua cercetării ştiinţifice economice româneşti din sistemul MinisteruluiEducaţiei şi Cercetării include universităţi publice şi private, din centreleuniversitare cu învăţământ economic. Astfel în Academia de Studii Economice,activitatea de cercetare ştiinţifică este “componenta principal ă  a proceselor deînvăţă mânt  şi inovare”.

Principalele direc ţ ii de dezvoltare  şi modernizare ale cercet ă rii  ştiin ţ ifice dinAcademia de Studii Economice, specificate în   Buletinul Informativ al   Departamentului de Cercet ă ri Economice [BULE01], sunt: “ i) încurajareacercet ă rii  ştiin ţ ifice finan ţ at ă pe plan na ţ ional; ii) dezvoltarea cercet ă rii  ştiin ţ ificecu colaborare interna ţ ional ă   şi finan ţ are mixt ă   , oferit ă  de Guvernul României,

Comunitatea Europeană   , Banca Mondial ă ; iii) ini ţ ierea unor programe decercetare în colaborare bilateral ă  cu universit ăţ i din Uniunea Europeană ; iv)încurajarea cercet ă rii  ştiin ţ ifice   fundamentale; v) intensificarea activit ăţ iilaboratoarelor pentru cercet ă ri aplicative  şi  studii de caz; vi) crearea/acreditareaunor noi centre de cercetare; vii) promovarea transferului tehnologic; viii)recunoa şterea activit ăţ ii de cercetare  ştiin ţ ifică ; ix) perfec ţ ionarea programelor dedoctorat  şi masterat; x) modernizarea managementului cercet ă rii  ştiin ţ ifice.”

Deoarece activitatea de cercetare este componenta principală a proceselor deînvăţământ şi inovare din universităţi şi ca urmare a faptului că universităţile îşidesf ăşoar ă activitatea într-un mediu competitiv, se impune un management cât maieficace pentru activitatea de cercetare. Există cel puţin două motive diferite care

253

Page 254: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 254/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

determină necesitatea evaluării performanţei activităţii de cercetare în universităţişi anume : alocarea de fonduri şi asigurarea calităţii. 

Sistemul OLAP propus (prototipul a fost proiectat şi construit pentruactivitatea de cercetare ştiinţifică din Academia de Studii Economice, cu

 posibilitatea de a fi extins) încearcă să ofere managerilor:   posibilitatea de a accesa direct datele (f ăr ă intermediari) şi de a le manipula

uşor;   posibilitatea de a identifica erorile şi datele lipsă şi de a le corecta;  o activitate de planificare mai uşoar ă, deoarece toţi participanţii vor avea

acces la informaţii;    posibilitatea de a aloca, în mod obiectiv, fondurile şi de a asigura o

activitate de cercetare de calitate.

9.2 Studiul şi analiza procesului decizional curent

şi a cerinţelor informaţionale

În   Regulamentul privind organizarea, desf ăşurarea  şi finan ţ area cercet ă rii ştiin ţ ifice în  Academia de Studii Economice Bucureşti, se prezintă modul deorganizare:

“Unitatea de bază  a organiză rii activit ăţ ii de cercetare  ştiin ţ ifică  din Academia de Studii Economice este catedra” [BULE01].

“ Activitatea de cercetare  ştiintifică  se poate realiza  şi prin colaborare cu alte

institute de învăţă mânt  şi de cercetare din  ţ ar ă   şi din str ă inatate” [BULE01].“  Activitatea de cercetare ştiin ţ ifică  se organizează    şi se desf ăşoar ă  prin

 proiecte  şi teme, finan ţ ate sau nefinan ţ ate cuprinse în programele catedrelor, facult ăţ ilor, centrelor de cercetare etc” [BULE01].

Aşa cum se specifică în “Metodologia de identificare, evaluare  şi recunoa şterea centrelor de cercetare, în vederea acredit ă rii centrelor de excelen ţă   ştiin ţ ifică ”,centrele de cercetare ştiinţifică se pot constitui la nivel de catedr ă, facultate sauuniversitate, iar evaluarea şi recunoaşterea lor are la bază competiţia organizată lanivelul universităţilor  şi cea organizată la nivel naţional de CNCSIS. În urmaevaluării de către CNCSIS, centrele primesc niveluri de competenţă (centru deexcelenţă, centru de cercetare de tip B, centru de cercetare de tip C)[http://www.cncsis.ro]. Centrele de cercetare neacreditate reprezintă unităţirecunoscute şi aprobate instituţional. În Academia de Studii Economice îşidesf ăşoar ă activitatea următoarele centre de cercetare [BULE01]:

  Centrul de Cercetare ECO-INFOSOC  – Modelarea  şi informatizarea  proceselor economico-sociale, acreditat CNCSIS. Nivelul de organizareeste facultatea de Cibernetică, Statistică şi Informatică Economică.

  Centrul de Cercet ă ri, Analize  şi Expertize M ă rfuri Alimentare, acreditatCNCSIS. Nivelul de organizare este catedra de Merceologie şi

Managementul Calităţii, Facultatea de Comer ţ.

254

Page 255: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 255/331

Proiectarea  şi realizarea unui sistem OLAP 

  Centrul Na ţ ional de Excelen ţă  pentru Studii de Management Comparat ,acreditat CNCSIS. Nivelul de organizare este facultatea de Management.

  Centrul de Excelen ţă  pentru Analize  şi Politici Economice, acreditatCNCSIS. Nivelul de organizare este catedra de Economie şi Politici

Economice.  Centrul de Studii în Contabilitate  şi Informatică  de Gestiune, acreditat

CNCSIS. Nivelul de organizare este facultatea de Contabilitate şiInformatică de Gestiune.

  Centrul de Cercet ă ri în Managementul Proiectelor-PM Forum, acreditatinstituţional. Nivelul de organizare este facultatea de Cibernetică, Statistică şi Informatică Economică.

  Centrul de Excelen ţă  pentru Analize  şi Politici Regionale, acreditatinstituţional, face parte din Centrul European Interuniversitar Româno-Bulgar, BRIE.

  Centrul de Cercet ă ri Financiar Monetare, acreditat instituţional. Nivelulde organizare este facultatea de Finanţe, Asigur ări, Bănci şi Burse de valori[BULE01].

“  Activitatea de cercetare ştiin ţ ifică  finan ţ at ă  se desf ăşoar ă  prin intermediul   programelor, subprogramelor, temelor de cercetare-dezvoltare  şi activit ăţ ilor cuprinse, după  caz, în: i) programe na ţ ionale de cercetare  ştiin ţ ifică   , precum  şimanagementul acestora, finan ţ ate de Agen ţ ia Na ţ ional ă pentru Ş tiin ţă  , Tehnologie şi Inovare; ii) programe de cercetare  ştiin ţ ifică  finan ţ ate de Ministerul Educa ţ iei Na ţ ionale, prin Consiliul Na ţ ional al Cercet ă rii Ş tiin ţ ifice din Învăţă mântul 

Superior; iii) teme de cercetare  ştiin ţ ifică   şi consultan ţă  contractate cu societ ăţ icomerciale, organiza ţ ii guvernamentale  şi neguvernamentale; iv) programeinstitu ţ ionale coordonate de Biroul Senatului Academiei de Studii Economice  şi finan ţ ate din fonduri proprii; v) programe institu ţ ionale coordonate de  Departamentul de Cercet ă ri Economice; vi) programele departamentalecoordonate de catedre  şi facult ăţ i care cuprind  şi cercet ă rile individuale finan ţ ate”[BULE01].

Programele de finanţare naţională (granturi CNCSIS) includ:    programele anuale de cercetare (tip A) care au ca obiective principale:

”dezvoltarea activit ăţ ilor de cercetare  ştiin ţ ifică  în procesul de formare a

resursei umane, cre şterea performan ţ ei  ştiin ţ ifice  şi stimularea formă riiechipelor de cercetare prin implicarea studen ţ ilor admi şi în programe de studii aprofundate, academice  şi doctorat ”;

   programele anuale pentru tineri (tip AT) care urmăresc să ofere tinerilor cercetători, doctori sau doctoranzi, un suport eficient pentru realizarea unor lucr ări de cercetare ştiinţifice valoroase;

    programele de echipamente pentru laboratoare (tip E) care urmăresc“dezvoltarea/consolidarea de echipamente care să  permit ă  cercetarea îndomenii de vârf pentru care nu exist ă structura necesar ă ”;

   programele individuale de cercetare pentru tineri doctoranzi (tip Td) careurmăresc “ să ofere tinerilor doctoranzi suportul necesar pentru efectuarea,

255

Page 256: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 256/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

în  ţ ar ă  sau în str ă ină tate a cercet ă rilor cuprinse în programul dedoctorat ”;

   programele de burse individuale de cercetare pentru tineri doctoranzi (tipBd) care urmăresc “  stimularea tinerilor doctoranzi în activitatea de

cercetare  şi în realizarea studiilor doctorale în maxim 4 ani”[http://www.cncsis.ro].În contextul general al reformei sistemului universitar românesc s-a desf ăşurat

şi “  Programul de Reformă  a Învăţă mântului Superior   şi Cercet ă rii dinUniversit ăţ i” (RO-4096) cofinanţat de Guvernul României şi Banca Mondială cuurmătoarele componente: proiecte majore de cercetare (C), proiecte pentruînvăţământ postuniversitar, studii aprofundate, master  şi doctorat (D), proiecte decercetare pentru tineri (T), baze de cercetare cu utilizatori multipli (B), proiecteuniversitare, proiecte pentru educaţie permanentă  şi proiecte pentru colegii[http://www.cncsis.ro].

“ Rezultatele recunoscute ale activit ăţ ii de cercetare  ştiin ţ ifică se concretizează  în: i) rapoarte de cercetare depuse la bibliotecile Academiei de Studii Economice,inclusiv la sec ţ ia  ştiin ţ ifică   şi la arhiva Departamentului de Cercet ă ri Economice;ii) sisteme, modele, produse program, solu ţ ii de modernizare  şi cre ştere a eficien ţ eieconomice etc. înso ţ ite de documenta ţ ii corespunză toare depuse la bibliotecile  Academiei de Studii Economice, inclusiv la sec ţ ia  ştiin ţ ifică    şi la arhiva  Departamentului de Cercet ă ri Economice; iii) că r  ţ i, tratate  şi monografii cucon ţ inut   ştiin ţ ific inedit publicate  şi depuse la bibliotecile Academiei de Studii Economice inclusiv la sec ţ ia  ştiin ţ ifică   şi la arhiva Departamentului de Cercet ă ri

 Economice; iv) comunică ri  ştiin ţ ifice pe plan na ţ ional  şi interna ţ ional; v) articole publicate în volume ale manifest ă rilor  ştiin ţ ifice sau în reviste de specialitate din ţ ar ă   şi str ă ină tate.” [BULE01]

“ La nivelul Academiei de Studii Economice, al facult ăţ ilor  şi catedrelor se pot organiza seminarii  ştiin ţ ifice, sesiuni, conferin ţ e  şi alte manifest ă ri  ştiin ţ ifice,  pentru comunicarea rezultatelor  şi experien ţ ei acumulate în activitatea decercetare.” [BULE01]

“  Activitatea de cercetare  ştiin ţ ifică  a studen ţ ilor se desf ăşoar ă  sub diverse forme: i) cercetare  ştiin ţ ifică  realizat ă  în mod independent, îndrumat ă  de cadreledidactice  şi care se finalizează prin proiecte, lucr ă ri de diplomă  , studii de caz; ii)

transformarea par  ţ ial ă  a unor seminarii didactice în seminarii  ştiin ţ ifice; iii)antrenarea  şi participarea studen ţ ilor la realizare unor programe/proiectecoordonate de că tre catedre  şi centrele de cercetare  ştiin ţ ifică ; iv) organizarea decă tre catedre a unor cercuri  ştiin ţ ifice studente şti. Rezultatele activităţii ştiinţifice  pot fi luate în considerare în sistemul de notare a studenţilor, pot fi publicate înreviste de specialitate, pot fi prezentate la sesiunile de comunicări ştiinţifice alestudenţilor şi la concursurile profesionale organizate.

Cerinţele prototipului au fost determinate pe baza identificării indicatorilor utilizaţi pentru măsurarea nivelului performanţelor în cercetarea ştiinţifică, precumşi a obiectivele şi strategiile activităţii de cercetare ştiinţifică în învăţământuluniversitar.

256

Page 257: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 257/331

Page 258: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 258/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

 p5=ponderea indicatorului n3a în n3 (p5=0.5) p6=ponderea indicatorului n3b în n3 (p6=0.5) N3=numărul total de contracte cu companii din ţar ă şi contracte obţinute în cadrulPNCD

 Ncd=numărul total de cadre didactice Nc=numărul total de cercetătoriVtcn=valoarea totală de contracte cu companii din ţar ă  şi contracte obţinute încadrul PNCD (milioane ROL)c5=punctaj pentru un contract cu companii din ţar ă şi contracte obţinute în cadrulPNCD (c5=10)c6=punctaj pentru resursele financiare atrase (referinţa este de 20 mil. ROL per om) (c6=0.5)

 Indicatorul n4 

Teze de doctorat finalizaten4=n4.1*p7+n4.2*p8n4.1=c7*N /Npd

cd

n4.2=c8*N /Nd unde:f td

  p7=ponderea indicatorului n4.1 în n4 (p7=0.3) p8=ponderea indicatorului n4.2 în n4 (p8=0.7)

 N =numărul total conducători de doctoratdcd

 N =numărul total teze de doctorat finalizatef td

 Nd=numărul total de doctoranzi aflaţi în evidenţa universităţii la 1 ianuarie 20.. Np=număr total profesoric7=punctaj pentru un conducător de doctorat (c7=10)c8=punctaj pentru o teză de doctorat finalizată (c8=100)

 Indicatorul n5

 Articole publicate în reviste cotaten5=n5.1*p9+n5..2*p10

n5.1=c9*N5.1/(Ncd+Nc)n5.2=c10* N5.2/(Ncd+Nc) unde:

 p9=ponderea indicatorului n5.1 în n5 (p9=0.5) p10=ponderea indicatorului n5.2 în n5 (p10=0.5) N5.1=numărul total de articole publicate în reviste româneşti recunoscute deCNCSIS, lucr ări publicate în volumele conferinţelor internaţionale cu recenzori şilucr ări publicate în reviste din str ăinătate cu recenzori N5.2=numărul total de articole publicate în reviste cotate ISI

258

Page 259: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 259/331

Proiectarea  şi realizarea unui sistem OLAP 

c9=punctaj pentru un articol publicat în reviste româneşti recunoscute CNCSIS(c9=20)c10=punctaj pentru un articol publicat în reviste cotate ISI (c10=60)

 Indicatorul n6 C ă r  ţ i publicate în edituri recunoscuten6=n6.1*p11+n6..2*p12n6.1=c11*∑ pagin/Npnr(Ncd+Nc)n5.2=c10*∑ pagiin /Npir(Ncd+Nc) unde:

 p11=ponderea indicatorului n6.1 în n6 (p11=0.3) p12=ponderea indicatorului n6.2 în n6 (p12=0.7) N6.1=numărul total de căr ţi publicate în edituri româneşti recunoscute CNCSIS N6.2=numărul total de căr ţi publicate în edituri recunoscute în str ăinatatec11=punctaj pentru numărul de pagini ale căr ţii publicate în edituri recunoscute deCNCSIS (referinţa este de 100 de pagini la trei ani pentru un autor) (c11=50)c12=punctaj pentru numărul de pagini ale căr ţii publicate în edituri recunoscute dinstr ăinătate (c12=150) pagin=numărul de pagini ale căr ţii in (i=1.. N6.1) pagiin=numărul de pagini ale căr ţii iin (i=1.. N6.2) Npnr=numărul de pagini de referinţă pentru lucr ări la nivel naţional (ex. 200 pag) Npir=numărul de pagini de referinţă pentru lucr ări la nivel internaţional (ex. 200 pag)

 Indicatorul n7 

 Brevete sub protec ţ ie/produse cu drept de propietate intelectual ă  n7=c13*N7/(Ncd+Nc) unde:

 N7=numărul total de brevete/produse cu drept de propietate intelectuală c13=punctaj pentru brevet sub protecţie/produs cu drept de propietate intelectuală (c13=150)

 Indicatorul n8

Centre de cercetare sau crea ţ ie artistică acreditate/recunoscuten8=n8.1*p13+n8.2*p14n8.1=c14*N8.1/(Ncd+Nc)n8.2=c15* N8.2/(Ncd+Nc) unde:

 p13=ponderea indicatorului n8.1 în n8 (p13=0.5) p14=ponderea indicatorului n8.2 în n8 (p14=0.5) N8.1=numărul total de centre de cercetare recunoscute de CNCSIS N8.2=numărul total de centre de cercetare recunoscute internaţional

c14=punctaj pentru un centru recunoscut de CNCSIS (c14=300)c15=punctaj pentru un centru recunoscut internaţional (c15=900)

259

Page 260: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 260/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

 Indicatorul n9

 Reprezent ă ri în academii, organiza ţ ii profesionalen9=n9.1*p15+n9.2*p16+n9.3*p17n9.1=c16*N9.1/Np

n9.2=c17* N9.2/Npn9.3=c18* N9.3/Np unde:

 p15=ponderea indicatorului n9.1 în n9 (p15=0.4) p16=ponderea indicatorului n9.2 în n9 (p16=0.3) p17=ponderea indicatorului n9.3 în n9 (p17=0.3) N9.1=Reprezentări în Academia Română  N9.2=Reprezentări în Academia de Ştiinţe Tehnice, Academia de Ştiinţe Medicaleşi Academia de Ştiinţe Agricole N9.3=reprezentări în organizaţii profesionale internaţionale (nu acelea în care devii

membru prin plata unei taxe)c16=punctaj pentru o reprezentare în Academia Română (c16=150)c17=punctaj pentru o reprezentare în Academia de Ştiinte Tehnice, Academia deŞtiinte Medicale şi Academia de Ştiinte Agricole (c17=100)c18=punctaj pentru o reprezentare în organizaţii profesionale internaţionale (nuacelea în care devii membru prin plata unei taxe) (c18=50)

 Indicatorul n10

  Premii la nivel na ţ ional :   premiile Academiei Române, premiile acordate de 

CNCSIS şi premiile acordate de Uniunile de Creaţie (UNITER, UniuneaScriitorilor, UAP, UCMR, UCIN, UAR)n10=c19*N10/(Ncd+Nc) unde:

 N10=numărul total de premii la nivel naţional (Academia Română, CNCSIS,Uniunile de Creaţie)c19=punctaj pentru un premiu naţional (c19=1000)

Pe baza studiului procesului decizional curent şi a cerinţelor informaţionale aleactivităţii de evaluare a cercetării ştiinţifice în învăţământul universitar, în figura

9.5 se propune un model de afaceri (sub forma unui cub de informa ţ ii) pentruevaluarea activităţii de cercetare. Utilizând acest mod de prezentare se pot realizaanalize de tip suport de decizie cum ar fi: analiza comparativă între încărcareacadrelor didactice şi rata publicaţiilor, analiza ratei publicaţiilor (număr de publicaţii/cadru didactic), încărcarea cadrelor didactice, analiză de tip top 3(primele trei facultăţi/centre de cercetare în funcţie de indicatorii de performanţă),evoluţia grafică a personalului implicat în activitatea de cercetare etc.

260

Page 261: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 261/331

Proiectarea  şi realizarea unui sistem OLAP 

9.3 Proiectarea modelului multidimensional conceptual

Aşa cum s-a prezentat în capitolul 5, există două metode pentru proiectareamodelului multidimensional conceptual şi anume: metoda orientat ă  pe cereri  şi

metoda orientat ă  pe    sursele de date. În cazul activităţii de cercetare înînvăţământul superior, se va utiliza metoda orientată pe cereri. Această metodă estemai adecvată, deoarece în etapa anterioar ă s-au pus în evidenţă indicatorii de performanţă corespunzători. De asemenea, sistemul informatic tranzacţional sursă se va proiecta în paralel cu sistemul suport de decizie. 

Dimensiunea

Tip_proiect

Dimensiunea

PublicaţieCubul n-dimensional 

Măsuri: Număr de publicaţiiRata publicaţiilor  Număr de proiecte

Valoarea contractată (lei)Valoarea contractată (dolari) Număr de cadre didacticeimplicate în cercetare etc

DimensiuneaTimp

Dimensiunea

Centre

Dimensiunea

Institut (Universitate)

Figura 9.5 Cubul n-dimensional de informa ţ ii pentru activitatea de cercetare înînvăţă mântul universitar 

9.3.1 Identificarea variabilelor 

Pe baza studiului şi analizei activităţii pentru care se construieşte sistemul, seidentifică variabilele activităţii respective (se specifică  şi granulaţia acestor variabile) şi anume:

  Personalul implicat în activitatea de cercetare şi anume: numărul de cadredidactice antrenate în cercetare la nivel de catedr ă şi an (nrcadre), numărulde cadre tesa (cercetători) antrenate în cercetare la nivel de catedr ă  şi an

(nrtesa), numărul de doctoranzi antrenaţi în cercetare la nivel de catedr ă şi

261

Page 262: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 262/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

an (nrdoct ), numărul de studenţi antrenaţi în cercetare la nivel de catedr ă şian (nrstud_cer );

   Numărul de proiecte pe tip de proiect, an, catedr ă (nrproiecte).   Numărul de proiecte pe tip de proiect, an, centre de cercetare (nrpro).   Numărul de publicaţii la nivel de catedr ă, tip de publicaţie şi an (nrpub).   Numărul de studenţi la nivel de facultate şi an (nrstud ), numărul de cadre

didactice la nivel de catedr ă şi an ( Ncd ).  Valoarea contractată în dolari, pe tip de proiect, an, catedr ă 

(Valoare_dolari).  Valoarea contractată în lei, pe tip de proiect, an, centru de cercetare

(Vallei).  Valoarea contractată în dolari, pe tip de proiect, an, centru de cercetare

(Valdol ).  Valoarea contractată în lei, pe tip de proiect, an, catedr ă (Valoare_lei).

   Numărul de conducători de doctorat ( N  ), numărul de teze de doctorat

finalizate ( N  ), numărul de brevete ( N7 ), numărul de reprezentări în

Academia Română ( N91), numărul de reprezentări în Academia de ŞtiinţeTehnice, Academia de Ştiinţe Medicale şi Academia de Ştiinţe Agricole( N92), numărul de reprezentări în organizaţii profesionale internaţionale( N93) şi numărul de premii la nivel naţional ( N10), la nivel de catedr ă şian.

dcd

f td

Pentru fiecare variabilă se vor stabili factorii de care depinde sau în funcţie de

care variază (dimensiunile cubului) şi anume:  Variabilele nrcadre, nrtesa, nrdoct, nrstud_cer, Ncd, nrstud,  N , N  f   , N7,

 N91, N92, N93, N10 au ca dimensiuni: Timp,  Institut (universitate).

dcd td

  Variabilele nrproiecte, valoare_lei, valoare_dolari au ca dimensiuni:Timp, Institut, Tip_proiect .

  Variabilele nrpro, vallei, valdol  au ca dimensiuni: Timp, Centru,Tip_proiect.

  Variabila nrpub are ca dimensiuni: Timp, Institut, Publica ţ ie.De asemenea, fiecare variabilă va fi analizată, în scopul de a determina dacă 

este aditivă, semiaditivă sau neaditivă. Toate variabilele definite sunt aditive. 

9.3.2 Identificarea dimensiunilor  şi a ierarhiilor 

Se identifică următoarele dimensiuni ierarhice:  Publica ţ ie, Institut  (universitate) şi Tip_proiect . Dimensiunea  Institut  este o dimensiune cu structur ă ierarhică cu nivelurile: Institut, Facultate şi Catedr ă . Dimensiunea Publica ţ ie are ostructur ă ierarhică cu nivelurile: Total_publica ţ ii, Carte (C ă r  ţ i publicate în edituriromâne şti recunoscute de CNCSIS-CCNCSIS, C ă r  ţ i publicate în edituri române şti 

recunoscute în str ă ină tate-CS, C ă r  ţ i publicate în edituri române şti nerecunoscuteCNCSIS-CNER), Articole (Articole publicate în reviste române şti recunoscute

262

Page 263: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 263/331

Proiectarea  şi realizarea unui sistem OLAP 

CNCSIS-ACNCSIS, Articole publicate în reviste cotate ISI-AISI, Articole publicateîn reviste nerecunoscute-ANER, Lucr ă ri publicate în reviste din str ă ină tate curecenzori-AS), Conferin ţ e (Comunică ri în volumele conferin ţ elor   ştiin ţ ificena ţ ionale-CN, lucr ă ri publicate în volumele conferin ţ elor interna ţ ionale-CI) 

(figura 9.6).Revistele româneşti sunt recunoscute de CNCSIS pe baze unor criterii deevaluare şi anume: “includerea revistei în baza de date a unui institut de evaluare scientometrică   , includerea revistei în cataloage centralizatoare de rezumate pedomeniu, difuzarea în str ă inatate a revistei, factorul de impact pe planinterna ţ ional etc” [http://www.cncsis.ro].

Total_publicaţii

carte conferinţe articole

CS CNER CCNCSIS AISI ASCN CI ANER ACNCSIS

Figura 9.6 Dimensiunea ierarhică Publica ţ ie (ierarhia este strict ă  )

Revistele cotate de Institutul pentru Ştiinţa Informării (ISI) din Philadelphiasunt grupate în trei indexuri în funcţie de domeniile ştiinţifice abordate şi anume:Science Citation Index (SCI), Social Citation Index (SSCI) şi Arts&HumanitiesCitation Index (A&HCI) [http://www.cncsis.ro].

Editurile româneşti sunt recunoscute de CNCSIS pe baza unor criterii deevaluare şi anume: “ pondere însemnat ă  din activitate în domeniul că r  ţ ii  ştiin ţ ifice şi manualelor universitare, publicarea a minimum 50 de că r  ţ i  ştiin ţ ifice saumanuale universitare în ultimii 5 ani, premii ob ţ inute de editur ă  la saloane  şitârguri de carte etc” [http://www.cncsis.ro].

Dimensiunea Tip_proiect  are o structur ă ierarhică cu nivelurile: Total,

Contracte cu companii din  ţ ar ă  (Al  ţ ii), Academia Română  (ACAD), CNCSIS (GR_A, GR_AT, GR_E, GR_Td, GR_Bd), Orizont 2000 (O2000), RO-4096 (PU, PEP, PC, D, C, T, B), proiecte nefinan ţ ate (NF), proiecte finan ţ ate de MEC prin programe din planul na ţ ional de cercetare-dezvoltare  şi inovare(CERES, MENER, INFRAS, MANATECH), proiecte de cercetare interna ţ ional ă (PI).

Dimensiunea Timp nu are o structur ă ierarhică, este formată numai din ani(2000, 2001, 2002, 2003). Dimensiunea Centru se consider ă neierarhică, deşi poateavea o structur ă ierarhică cu nivelurile:  Institut   şi Centre de cercetare (într-ouniversitate pot exista unul sau mai multe centre de cercetare).

263

Page 264: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 264/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

9.3.3 Definirea cuburilor n-dimensionale sau a structurii multicub 

Pentru a reduce fenomenul de împr ăştiere s-a ales o  structur ă  multicub cu patru cuburi n-dimensionale şi anume: 

  cubul n-dimensional cu dimensiunile Timp, Institut, Tip_proiect   şivariabilele valoare_lei, valoare_dolari, nrproiecte;  cubul n-dimensional cu dimensiunile Timp, Institut  şi variabilele nrcadre,

nrtesa, nrdoct , nrstud_cer, N dcd , N , N7, N91, N92, N93, N10;f td

  cubul n-dimensional cu dimensiunile Timp, Tip_proiect, Centru şivariabilele vallei, valdol, nrpro;

  cubul n-dimensional cu dimensiunile Timp, Publica ţ ie, Institut  şi variabilanrpub.

Structura multicub are o singur ă dimensiune globală, dimensiunea Timp.

9.3.4 Rafinarea modelului multidimensional  

Este necesar a se stabili şi dimensiunile care se modifică frecvent şi care esterata de modificare a fiecărei dimensiuni. Cele mai frecvente modificări apar îndimensiunea Tip_proiect , iar rata ei de modificare poate fi de cel puţin un an.Deoarece dimensiunea Tip_proiect  are puţini membri, se va utiliza ca metodă demodelare a modificărilor care vor apare, metoda de a păstra o singur ă dimensiuneîn cub, ce reprezintă reuniunea versiunilor.

O componentă cheie a modelării multidimensionale este definirea formulelor şiîn special a formulelor de agregare. Se vor defini următoarele formule de calcul şianume:

  rata publicaţiilor (numărul mediu de publicaţii pe cadru didactic):rata=nrpub/nrcadre

  încărcare cadre didactice: încă rcare=nrstud/Ncd    procent de participare la cercetare : procent=nrcadre/Ncd De asemenea, se vor realiza agregări după dimensiunile: Tip_proiect, Institut ,

 Publica ţ ie. Pentru fiecare dimensiune se stabilesc nivelurile de granulaţie şi anume: 

Dimensiunea Institut are nivelul de granulaţie catedra.   Dimensiunea  Publica ţ ie are nivelul de granulaţie subcategorie de publicaţie (căr ţi publicate în edituri româneşti recunoscute de CNCSIS,căr ţi publicate în edituri româneşti recunoscute în str ăinătate, căr ţi publicate în edituri româneşti nerecunoscute CNCSIS etc).

  Dimensiunea Timp are nivelul de granulaţie anii calendaristici (2000, 2001,2002 etc).

  Dimensiunea Tip_proiect  are nivelul de granulaţie tipurile de proiectefinanţate (granturi anuale de tip A, de tip AT etc).

  Dimensiunea Centru are nivelul de granulaţie centru de cercetare.

Conform modelului propus de Blanschka, modelul multidimensionalconceptual pentru activitatea de cercetare are următoarele componente (figura 9.7):

264

Page 265: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 265/331

Proiectarea  şi realizarea unui sistem OLAP 

Colec ţ ie de fapte: FS_1  Niveluri: L={tip_proiect, finanţator, catedra, facultate, institut, an}Atribute: A={valoare_lei, valoare_dol, nrproiecte}Funcţia: gran (FS_1)={catedra, an, tip_proiect} care asociază FS_1

cu nivelurile de bază ale dimensiunilor Relaţiile între niveluri: class={(catedra, facultate), (facultate, institut),(tip_proiect, finanţator)}

Funcţiile: attr(“valoare_lei”)=FS_1, attr(“valoare_dol”)=FS_1 etc.Colec ţ ie de fapte: FS_2  Niveluri: L={tip_proiect, finanţator, centre, an}Atribute: A={vallei, valdol, nrpro}Funcţia: gran (FS_2)={centre, an, tip_proiect} care asociază FS_2

cu nivelurile de bază ale dimensiunilor Relaţiile între niveluri: class={(tip_proiect, finanţator)}

Funcţiile: attr(“vallei”)=FS_2, attr(“valdol”)=FS_2 etc.Colec ţ ie de fapte: FP_1  Niveluri: L={subcategorie, categorie, catedra, facultate, institut,

an}Atribute: A={nrpub}Funcţiile: gran (FP_1)={catedra, an, subcategorie} care asociază 

FP_1 cu nivelurile de bază ale dimensiunilor Relaţiile între niveluri: class={(catedra, facultate), (facultate, institut),

(subcategorie, categorie)}

Funcţiile: attr(“nrpub”)=FP_1Colec ţ ie de fapte: FP_2  Niveluri: L={catedra, facultate, institut, an}Atribute: A={nrcadre, nrtesa, nrstud, Ncd, nrstud_cer, nrdoct, N ,

 N , N7, N91, N92, N93, N10 }

dcd

f td

Funcţiile: gran(FP_2)={catedra, an} care asociază FP_2 cu nivelurilede bază ale dimensiunilor 

Relaţiile între niveluri: class={(catedra, facultate), (facultate, institut)}Funcţiile: attr(“nrcadre”)=FP_2, attr(“nrtesa”)=FP_2 etc

Modelul entitate-asociere al sistemului informatic tranzacţional este prezentatîn figura 9.8. Schema conceptuală a bazei de date relaţională sursă este următoarea(cheile primare sunt subliniate, pentru fiecare cheie externă este prezentată schemareferită):INSTITUŢII (UNIVERSITĂŢI)(codinst, denumire, adresa)FACULTĂŢI (codfac, denfac, codinst: INSTITUŢII)CATEDRE (codcat, dencat, codfac: FACULTĂŢI)PERSOANE (codp, nume, funcţia, codcat: CATEDRE, doctorat, imagine)PERS_PUB (codp: PERSOANE, codpub: PUBLICAŢII, nrpagini)

PUBLICAŢII (codpub, denpub, an, codsubcat: CATEGORII, editura, nrpag)CATEGORII (codsubcat, densubcat, categ)

265

Page 266: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 266/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

PERS_PROI (codp: PERSOANE, cod: PROIECTE, nrore)PROIECTE (cod, denumire, codp: PERSOANE, director, an, denetapa, codtip:TIPURI_PROIECT, codc: CENTRE, vallei, valdol)TIPURI_PROIECT (codtip, denumire)

CENTRE (codc, denumire, director, domeniu, acreditare (organizaţie),an_acreditare, tip_acreditare, nivel, universitate, facultate, catedra, coordonate,direcţii)REPREZENTĂRI (codr, codp:PERSOANE, an_reprezentare, denumire_academie)PREMII (codpr, titlu, codp:PERSOANE, an_premiu, denumire_organizaţie)TEZE (codt, titlu, nume_doctorand, codp:PERSOANE, an_înmatriculare,an_susţinere)BREVETE (titlu, codp:PERSOANE, an_brevet)Pentru a păstra o istorie a numărului de studenţi şi a numărului de cadre didacticese vor adăuga două tabele istorice:STUD_FAC (an, codfac: FACULT

ĂŢI, nrstud)

 NRPROF_CAT (an, codcat: CATEDRE, Ncd)

9.4 Proiectarea logică 

Modelul multidimensional conceptual proiectat în etapa anterioar ă poate fiimplementat atât într-o bază de date relaţională (o soluţie ROLAP) cât şi într-o bază de date multidimensională (o soluţie MOLAP). Dacă se adoptă o soluţieROLAP, se va proiecta schema stea a bazei de date.

S-au identificat următoarele tabele de fapte:Tabela  de fapte FS_1 (codcat, codtip, an, nrproiecte: number(3), valoare_lei:number(20), valoare_dol: number(10)) cu tabelele de dimensiuni: Tipuri_proiect  (codtip: varchar2(8), denumire: varchar2(100), finanţator: varchar2(8)), Timp (an:varchar2(4)),  Institu ţ ii(Universit ăţ i) (codcat: varchar2(5), dencat: varchar2(60),codfac: varchar2(5), denfac: varchar2(60), codinst: varchar2(5), deninst:varchar2(60)) (figura 9.9 şi figura 9.10).

Tabela de fapte FS_2 (codc, codtip, an, nrpro: number(3), vallei: number(20),valdol: number(10)) cu tabelele de dimensiuni: Tipuri_proiect  (codtip: varchar2(8),denumire: varchar2(100), finanţator: varchar2(8)), Timp (an: varchar2(4)), Centre (codc: varchar2(12), denumire: varchar2(100)).

Tabela de fapte FP_1 (codcat, an, codsubcat, nrpub: number(3)) cudimensiunile:  Institu ţ ii (codcat: varchar2(5), dencat: varchar2(60), codfac:varchar2(5), denfac: varchar2(60), codinst: varchar2(5), deninst: varchar2(60)),Timp (an: varchar2(4)),  Publica ţ ii (codsubcat: varchar2(8), densubcat:varchar2(70), categ: varchar2(10)) (figura 9.11).

Tabela de fapte FP_2 (codcat, an, nrcadre: number(3), nrtesa: number(3),nrstud_cer: number(3), nrdoct: number(3), nrstud: number(3), ncd: number(3),  N : number(3), N : number(3), N7: number(3), N91: number(3), N92:

number(3), N93: number(3), N10: number(3) cu dimensiunile: Timp (

dcd

f td

an:

varchar2(4)),  Institu ţ ii (Universit ăţ i) (codcat: varchar2(5), dencat: varchar2(60),

266

Page 267: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 267/331

Proiectarea  şi realizarea unui sistem OLAP 

codfac: varchar2(5), denfac: varchar2(60), codinst: varchar2(5), deninst:varchar2(60)) (figura 9.11).

FS_1

an

finanţator tip_proiect catedra facultate universitate

valoare_dolValoare_lei

nrproiecte

FP_2an catedra facultate universitate

nrtesa

ncdnrcadre

nrdoct Nrstud_cer 

nrstud

 Ndcd

 N7

 N10

FP_1catedra facultate

an

subcatcategorie

nr ub

 

FS_2 centruTip_proiectfinanţator 

an

vallei

nrprovaldol

universitate

Figura 9.7 Modelul multidimensional conceptual pentru activitatea de cercetareîn învăţă mântul universitar 

267

Page 268: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 268/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Figura 9.8 Modelul entitate asociere

Figura 9.9 Schema fulg de ză  pad ă cu tabela de fapte FS_1

268

Page 269: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 269/331

Proiectarea  şi realizarea unui sistem OLAP 

Figura 9.10 Schema stea cu tabela de fapte FS_1

Figura 9.11 Schema stea cu tabelele de fapte FP_1  şi FP_2

269

Page 270: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 270/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

9.5 Proiectarea fizică 

Pentru a stabili aproximativ dimensiunea bazei de date relaţionale (soluţiaROLAP), s-a utilizat modul de calcul propus de Ralph Kimball [KIMB96]. Autorul

consider ă că fiecare atribut are maxim 4 bytes. De asemenea, consider ă că pentrutabelele de fapte cu un număr mic de atribute, dimensiunea indexului principalcreat pe cheia compusă a tabelei va fi de 60-80% din dimensiunea tabelei de fapte.Pentru tabele de fapte cu multe atribute (15-20 de atribute), dimensiunea indexului principal este de 30-50% din dimensiunea tabelei de fapte. De asemenea, tabelelede dimensiuni şi indecşii asociaţi vor fi foarte mici în comparaţie cu tabela de fapteşi indexul principal aferent.

Pentru cazul nostru, s-au utilizat nivelurile de granulaţie stabilite în etapa 9.3,iar dimensiunea bazei de date relaţionale s-a calculat aproximativ astfel:

  Dimensiunea Timp : 3 ani=3*365 zile=1095 zile  Dimensiunea Institu ţ ii (Universit ăţ i) : 31 catedre  Dimensiunea Centre : 8 centre (cel puţin)  Dimensiunea Tip_proiect : 20 tipuri de proiect  Dimensiunea Publica ţ ii : 9 tipuri de publicaţii

 Numărul de înregistr ări din tabela de fapte FS_1 = 1095*31*20= 678900înregistr ări Numărul de atribute cheie pentru tabela de fapte FS_1 = 3 Numărul de atribute din tabela de fapte FS_1 = 3 Numărul total de atribute din tabela de fapte FS_1 = 6

Dimensiunea tabelei de fapte FS_1=678900*6 atribute* 4 bytes/atribut= 16293600 bytesDimensiunea indexului principal pe cheia compusă a tabelei= 70%* 16293600=11405520 bytes

 Numărul de înregistr ări din tabela de fapte FS_2 = 1095*20*8= 175200 înregistr ări Numărul de atribute cheie pentru tabela de fapte FS_2 = 3 Numărul de atribute din tabela de fapte FS_2 = 3 Numărul total de atribute din tabela de fapte FS_2 = 6Dimensiunea tabelei de fapte FS_2 = 175200*6 atribute* 4 bytes/atribut = 4204800

 bytesDimensiunea indexului principal pe cheia compusă a tabelei= 70%* 4204800 =2943360 bytes

 Numărul de atribute cheie pentru tabela de fapte FP_1 = 3 Numărul de atribute din tabela de fapte FP_1 = 1 Numărul total de atribute din tabela de fapte FP_1 = 4 Numărul de înregistr ări din tabela de fapte FP_1 = 1095* 9*31= 305505înregistr ări

Dimensiunea tabelei de fapte FP_1 = 305505*4*4 = 4888080 bytesDimensiunea indexului pricipal = 70%*4888080= 3421656 bytes

270

Page 271: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 271/331

Proiectarea  şi realizarea unui sistem OLAP 

 Numărul de atribute cheie pentru tabela de fapte FP_2 = 2 Numărul de atribute din tabela de fapte FP_2 = 13 Numărul total de atribute din tabela de fapte FP_2 = 15 Numărul de înregistr ări din tabela de fapte FP_2 = 1095* 31= 33945 înregistr ări

Dimensiunea tabelei de fapte FP_2 = 33945*15*4 = 2036700 bytesDimensiunea indexului principal = 70%*2036700 = 1425690 bytes

Dimensiunea totală aproximativă =2036700+1425690+3421656+4888080+2943360+4204800+16293600+11405520= 46619406 bytes~50 Mb.

9.6 Construirea sistemului OLAP

Cu scopul de a furniza managerilor informaţiile necesare pentru a asiguracalitatea activităţii de cercetare ştiintifică în învăţământul universitar, datele lanivel de detaliu sunt stocate într-o bază de date relaţională, iar datele agregate suntstocate în baza de date multidimensională.

Pentru a crea baza de date multidimensională, s-a utilizat utilitarul Oracle  Express Administrator 6.3.2. Baza de date multidimensională  Evaluare_final  areurmătoarele dimensiuni:

  Dimensiunea Centre (centre de cercetare);  Dimensiunea Institu ţ ii (universităţi) este o dimensiune cu totaluri incluse şi

conţine catedrele şi facultăţile care participă la cercetare;  Dimensiunea Nivel_institut (niveluri în ierarhia institutului);  Dimensiunea  Publica ţ ii (categorii şi subcategorii de publicaţii) este o

dimensiune cu totaluri incluse;  Dimensiunea Timp (anii pentru analiză);  Dimensiunea Tip_proiect  (tipul proiectului) este o dimensiune cu totaluri

incluse.S-au definit următoarele variabile:  nrcadre (numărul de cadre didactice antrenate în cercetare la nivel de

catedr ă şi an).  nrstud_cer (numărul de studenţi antrenaţi în cercetare la nivel de catedr ă şi

an).  nrdoct (numărul de doctoranzi antrenaţi în cercetare la nivel de catedr ă şi

an).  nrtesa (numărul de cadre tesa antrenate în cercetare la nivel de catedr ă şi

an).  nrproiecte (numărul de proiecte de cercetare la nivel de catedr ă, tip de

  proiect, an). Aceasta variabilă ofer ă informaţii despre: indicatorul   N1 (granturi CNCSIS şi ale Academiei Române), la nivel de catedr ă  şi an,

indicatorul N2 (numărul de contracte de cercetare internaţionale), la nivel

271

Page 272: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 272/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

de catedr ă şi an şi indicatorul N3 (numărul de contracte cu companii dinţar ă şi PNCD), la nivel de catedr ă şi an.

  nrpro (numărul de proiecte de cercetare la nivel de centru de cercetare, tipde proiect, an). Centrele de cercetare sunt constituite la nivel de catedr ă,

facultate sau universitate. Există totuşi catedre sau facultăţi care nu suntincluse într-un centru de cercetare. De aceea s-a considerat necesar a sedefini două variabile: nrproiecte şi nrpro.

  nrpub (numărul de publicaţii la nivel de catedr ă, tip de publicaţie şi an).Aceasta variabilă ofer ă informaţii despre: indicatorul N5.1 (număr dearticole publicate în reviste recunoscute CNCSIS), la nivel de catedr ă şi an,indicatorul N5.2 (număr de articole publicate în reviste cotate ISI), la nivelde catedr ă şi an, indicatorul N6.1 (căr ţi publicate în edituri recunoscute deCNCSIS), la nivel de catedr ă şi an şi indicatorul N6.2 (căr ţi publicate înedituri recunoscute din str ăinatate), la nivel de catedr ă şi an.

  nrstud (numărul de studenţi la nivel de facultate şi an).  ncd (numărul de cadre didactice la nivel de catedr ă şi an)  valoare_dolari (valoarea contractată în dolari la nivel de catedr ă, tip de

 proiect şi an). Aceasta variabilă ofer ă informaţii despre indicatorul Vtci (valoare contracte internaţionale) la nivel de catedr ă şi an.

  vallei (valoarea contractată în lei la nivel de centru, tip de proiect şi an).  valoare_lei (valoarea contractată în lei la nivel de catedr ă, tip de proiect şi

an). Această variabilă ofer ă informaţii despre: indicatorul Vtgn (valoaregranturi naţionale) la nivel de catedr ă  şi an şi indicatorul Vtcn (valoare

contracte cu companii din ţar ă şi PNCD), la nivel de catedr ă şi an.  valdol (valoarea contractată în dolari lei la nivel de centru, tip de proiect şian).

De asemenea, se pot defini şi variabilele  N dcd (număr de conducători de

doctorat),  N  (număr de teze de doctorat finalizate),  N7 (număr de brevete),  N91 

(numărul de reprezentări în Academia Română),  N92 (număr de reprezentări înAcademia de Ştiinţe tehnice, Academia de Ştiinţe Medicale şi Academia de ŞtiinţeAgricole),  N93 (număr de reprezentări în organizaţii profesionale internaţionale şi N10 (număr de premii), la nivel de catedr ă şi an.

f td

S-au definit următoarele formule:  rata =nrpub/nrcadre  încă rcare=nrstud/ncd   procent =nrcadre/ncdS-au definit următoarele relaţii între dimensiuni :  inst_inst (relaţia construită pe dimensiunea Institu ţ ii)  niv_inst (relaţia între dimensiunea Nivel_Institut  şi dimensiunea Institu ţ ii)  tip_tip (relaţia construită pe dimensiunea Tip_proiect )   pub_pub (relaţia construită pe dimensiunea Publica ţ ii)  centre_centre (relaţia construită pe dimensiunea Centre)S-au definit de asemenea, următoarele seturi de valori:

272

Page 273: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 273/331

Proiectarea  şi realizarea unui sistem OLAP 

  cat_set (setul de catedre)   fac_set (setul de facultăţi)  centre_set (setul de centre de cercetare)  tip_set (setul de tipuri de proiecte internaţionale)  tip1_set (setul de tipuri de proiecte naţionale)Figura 9.12 prezintă structura logică a bazei de date multidimensională 

 Evaluare_final .Pentru definirea dimensiunilor, a variabilelor, relaţiilor, formulelor de calcul şi

a seturilor de valori s-au utilizat programe scrise în limbajul Express şi anume:“definire baza de datedatabase create evaluare_final“definire dimensiunea Institu ţ iidefine institutii dimension textld Catedrele şi facultăţile care participă la cercetare

maintain institutii add ‘ASE’ ‘FSELS’ ‘COM’ ‘EG’ ‘EGPAA’ ‘CIG’ ‘FABBV’‘CSIE’ ‘FREI’ ‘DPPD’ ‘COLB’ ‘FMAN’ ‘COLBU’ ‘CO’ ‘TS’ ‘MMC’ ‘DR’‘AEF’ ‘MON’ ‘FIN’ ‘CIIF’ ‘CACG’ ‘IG’ ‘MAN’ ‘EC’ ‘TI’ ‘CDE’ ‘EPE’ ‘EFS’‘IEG’ ‘LRCA’ ‘LGCA’ ‘REI’ ‘TPAA’ ‘SELS’ ‘CIB’ ‘IE’ ‘STAT’ ‘AS’ ‘EM’‘SSDI’ ‘FPS’“definire dimensiunea Centredefine centre dimension textld centre de cercetaremaintain centre add 'CCAEMA' 'CNESMC' 'CEAPE' 'CSCIG' 'CCMP' 'CEAPR'

'CEFIMO' 'ECOINFOSOC'describe centre“definire dimensiunea Nivel_institut define Nivel_institut dimension textld Niveluri în ierarhia institutuluimaintain Nivel_institut i add ‘UNIVERSITATI’ ‘FACULTATI’ ‘CATEDRE’“definire dimensiunea Timpdefine timp dimension textld Anii pentru analiză maintain timp add ‘2000’ ‘2001’ 2002’ ‘2003’

“definire dimensiunea Publica ţ iidefine Publica ţ ii dimension textld Publicatii cu totaluri inclusemaintain publicatii add 'CCNCSIS' 'CS' 'CNER' 'AS' 'ACNCSIS' 'AISI' 'ANER''CN' 'CI' 'CARTE' 'ARTICOLE' 'CONFERINTE'“definire dimensiunea Tip_proiect define Tip_proiect dimension textld Tipul proiectuluimaintain tip_proiect add 'GR_A' 'GR_AT' 'GR_E' 'GR_TD' 'GR_Bd' 'PU' 'PEP' 'D''C' 'T' 'B' 'PC' 'CERES' 'MENER' 'MANATECH' 'INFRAS' 'ALTII' 'ACAD''CNCSIS' 'O2000' 'RO-4096' 'PNCDI' 'NF' 'PI'

273

Page 274: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 274/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

“definire variabil ă nrcadredefine nrcadre integer <timp, institutii>ld numărul de cadre didactice antrenate în cercetare la nivel de catedr ă şi andescribe nrcadre

“definire variabil ă nrproiectedefine nrproiecte shortinteger <timp, tip_proiect, institutii>ld număr de proiecte pe tip, an, instituţiidescribe nrproiecte“definire variabil ă valoarea_dolaridefine valoarea_dolari integer <timp, tip_proiect, institutii>ld valoarea contractată (dolari)describe valoarea_dolari

Figura 9.12 Structura logică a bazei de date multidimensional ă  

“definire variabil ă nrprodefine nrpro variable shortinteger <timp, tip_proiect, centre>ld numărul de proiecte pe tip, an, centredescribe nrpro“definire variabil ă n1define n1 variable shortinteger <timp, institutii>ld numărul de granturi naţionale câştigate (CNCSIS şi Academia Română) la nivelde catedr ă şi an

describe n1“definire variabil ă n2

274

Page 275: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 275/331

Proiectarea  şi realizarea unui sistem OLAP 

define n2 variable shortinteger <timp, institutii>ld numărul de contracte de cercetare internaţionale la nivel de catedr ă şi andescribe n2“definire variabil ă ncd 

define ncd variable shortinteger <timp, institutii>ld numărul de cadre didactice la nivel de catedr ă şi andescribe ncd“definire variabil ă nrdoct define nrdoct variable shortinteger <timp, institutii>ld numărul de doctoranzi implicaţi în activitatea de cercetaredescribe nrdoct“definire variabil ă nrpubdefine nrpub variable shortinteger <timp, institutii, publicatii>ld numărul de publicaţii la nivel de catedr ă, tip de publicaţie şi an

describe nrpub“definire variabil ă nrstud_cer define nrstud_cer variable shortinteger <timp, institutii>ld numărul de studenţi implicaţi în activitatea de cercetaredescribe nrstud_cer “definire variabil ă nrstud define nrstud variable shortinteger <timp, institutii>ld numărul de studenţi la nivel de facultate şi andescribe nrstud

“definire variabil ă nrtesadefine nrtesa variable shortinteger <timp, institutii>ld numărul de cadre tesa antrenate în cercetare la nivel de catedr ă şi andescribe nrtesa“definire variabil ă valdol define valdol variable integer <timp, tip_proiect, centre>ld valoarea contractată(dolari) pe centredescribe valdol“definire variabil ă valleidefine vallei variable decimal <timp, tip_proiect, centre>

ld valoarea contractată(lei) pe centredescribe vallei“definire variabil ă valoare_leidefine valoare_lei variable decimal <timp, tip_proiect, institutii>ld valoare contractată(mil lei)describe valoare_lei “definire variabil ă vtcidefine vtci variable integer <timp, institutii>ld valoarea contractelor internaţionale la nivel de catedr ă şi andescribe vtci“definire variabil ă vtgn

275

Page 276: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 276/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

define vtgn variable integer <timp, institutii>ld valoarea granturilor naţionale câştigate la nivel de catedr ă şi andescribe vtgn

“definire rela ţ ia inst_inst define inst_inst relation institutii<institutii>limit institutii to 'CO' 'TS' 'MMC'inst_inst='COM'limit institutii to 'DR' 'AEF' 'MON' 'FIN'inst_inst='FABBV'limit institutii to 'CIIF' 'CACG' 'IG'inst_inst='CIG'limit institutii to 'MAN' 'EC' 'SSDI'inst_inst='FMAN'

limit institutii to 'TI' 'CDE' 'EPE' 'EFS' 'IEG' 'FPS'inst_inst='EG'limit institutii to 'LRCA' 'LGCA' 'REI'inst_inst='FREI'limit institutii to 'TPAA'inst_inst='EGPAA'limit institutii to 'SELS'inst_inst='FSELS'limit institutii to 'CIB' 'IE' 'STAT' 'AS' 'EM'

inst_inst='CSIE'limit institutii to fac_setinst_inst='ASE'define niv_inst relation nivel_institut<institutii>limit institutii to cat_setniv_inst='CATEDRE'limit institutii to fac_setniv_inst='FACULTATI'limit institutii to 'ASE'niv_inst='UNIVERSITATI'

“definire rela ţ ia pub_pubdefine pub_pub relation publicatii<publicatii>limit publicatii to 'CCNCSIS' 'CS' 'CNER' pub_pub='CARTE'limit publicatii to 'AS' 'ANER' ‘AISI’ pub_pub='ARTICOLE'limit publicatii to 'CN' 'CI' pub_pub='CONFERINTE'limit publicatii to 'CARTE' 'ARTICOLE' 'CONFERINTE' pub_pub='TOTPUB'

276

Page 277: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 277/331

Proiectarea  şi realizarea unui sistem OLAP 

“definire rela ţ ia tip_tipdefine tip_tip relation tip_proiect<tip_proiect>limit tip_proiect to 'GR_A' 'GR_AT' 'GR_E' 'GR_TD' 'GR_Bd'tip_tip='CNCSIS'

limit tip_proiect to 'PU' 'PEP' 'D' 'C' 'T' 'B' 'PC'tip_tip='RO-4096'limit tip_proiect to 'CERES' 'MENER' 'MANATECH' 'INFRAS'tip_tip='PNCDI'limit tip_proiect to 'ALTII' 'ACAD' 'CNCSIS' 'O2000' 'RO-4096' 'PNCDI' 'NF' 'PI'tip_tip='TOTAL'

“definire rela ţ ia centre_centredefine centre_centre relation centre<centre>limit centre to 'CCAEMA' 'CNESMC' 'CEAPE' 'CSCIG' 'CCMP' 'CEAPR'

'CEFIMO' 'ECOINFOSOC'centre_centre='ASE'

“definire rela ţ ia niv_inst define niv_inst relation nivel_institut<institutii>limit institutii to cat_setniv_inst='CATEDRE'limit institutii to fac_setniv_inst='FACULTATI'

limit institutii to 'ASE'niv_inst='UNIVERSITATI'

“definire setul de valori cat_set define cat_set valueset institutiild setul de catedrelimit cat_set to 'CO' 'REI' 'MAN' 'SELS' 'CIB' 'IE' 'STAT' 'AS' 'DR' 'CIIF' 'CACG''IG' 'AEF' 'EC' 'TI' 'TPAA' 'CDE' 'MON' 'LRCA' 'TS' 'MMC' 'EPE' 'EFS' 'FIN' 'IEG''LGCA' 'EM' 'SSDI' 'FPS'

“definire setul de valori fat_set define fac_set valueset institutiild setul de facultăţilimit fac_set to 'CSIE' 'FSELS' 'COM' 'EG' 'EGPAA' 'CIG' 'FMAN' 'FABBV''FREI' 'DPPD' 'COLB' 'COLBU'

“definire setul de valori tip_set define tip_set valueset tip_proiectld setul de proiecte internaţionalelimit tip_set to 'TOTAL' 'PI' 'RO-4096' 'D' 'PU' 'PEP' 'C' 'T' 'B' 'PC'

277

Page 278: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 278/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

“definire setul de valori centre_set define centre_set valueset centreld setul de centrelimit centre_set to 'CCAEMA' 'CNESMC' 'CEAPE' 'CSCIG' 'CCMP' 'CEAPR'

'CEFIMO' 'ECOINFOSOC'

“definire setul de valori tip_set1define tip_set1 valueset tip_proiectld setul de proiecte naţionalelimit tip_set1 to 'TOTAL''ALTII' 'ACAD' 'CNCSIS' 'O2000' 'PNCDI' 'NF' 'GR_A''GR_ 

“definire formula de calcul incarcaredefine incarcare formula decimal <timp institutii>

limit institutii to fac_set, 'ASE'eq nrstud/ncd“definire formula de calcul ratadefine rata formula decimal <timp publicatii institutii>eq nrpub/nrcadre“definire formula de calcul procent define procent formula decimal <timp, institutii>eq nrcadre/ncd

Datele au fost încărcate din baza de date relaţională sursă, a cărei schemă logică a fost prezentată în etapa 9.3, iar programele de încărcare sunt scrise înlimbajul Express şi prezentate în anexa 1.

Pentru agregarea datelor s-au creat următoarele programe:“program pentru agregarea variabilei ncd după dimensiunea Institu ţ iirollup ncd over institutii using inst_inst“program pentru agregarea variabilei nrstud după dimensiunea Institu ţ iilimit institutii to fac_set, 'ASE'rollup nrstud over institutii using inst_inst“program pentru agregarea variabilelor nrtesa, nrcadre, nrdoct   şi nrstud_cer 

după dimensiunea Institu ţ iirollup nrtesa over institutii using inst_instrollup nrcadre over institutii using inst_instrollup nrdoct over institutii using inst_instrollup nrstud_cer over institutii using inst_inst“program pentru agregarea variabilelor nrproiecte, valoare_dolari  şi valoare_leidupă dimensiunea Institu ţ iirollup nrproiecte over institutii using inst_instrollup valoare_dolari over institutii using inst_instrollup valoare_lei over institutii using inst_inst

278

Page 279: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 279/331

Page 280: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 280/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Figura 9.13 Interfa ţ a sistemului OLAP 

Sistemul OLAP permite următoarele tipuri de analize:  evoluţia grafică a personalului implicat în activitatea de cercetare (figura

9.14). Se alege facultatea sau catedra şi se afişează, tabelar  şi grafic,evoluţia numărului de cadre didactice şi a numărului de cadre tesa, în perioada 2000-2003. De asemenea, se poate modifica modul de afişare avariabilelor şi anume pe linii sau coloane;

  evoluţia grafică a valorii contractate (lei sau dolari). De exemplu: valoarecontractelor de cercetare (mil.lei) pentru Orizont 2000, valoarea totală acontractelor de finanţare în perioada 2000-2003, valoarea contractelor de

cercetare (mil lei) în perioada 2000-2003 pe surse de finanţare (figura 9.15)etc. Se selectează facultatea sau catedra, precum şi tipul de proiect şi seafişează evoluţia grafică a finanţării pe surse de finanţare, în perioada2000-2003. Se poate modifica tipul de grafic. Dacă se selectează unelement de dată din grafic, se afişează valoarea lui;

  topul primelor trei facultăţi în funcţie de indicatorul ales (figura 9.16).Dacă se selectează butonul Total (şi se alege anul), se afişează, pentru toatefacultăţile, valoarea contractată (lei sau dolari), precum şi numărul de  proiecte corespunzătoare. Se selectează apoi, butonul Top3  şi se afişează   primele trei facultăţi în funcţie de valorile indicatorului selectat. Dacă se

doresc şi detalii referitoare la tipul de proiecte, se selectează butonulTip_Proiect;

280

Page 281: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 281/331

Proiectarea  şi realizarea unui sistem OLAP 

  evoluţia indicatorilor: N1 (figura 9.17), Vtgn, N2, Vtci, N3, Vtcn, N ,

 N , N7, N91, N92, N93 şi N10.

dcd

f td

  evoluţia grafică a numărului de studenţi implicaţi în activitatea de cercetare

(figura 9.18);  încărcarea cadrelor didactice, rata publicaţiilor (figura 9.19);  evoluţia grafică a numărului de publicaţii (include şi evoluţia grafică a

indicatorilor N5.1, N5.2, N6.1, N6.2) (figura 9.20);   procentul de participare la activitatea de cercetare;  evoluţia grafică a numărului de studenţi la nivel de facultate. Se alege

facultatea sau facultăţile, precum şi anul sau anii de analiză şi se afişează tabelar, evoluţia numărului de studenţi. Tabelul rezultat poate fi exportat înExcel.

  evoluţia grafică a numărului de doctoranzi implicaţi în activitatea de

cercetare;  evoluţia grafică a numărului de proiecte de cercetare. De exemplu: evoluţia

numărului de proiecte în perioada 2000-2003, evoluţia numărului de  proiecte finanţate prin Orizont 2000 în perioada 2000-2003, evoluţiaindicatorului N1, la nivel de catedr ă, facultate sau universitate, în perioada2000-2003, evoluţia indicatorului N2, la nivel de catedr ă, facultate sauuniversitate, în perioada 2000-2003, evoluţia indicatorului N3, la nivel decatedr ă, facultate sau universitate, în perioada 2000-2003 etc;

Utilizarea modelului multidimensional şi a unei baze de date

multidimensionale permite managerilor să manipuleze datele f ăr ă intermediari(cum ar fi în cazul interogării unui sistem relaţional) şi să identifice mult mai uşor erorile şi datele care lipsesc, precum şi să le corecteze. Prezentareamultidimensională a informaţiilor permite managerilor să manipuleze şi să interpreteze mai uşor aceste informaţii. Se reduce astfel timpul de acces şi efortuldepus.

Toţi managerii, care utilizează sistemul OLAP, vor vizualiza informaţiile dinaceleaşi perspective (modelul multidimensional este proiectat pe baza tipurilor decereri şi a scenariilor de analiză stabilite de manageri). Cererile realizate pe bazelede date relaţionale au diferite rezultate, în funcţie de modul cum sunt ele formulate.

281

Page 282: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 282/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Figura 9.14 Evolu ţ ia grafică a personalului implicat în activitatea de cercetare

Figura 9.15 Evolu ţ ia finan ţă rii pe surse de finan ţ are

282

Page 283: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 283/331

Proiectarea  şi realizarea unui sistem OLAP 

Figura 9.16 Topul primelor trei facult ăţ i

Figura 9.17 Evolu ţ ia indicatorului N1

283

Page 284: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 284/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Figura 9.18 Evolu ţ ia grafică a numă rului de studen ţ i implica ţ i în cercetare

Figura 9.19 Evolu ţ ia ratei publica ţ iilor 

284

Page 285: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 285/331

Proiectarea  şi realizarea unui sistem OLAP 

Figura 9.20 Evolu ţ ia numă rului de publica ţ ii

De asemenea, sistemul suport de decizie permite managerilor să vizualizeze

uşor structura bazei de date (dimensiuni, variabile, relaţii, formule) (figura 9.21).Principalele dezavantaje ale utilizării unei baze de date multidimensionale sunt:  dimensiunea Tip_proiect se poate modifica în funcţie de timp;  se observă de asemenea, că baza de date multidimensională nu permite

cercetătorilor individuali să extragă o listă cu propriile publicaţii. Baza dedate multidimensională stochează numai date agregate (de exemplunumărul anual de publicaţii de un anumit tip, la nivelul unei facultăţi) şi nudate atomice. Din acest motiv, se utilizează o bază de date relaţională sursă care stochează datele de detaliu, integrată cu baza de datemultidimensională care stochează datele agregate. Schema logică a bazeide date relaţionale sursă a fost prezentată în etapa 9.3.

Cele două sisteme (tranzacţional şi suport de decizie) se completează reciproc,oferind informaţii complete şi curente. De asemenea, cele două sisteme proiectateofer ă suport şi pentru metodologia de alocare a fondurilor reprezentând finan ţ areade bază  a universit ăţ ilor , propusă de MEC. Pe baza datelor oferite de sistemultranzacţional, se pot determina şi analiza indicatorii utilizaţi pentru măsurareanivelului performanţelor în cercetarea ştiinţifică [BULE01]. Schema conceptuală şilogică a bazei de date relaţionale sursă permite definirea acestor indicatori. Deasemenea, modelul multidimensional conceptual nu trebuie modificat (nu apar noi

dimensiuni).

285

Page 286: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 286/331

 Ini ţ iere în tehnologia OLAP-teorie  şi practică  

Chiar dacă este unanim acceptată, ideea că indicatorii de performanţă pot fiutilizaţi pentru evaluarea activităţii de cercetare, totuşi este greu de stabilit un setde indicatori (măsuri) corespunzători, un mod de a stabili ponderile acestor indicatori comun pentru toate instituţiile de cercetare şi toate disciplinele, astfel ca

analizele comparative la nivel global să fie corecte şi relevante pentru manageri.De asemenea, apar probleme legate de colectarea datelor, analiza şi prezentareainformaţiilor, acurateţea, relevanţa lor, precum şi dacă rezultatul final justifică efortul depus.

Informaţia însăşi poate fi considerată un instrument puternic pentrumanagementul în organizaţie, dar efectele utilizării ei sunt adesea imprevizibile şicomplexe. Asigurarea informaţiilor de calitate poate îmbunătăţi procesuldecizional, deciziile pot fi luate mai uşor, se pot identifica de asemenea, problemecare până atunci au fost ignorate sau necunoscute.

Codul pentru realizarea interfeţei sistemului OLAP este prezentat în anexa 2,

iar în anexa 3 scriptul SQL pentru definirea structurii bazei de date relaţionale.

Figura 9.21 Sistemul OLAP ofer ă informa ţ ii despre structura bazei de date

Rezumat

  În acest capitol s-a proiectat  şi realizat un sistem OLAP. Pentru proiectarea sistemului OLAP s-a utilizat metodologia propusă în capitolul  5.

 De asemenea, s-a propus un model de afaceri, pentru evaluarea activit ăţ ii decercetare, sub forma unui cub de informa ţ ii, pe baza studiului procesului

286

Page 287: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 287/331

Page 288: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 288/331

 

Anexa 2

Interfaţă sistemului OLAP a fost realizată cu instrumentul Oracle ExpressObjects 6.3.2. Elementele componente ale interfeţei sunt prezentate în figura A2.1.

 Figura A2.1 Elementele componente ale interfe ţ ei sistemului OLAP 

În această anexă, sunt prezentate cele mai semnificative pagini ale aplicaţiei,elementele lor componente, precum şi codul scris în limbajul Express. Elementelecomponente ale paginii principale  pagmain (Text: Evaluarea activit ăţ ii decercetare universitar ă ) sunt prezentate în figura A2.2. Pagina conţine un meniu principal menu1, un grup de obiecte  grpstatusbar ce include o eticheta label2 şi o bar ă de stare, un obiect de tip banner ase (Text: Academia de Studii Economice), un

obiect de tip timer  timer1, o figur ă  picturebox2 (  File Name: D :\oracle \olap\OEO632\work\PERSCMP1.BMP ) şi o etichetă  label1 (Text: Activitatea de

288

Page 289: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 289/331

 Anexa 2

cercetare  ştiin ţ ifică  este component ă  principal ă  a proceselor de învăţă mânt  şiinovare din). Codul pentru obiectul timer1 este următorul:Sub AfterTimer ()if ase.visible=yes then ase.visible=no else ase.visible=yes

End Sub

La evenimentul AfterActivate al paginii pagmain este ataşat următorul cod:Sub AfterActivate ()grpStatusBar.SetStatusMsg "Selectati o optiune din meniu"End SubSub AfterRun (Flags As Integer)AfterActivateEnd Sub

Opţiunile meniului principal sunt prezentate în figurile A2.3, A2.4 şi A2.5.

 Figura A2.2 Elementele componente ale paginii Pagmain

289

Page 290: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 290/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

 Figura A2.3 Op ţ iunile submeniului Indicatori sintetici

 Figura A2.4 Op ţ iunile submeniului Indicatori de performan ţă  

290

Page 291: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 291/331

 Anexa 2

 Figura A2.5 Op ţ iunile submeniului Help

Opţiunea commanditem1 (Text: Indicatori sintetici) are ataşat următorul cod:Sub AfterItemSelect ()Dim tMsg as StringIf ( it.ItemStyle = 2) ThentMsg = " "ElseIf ( Instr(it.Text, "E&xit") > 0 ) ThentMsg = "Ieşire din aplicaţie"ElseIf (Instr(it.text, "lei") > 0) or (Instr(it.text, "valuta") > 0) Then

tMsg="Valoarea contractată în "&it.textelsetMsg = it.textend if End If grpStatusBar.SetStatusMsg tmsgEnd Sub

Opţiunea commanditem1 (prima opţiune din submeniul Indicatori sintetici) (Text: :&Personal implicat în activitatea de cercetare) are ataşat următorul cod:

Sub AfterItemClick ()Dim tStr as String

291

Page 292: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 292/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

Dim iPageResult as Integer iPageResult = evolutie_personal.ShowModal() pagMain.SetFocusEnd Sub

Opţiunea commanditem4 (Text: &Doctoranzi implica ţ i în activitatea de cercetare)are ataşat următorul cod:Sub AfterItemClick ()Dim tStr as StringDim iPageResult as Integer iPageResult = evolutie_doctoranzi.ShowModal() pagMain.SetFocusEnd Sub

Opţiunea commanditem5 (Text: &Studen ţ i implica ţ i în activitatea de cercetare) areataşat următorul cod:Sub AfterItemClick ()Dim tStr as StringDim iPageResult as Integer iPageResult = evolutie_studenti_cercetare.ShowModal() pagMain.SetFocusEnd Sub

Opţiunea commanditem2 (Text: &Evolu ţ ia grafică  a personalului implicat înactivitatea de cercetare) are ataşat următorul cod:Sub AfterItemClick ()Dim tStr as StringDim iPageResult as Integer iPageResult = evolutie_personal1.ShowModal() pagMain.SetFocusEnd Sub

Opţiunea commanditem6 (Text: &Evolu ţ ia grafică  a numă rului de doctoranzi

implica ţ i în activitatea de cercetare) are ataşat următorul cod:Sub AfterItemClick ()Dim tStr as StringDim iPageResult as Integer iPageResult = evolutie_doctoranzi_grafic.ShowModal() pagMain.SetFocusEnd Sub

292

Page 293: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 293/331

 Anexa 2

Opţiunea commanditem7 (Text: &Evolu ţ ia grafică  a studen ţ ilor implica ţ i înactivitatea de cercetare) are ataşat următorul cod:Sub AfterItemClick ()Dim tStr as String

Dim iPageResult as Integer iPageResult = evolutie_studcerc_grafic.ShowModal() pagMain.SetFocusEnd Sub

Opţiunea Commanditem3 (Text: &Evolu ţ ia grafică  a valorii contractate pecatedre) cu opţiunile commanditem2 (Text: lei) şi commanditem3 (Text: valut ă  ):Sub AfterItemClick ()evolutie_volumul_finantarii_lei.ShowModalEnd Sub

Sub AfterItemClick ()Dim tStr as StringDim iPageResult as Integer iPageResult = evolutie_vol_finantarii_dol.ShowModal() pagMain.SetFocusEnd Sub

Opţiunea commanditem14 (Text: &Evolu ţ ia grafică  a numă rului de proiecte pe

catedre) are ataşat următorul cod:Sub AfterItemClick ()Dim tStr as StringDim iPageResult as Integer iPageResult = evolutia_proiecte.ShowModal() pagMain.SetFocusEnd Sub

Opţiunea commandcentre (Text: &Evolu ţ ia grafică  a numă rului de proiecte pecentre de cercetare) are ataşat următorul cod: 

Sub AfterItemClick ()Dim tStr as StringDim iPageResult as Integer iPageResult = evolutia_proiecte_centre.ShowModal() pagMain.SetFocusEnd Sub

Opţiunea commandvaloare (Text: Evolu ţ ia grafică  a valorii contractate pe centre

de cercetare) cu opţiunea commandlei (Text: lei)  şi opţiunea commanddol (Text:dolari):

Sub AfterItemClick ()

293

Page 294: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 294/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

Dim tStr as StringDim iPageResult as Integer iPageResult = evolutia_vallei_centre.ShowModal() pagMain.SetFocus

End Sub

Sub AfterItemClick ()Dim tStr as StringDim iPageResult as Integer iPageResult = evolutia_valdol_centre.ShowModal() pagMain.SetFocusEnd Sub

Opţiunea commanditem8 (Text: &Top 3 (facult ăţ i)) are ataşat următorul cod:

Sub AfterItemClick ()Dim tStr as StringDim iPageResult as Integer iPageResult = top.ShowModal() pagMain.SetFocusEnd Sub

Opţiunea commandtopcentre (Text: &Top 3 (centre de cercetare)) are ataşaturmătorul cod: 

Sub AfterItemClick ()Dim tStr as StringDim iPageResult as Integer iPageResult = topcentre.ShowModal() pagMain.SetFocusEnd Sub

Opţiunea commanditem16 (Text: E&xit) are ataşat următorul cod: Sub AfterItemClick ()Application.Stop

End Sub

Opţiunea Commanditem3 (Text: Indicatori de performan ţă  ) cu opţiunile:commanditem2 (Text: &Numă rul de studen ţ i pe facult ăţ i) şi commanditem5 (Text:&Evolu ţ ia grafică a numă rului de studen ţ i pe facult ăţ i) :Sub AfterItemClick ()Dim tStr as StringDim iPageResult as Integer iPageResult = linkview1.ShowModal() pagMain.SetFocusEnd Sub

294

Page 295: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 295/331

Page 296: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 296/331

Page 297: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 297/331

 Anexa 2

End If grpStatusBar.SetStatusMsg tMsgEnd Sub

Opţiunea commanditem18 (Text: &Help) are ataşat următorul cod:Sub AfterItemSelect ()Dim tStr as string, tMsg as StringIf ( it.ItemStyle = 2) ThentMsg = " "ElsetStr = it.TextIf (Instr(tStr, "...") > 0) ThentStr = Left$(tStr, Len(tStr) - 3)End If 

tMsg = tstr End If grpStatusBar.SetStatusMsg tMsgEnd Sub

Opţiunea commanditem19 (Text: &informa ţ ii) are ataşat următorul cod:Sub AfterItemClick () pagHelpAbout.ShowModalEnd Sub

Opţiunea commanditem1 (Text: Facult ăţ ile din ASE ) are ataşat următorul cod:Sub AfterItemClick ()institutii.showmodalEnd Sub

Opţiunea commanditem2 (Text: Proiecte de cercetare) are ataşat următorul cod:Sub AfterItemClick ()ierarhiaproiecte.showmodalEnd Sub

Opţiunea commanditem3(Text: Tipuri de publica ţ ii) are ataşat următorul cod:Sub AfterItemClick ()ierarhiapublicatii.showmodalEnd Sub

La opţiunea commanditem4 (Text: Regulament ) se ataşează o rutină QuickAction şianume   Launch Application (Commandline: c:\program files\microsoft office

\office\winword.exe d:\proiect\regulament), iar la opţiunea commanditem5 (Text:Consiliul Ş tiin ţ ific) se ataşează o rutină QuickAction şi anume Launch Application

297

Page 298: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 298/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

(Commandline: c:\program files\microsoft office\ office\ winword.exe d:\ proiect\consiliul).

Grupul de obiecte Grpstatusbar are ataşat codul:

Sub SetStatusMsg (tMsg As String)label2.text=tmsgEnd Sub

Pagina  pagHelpAbout  (Text : Despre Aplica ţ ie) este prezentată în figura A2.6 şiconţine următoarele elemente: un buton button1 (Text: OK ), un obiect de tip banner banner1 (Text: Aplica ţ ie pentru evaluarea activit ăţ ii de cercetare universitar ă  ), oetichetă label1_1 (Text: Aceast ă aplica ţ ie face o evaluare a activit ăţ ii de cercetare

universitar ă utilizând o serie de indicatori de performan ţă propu şi în Metodologiade alocare a fondurilor reprezentând finan ţ area de baza a Universit ăţ ilor ), un

obiect basecontrol1, un obiect de tip timer timer2.

 Figura A2.6 Elementele componente ale paginii PagHelpAbout 

Codul ataşat obiectului timer2 este:Sub AfterTimer ()if banner1.visible=yes then banner1.visible=no else banner1.visible=yes

End Sub

298

Page 299: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 299/331

 Anexa 2

Pagina  pgiterator1_1 (Text: Baza de date)  este prezentată în figura A2.7 şi areurmătoarele componente: o etichetă label1_3 (Text: Baza de date a aplica ţ iei), ungrup de obiecte  groupbox1 (Text: Op ţ iuni) format din două casete de validarechkvisible (Text: Afi şeaz ă  numai obiectele vizibile utilizatorului, Value: 1-

Checked)) şi chklabels (Text: Utilizeaz ă etichetele, Value: 0-Unchecked ), o etichetă label3_1 (Text: Obiectele bazei de date), o etichetă label2_1 (text: Tipuri deobiecte), două liste lbtypes (unde se vor afişa tipurile de obiecte ale bazei de date)şi lbobjects (unde se vor afişa obiectele de un anumit tip), o etichetă  label3_1_1(Text: Dimensiuni), o listă  lbdims (unde se vor afişa dimensiunile măsurilor) şi oetichetă  label1 (Text: Se selecteaz ă  obiectele bazei de date pe care dorim să  leafi şam (dublu click cu mouse-ul). La evenimentul AfterDblClick al listei lbtypes seataşează următorul cod:Sub AfterDblClick ()Dim db as DatabaseFile

Dim iter as DatabaseIterator Dim desc as StringDim i as Integer Dim objType as StringDim objFlags as Integer Dim flags as Integer Dim sort as Integer Dim useLabels as Integer Const MB_ICONEXCLAMATION = 48

' Get the database fileOn Error Goto haderror Set Db = DataDictionary.AttachDatabase("EVALUARE_FINAL" )If Db is Nothing Then Goto haderror objType = UCase( text )Select Case ObjTypeCase "DIMENSIUNI"objFlags = dbiOTDimensionCase "FORMULE"objFlags = dbiOTFormula

Case "VARIABILE"objFlags = dbiOTVariableCase "RELATII"objFlags = dbiOTRelationEnd SelectIf GroupBox1.chkVisible.Value = 1 Thenflags = dbiOBJUserDataElseflags = 0End If If GroupBox1.chkLabels.Value = 1 Then

299

Page 300: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 300/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

useLabels = YESsort = dbiSTLongNameElseuseLabels = NO

sort = dbiSTNameEnd If Set iter = db.GetDatabaseIterator( objFlags, flags, sort )If useLabels = YES Thencall lbObjects.SetItems( iter.GetDescription(-1), , YES )Elsecall lbObjects.SetItems( iter.GetName(-1), , YES )End If set lbObjects.iter = iter Exit Sub

haderror:Call MsgBox( "EVALUARE_FINAL.DB nu poate fi gasita",MB_ICONEXCLAMATION, "BAZA APLICATIEI" )Exit SubEnd Sub

 Figura A2.7 Pagina Pgiterator1_1

300

Page 301: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 301/331

 Anexa 2

La evenimentul AfterDblclick al listei lbobjects se ataşează următorul cod:Sub AfterDblClick ()Dim dataObj as ObjectDim dimIter as DatabaseIterator 

Dim useLabels as Integer Set dataObj = DataDictionary.GetDatabaseObject( iter.GetName( listindex ) )If dataObj Is Nothing Then Exit SubIf GroupBox1.chkLabels.Value = 1 Then useLabels = YESSet dimIter = dataObj.GetDimensions()lbDims.Clear Do While ( dimIter.IsDone() = FALSE )If useLabels = YES ThenlbDims.AddItem dimIter.GetDescription()Else

lbDims.AddItem dimIter.GetName()End If dimIter.Nextloopset lbDims.Iter = dimIter End Sub

Pagina raportpub1 (Text: Facult ăţ ile cu un anumit numă r de publica ţ ii) este prezentată în figura A2.8 şi are următoarele componente: un buton cmdfetch (Text: 

 Afi şeaz ă ), un grup de obiecte  grpbxdim ce conţine o etichetă  label2 (Text:Selecteaz ă  tipul publica ţ iei), o etichetă  label1 (Text: Selecteaz ă  facult ăţ ile cu unnumă r de publica ţ ii mai mare decât ), o casetă de tip text txtcat  (în care se vaintroduce un număr), o etichetă label3 (Text: Selecteaz ă anul ), o listă dimlbpub ceafişează valorile dimensiuniii  Publica ţ ii, o lista dimlbtimp ce afişează valoriledimensiunii Timp, o casetă de tip text txtoutput (în care se afişează publicaţiile caresatisfac condiţia cerută) , un buton cmdhelp (Text: Help). La evenimentul AfterClick  al butonului cmdfetch se ataşează următorul cod:Sub AfterClick ()Dim cmd As String

Dim ExpCmd As New ExpressCommandcmd = "limit publicatii to '" & GrpBxDim.DimLBpub.FocusValueText & "'"cmd = cmd & ";limit timp to '" & GrpBxDim.DimLBtimp.FocusValueText & "'"If GrpBxDim.txtcat.[Text] = "" thenGrpBxDim.txtcat.[Text] = 0End If cmd = cmd & ";limit institutii to nrpub gt " & GrpBxDim.txtcat.[Text] & ";limitinstitutii remove'ASE''CO''REI''MAN''SELS''CIB''IE''STAT''AS''DR''CIIF''CACG''IG''AEF''EC''TI''TPAA''CDE''MON''LRCA''TS''MMC''EPE''EFS''FIN''IEG''LGCA''EM''MAR''SSDI

301

Page 302: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 302/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

' 'FPS'"If ExpCmd.Execute(cmd) <> true thenMsgBox ExpCmd.ErrortextEnd If 

' se execută comanda şi se afişează rezultatelecmd = "rpr down institutii nrpub"If ExpCmd.Execute(cmd) <> true thentxtOutput.text = ExpCmd.ErrorTextElsetxtOutput.text = ExpCmd.GetLog()End If 'Call ExpressOutput1.Execute()End Sub

 Figura A2.8 Pagina Raportpub1

La evenimentul AfterClick al butonului cmdhelp se ataşează următorul cod:Sub AfterClick ()msgbox container.explicatie, 64, me.textEnd Sub

Se adaugă o nouă propietate Explica ţ ie pentru pagina raportpub1 (figura A2.9).

302

Page 303: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 303/331

 Anexa 2

 Figura A2.9 Ad ă ugarea unei propiet ăţ i

Pagina linkview1 (Text: Numă rul de studen ţ i la nivel de facultate) este prezentată în figura A2.10 şi are următoarele componente: o listă  linkdimlb ce afişează valorile dimensiunii  Institu ţ ii, un buton btnlink (Text: Link ), un buton btnrefresh(Text: Refresh), o listă dimlbtimp ce afişează valorile dimensiunii Timp, un butonhelpstudenti (Text: Help), un buton cmdexcel (Text: Export Excel ), o etichetă 

 Facultatea, o etichetă  Anii, şi un tabel linktable (ce afişează valorile variabileinrstud ). La evenimentul AfterClick al butonului helpstudenti se ataşează următorulcod: Sub AfterClick ()

msgbox container.explicatie, 64, me.textEnd Sub

Se defineşte propietatea  Explica ţ ie (Se apasă  butonul Link, apoi se selecteaz ă  

 Facultatea şi anul, apoi se apasă butonul Refresh ) a paginii linkview1.

La evenimentul AfterClick al butonului cmdlink se ataşează următorul cod:Sub AfterClick ()set LinkDimLB.HighlightSelection = LinkTable.GetSelection("INSTITUTII")set dimlbtimp.highlightselection=LinkTable.getselection("TIMP")

End Sub

303

Page 304: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 304/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

 Figura A2.10 Pagina Linkview1

La evenimentul AfterClick al butonului cmdrefresh se ataşează următorul cod:Sub AfterClick ()call LinkDimLB.RefreshSelection( dlbSELHighlight )call DimLBtimp.RefreshSelection( dlbSELHighlight )End Sub

La evenimentul  AfterClick  al butonului cmdexcel  se ataşează două rutineQuickAction şi anume Export table şi Launch Application. 

Pagina evolu ţ ia_proiecte (Text: Evolu ţ ia numă rului de proiecte) este prezentată înfigura A2.11 şi are următoarele componente: un buton   piegraph (Text: &PieGrafic), un buton explain (Text: &Explica ţ ii), un buton bargraph (Text: &Bar Graph), o listă  dimlbtip ce afişează valorile dimensiunii Tip_proiect , o etichetă Tip_proiect , o listă  dimlbnivel  ce afişează valorile dimensiunii  Nivel_Institut , oetichetă  Nivel , o listă  dimlbinstitut  ce afişează valorile dimensiunii  Institu ţ ii, oetichetă  Facult ăţ i/catedre, un buton btnlink (Text: Link ), un buton btnrefresh (Text:

 Refresh), un tabel table1 şi un grafic  graph5 ce vor afişa valorile variabileinrproiecte. Tipul graficului se poate modifica. La evenimentul  AfterClick  al butonului piegraph se ataşează următorul cod:

Sub AfterClick ()Graph5.Visible = No

304

Page 305: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 305/331

 Anexa 2

Graph5.GraphType = grGTMultiPiePropif Graph5.Effect3D = No thenGraph5.Effect3D = Yesend if 

if Graph5!XTitle.Visible = Yes thenGraph5!XTitle.Visible = Noend if if Graph5!Y1Title.Visible = Yes thenGraph5!Y1Title.Visible = Noend if Graph5.Visible = YesEnd Sub

 Figura A2.11 Pagina Evolu ţ ia_proiecte

La evenimentul AfterClick al butonului bargraph se ataşează următorul cod:Sub AfterClick ()Graph5.Visible = No' se schimbă tipul de graficGraph5.GraphType = grGTBarClustif Graph5.Effect3D = No then

Graph5.Effect3D = Yesend if 

305

Page 306: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 306/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

if Graph5!XTitle.Visible = Yes thenGraph5!XTitle.Visible = Noend if if Graph5!Y1Title.Visible = Yes then

Graph5!Y1Title.Visible = Noend if Graph5.Visible = YesEnd Sub

La evenimentul AfterClick al butonului btnlink se ataşează următorul cod:Sub AfterClick ()set DimLBinstitut.HighlightSelection = Table1.GetSelection("INSTITUTII")set DimLBtip.HighlightSelection = Table1.GetSelection("TIP_PROIECT")End Sub

La evenimentul AfterClick al butonului btnrefresh se ataşează următorul cod:Sub AfterClick ()call DimLBinstitut.RefreshSelection( dlbSELHighlight )call DimLBtip.RefreshSelection( dlbSELHighlight )set graph5.datacube=table1.datacubeEnd Sub

La evenimentul AfterClick al butonului explain se ataşează următorul cod:

Sub AfterClick ()Dim strMsg as stringstrMsg = "Se prezintă evoluţia numărului de proiecte pe tipuri de proiecte, catedreşi ani." & Chr$(13)strMsg = strMsg & "Se alege facultatea sau catedra şi tipul de proiect" & Chr$(13)& chr$(13)strMsg = strMsg & "Se poate vizualiza evoluţia la nivel defacultate/catedr ă/universitate a următorilor indicatori:" & Chr$(13)strMsg = strMsg & "Numărul de granturi câştigate (CNCSIS, Academia Romana)"& Chr$(13)

strMsg = strMsg & "Numărul de contracte de cercetare internaţionale" & Chr$(13)strMsg = strMsg & "Numărul de contracte cu companii din ţar ă" & Chr$(13)strMsg = strMsg & "Numărul de contracte obţinute în cadrul PNCD" & Chr$(13)& Chr$(13)strMsg = strMsg & "Click pe obiectul ce reprezintă date în grafic şi se afişează valoarea curentă" & Chr$(13)strMsg = strMsg & "Se poate modifica şi tipul de grafic" & Chr$(13) & chr$(13)MsgBox strMsg, 64, Container.[Text]End SubLa evenimentul AfterSelect al graficului se ataşează un cod, care afişează valoareaunui punct al graficului, dacă este selectat cu mouse-ul (figura A2.12):

306

Page 307: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 307/331

 Anexa 2

Sub AfterSelect (SelectType As Integer, Component As Object, ObjectClass AsInteger, Row As Long, Column As Long)on error goto ErrorLocIf ObjectClass <> vwOCDataBody or Row < 1 or Column < 1 then

exit subend if if GraphType >= grGTBarClust thendim datavalue as longdim result as integer datavalue = GetDataValue(Row, Column)valoare_curenta!Label3.Text = str$(datavalue)result = valoare_curenta.ShowModal()end if ErrorLoc:

Visible = YesEnd Sub

Pagina valoare_curent ă  (Text: Se afi şeaz ă  valoarea curent ă ) (figura A2.13) seafişează atunci când se selectează un element de dată din graficul graph5. Paginaare următoarele componente: o etichetă  label1 (Text: Valoarea curent ă  este), oetichetă label3 (unde se va afişa valoarea curentă), un buton button1 (Text: OK ).

Pagina evolutie_volumul_finantarii_lei (Text: Evolu ţ ia finan ţă rii pe surse de

 finan ţ are (lei)) este prezentată în figura A2.14 şi afişează informaţii desprevariabila val_lei, iar pagina evolutie_volumul_finantarii_dol (Text: Evolu ţ ia finan ţă rii pe surse de finan ţ are (dolari)) despre variabila val_dol .

Pagina evolutie_personal  (Text: Evolu ţ ia personalului implicat în activitatea de

cercetare) este prezentată în figura A2.15 şi are următoarele componente: o listă dimlb1_2 ce afişează valorile dimensiunii  Nivel_institut , o listă  dimlb2_1 ceafişează valorile dimensiunii  Institutii, o etichetă   Nivel , o etichetă 

 Facultatea/catedra, un buton btnLink (Text: Link), un buton btnRefresh (Text: Refresh), un buton  Help (Text: Help), un tabel table_pers şi un grafic  graph6 (ce

afişează valorile variabilelor  nrcadre şi nrtesa), un grup de obiecte cu două   butoane de opţiuni optmoverow (Text: Afi şeaz ă  variabilele pe linii)  şioptionbutton5 (Text: Afi şeaz ă variabilele pe coloane). 

307

Page 308: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 308/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

 Figura A2.12 Afi şarea valorii unui punct al graficului

 Figura A2.13 Pagina Valoare_curent ă  

308

Page 309: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 309/331

Page 310: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 310/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

RotateError:call dcpers.Rotate(dcROSwap, enMeasure, enLastInrow)resume nextEnd Sub

La evenimentul AfterClick al butonului de optiune optionbutton5 se ataşează codul:Sub AfterClick ()dim dcpers as DataCubedim edgcol as Edgedim iENCount as integer dim enLastIncol as EdgeNodedim enMeasure as EdgeNodecall table_pers!datacube.rotate(dcrotocolumn, "XP_MEASUREDIM")call graph6!datacube.rotate(dcrotocolumn, "XP_MEASUREDIM")

'se caută dimensiunea fizică coloanaset dcpers = table_pers.DataCubeset edgcol = dcpers.GetEdge(dcEcolumn)'se verifică dacă dimensiunea cu măsuri este ultima în dimensiunea fizică coloanaiENCount = edgcol.GetEdgeNodeCount()set enLastIncol = edgcol.GetNthEdgeNode(iENCount-1)if not enLastIncol.IsMeasureNode() thenset enMeasure = dcpers.GetEdgeNode ("XP_MEASUREDIM")On Error goto RotateError 

call dcpers.Rotate(dcROAfter, enMeasure, enLastIncol)end if 'enLastInCol is not Measure nodeexit subRotateError:call dcpers.Rotate(dcROSwap, enMeasure, enLastIncol)resume nextEnd Sub

La evenimentul AfterRun al paginii se ataşează codul:Sub AfterRun (Flags As Integer)

call DimLB1_2.AfterHighlight()End Sub

Pagina evolu ţ ie_personal1 (Text: Evolu ţ ia grafică  a personalului implicat înactivitatea de cercetare) este prezentată în figura A2.16 şi are următoarelecomponente: o listă dimlb1_grafic ce afişează valorile dimensiunii Nivel_institut , olistă dimlb2_grafic ce afişează valorile dimensiunii Institu ţ ii, un grafic graph3 (sevor afişa valorile variabilelor  nrcadre  şi nrtesa), un grup de obiecte  grchoose

(Text: Alege ţ i tipul de grafic) cu trei butoane de opţiuni optbar (Text: Bar), optline 

310

Page 311: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 311/331

 Anexa 2

(Text: Line) şi optpie (Text: Pie). La evenimentul  AfterRun al paginii se ataşează următorul cod:Sub AfterRun (Flags As Integer)call DimLB1_grafic.AfterHighlight()

End Sub

 Figura A2.14 Pagina Evolutie_volumul_finantarii_lei

La evenimentul AfterHighlight al listei dimlb1_grafic se ataşează codul:Sub AfterHighlight ()call DimLB1_grafic.SetExpressStatus( dlbSELHighlight )DimLB2_grafic.DataSelection.AutoRefreshData = FalseDimLB2_grafic.DataSelection.AutoRefreshData = Truecall DimLB2_grafic.RefreshListbox(dlbSELData)

End Sub

La evenimentul AfterHighLight al listei dimlb2_grafic se ataşează codul:Sub AfterHighlight ()Dim persSel as Selectionset persSel = Graph3.GetSelection("INSTITUTII") persSel.StatusScript = "Limit INSTITUTII to '" &DimLB2_grafic.FocusValueText persSel.AutoSort = TRUEEnd Sub

311

Page 312: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 312/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

La evenimentul AfterSelect al graficului graph3 se ataşează codul:Sub AfterSelect (SelectType As Integer, Component As Object, ObjectClass AsInteger, Row As Long, Column As Long)on error goto ErrorLoc

If ObjectClass <> vwOCDataBody or Row < 1 or Column < 1 thenexit subend if if GraphType >= grGTBarClust thendim datavalue as longdim result as integer datavalue = GetDataValue(Row, Column)valoare_curenta_pers_grafic!Label3.Text = str$(datavalue)result = valoare_curenta_pers_grafic.ShowModal()end if 

ErrorLoc:Visible = YesEnd Sub

 Figura A2.15 Pagina Evolu ţ ie_personal 

La evenimentul AfterClick al butonului optbar se ataşează codul:

Sub AfterClick ()graph3.graphtype=grgtbarclust

312

Page 313: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 313/331

 Anexa 2

End Sub

La evenimentul AfterClick al butonului optline se ataşează codul:Sub AfterClick ()

graph3.graphtype=grgtlineabsEnd Sub

La evenimentul AfterClick al butonului optpie se ataşează codul:Sub AfterClick ()graph3.graphtype=grgtmultipieEnd Sub

 Figura A2.16 Pagina Evolutie_personal1

Pagina Top (Text: Primele trei facult ăţ i) este prezentată în figura A2.17 şi areurmătoarele componente: un buton domzoom (Text: Total), un buton tipzoom (Text:Tip_proiect), un buton Top3 (Text: Top3), un buton explicatie (Text: Explica ţ ie), un grup de obiecte measgroup (Text: Indicatori) format din trei casete de validareopt1 (Text: Valoare(lei), Value:1-Checked), opt2 (Text: Valoare(dolari), Value: 0-unchecked), opt3 (Text: Numă r proiecte, Value:0-unchecked), un tabel table1 (se

vor afişa valorile variabilei selectate). La evenimentul  AfterRun al paginii seataşează următorul cod:

313

Page 314: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 314/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

Sub AfterRun (Flags As Integer)table1.GetSelection("INSTITUTII").StatusScript = "LIMIT INSTITUTII TOfac_set"End Sub

La evenimentul AfterClick al butonului domzoom se ataşează următorul cod:Sub AfterClick ()application.showhourglass = truetable1.datacube.autorefreshdata = falsecall table1.rotate(dcROToPage,"TIP_PROIECT")table1.GetSelection("TIP_PROIECT").StatusScript= "LIMIT TIP_PROIECT TO'TOTAL'"table1.GetSelection("TIMP").StatusScript = "LIMIT TIMP TO all"table1.GetSelection("INSTITUTII").AutoSort = YES

table1.GetSelection("INSTITUTII").StatusScript = "LIMIT INSTITUTII TOfac_set"table1.datacube.autorefreshdata = trueEnd Sub

La evenimentul AfterClick al butonului t ipzoom se ataşează următorul cod:Sub AfterClick ()application.showhourglass = truetable1.datacube.autorefreshdata = false

if table1.getselection("TIP_PROIECT").container.container is _ table1.datacube.item(2) thencall table1.rotate(dcROAfter,"TIP_PROIECT", "INSTITUTII")table1.GetSelection("TIP_PROIECT").StatusScript = "LIMIT TIP_PROIECT TOALL"table1.GetSelection("INSTITUTII").AutoSort = YESelsecall table1.rotate(dcROAfter, "TIP_PROIECT", "TIMP")end if table1.datacube.autorefreshdata = true

End Sub

La evenimentul AfterClick al butonului Top3 se ataşează următorul cod:Sub AfterClick ()Dim Comp as ObjectDim ObjClass as integer Dim Row as longDim Column as longdim measval as stringdim sel as objectDIM TIMPVAL AS STRING

314

Page 315: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 315/331

 Anexa 2

application.showhourglass = truetable1.datacube.autorefreshdata = falsecall table1.GetSelectedObject(Comp, ObjClass, Row, Column)select case objclass

case vwocdatabody, vwocdataedge, vwocbodynondatameasVal = table1.GetDimValues(ObjClass, Row, Column,"XP_MEASUREDIM")timpval = table1.GetDimValues(ObjClass, Row, Column, "TIMP")if (measval = "" or timpval = "") Then goto exit_subset sel = table1.getselection("INSTITUTII")sel.AutoSort = NOsel.sortdatameasure = measvalsel.StatusScript = _ "call XP_SLLIMIT('INSTITUTII', 'EXTREME', 'KEEP'," & _ 

"'NONE', 'NA', 'TOP', '3', 'NO', 'NA', 'NO', 'YES', " & _ "'YES', '" & MEASVAL & "', 'TIP_PROIECT\nTIMP', " & _ "'TOTAL\n" & timpval & " ')"call table1.GetSelectedObject(Comp, ObjClass, Row, Column)case elseend selectexit_sub:table1.datacube.autorefreshdata = trueEnd Sub

La evenimentul AfterClick al grupului de obiecte measgroup se ataşează următorulcod:Sub AfterClick ()dim pcxtext as string, meassel as selection pcxtext="limit xp_measuredim to"if opt1.value=0 and opt2.value=0 and opt3.value=0 then opt1.value=1if opt1.value=1 then pcxtext=pcxtext & " 'VALOARE_LEI'"if opt2.value=1 then pcxtext=pcxtext & " 'VALOARE_DOLARI'"if opt3.value=1 then pcxtext=pcxtext & " 'NRPROIECTE'"

set meassel = table1.getselection("XP_MEASUREDIM")meassel.statusscript=pcxtextEnd Sub

La evenimentul AfterClick al butonului explica ţ ie se ataşează următorul cod:Sub AfterClick ()dim strmsg as stringstrmsg= "Se selectează indicatorul" & chr$(13) & chr$(13)strmsg=strmsg & "Se apasă butonul Total pentru a afişa valorile indicatoruluiselectat pentru fiecare facultate. Se alege anul." & chr$(13) & chr$(13)

315

Page 316: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 316/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

strmsg=strmsg & "Se apasă apoi butonul Top 3 pentru a afişa primele trei facultăţiîn funcţie de valorile indicatorului selectat" & chr$(13) & chr$(13)strmsg=strmsg & "Pentru detalii se apasă apoi butonul Tip_proiect. Se afişează îndetaliu valorile indicatorului pentru fiecare tip de proiect"

msgbox strmsg, 64,"Explicatii", container.[text]End Sub

Pagina ratapublicatii (Text: Rata publica ţ iilor) este prezentată în figura A2.18 şiare următoarele componente: un buton btnrefresh1 (Text: Refresh), un butonbtnlink1 (Text: Link), o listă dimlb1 ce afişează valorile dimensiunii Timp, o listă diminstitut1 ce afişează valorile dimensiunii  Institu ţ ii, o etichetă  label1  (Text:

 Anii), o listă dimnivel1ce afişează valorile dimensiunii Nivel_institut , un buton help (Text: Help), un buton explicatie (Text:Explicatie), un tabel table1, un grafic

 graph1 (se vor afişa valorile variabilei rata), o etichetă nivel , o etichetă  publica ţ ii şi o listă  dimlbpub ce afişează valorile dimensiunii  Publica ţ ii. La evenimentul

 AfterRun al paginii se ataşează următorul cod:Sub AfterRun (Flags As Integer)call dimnivel1.afterhighlight()End Sub

 Figura A2.17 Pagina Top

La evenimentul AfterClick al butonului btnrefresh1 se ataşează următorul cod:Sub AfterClick ()

316

Page 317: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 317/331

 Anexa 2

call diminstitut1.refreshselection(dlbselhighlight)call DimLB1.RefreshSelection( dlbSELHighlight )call DimLBpub.RefreshSelection( dlbSELHighlight )set graph1.datacube=table1.datacube

End Sub

La evenimentul AfterClick al butonului btnlink1 se ataşează următorul cod:Sub AfterClick ()set Diminstitut1.HighlightSelection = Table1.GetSelection("INSTITUTII")set DimLB1.HighlightSelection = Table1.GetSelection("TIMP")set DimLBpub.HighlightSelection = Table1.GetSelection("publicatii")End Sub

La evenimentul AfterHighlight al listei dimnivel1 se ataşează următorul cod:

Sub AfterHighlight ()call Dimnivel1.SetExpressStatus( dlbSELHighlight )Diminstitut1.DataSelection.AutoRefreshData = FalseDiminstitut1.DataSelection.AutoRefreshData = Truecall Diminstitut1.RefreshListbox(dlbSELData)end sub

La evenimentul Afterclick al butonului Help se ataşează următorul cod:Sub AfterClick ()

msgbox container.ajutor, 64, me.textEnd Sub

La evenimentul Afterclick al butonului explicatie se ataşează următorul cod:Sub AfterClick ()Dim strMsg as stringstrMsg ="Categorii şi subcategorii de publicaţii:" & Chr$(13) & Chr$(13)strMsg = strMsg & "CARTE" & Chr$(13)strMsg = strMsg & "CCNCSIS=căr ţi publicate în edituri româneşti recunoscute deCNCSIS" & Chr$(13)

strMsg = strMsg & "CS=căr ţi publicate în edituri româneşti recunoscute dinstr ăinatate" & Chr$(13)strMsg = strMsg & "CNER=căr ţi publicate în edituri româneşti nerecunoscute"&Chr$(13)& Chr$(13)strMsg = strMsg & "ARTICOLE"& Chr$(13)strMsg = strMsg & "ACNCSIS=articole publicate în reviste româneşti recunoscuteCNCSIS"& Chr$(13)strMsg = strMsg & "AISI=articole publicate în reviste cotate ISI"& Chr$(13)strMsg = strMsg & "AS=articole în reviste din str ăinătate cu recenzori"& Chr$(13)strMsg = strMsg & "ANER=articole publicate în reviste nerecunoscute"&Chr$(13)& Chr$(13)

317

Page 318: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 318/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

strMsg = strMsg & "CONFERINŢE"& Chr$(13)strMsg = strMsg & "CN=comunicări naţionale"& Chr$(13)strMsg = strMsg & "CI=lucr ări publicate în volumele conferinţelor internaţionale"& Chr$(13)& Chr$(13)

strmsg=strmsg & "Rata publicaţiilor reprezintă numărul mediu de publicaţii pecadru didactic" & chr$(13)MsgBox strMsg, 64, Container.[Text]End Sub

 Figura A2.18 Pagina Ratapublicatii

Paginainstitu

 ţ ii (Text: Facult 

ăţ ile

 şi catedrele din ASE)

este prezentată

în figuraA2.19 şi are următoarele componente: un arbore treeview1 (TreeLine: 1-Root lines, Tree ViewStyle: 6-Lines...). La evenimentul  AfterActivate al paginii se ataşează următorul cod:Sub AfterActivate ()dim i as integer call TreeView1.Clear call TreeView1.AddTreeNode("ACADEMIA DE STUDII ECONOMICE","ASE")call TreeView1.AddTreeNode("FACULTATEA STUDII ECONOMICE IN

LIMBI STRAINE", "FSELS", "ASE", tvwRSChild)

318

Page 319: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 319/331

 Anexa 2

call TreeView1.AddTreeNode("FACULTATEA COMERT", "COM", "ASE",tvwRSChild)call TreeView1.AddTreeNode("FACULTATEA ECONOMIE GENERALA ","EG", "ASE", tvwRSChild)

call TreeView1.AddTreeNode("FACULTATEA ECONOMIE GENERALA APRODUCTIEI AGRICOLE SI ALIMENTARE", "EGPAA", "ASE", tvwRSChild)call TreeView1.AddTreeNode("FACULTATEA CONTABILITATE SIINFORMATICA DE GESTIUNE", "CIG", "ASE", tvwRSChild)call TreeView1.AddTreeNode("FACULTATEA FINANTE, ASIGURARI,BANCI, BURSE DE VALORI", "FABBV", "ASE", tvwRSChild)call TreeView1.AddTreeNode("FACULTATEA CIBERNETICA, STATISTICASI INFORMATICA ECONOMICA", "CSIE", "ASE", tvwRSChild)call TreeView1.AddTreeNode("FACULTATEA RELATII ECONOMICEINTERNATIONALE", "FREI", "ASE", tvwRSChild)

call TreeView1.AddTreeNode("DEPARTAMENTUL DE PREGATIRE APERSONALULUI DIDACTIC", "DPPD", "ASE", tvwRSChild)call TreeView1.AddTreeNode("COLEGIU ECONOMIC BUCURESTI ","COLB", "ASE", tvwRSChild)call TreeView1.AddTreeNode("FACULTATEA MANAGEMENT", "FMAN","ASE", tvwRSChild)call TreeView1.AddTreeNode("CIBERNETICA ECONOMICA", "CIB", "CSIE",tvwRSChild)call TreeView1.AddTreeNode("INFORMATICA ECONOMICA", "IE", "CSIE",

tvwRSChild)call TreeView1.AddTreeNode("STATISTICA SI PREVIZIUNE ECONOMICA","STAT", "CSIE", tvwRSChild)call TreeView1.AddTreeNode("ANALIZA STATISTICA SI EVALUARE", "AS","CSIE", tvwRSChild)call TreeView1.AddTreeNode("ECONOMIE MATEMATICA", "EM", "CSIE",tvwRSChild)call TreeView1.AddTreeNode("COMERT", "CO", "COM", tvwRSChild)call TreeView1.AddTreeNode("TURISM SERVICII", "TS", "COM",tvwRSChild)

call TreeView1.AddTreeNode("MERCEOLOGIE SI MANAGEMENTULCALITATII", "MMC", "COM", tvwRSChild)call TreeView1.AddTreeNode("DREPT", "DR", "FABBV", tvwRSChild)call TreeView1.AddTreeNode("ANALIZA ECONOMICO-FINANCIARA","AEF", "FABBV", tvwRSChild)call TreeView1.AddTreeNode("MONEDA", "MON", "FABBV", tvwRSChild)call TreeView1.AddTreeNode("FINANTE", "FIN", "FABBV", tvwRSChild)call TreeView1.AddTreeNode("CONTABILITATE INTERNATIONALA SIINFORMARE FINANCIARA", "CIIF", "CIG", tvwRSChild)call TreeView1.AddTreeNode("CONTABILITATE, AUDIT SI CONTROL DEGESTIUNE", "CACG", "CIG", tvwRSChild)

319

Page 320: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 320/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

call TreeView1.AddTreeNode("INFORMATICA DE GESTIUNE", "IG", "CIG",tvwRSChild)call TreeView1.AddTreeNode("MANAGEMENT", "MAN", "FMAN",tvwRSChild)

call TreeView1.AddTreeNode("EFICIENTA ECONOMICA", "EC", "FMAN",tvwRSChild)call TreeView1.AddTreeNode("TEHNOLOGIE INDUSTRIALA", "TI", "EG",tvwRSChild)call TreeView1.AddTreeNode("COMUNICARE SI DOCTRINE ECONOMICE","CDE", "EG", tvwRSChild)call TreeView1.AddTreeNode("ECONOMIE SI POLITICI ECONOMICE","EPE", "EG", tvwRSChild)call TreeView1.AddTreeNode("EDUCATIE FIZICA SI SPORT", "EFS", "EG",tvwRSChild)

call TreeView1.AddTreeNode("ISTORIA ECONOMIEI SI GEOGRAFIEI","IEG", "EG", tvwRSChild)call TreeView1.AddTreeNode("LIMBI ROMANICE SI COMUNICARE INAFACERI", "LRCA", "FREI", tvwRSChild)call TreeView1.AddTreeNode("LIMBI GERMANICE SI COMUNICARE INAFACERI", "LGCA", "FREI", tvwRSChild)call TreeView1.AddTreeNode("RELATII ECONOMICEC INTERNATIONALE","REI", "FREI", tvwRSChild)call TreeView1.AddTreeNode("TEHNOLOGIA PRODUCTIEI AGRICOLE SI

ALIMENTARE", "TPAAI", "EGPAA", tvwRSChild)call TreeView1.AddTreeNode("STUDII ECONOMICE IN LIMBI STRAINE","SELS", "FSELS", tvwRSChild)End Sub

La evenimentul  DoRun al proiectului evaluarea se ataşează un cod, care permiteafişarea unei ferestre la lansarea în execuţie a proiectului (figura A2.20):Function DoRun (Flags As Integer, EnableDefault As Integer) As Integer dim msgtext as stringdim thetime as variant

thetime=hour(now)if thetime>=18 thenmsgtext="Buna seara,este ora:"& time & "."elseif thetime>=12 thenmsgtext="Buna ziua,este ora:"& time & "."elsemsgtext="Buna dimineata,este ora:" & time & "."end if msgbox msgtext, 64, me.descriptionif (pagmain.showmodal()<>pgprok) thenenabledefault=no

320

Page 321: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 321/331

 Anexa 2

end if End Function

 Figura A2.19 Pagina Institutii

 Figura A2.20 Fereastra ini ţ ial ă ce apare la lansarea în execu ţ ie a proiectului

321

Page 322: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 322/331

 

Anexa 3

Sistemul informatic tranzacţional utilizează o bază de date relaţională Oracle

8.1.7. Modelul entitate-asociere al sistemului informatic tranzaţional, precum şi

schema conceptuală a bazei de date relaţională sursă sunt prezentate în capitolul 9.

Scriptul SQL pentru definirea structurii bazei de date relaţionale este prezentat

în cele ce urmează:drop table facultati cascade constraints;

drop table catedre cascade constraints;

drop table categ_pub cascade constraints;

drop table persoane cascade constraints;

drop table publicatii cascade constraints;

drop table pers_pub;

drop table nrprof_cat;

drop table stud_fac;

drop view pub_prof;drop table teze;

drop table brevete;

drop table reprezentari;

drop table premii;

drop table centre cascade constraints;

drop table tip_proiect cascade constraints;

drop table proiecte cascade constraints;drop table pers_proi;

 prompt creare tabel ă Facultati

create table facultati(codfac varchar2(5) primary key, den_fac varchar2(60),den_inst varchar2(6));

 prompt creare tabel ă Catedrecreate table catedre(codcat varchar2(5) primary key, dencat varchar2(60),

codfac varchar2(5), foreign key(codfac) references facultati(codfac));

 prompt creare tabel ă Categoriicreate table categ_pub(codsubcat varchar2(2) primary key,

den_subcat varchar2(70), categ varchar2(10));

 prompt creare tabel ă Persoane_cercetarecreate table persoane(codp number(3) primary key, nume varchar2(30),

functia varchar2(3), doctorat varchar2(3), imagine blob, an_prom varchar2(4),

322

Page 323: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 323/331

 Anexa 3

codcat varchar2(7), foreign key (codcat) references catedre(codcat));

 prompt creare tabel ă Publ ica ţ iicreate table publicatii(codpub number(4) primary key, den_pub varchar2(60),

an varchar2(4), editura varchar2(30), nrpag number(4), codsubcat varchar2(2),

foreign key(codsubcat) references categ_pub(codsubcat)); prompt creare tabel ă Pers_Pubcreate table pers_pub(codp number(3), codpub number(4), nrpagini number(3),

foreign key(codp) references persoane(codp),

foreign key(codpub) references publicatii(codpub));

 prompt creare tabel ă Stud_faccreate table stud_fac(codfac varchar2(5), an varchar2(4), nrstud number(4),

 primary key(codfac, an));

 prompt creare tabel ă Brevetecreate table brevete (titlu varchar2(100) primary key, codp number(3),

an_brev varchar2(4),constraint BR_fk foreign key (codp) references persoane(codp));

 prompt creare tabel ă Centrecreate table centre (codc varchar2(10) primary key, denumire varchar2(50),

director varchar2(25), domeniu varchar2(30), acreditare varchar2(50),

an_cred varchar2(4));

 prompt creare tabel ă Premiicreate table premii( codpr number primary key, titlu varchar2(70), codp number(3),

an_prem varchar2(4), den_org varchar2(80), constraint pe_fk foreign key(codp)

references persoane(codp)); prompt creare tabel ă Reprezent ă ricreate table reprezentari( codr number primary key, codp number(3),

an_repr varchar2(4), den_acad varchar2(50), constraint per_fk foreign key(codp)

references persoane(codp));

 prompt creare tabel ă Tezecreate table teze (codt number primary key, titlu varchar2(100),

nume_doct varchar2(30), codp number(3), an_matr varchar2(4), an_sustvarchar2(4), constraint pers_fk foreign key (codp) references persoane(codp));

 prompt creare tabela Nrprof_cat 

create table nrprof_cat(codcat varchar2(5), an varchar2(4), nrprof number(4), primary key(codcat,an));

 prompt creare tabel ă Tipuri_proiect create table tip_proiect(cod_tip varchar2(8) primary key, denumire varchar2(100));

 prompt creare tabel ă Proiectecreate table proiecte(cod varchar2(11) primary key, denumire varchar2(150),

director varchar2(25), codp number(3), an varchar2(4), cod_tip varchar2(7),

codc varchar2(12), val_lei number(20), val_dol number(10),

finantator varchar2(30), observatii varchar2(50),

den_etapa varchar2(200), foreign key(cod_tip) references tip_proiect(cod_tip),

323

Page 324: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 324/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică  

foreign key (codp) references persoane(codp), foreign key(codc) references

centre(codc));

 prompt creare tabel ă Pers_Proicreate table pers_proi(codp number(3), cod varchar2(11), nrore number(5),

 primary key(codp,cod), foreign key(codp) references persoane(codp),foreign key(cod) references proiecte(cod));

 prompt creare secven ţ edrop sequence secv_premii;

drop sequence secvteze;

drop sequence secv_reprez;

drop sequence publicatii_cod;

create sequence secv_premii start with 1 increment by 1 maxvalue 10000 ;

create sequence secvteze start with 1 increment by 1 maxvalue 10000;

create sequence secv_reprez start with 1 increment by 1 maxvalue 10000;

create sequence publicatii_cod start with 1 increment by 1 maxvalue 10000;

 prompt creare tabel ă virtual ă View_contrint create or replace view view_contrint as

select proiecte.an, persoane.codcat, count(distinct denumire) N2 , sum(val_dol)VTCI from proiecte, persoane

where persoane.codp=proiecte.codp

and (cod_tip in ('PU','PEP','D', 'C', 'T', 'B', 'PI' 'PC'))

group by proiecte.an, persoane.codcat

order by proiecte.an, persoane.codcat;

 prompt creare tabel ă virtual ă View_grant create or replace view view_grant

as select proiecte.an, persoane.codcat, count(distinct denumire) N1 , sum(val_lei)

Vtgn from proiecte, persoane

where persoane.codp=proiecte.codp and (cod_tip like 'GR%' or cod_tip='ACAD')

group by proiecte.an, persoane.codcat

order by proiecte.an, persoane.codcat;

 prompt creare tabela virtual ă Pub_prof create view pub_prof(codcat, codsubcat , an, nrpub )

as select persoane.codcat, publicatii.codsubcat,an, count(distinct pers_pub.codpub)

nrpubfrom persoane, pers_pub, publicatii

where persoane.codp=pers_pub.codp

and pers_pub.codpub=publicatii.codpub

group by persoane.codcat, publicatii.codsubcat, publicatii.an;

 prompt creare tabela virtual ă Proiecte_cat create or replace view proiecte_cat asselect proiecte.an, proiecte.cod_tip, persoane.codcat,

count(distinct proiecte.denumire) nrpro, sum(nvl(proiecte.val_lei, 0)) total_lei,

sum(nvl(proiecte.val_dol, 0)) total_dol from persoane, proiecte

where persoane.codp=proiecte.codp

324

Page 325: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 325/331

 Anexa 3

group by proiecte.an, proiecte.cod_tip, persoane.codcat;

 prompt creare tabela virtual ă nrcadre_ cat_ancreate or replace view nrcadre_cat_an(an, codcat, nrcadre)

as select proiecte.an, persoane.codcat, count(distinct(pers_proi.codp)) nrcadre

from proiecte, pers_proi, persoane where proiecte.cod=pers_proi.codand persoane.codp=pers_proi.codp and persoane.functia<>'T'

and persoane.functia<>'S'

group by proiecte.an, persoane.codcat;

 prompt creare tabela virtual ă nrdoct_cat_an create or replace view nrdoct_cat_an(an, codcat, nrdoct)

as select proiecte.an, persoane.codcat, count(distinct(pers_proi.codp)) nrdoct

from proiecte, pers_proi, persoane

where proiecte.cod=pers_proi.cod

and persoane.codp=pers_proi.codp and persoane.doctorat='drd'

group by proiecte.an, persoane.codcat;

 prompt creare tabela virtual ă nrstud_cat_ancreate or replace view nrstud_cat_an(an, codcat, nrstud)

as select proiecte.an, persoane.codcat, count(distinct(pers_proi.codp)) nrstud

from proiecte, pers_proi, persoane

where proiecte.cod=pers_proi.cod

and persoane.codp=pers_proi.codp and persoane.functia='S'

group by proiecte.an, persoane.codcat;

 prompt creare tabela virtual ă nrtesa_cat_an 

create or replace view nrtesa_cat_an(an,codcat, nrtesa)as select proiecte.an, persoane.codcat, count(distinct (pers_proi.codp)) nrtesa

from proiecte, pers_proi, persoane

where proiecte.cod=pers_proi.cod

and persoane.codp=pers_proi.codp and persoane.functia='T'

group by proiecte.an, persoane.codcat;

325

Page 326: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 326/331

 

Bibliografie

Cărţi

[BALL98] C. Ballard, D. Herreman, D. Schau, Data Modeling Techniques for 

 Data Warehousing , http://www.redbooks/ibm/com, 1998

[BARA00] C. Baragoin, J. Bercianos, G. Robinson “  DB2 OLAP Server 

Theory and Practices”, International Technical SupportOrganization, http://www.redbooks/ibm/com, 2000

[BATI92] C. Batini, S. Ceri, S. Navathe, Conceptual database Design - an

 Entity-Relationship Approach, Benjamin/Cummings, 1992

[BEYO97] D. Beyon,   Information and Data Modeling , MacGraw Hill

Publishing Company, 1997

[BONC81] R. Bonczek, C. Holsapple, A. Whinston,   Foundation of Decision

Support  Systems, Academy Press, New York, 1981

[CODD91] E. Codd, The relational Model for Database Management: version

2, Addison-Wesley Publishing Company, Reading, MA, 1991

[DATE95] Date, Chris J.,   An Introduction to Database Systems, 6

th

ed.,Addison-Wesley Publishing Company, Reading, MA, 1995

[DAOE98] Oracle Corporation,   Develop Applications with Oracle ExpressObjects, Student Guide, vol 1, 2, 1998

[ELMA94] R. Elmasri, S. Navathe,   Fundamentals of Database Systems,2nd 

Benjamin/Cummings, 1994

[GRAY98] P. Gray, H. Watson,   Decision Support in the Data Warehouse,

Prentice Hall, 1998

[INMO92] W H Inmon,  Buildin  g the Data Warehouse, John Wiley&Sons,

 New York, 1992

[KEND92] K. E. Kendall, J E. Kendall, Systems Analysis and Design, 2nd ed.,

Englewood Cliffs, New Jersey, Prentice Hall Inc., 1992

[KILA98] R. Kimball, Laure Reeves, Margy Ross, The Datawarehouse Life

Cycle Toolkit. Experts Methods for Designing, Developing and 

 Deploying Data Warehouses, John Willey &Sons, 1998

[KIMB96] R. Kimball, The Data Warehouse Toolkit, Practical Techniques

  for Building    Dimensional Data Warehouses, John Wiley&Sons,

 New York, 1996

326

Page 327: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 327/331

 Bibliografie

[KIMB98] R. Kimball, L. Leeves, M.Ross, W. Thornthwaite, The Data

Warehouse Lifecycle Toolkit , John Wiley&Sons, New York, 1998

[KOTL98] P. Kotler, Managementul marketingului, editura Teora, Bucureşti,

1998

[LUBO95] I. Lungu, C. Bodea, G. Bădescu, C. Ioniţă,  Baze de date

Organizare, proiectare  şi implementare, editura ALL, Bucureşti,1995

[MARA99] G. Marakas,   Decision Support Systems in the 21 st   Century,

Prentice Hall, 1999

[OEOG99] Oracle Corporation, Oracle Express Objects Getting Started ,Release 6.3.2, 1999

[OEAG99] Oracle Corporation, Oracle Express Analyzer Getting Started, 

Release 6.3.2, 1999

[OEWA99] Oracle Corporation, Oracle Express Web Agent User’s Guide, 

Release 6.3.2, 1999

[OEDA99] Oracle Corporation, Oracle Express Database Administrator Guide, Release 6.3.4, 1999

[POWE01] D.J. Power,   Decision Support Systems: Concepts and Resources,

Cedar Falls, IA: DSSresources.com,

http://dssresources.com/ dssbook/, 2001

[RACI01] Gh. R ă boacă, D. Ciucur, Metodologia cercet ă rii  ştiin ţ ifice

economice, editura Fundaţiei România de Mâine, Universitatea

Spiru Haret, 2001

[RAMU99] Oracle Corporation,   Relational Access Manager User’s Guide,

Release 6.3.2, 1999

[ROCK98] J. Rockart, D. DeLong,   Executive Support Systems, Dow Jones-

Irwin, 1998

[SLVM03] Gh. Sabău, I. Lungu, M. Velicanu, M. Muntean ş.a., Sisteme

informatice. Analiz ă   , proiectare, implementare, editura

Economică, Bucureşti, 2003

[SPRA93] R. Sprague, H. Watson, Decision Support Systems-Putting Theory

 Into Practice, 3rd. Edition, Englewood Cliffs, Prentice Hall, 1993

[STON93] M Stonebraker, Reading in Database Systems, Morgan Kaufmann,

San Francisco, 1993

[TANS93] A.U.Tansel, J.Clifford, S.Gadia, S.Jajodia, Temporal Databases:

Theory, Desig and Implementation, Benjamin/Cummings, 1993

[TILL93] G Tillman, A practical Guide to Logical Data Modeling , McGraw-Hill, New York, 1993

[THOM96] E. Thomsen, OLAP Solutions: Building Multidimensional 

 Information Systems, John Wiley&Sons, New York, 1996

[TURB98] E. Turban,   Decision Support Systems and Intelligent Systems, 5th 

ed., Englewood Cliffs, New Jersey, Prentice Hall, 1998

[ULLM97] J. Ullman, J.Widom, A first Course in Database Systems, Prentice

Hall, 1997

327

Page 328: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 328/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică .

[VMLI03] M. Velicanu, M. Muntean, I. Lungu, S. Ionescu, Oracle. Platformă  

 pentru baze de date, editura Petrion, Bucureşti, 2002

[WIJE91] G Wijers, Modeling Support in Information System Development ,

Thesis Publishers Amsterdam, 1991

Articole şi comunicări

[ABEL00] A. Abello, J. Samos, F. Saltor, A data warehouse multidimensional  

  Data Models classification, Proc. Workshop on Design and

Management of Data Warehouses, 2000

[AGRA97] R. Agrawal, A. Gupta, S. Sarawagi, Modeling multidimensional 

databases, 13th International Conference on Data Engineering,

1997

[ARBO97] Arbor Sofware Corporation,   Relational OLAP: Expectiations &

 Reality, White Paper, 1997

[ARBO00] Arbor Software Corporation, Analytical Processing: A comparisonof multidimensional and SQL-based approaches, White paper,

2000 

[BLAS98] M. Blaschka, C. Sapia, G. Höfling, B. Dinter,   Finding your way

through multidimensional data models, Proc of 9th International

Conference on Database and Expert Systems Applications, nr 1460

in LNCS Springer, 1998

[BLAS99] C. Sapia, M. Blaschka, G. Höfling, B. Dinter,   Extending the E/R

model for the multidimensional paradigm, Proc. International

Workshop on Data Warehouse and Data Mining in conjunction

with the ER’98, nr 1552, in LNCS, Springer, 1999[BLAS00] M. Blaschka,   Fiesta: A framework for Schema Evolution in

Multidimensional Databases, PhT thesis, Institut fur Informatik 

der Technischen Universität München, 2000

[BULE01] Academia de Studii Economice, Departamentul de Cercetări

Economice, Buletin Informativ, 2001, 2002, 2003

[BULO96] Bulos D., A new Dimension, Database Programming& Design,

6/1996

[CABB97] L. Cabbibo, R. Torlone, Querying Multidimensional databases,

Proc of 6th Workshop Database Programming Languages, USA,

1997

[CABB98a] L. Cabbibo, R. Torlone,   From a procedural to a Visual Query

  Language for OLAP , 10th IEEE International Conference on

Scientific and Statistical Database Management, 1998

[CABB98b] L. Cabbibo, R. Torlone,   A logical approach to multidimensional 

databases, Proc. of EDBT’98, Springer, 1998

[CHAU97] S. Chaudhuri, U. I. Dayal, An overview of Data Warehousing and 

OLAP Technology, ACM SIGMOD Record 26, Tucson, 1997

328

Page 329: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 329/331

 Bibliografie

[CNCS01] I. Lungu, M. Velicanu, M. Muntean, S. Ionescu, Studiul  şi analiza

comparativă  a metodelor, tehnicilor  şi instrumentelor utilizate în

domeniul “Inteligen ţ ei afacerilor”,  Solu ţ ii economice  şi

informatice pentru inteligen ţ a afacerilor , CNCSIS, 2001

[CNCS02] I. Lungu, M. Velicanu, M. Muntean, S. Ionescu,  Dezvoltarea 

  sistemelor informatice pentru afaceri inteligente,  Solu ţ iieconomice  şi informatice pentru inteligen ţ a afacerilor , CNCSIS,

2002

[CODD93] E.F. Codd,   Providing OLAP (on-line analytical processing) to

user-analysts: An IT mandate, Technical report, E.F. Codd andAssociates, White paper, Arbor Software Corporation, 1993

[COLL96] G. Colliat, OLAP, relational and multidimensional database

 systems, SIGMOD Record 25, 3(1996), Technical report, Arbor 

Software Corporation, Sunnyvale, CA, 1996

[DATT97] A. Datta, H. Thomas,   A conceptual Model and a an Algebra for 

on-line Analytical processing in Data Warehouses, Proc. of Workshop on Information Technologies and Systems, Atlanta,

1997

[DEKE99] S. Dekeyser, B. Kuijpers, J. Paredaens, J. Wijsen, The nested 

datacube model for OLAP , Proc International Workshop on Data

Warehousing and Data Mining Springer, Verlag, 1998

[GRAY96] J.Gray, A.Bosworth, A.Layan, H.Pirahesh,   Data Cube: A

relational a ggregation operator generalizing group by, cross-tabs

and sub-totals, Proc. of the 12th International Conference of Data

Engineering, 1996

[GOLF98a] M. Golfarelli, S. Rizzi, Conceptual design of data warehouses from E/R schemes, Proc. HICSS-31, VII, Hawaii, 1998

[GOLF98] M. Golfarelli, S. Rizzi,   A Methodological Approach for Data

Warehouse Design, Proceedings of the 1st International Workshop

on Data Warehouse and OLAP (DOLAP’98), Washington, 1998

[GOLF98b] M. Golfarelli, S. Rizzi, The Dimensional Fact Model: A

conceptual Model for data Warehouses, Journal of Computer 

Science and Information Systems, 1998

[GOLF99] M. Golfarelli, S. Rizzi, Designing the Data Warehouse: Key Steps

and crucial issues, Journal of Computer Science and Information

management, vol2, nr.3, 1999

[GUAZ00] M. Guazzo, A cartesian Data Model for Decision Support Systems,Proc of 2nd International Workshop on Design and Management of 

Data Warehouses, Stockholm, 2000

[GYSS97] M. Gyssen, L. Lakshmanan,   A foundation for multi-dimensional 

 Databases, Proc 23th VLDB, Greece, 1997

[HASS99] H. Hassan,   Effective Information for managers, Proc. 10th 

Australian Conference on Information Systems, 1999

329

Page 330: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 330/331

 Ini ţ iere în tehnologia OLAP-teorie şi practică .

[HATT99] P.Hattenschwiler, Neue Konzepte der Entscheidungsunterstutzung ,

Working Paper 99-4, Institute of Informatics, University of 

Fribourg, 1999

[INFO96] Informix Software Inc., The Informix-MetaCube Approach,

Product Information, 1996

[KENA95] Kenan Technologies,   An Introduction to Multidimensional  Database Technolog y, White paper, 1995

[KIMB97] R. Kimball,   A dimensional Modeling Manifesto,DBMS Online,

http://www.dbmsmag.com/9708d15.html, 1997

[LEHN98] W. Lehner, Modeling Large Scale OLAP Scenarios, Lecture Notes

in Computer Science, nr. 1377, Proceedings. Of the 6th 

International Conference on Extending Database Technology,EDBT 98, Spania, 1998

[LIWA96] C. Li, X. S. Wang, A data model for supporting on-line analytical 

 processing , Proc. Conf on Information and Knowledge

Management, SUA, 1996[MANG99] O. Mangisengi, A. Tjoa, R. Wagner, Multidimensional Modeling 

  Approaches for OLAP based on Extended Relational Concepts,

Proc of the 9th International Database Conference on

Heterogeneous and Internet Databases, Hong Kong, 1999

[META97] Metadata Coalition, Meta Data Interchange Specification (MDIS 

version 1.1), http://www.he.net/~metadata/standards/, 1997

[MICR98] Microstrategy Inc, The Case for Relational OLAP , White Paper,1998

[MICR98] Microsoft Corporation, OLEDB for OLAP ,

http://www.microsoft.com/data/oledb/olap/, 1998

[MICR99] Microstrategy Inc, True Relational OLAP , White Paper, 1999

[MOOD00] D. Moody, M. Kortink,   From enterprise models to dimensional 

models: A Methodology for Data Warehouse and Data Mart  Design, Proc of 2nd International Workshop on Design and

Management of Data Warehouses, Stockholm, 2000

[OLAP96] The OLAP Council, MD-API the OLAP Application Program

 Interface, version 0.5 Specification, 1996

[OLAP97] Olap Council, The OLAP glossary, OLAP and OLAP Server 

 Definitions, http://www.olapcouncil.org/research/glossary.htm, 1997

[OLAP97b] OLAP Council, The APB-1 Benchmark,http://www.olapcouncil.org/research/bmarkly.htm, 1997

[PEDE99] T. Pendersen, C. Jensen, Multidimensional Data Modeling of 

Complex Data, Proceedings of the 15th IEEE International

Conference on Data Engineering, Sydney, 1999

[PEDE00] T. Pedersen, Aspectes of Data Modeling and Query Processing for 

complex multidimensional data, PhD thesis, faculty of Engineering

and Science, Denmark, 2000

330

Page 331: Iniţiere în tehnologia OLAP. Teorie şi practică

8/14/2019 Iniţiere în tehnologia OLAP. Teorie şi practică

http://slidepdf.com/reader/full/initiere-in-tehnologia-olap-teorie-si-practica 331/331

 Bibliografie

[PEND99a] N. Pendse, OLAP Applications, http://www.olapreport.com/, 1999

[PEND99b] N. Pendse, Multidimensional data structures,

http://www.olapreport.com/, 1999

[PEND99c] N. Pendse, Database explosion, http://www.olapreport.com/, 1999

[PEND99d] N. Pendse, The origins of t oday’s OLAP products, 

http://www.olapreport.com/, 1999 [PEND97] N.Pendse, R.Creeth, The OLAP Report ,

http://www.olapreport.com, 1997

[POKO98] J. Pokorny, Conceptual Modeling in OLAP , Proceeding of EIS,

Aix-en-Provence, 1998[POWE99] D. J. Power, A brief History of Decision Support Systems, DSS

Resources, http://dss.cba.uni.edu/dss/dsshistory.html, 1999

[RAFA93] M.Rafanelli, F. Ricci, Mefisto: A functional model for statistical 

entities, IEEE Transactions on Knowledge and Data Engineering,

1993

[SCHR98] A. Schroff,   An Approach to User Oriented Decision Support Systems, Inaugural Dissertation nr.1208, Druckerei Horn,

Bruchsal, 1998

[SHOS97] A. Shoshani, OLAP and Statistical Databases: Similarities and 

 Differences, Proc. ACM PODS, 1997

[TEST00] O. Teste, Towards Conceptual Multidimensional Design in

 Decision Support Systems, Dexa 2000, LNCS 1873, Londra, 2000

[TPCB98] Transaction Processing Council, TPC: TPC Benchmark ,

http://www.tpc.org/dspec.html, 1998

[TRYF99] N. Tryfona, F. Busborg, J. G. Christiansen, StarER: A conceptual 

model for Data Warehouse Design, DOLAP, Kansas City, 1999

[TSOI01] A. Tsois, N. Karayannidis, T. Sellis, MAC: Conceptual Data

Modeling for OLAP , Proceedings of the International Workshop

on Design and Management of Data Warehouses, 2001

[VASS00] P. Vassiliadis, Data Warehouse Modeling and Quality Issues, PhD

thesis, Department of Electrical and Computer Engineering

 National Technical University of Athens, 2000

[VASS98] P. Vassiliadis, Modeling multidimensional databases, cubes, and 

cube operations, Proc. of the 10th SSDBM Conference, Italy, 1998

[VASS99] P. Vassiliadis, T. Sellis,   A survey of logical models for OLAP 

databases, SIGMOD Record (28) 4, 1999

[VLMI02] M. Velicanu, M. Muntean, I. Lungu, S. Ionescu, Spre nouaeconomie digital ă  prin inteligen ţ a afacerii, Revista Informatică 

Economică, vol. V, nr. 4, Bucureşti, 2002

331