Sunteți pe pagina 1din 36

MINISTERUL EDUCAIEI AL REPUBLICII MOLDOVA

UNIVERSITATEA TEHNIC A MOLDOVEI

Facultatea ,,Calculatoare Informatica si Microelectronica


Catedra - Automatica i Tehnologii Informaionale

Proiect de an
la disciplina ,,Baze de date i cunotine II

TEMA:
Baze de date multidimensionale

A elaborat:
A verificat:

Motreac Daniel
Bulai Rodica

Chiinu 2014

gr. SI-111

Cuprins
1. Consideraii generale...................................................................................................................... 3
2. Baze de date multidimensionale......................................................................................................4
3. OLAP: modelare i analiz multi-dimensional..............................................................................6
3.1. Elemente introductive..................................................................................................................7
3.2. Principii fundamentale ale tehnologiei OLAP..............................................................................8
4. Modelarea multidimensional.........................................................................................................8
4.1. Notiuni ce opereaza cu tehnicile multidimensionale....................................................................9
4.2. Tipuri de modele multidimensionale..........................................................................................12
5. De la tabele si foi de calcul la cubul de Date.................................................................................15
6. Construirea si interogarea unui Cub - Microsoft SQL Server 2012...............................................17
7. Bibliografie................................................................................................................................... 31

1. Consideraii generale

Figura 1 Procesul ETL(extract-transform-load)

Figura 2 Conceptul CUB

Sistemele informatice operaionale (tranzac-ionale) sunt organizate pe domenii de activitate


(marketing, gestiunea resurselor umane, financiar-contabilitate, gestiunea vnzrilor etc.) i au ca nucleu
baze de date orientate pe gestiune curent, numite i baze de date operaionale (B.D.O.).
Scopul principal al acestor baze de date este stocarea datelor despre tranzaciile unui anumit domeniu de
gestiune. Baza de date garanteaz persistena datelor i este conceput pentru a pstra urma tranzaciilor
(evenimentelor) survenite ntr-o organizaie.
SGBD relaionale sunt n general slab adaptate procesului de analiz. Un SGBD relaional poate furniza o
list de valori rezultate dintr-una sau mai multe tabele interogate.
Exemplu:
O baz de date poate conine nregistrri care descriu ntr-o form bidimensional vnzrile de produse pe
regiuni (fig.3). Prin interogri clasice, aplicnd o serie de restricii bazei de date se pot obine informaii
rezultate din ncruciarea celor dou dimensiuni ale bazei de date (produsele vndute pe luna X pentru
regiunea Y sau repartizarea cheltuielilor asupra ansamblului regiunilor n care sunt distribuite produsele).

Fig.3
B.D. operaionale, aa cum sunt ele n prezent organizate, nu dau rspuns la ntrebri de genul:
Ci clieni cu vrsta cuprins ntre 25 i 35 de ani din oraele Bucureti i Constana au cumprat o main
Logan n cursul ultimilor 2 ani ?

Care sunt componentele mainilor din producie ce au avut cele mai mare numr de incidente n perioada
2001-2002 ?
Care este repartiia vnzrilor pe produse i pe localitii pe ultimele 12 luni ?
Pentru valorificarea superioar a datelor n procesele de management, firmele sunt tot mai interesate:
s asambleze date (ce provin din surse interne, dar i surse externe) n acelai loc fr s suprancarce
bazele de date operaionale;
s permit un acces universal la baze de date eterogene i eventual distribuite;
s aib funcii de consolidare automat a datelor;
s dispun de proceduri care s permit degajarea de informaii care s fundamenteze mai bine procesul
de management;
s permit o ameliorare global a performanei firmei.

2. Baze de date multidimensionale


Bazele de date multidimensionale (B.D.M.) sunt orientate pe management i au ca surs principal
B.D.O. Ele pot constitui suport pentru desfurarea de activiti cum ar fi : analiz vnzri i marketing;
urmrirea i fidelizarea clienilor; raportare financiar i consolidare; prognozare planficare pe termen mediu
i lung etc.
Sursele de date pentru B.D.M. sunt:
interne (n principal B.D.O. sau fiiere de date);
externe (baze de date sectoriale, elaborate de orga-nisme de sintez/coordonare cum ar fi: Camera de
comer i industrie, Direcia de statistic etc.).
Prin analiza datelor din B.D.M. se pot obine informaii sau se pot deduce noi informaii i cunotine (fig.4):

Fig.4

O baz de date multidimensional (B.D.M.) se definete ca un ansamblu de date, constituite prin


extracie sau transformare de date din bazele de date (n general B.D.O.) sau fiiere interne sau externe, ce
variaz n timp, organizate multidimensional i explorate prin interogri convenionale sau tehnici specifice
de analiz simpl (OLAP) sau de analiz avansat (Data Mining).
Arhitectura general de organizare i valori-ficare a unei B.D.M. este ilustrat n fig.5.
O sintez cu caracteristicile celor dou tipuri de baze de date, B.D.O. i B.D.M., este prezentat n tabelul ce
urmeaz.

Fig.5

Elementele ce particularizeaz o B.D.M. sunt :


Organizare pe teme ale conducerii. Datele sunt structurate avnd la baz teme ale conducerii i nu procese
funcionale ca n cazul B.D.O.
Memoria organizaiei. B.D.M. este vzut ca o memorie a ntreprinderii. Volumul datelor este colosal i n
armonie cu sistemele operaionale.
Integrare date. Integrarea datelor constituie proble-ma cel mai greu de rezolvat (este funcie de codificarea
datelor); ea vizeaz n egal msur datele interne i externe.
Date temporale (istorice). Acestea permit efec-tuarea de extrapolri bazate pe evenimente trecute.
Redundan. Datele sunt stocate n B.D.M. cu eventuale redundane (nu exist deocamdat un formalism
riguros pentru normalizarea datelor din B.D.M.).
Date nevolatile. Datele din B.D.M. nu se actualizeaz. O anume interogare efectuat la anumite intervale
de timp determin obinerea aceluiai rezultat.
Date detaliate. Sunt deduse (prin extragere i transformare) din B.D.O. ntr-o B.D.M. se pot stoca date
detaliate replic a datelor curente (operaionale) sau a datelor pe mai muli ani.
Date agregate. Ele trebuie s fie stocate astfel nct s permit navigarea utilizatorilor, de la sintez la
detaliu i invers.
Metadate. Ele constituie una din componentele de baz a unei baze de date. Conin informaii despre
B.D.M. i procesele asociate; sunt destinate: utilizatorilor finali (semantica datelor utilizate),
administratorului bazei de date (structura bazei de date, dicionarul de date).
Data Marts. Firmele mari pot descentraliza B.D.M. i construi astfel ceea ce se numete DataMart.
OLAP (On-Line Analytical Processing) Desemneaz o categorie de aplicaii i tehnologii ce permit
colectarea, stocarea, tratarea i restituirea de date multidimensionale n scopuri de analiz.
Data Mining. Termen care desemneaz procese de explorare a datelor utiliznd tehnici din inteligena
artificial i statistic n scopuri de analiz a datelor.

3. OLAP: modelare i analiz multi-dimensional

Ce este OLAP?
OLAP este un acronim, ca de altfel multe dintre denumirile ciudate din industria IT. In engleza el inseamna
online analytical processing, sau in traducere libera procesare analitica online. Este o modalitate de a furniza
raspunsuri la interogari complexe ale bazelor de date. OLAP face parte din ceea ce numim Business
Intelligence impreuna cu ETL (Extract, Transform and Load), cu relational reporting si cu data mining.

3.1. Elemente introductive


Cea mai mare parte a problemelor care se ncearc a se rezolva cu tehnologia relaional sunt n
realitate de natur multidimensional.
Modelul relaional descrie tabelele n dou dimensiuni (linie, coloan), n timp ce modelul
multidimensional nu are limite n ceea ce privete stocarea dimensional (spaial) a datelor.
Un SGBD relaional nu este adaptat unor astfel de cerine n care intervin: agregri de date; sintetitizri; consolidri; proiecii multidimensionale.
Tehnologiile OLAP se fondeaz pe modelarea i analiza multidimensional a datelor (fig.6).
Pentru ca un sistem informatic s fie cu adevrat performant, acesta trebuie s fie proiectat pe componentele
sale dimensionale.
OLAP ofer utilizatorilor instrumente ce permit navigarea de la o dimensiune la alta i modaliti de
relevare a informaiilor cele mai detaliate.
Principalele caracteristici ale OLAP sunt: operarea cu modele de date multidimensionale (spre
deosebire de modelul relational), efectuarea de interogari analitice complexe ad-hoc si viteza mare de
procesare. S-a sugerat din acest motiv si ca OLAP sa fie numit mai degraba FASMI (Fast Analysis of Shared
Multidimensional Information), prin prisma atributelor sale.

OLAP copiaza bazele de date relationale si le restructureaza in date dimensionale. Interogarile se fac apoi pe
acestea. Rezultatul, in cazul unor procese complexe, s-a dovedit a fi de pana la 1000 de ori mai rapid decat
lucrul cu baze de date relationale. Structura OLAP creata din datele operationale se numeste cub OLAP.
Acesta este format dintr-o schema stea (star schema) de tabele. Aceasta reprezinta cel mai simplu sistem de
data warehouse, cu un singur fact table, continand o cheie primara, cu un segment pentru fiecare
dimensiune si cu coloane suplimentare, numerice.

In cubul OLAP de fact table sunt legate numeroase tabele dimensionale. Acestea indica modul in care pot fi
analizate diferitele agregari ale datelor. Numarul agregarilor este determinat de posibilitatile de ierarhizare
7

ale datelor initiale. Calcularea agregarilor si datele de baza, impreuna, formeaza cubul OLAP, care contine
toate raspunsurile pentru toate interogarile potentiale ale datelor initiale. Este asadar o abordare proactiva a
unei actiuni, cosiderate pana acum, prin excelenta reactiva.

Dimensiunile standard ale cubului OLAP


Conturi contabile (Dimensiunea Conturi (Accounts) ierarhizeaza de la conturile naturale din Cartea
Mare pana la agregari de concepte financiare de raportare (Balanta, Cont P&L, Cash Flow, Equity),
incluzand oricate nivele de ierarhie sunt necesare (spre Ex Active pe Termen Scurt, Active pe Termen
lung, Datorii pe termen scurt/lung, etc)

Centre de cost/profit

Perioade (luni, sapt, zile, trimestre etc)

Scenarii (date curente, bugete, prognoze)

Timp (ani de analiza)

Moneda (Currencies)

Categorii financiare de raportare (Balanta, Cont P&L, Cash Flow, Capitalurile Proprii etc)

Entitatile legale (in cazul grupurilor de companii care consolideaza informatiile)

3.2. Principii fundamentale ale tehnologiei OLAP


Tehnologia OLAP se bazeaz pe 12 principii fundamentale, formulate n 1992 de Ted Codd:
1) viziune conceptual multidimensional asupra datelor;

Fig.6

2) transparen, prin arhitectura deschis a sisteme-lor (ascunderea pentru utilizator a eterogenitii eventuale a datelor);
3) accesibilitate, prin ascunderea pentru utilizator a modalitilor tehnice de furnizare a datelor (utilizato-rul
trebuie s preia datele dintr-un univers eterogen: SGBDR, fiiere, date externe organizaiei, WEB etc.);
4) performane stabile i independente de complexi-tatea dimensional a contextelor analizei;
5) arhitectura client-server, n care server-ul are un rol de omogenizare a datelor, prin conectarea la diferii
clieni ai produselor OLAP;
6) prelucrarea generic a dimensiunilor, adic posi-bilitatea efecturii aceleiai operaii asupra tuturor
dimensiunilor;
7) gestionarea dinamic i eficace a matricelor ncruciate, adic aptitudinea de a nu aglomera memoria
calculatorului cu celulele ce corespund combinrilor dimensionale nule;
8) multi-user, adic posibilitatea de acces simultan la acelai context de analiz pentru mai muli utilizatori;
9) operaiuni nerestrictive, adic posibilitatea efec-turii, fr restricii tehnice, de calcule asupra tuturor
combinrilor de dimensiuni posibile i de niveluri ierarhice;
10) posibilitatea manipulrii intuitive a datelor;
11) manipularea intuitiv a datelor;
12) numr nelimitat de niveluri de agregare i de dimensiuni, adic absena (apriori) limitelor numru-lui de
dimensiuni posibile i a numrului de niveluri ierarhice pe fiecare dimensiune n parte.

4. Modelarea multidimensional
Modelarea dimensional pleac de la principiul c obiectivul major al unui sistem informatic pentru
analizarea datelor din bazele de date este analiza performanei. Performana se poate materializa printr-un
ansamblu de indicatori. Astfel, pentru un utilizator ce lucreaz n sfera comercial, performana se poate
traduce n termeni de volum al veniturilor obinute sau de mrime a marjei comerciale. Aceti indicatori
analitici nu au sens dect n relaie cu dimensiunile analizei circumscrise fiecrui obiect de activitate.
Factorul timp reprezint o dimensiune ce este identificat sistematic n sistemul informatic al unei firme.
Dimensiunea temporal permite urmrirea unui element analitic (venituri) pe o perioad bine definit (zi,
decad, lun, trimestru, semestru, an(i)). n acelai timp, analiza unui indicator cu inciden major n
sistemul decizional va putea s-1 ventileze pe alte subiecte emergente, care sunt de fapt dimensiuni ale
analizei indicatorului considerat; de exemplu, este interesant de relevat cum pot fi ventilate veniturile pe
produs, pe regiuni, pe clieni.
Modelarea dimensional pleac de la principiul general conform cruia un obiectiv major al unui sistem
informatic este reprezentat de analiza ventilrii datelor cantitative (numite fapte) n interiorul datelor
calitative (numite dimensiuni).

4.1. Notiuni ce opereaza cu tehnicile multidimensionale

Hypercub cubul n-dimensional.


Faptele reprezint elementele analitice ale bazei de date.
Dimensiunile sunt categoriile descriptive dup care se realizeaz gruparea, sintetizarea i consoli-darea
datelor.
Ierarhiile reprezint nivelurile de detaliere pentru o dimensiune de date.
9

Agregatele sunt elemente compozite ce conin date aflate n stadii diferite de sintetizare.
Noile concepte organizeaz datele dup o struc-tur matriceal care reflect viziunea dimensional a
utilizatorilor asupra bazelor de date.

Fig.9

Conceptul de cub n-dimensional Consiliul OLAP definete hypercubul ca un grup de celule de date
aranjate dup dimensiunile datelor. De exemplu, o foaie de calcul tabelar exemplific o matrice
bidimensional cu celulele de date aranjate n rnduri i coloane, fiecare fiind o dimensiune. O matrice
tridimensional poate fi vizualizat ca un cub cu fiecare dimensiune formnd o fa a cubului. Dimensiunile
tipice ale datelor dintr-o ntreprindere sunt timpul, msurile, produsele, regiunile geografice, canalele de
distribuie etc.Afiarea pe ecranul calculatorului nu este identic cu metaforele vizuale

Dimensiunile
Conceptul de dimensiune este definit de Consiliul OLAP ca un atribut structural al unui cub ce const dintro list de membrii, pe care utilizatorii i percepe ca fiind de acelai tip. De exemplu, toate lunile, trimestrele,
anii formeaz dimensiunea Timp.. O dimensiune acioneaz ca un index pentru identificarea valorilor
dintr-o matrice multidimensional....Dimensiunile ofer un mod foarte concis, intuitiv de organizare i
selectare a datelor pentru explorare i analiz. [OLAP97]
Dimensiunile au urmatoarele caracteristici:
Furnizeaza informatii descriptive despre fiecare indicator (variabila).
Contin n general date statice. Atributele dimensionale nu se modifica la fel de des ca atributele din
tabela de fapte. Totusi uneori apar modificari ale valorilor atributelor dimensionale iar modelul
dimensional trebuie sa permita modificarea pentru a asigura coerenta si corectitudinea datelor.
Sunt esentiale pentru analiza. Un model dimensional ce ofera un numar mare de atribute dimensionale
permite analize ct mai complexe si mai variate.
ntr-un hypercub, o dimensiune este reprezentata printr-o axa.
ntr-o schema stea sunt tabelele care se dispun radial n jurul tabelei de fapte si se mai numesc tabele
dimensionale.
Dimensiunile sunt atribute de identificare a evenimentelor msurabile sau a lucrurilor pe care le analizm.
Spre deosebire de dimensiunile fizice care sunt bazate pe unghiuri i sunt limitate la trei, dimensiunile logice
nu au astfel de limite. Frecvent numrul de dimensiuni ntr-un set de date depete cele trei dimensiuni
fizice (rnd, coloan, pagin) ale ecranului de afiare. Abilitatea instrumentului OLAP de a modela multiple
dimensiuni de informaii l face mult mai potrivit pentru a lucra cu seturi complexe de date, dect bazele de
date relaionale i foile de calcul tabelar.Aceste tabele sunt denormalizate iar cheia lor primara este o cheie
simpla. Dimensiunile trebuie sa contina un numar ct mai mare de atribute (peste 100) pentru a permite
analize ct mai complexe si mai variate. Cele mai bune atribute dimensionale sunt cele textuale si se
10

folosesc ca sursa de restrictii n aplicatii. De exemplu dimensiunea Produs poate sa contina urmatoarele
atribute dimensionale: categoria de produse, marca, tipul de ambalaj, marimea ambalajului, descrierea
produsului etc. Conceptul de dimensiune este fundamental pentru modelarea multidimensionala. Cei mai
multi proiectanti utilizeaza fraza dimensiuni comune afacerilor. De exemplu, un model multidimensional
trebuie sa includa timpul ca dimensiune fundamentala. Cele mai multe instrumente de analiza
multidimensionala au implementata facilitatea care permite conversii de calendar si operatii de agregare ( zi>saptamna->luna->an ) automate si chiar manipularea cu usurinta a seriilor de timp ( perioade
promotionale, sezoane, perioade fiscale etc.) Alte dimensiuni comune afacerilor sunt : locatia, organizatia
(ierarhia organizationala), clientul .O dimensiune contine mai multi membri. Un membru este un nume
distinct sau un identificator folosit pentru a determina pozitia unui element de data (n schema stea apare sub
denumirea de atribut dimensional). De exemplu, toate lunile, trimestrele si anii formeaza dimensiunea Timp
si toate orasele, regiunile si tarile dimensiunea Locatie. Un membru poate apartine la una sau mai multe
ierarhii sau poate sa nu fie inclus ntr-o ierarhie (independent). De exemplu n dimensiunea Produs membru
culoare nu este inclus n nici o ierarhie. Se pot aranja membrii unei dimensiuni n una sau mai multe ierarhii.
Fiecare ierarhie poate avea mai multe nivele ierarhice. De exemplu n dimensiunea Timp putem avea doua
ierarhii. Pentru a identifica pozitia unui membru ntr-o dimensiune se folosesc conceptele de naltime si
adncime n ierarhie. naltimea se stabileste de jos n sus. Din acest motiv nivelul (L0) al ierarhiei reprezinta
nodurile frunza ale ierarhiei (naltimea cea mai mica). n schema stea, nivelul L0 se leaga la tabela de fapte.
La ora actuala sunt doua curente pro sau contra folosirii celor doua concepte. Adncimea n ierarhie este
stabilita de sus n jos. Exista posibilitatea ca doi membri care au aceeasi naltime sa aiba adncimi diferite si
invers (structuri arborescente neechilibrate). Structurile arborescente neechilibrate sunt implementate cu
succes n bazele de date multidimensionale, bazele de date relationale fiind necorespunzatoare.
Colectie de fapte (facts)
Colectia de fapte este un ansamblu de date corelate constnd din variabile si din date de context.
Un fapt poate reprezenta:
tranzactie a afacerii (activitatii) sau un eveniment (de exemplu o vnzare: ce a fost cumparat, unde si
cnd a avut loc vnzarea, cine a cumparat produsul, ct s-a platit pe unitatea de produs vndut
precum si reducerile implicate n vnzare);
starea unui obiect (de exemplu starea stocului: ce este stocat, unde este stocat si perioada de timp);
modificarile starii unui obiect dat (de exemplu modificarile stocului : miscarea produselor si
cantitatea implicata n miscare, etc)

Colectiile de fapte ce sunt asociate cu evenimente se numesc colectii de fapte fara fapte (factless facts), un
termen folosit de Ralph Kimball desi mai bine ar fi numite colectii de fapte fara variabile. Evenimentele sunt
adesea modelate printr-o colectie de fapte ce contine numai un numar de chei, fiecare reprezentnd cheia
primara a unei dimensiuni care participa la eveniment. Pentru a exemplifica se considera cazul unei colectii
de fapte n care se modeleaza prezenta zilnica dintr-un colegiu si care are urmatoarele dimensiuni:
Curs, Profesor, Student, Laborator si Timp.
Colectia de fapte va contine numai cheile primare ale dimensiunilor si va permite o serie de analize
interesante :
Care sunt cursurile cele mai frecventate/cele mai putin frecventate ?
Ce studenti participa la aceste cursuri?
Care laboratoare au fost cel mai mult folosite?
11

Care este rata medie de ocupare a laboratoarelor n timpul unei zile? etc.

Aceste analize presupun de fapt niste contorizari. Comanda SQL corespunzatoare este asimetrica datorita
structurii speciale a colectiei de fapte. Oricare din cele cinci chei externe poate fi folosita ca argument al
functiei COUNT():

Combinarea valorilor numerice poate determina reprezentarea unui punct ntr-un spaiu multidi-mensional.
Principalele operaii ntr-o B.D.M. sunt:
navigarea vertical n datele bazei - operaia prin care se face trecerea de la un anumit nivel de prezentare a
unui ansamblu de date, la un nivel mai detaliat (drill down) sau mai agregat (drill up);
rotaia bazei de date - schimbarea orientrii dimen-sionale n prezentarea datelor, prin permutri ntre linii
i coloane.
B.D.M. ce au ca surs de constituire i agregare B.D.R sunt circumscrise unui demers dinamic de
transformare prin tehnicile ROLAP (Relaional OL AP) (fig.10).

Figura 10

12

Aceast abordare pleac de la modelele normalizate ale B.D. relaionale, trece printr-o etap de
denormalizare i ajunge la un model dimensional care poate fi normalizat din punctul de vedere al
dimensiunilor analizei.
Colectiile de fapte si dimensiunile pot fi reprezentate ntr-o baza de date relationala ca tabele. n cel mai
simplu model multidimensional, schema stea, fiecare dimensiune este descrisa prin propria tabela si colectia
de fapte este stocata ntr-o singura tabela (tabela de fapte), indexata dupa o cheie compusa din cheile primare
ale dimensiunilor. Sunt multe variante ale schemei stea, dar ele folosesc aceleasi concepte de baza si anume
conceptul de tabela de fapte si tabela dimensionala. Gradul de mprastiere a datelor este un element
important n modelul multidimensional influentnd dimensiunea bazei de date. De exemplu indicatorul
volumul vnzarilor va avea valori valide numai pentru o mica fractiune a produsului cartezian al
dimensiunilor Produs, Client si Timp.
Conceptul de ierarhie
O ierarhie este un atribut al unei dimensiuni. Cele mai multe dimensiuni au o structur multi-nivel sau
ierarhic. Timpul este o dimensiune ierarhic multi-nivel (ore, zile, sptmni, luni, trimestre i ani), Locaia
geografic este o dimensiune ierarhic (vecini, orae, state i ri). n cele mai multe activiti ale unei firme,
ierarhiile sunt o necesitate. Ar fi imposibil de a funciona o firm, dac toate datele sale ar fi limitate la nivel
tranzacional. De exemplu, este necesar de a pstra informaii despre volumul vnzrilor lunare, pe
trimestru, pe an, pentru a vedea care produse se vnd mai bine i care mai prost. Criteriile dup care datele
sunt agregate pentru analiz i raportare trebuie s fie aceleai cu factorii folosii n procesul decizional. n
figura 2.3 este prezentat o ierarhie de produse.

4.2. Tipuri de modele multidimensionale


STELE, FULGI DE ZPAD I CONSTELAIILE DE FAPTE
Modelul de date entitate-asociaie (E-A) este curent utilizat n proiectarea bazelor de date relaionale.
Schema bazei de date const ntr-un set de entiti i de relaii ntre ele. Ca model de date acesta este
corespunztor reprezentrii on-line a tranzaciilor. Totui un depozit de date, necesit o schem concis,
orientat pe subiecte care faciliteaz analiza on-line a datelor. Cel mai popular model pentru depozitele de
13

date este modelul multidimensional. Acesta poate fi n form de stea (star schema), de fulg de zpad
(snowflake schema) sau de constelaie (constellation schema).
Schema stea. Schema stea este cel mai comun model de date, n care depozitul de date conine un
tabel central voluminos (tabelul de fapte) i un set de tabele nsoitoare (tabelele dimensiune) pentru fiecare
dimensiune. Tabelul de fapte cuprinde, fr redundane, cea mai mare parte a datelor. Graful asociat semn
cu o stea n care tabelele dimensiune sunt afiate radial njurul tabelului de fapte central.
Exemplul 1. Un exemplu de schem stea este prezentat n Figura 4.3. Vnzrile sunt considerate cu 4
dimensiuni numite timp, articol, ramur i zon. Schema cuprinde un tabel central pentru vnzri care
conine chei pentru fiecare din cele 4 dimensiuni naintea celor dou msuri: vnzri-lei i cantitate-vndut.
Precizm c n aceast schem stea fiecare dimensiune este reprezentat printr-un singur tabel i fiecare
tabel conine un set de atribute. De exemplu, tabelul zona conine atributele Cheie-zona, localitate, jude,
cod-potal, ara. Aceast definiie poate introduce o anumit redundana. De exemplu, Negreti i Brlad
sunt ambele din judeul Vaslui. nregistrrile pentru aceste localiti vor conine: ... Negreti, Vaslui, ...
Romnia; ... Brlad, Vaslui, ... Romnia.

Schema fulg de zpad" (snowflake). Modelul snowflake este o variant a modelului stea, unde o
parte din tabelele dimensiune sunt normalizate. De aceea, datele sunt mprite n tabele suplimentare.
Rezult o schem reprezentat ntr-un graf similar unui fulg de zpad. Diferena major ntre modelul fulg
de zpad" i modelul stea este c tabelele dimensiune din modelul fulg de zpad" pot fi pstrate n forma
14

normalizat ceea ce determin o redundan redus. Asemenea tabele sunt uor de ntreinut i se
economisete spaiu de stocare, deoarece un tabel dimensiune mare poate deveni enorm cnd structura
dimensional este inclus n coloane. Totui aceast economie de spaiu este neglijabil n comparaie cu
volumul foarte mare de date din tabelul de fapte. Mai mult, structura fulg de zpad poate reduce
eficacitatea browsing-ului" cnd mai multe ,join-uri" trebuie executate la o interogare. De aceea, schema
fulg de zpad este mai puin rspndit fa de schema stea n proiectarea depozitelor de date.
Exemplul 2. Un exemplu de schem fulg de zpad" pentru vnzrile firmei ALFA SA este prezentat n
Figura 4.4. Aici tabelul de fapte vnzri este identic cu cel din schema stea din Figura 4.3. Principala
diferen ntre cele dou scheme const n definirea tabelelor dimensiune. Dintr-un singur tabel dimensiune
pentru articol din schema stea, n schema fulg de zpad" rezult dou tabele: unul nou pentru articol i
altul pentru furnizor. Atributul cheie_furnizor din furnizori face legtura cu tabelul articol. n mod similar,
tabelul dimensiune zona poate fi normalizat n dou noi tabele: zona i localitatea. Atributul cheie-localitate
face legtura ntre cele dou table. Normalizarea poate continua.

n modelul multidimensional datele sunt organizate n multiple dimensiuni, iar fiecare dimensiune conine
mai multe niveluri de abstractizare definite prin ierarhii. Aceast organizare furnizeaz utilizatorilor
flexibilitate n vizualizarea datelor din diferite perspective. Operaiunile OLAP asupra cubului de date ofer
o flexibilitate sporit pentru a materializa diferite viziuni (views), permind interogri i analize interactive.
Din acest motiv OLAP furnizeaz un mediu utilizator prietenos pentru analiza interactiv a datelor: Drill-up
(roll-up); Drill-down; Dice; Slice; Pivot (rotate).

15

Figura 4.5-

O galaxie (constelatie) este o colectie de stele si consta dintr-o stea centrala nconjurata de alte stele.
Steaua centrala contine datele la nivel atomic iar celelalte stele contin date agregate. Steaua centrala se leaga
de celelalte stele prin atribute dimensionale

Figura 4.6 Modelul galaxie

5. De la tabele si foi de calcul la cubul de Date


Cubul de date permite modelarea i vizualizarea datelor n dimensiuni multiple. El este definit prin
dimensiuni i fapte. n termeni generali, dimensiunile exprim perspectivele n care o anumit organizaie
dorete s pstreze nregistrrile privitoare la tranzaciile desfurate. De exemplu, firma ALFA SA poate
crea un depozit de date pentru vnzri care conine nregistrrile lund n considerare urmtoarele
dimensiuni: timp, articol, ramur i zon. Aceste dimensiuni permit memorarea vnzrilor lunare pe articole,
ramuri i zone. Fiecare dimensiune poate avea un tabel asociat, numit tabel dimensiune, care descrie
dimensiunile. De exemplu, un tabel dimensiune pentru articol poate conine atributele: nume-articol, marca,
tip. Tabelele dimensiune pot fi specificate de utilizatori sau de experi sau pot fi generate n mod automat i
adaptate n funcie de distribuia datelor.Un model multidimensional de date este organizat n jurul unei teme
centrale, vnzri, de exemplu. Aceast tem este reprezentat de tabelul de fapte. Faptul are o msur
numeric. El exprim msurile prin care dorim s analizm relaiile ntre dimensiuni.De exemplu, faptele
16

din depozitul de date vnzri includ: vnzri n lei (vnzri-lei) cantitate-vndut (numrul de uniti
vndute), total vnzri planificate. Tabelul de fapte conine numele faptelor sau msurile precum i cheile
pentru fiecare din tabele dimensiune aflate n legtur.
Pentru clarificri figurile urmtoare ne vor pune n eviden cum lucreaz schemele multidimensionale.
Dei, n mod obinuit, ne bazm pe cuburi 3D, n depozitele de date cubul este n-dimensional. Pentru o mai
bun nelegere a cubului de date i a modelului multidimensional de date pornim de la un exemplu de cub
de date 2D care poate fi, n principiu, un tabel sau o foaie de calcul privind vnzrile unei firme. n
particular, este vorba de datele despre vnzrile firmei ALFA SA pe articole vndute trimestrial n
municipiul Vaslui, dup cum se vede n Tabelul 4.1. n reprezentarea 2D, vnzrile din Vaslui sunt expuse
lund n considerare dimensiunea timp (organizat pe trimestre) i dimensiunea articol (organizat pe tipuri
de articole vndute). Valorile sunt afiate n milioane lei. Presupunem acum c dorim vizualizarea datelor
despre vnzri cu o a treia dimensiune: zona. Cele trei dimensiuni sunt: timp, articol i zon (V, T, N, I).

Varianta 3D este prezentat n Tabelul 4.2. Datele 3D sunt reprezentate ca serii de tabele 2D. Conceptual,
putem reprezenta aceleai date n formatul cub de date 3D ca n Figura 4.1. Un cub de date este un set de
date organizat i sumarizat ntr-o structur multidimensional printr-un set de dimensiuni i msuri. Cubul
de date furnizeaz un mecanism facil pentru interogarea datelor cu un timp de rspuns foarte scurt. Fiecare
cub are o schem reprezentat de setul de tabele din depozitul de date. Tabelul central este tabelul de fapte i
este sursa de msuri din cub, iar tabelele dimensiune sunt sursele de dimensiuni. Presupunem acum c dorim
s vizualizm vnzrile adugnd a patra dimensiune, cum ar fi furnizorii. Vizualizarea n 4D devine
interesant. Totui putem vedea cubul 4D ca serii de cuburi 3D ca n Figura nr. 4. Dac vom continua aa
putem afia orice n-D date ca serii de (n-1)D cuburi.

17

6. Construirea si interogarea unui Cub - Microsoft SQL Server


2012

18

In acest capitol voi prezenta descrierea


succinda pas cu pas pentru crearea unui Cub si interogarea acestuia. Crearea cubului o
voi face cu ajutorul instrumentului Microsoft Visual Studio. Cubul creat il
voi adauga in SGBDul Microsoft SQL Server
2012 si respectiv il voi interoga.

Deschidem Visual Sutio si cream un nou proiect,


specificind tipul
Analysis Services Multidimensional....

Cream un nou cub, apasind click dreapta pe Cubes si New Cube... In continuare avem la dispozitie
citeva moduri de creare a cubului. Putem crea atit un cub gol, dupa care va trebui sa setam masurile si
dimensiunile manual sau putem crea un cub bazindu-ne pe careva tabele puse la dispozitie de SQL Server, in
scopuri de testare, exemple. Alegem Generate tables in the data source si alegem Adventure Works Standard
Edition.

19

Din motivul ca am ales aceasta


optiune, in continuare vom avea toate
masurile, ca exemple, puse la dispozitie,
aceste templateuri pot fi modificate pentru
a reflecta mai bine situatia noastra, astfel,
primele le vom redenumi ca Suma
Vinzarilor
si
respectiv
Cantitatea
Comandata, deasemenea putem adauga si
masuri noi.

20

Pentru crearea cubului, vom defini


doua dimensiuni, deci vom crea un cub
simplu, ca dimensiune vom selecta
Product si Time.

In
continuare
vom
alege
perioadele de timp ce dorim sa le
valorificam. Pentru a putea obtine
informatie cit mai completa se recomanda
de a selecta cit mai multe perioade.

21

La
aceasta
etapa
specificam
calendarul conform caruia se vor valorifica
datele. In cazul nostru vom selecta un
Calendar Fiscal ce incepe cu 1 Martie

Bifam ambele dimensiuni, deci vom avea un


cub propriuzis, trei dimensiuni.

La aceasta etapa putem vizualiza sub


forma ierarhica viitoarea structura a cubul ce
intentionam sa-l cream.

In continuare vom vizualiza sub forma


de arbore, masurile si respectiv in asa mod obtinem accesul la proprietatile cubului.
22

Pentru a exclude o eroare, selectam


o dimensiune implicita pentru cub, in cazul
nostru este Suma Vinzarilor.

In fereastra Dimensions putem vizualiza


toate dimensiunile si repectiv putem expanda
fiecare, modificind proprietatile cimpurilor sau
chiar putem sterge cimpurile ce nu prezinta interes.

in

23

Cream o baza de date SimpleBD in


SQL Server 2012. Aceasta baza de date va
servi sursa pentru crearea cubului.

24

Apasind pe New - > New vom


adauga baza de date creata recent.

Selectam serverul nostru si baza de date creata recent. In aceasta baza de date se va crea automat
schema necesara reflectarii datelor pastrate de cub, defapt aceste date vor fi pastrate in aceasta baza de date.
25

La aceasta etapa se va
specifica un account valid sa acceseze
baza de date recent creata.

Dupa ce a fost adaugata baza de date creata recent ca sursa de date, apasam Next.

26

Implicit lasam toate optiunile bifate si dorinta de a


popula baza de date.

27

Aici putem specifica diferite conventii de notare a


elementelor.

Dupa ce am creat tabelele necesare pentru


intretinerea cubului, in baza de date ce serveste
ca sursa, vom popula aceasta baza de date cu
careva
valori,
exportate
din
AdventureWorksDW2012. Vom completa doar
citeva din cimpurile create, suficiente pentru a demonstra lucrul cu bazele de date multidimensionale,
reflectate de cubul nostru.
Accesam baza de date AdventureWorksDW2012 , click dreapta, Tasks, ExportData.

28

La aceasta etapa Sursa nu modificam, iar


destinatia va reprezenta baza noastra de date
creata.

29

Pentru a simplifica, vom adauga copia in


baza noastra simpla de date doar citeva
cimpuri a produselor bazei da date puse la
dispozitie de SQL Server

Conform unei instructiuni SQL vom indica


doar acele cimpuri care dorim sa le
copiem.

Aici la destinatie vom


specifica tabelul Product
din schema dbo, deci
tabelul creat automat in
baza de date DB_Simple
de catre instrumentul
Microsoft Visual Studio

30

Vom apasa pe Edit


Mappings... pentru a
specifica concret relatiile
intre cimpurile acestor
doua tabele, din care in
care copiem.

Apasind Next->Next vom popula tabelul Produse din


baza de date DBSimple.

In mod similar vom proceda si pentru a popula


tabelul Internet_Sales.

Similar

31

Din motivul ca avem setat ForeignKey


in tabelul Internet_Sales, sintem nevoiti
sa completam cimpul FK_Date cu acele
valori care sint si in dbo.Date , adica din
intervalul
2005-01-01 00:00:00.000
si
2008-12-31 00:00:00.000
Aleator vom genera aceste valori,luind
in consideratie diferenta de zile dintre
aceste doua date, aflate de exemplu pe
siteul de mai jos:

http://www.timeanddate.com/date/durationresult.html?
d1=01&m1=01&y1=2005&d2=31&m2=12&y2=2008

32

Pentru a desfasura cubul creat, revenim in


Microsoft Visual Studio, apasind pe proiect ,
accesam optiunea Deploy si in partea
dreapta jos observam progresul.

Deschidem SQL Server 2012 si ne conectam la server , specificind tipul de serviciu Analysis Services.

33

Expandam DataBaseses si daca totul a decurs corect, aici putem vizualiza cuburile propriuzise, apasind click
dreapta -> New Query -> MDX se deschide fereastra unde putem scrie si testa diferite instructiuni de
interogarare a cubului, scrise in limbajul MDX (Multidimensional Expressions)

34

Rezultatul obtinut (taierea


cubului) dupa anumite criterii,
in cazul nostru vom reprezenta
datele in dimensiunea Time si
in dimensiunea Products

Concluzie
Efectuind acest proiect
de an am format deprinderi in
ceea ce priveste gestionarea
datelor intr-un concept multidimensional. Am studiat deasemenea si modelele de reprezentare
multidimensionala. Bazele de date multidimensionale sint reprezentate de notiuni specifice asa ca hypercub
(Cub n-dimensional), dimensiuni, masuri si ierarhii. Conceptul acestor notiuni le putem gasi in explicarea
oferita de consiliul OLAP. Pentru a intelege mai bine lucrul cu bazele de date multidimensionale am creat un
CUB in Microsoft Visual Studio care mai apoi l-am intergrat in Microsoft SQL Server 2012 si respectiv am
elaborat citeva interogari in MDX (multidimensional expressions) asupra acestui cub. Cubul elaborat a fost
populat cu date test oferite de baza de date AdventureWorksDW2012.

35

7. Bibliografie
http://www.marketwatch.ro/articol/816/O_abordare_proactiva_a_bazelor_de_date_OLAP/
http://www.enovator.ro/ro/produs-it-cub-contabil-accountcube-olap-analiza-multidimensionala.jsp
http://www.feaa.uvt.ro/bi/wp-content/uploads/2010/12/Abordari-de-tip-Data-Warehousing-Implementare-inMS-SQL-Server-2005.pdf
http://revistaie.ase.ro/content/17/Muntean.pdf

36