Iniţiere în tehnologia OLAP. Teorie şi practică
Transcript of Iniţiere în tehnologia OLAP. Teorie şi 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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