Sunteți pe pagina 1din 86

Sisteme Informatice

de Gestiune
Curs 11

BAZE DE DATE
AVANSATE

© Conf. dr. ing. mat. Ovidiu Blăjină

SIG-Curs 11 Baze de date avansate 1


1. Baze de date deductive
2. Baze de date multidimensionale
3. Baze de date multimedia

SIG-Curs 11 Baze de date avansate 2


1. Baze de date deductive

SIG-Curs 11 Baze de date avansate 3


Problema analizei şi interpretării unui volum
mare de date implică existenţa unui mecanism care
să poată manipula volume mari de date stocate în
baze de date şi să realizeze deducţii logice care să
conducă la schiţarea unor concluzii.
O soluţie în acest sens o reprezintă bazele de
date (B.D.) deductive, acestea înmagazinând nu
numai date, ci şi reguli care permit realizarea de
deducţii pe baza datelor existente.
Folosind atât tehnicile pentru bazele de date
relaţionale, cât şi programarea logică, B.D. deductive
permit manevrarea unor volume mari de date,
precum şi realizarea unor raţionamente bazate pe
SIG-Curs 11 Baze de date avansate 4
aceste date.
Tehnologia B.D. deductive poate fi folosită în
multe domenii: sisteme suport pentru asistarea
deciziei, sisteme expert etc.
B.D. deductive s-au bucurat de o atenţie
specială din partea specialiştilor, ceea ce a condus la
o cercetare îndelungată a facilităţilor oferite, în
momentul de faţă existând un număr mare de sisteme
pentru acestea: MetaLog - European Computer
Research Center; LDL - Micro Computer
Corporation, LOLA - Munich Technical University;
Glue-Nail - Stanford University; CORAL - Wiscon-
sin University, Aditi - Melbourne University.
SIG-Curs 11 Baze de date avansate 5
B.D. deductive reprezintă un produs realizat
prin combinarea B.D. cu programarea logică.
Programarea logică are la bază logica mate-
matică formalizată în termenii teoriei demonstrării
teoremelor. Se asigură cadrul formal pentru un
raţionament logic pe baza premiselor şi o descriere
cum pot fi interpretate aserţiuni de ordin general în
raport cu o colecţie de fapte.
Programarea logică (o programare descriptivă;
marea majoritate a limbajelor de programare logică
au la bază clauzele Horn, care reprezintă un subset a
logicii de ordinul I) foloseşte formalismul logic
pentru a reprezenta cunoştinţele şi motorul de infe-
SIG-Curs 11 Baze de date avansate 6
renţă (deductiv sau inductiv) pentru a rezolva
problemele prin derivarea predicatelor logice. Cel
mai cunoscut limbaj pentru programarea logică este
limbajul logic PROLOG.
O B.D. deductivă încorporează un motor de
inferenţă. Acesta reprezintă un modul de calcul care
aplică regulile definite bazei de date în scopul
deducerii de noi date, nestocate în bază.
B.D. deductive reprezintă o extensie a bazelor
de date relaţionale din punct de vedere al puterii de
calcul. Astfel, la B.D. relaţionale, atributele calculate
nu se păstrau în baza de date, ci doar formula de
calcul; în cazul B.D. deductive, elementele ce pot fi
SIG-Curs 11 Baze de date avansate 7
deduse prin raţionament se păstrează sub formă de
reguli.
Dacă B.D. relaţionale sunt fundamentate pe
teoria matematică a relaţiilor, B.D. deductive au o
fundamentare matematică bazată pe universul
Herbrand., respectiv, pe principiul lumii închise a
logicii de ordinul I. Conform acestui principiu, dacă
o aserţiune nu poate fi demonstrată ca adevărată,
atunci negaţia acelei aserţiuni trebuie să fie
considerată ca adevărată.
Din punct de vedere conceptual, B.D.
deductive comportă două componente:
• baza de date extensională, ce conţine atomi de
SIG-Curs 11 Baze de date avansate 8
bază şi corespunde faptelor stocate în baza de date.
Această parte reprezintă modulul relaţional al B.D.
deductive.
• baza de date intensională, ce constă în formule şi
reprezintă regulile din baza de date. Acea parte a
bazei de date intensionale ce nu cuprinde reguli
recursive corespunde interogărilor din B.D. relaţio-
nale. Baza de date intensională reprezintă partea de
programare logică a B.D. deductive.
În funcţie de modul de încorporare a
elementelor de programare logică în cadrul unui
S.G.B.D., există următoarea clasificare:

SIG-Curs 11 Baze de date avansate 9


„ cuplare slabă (fig.1) a unui S.G.B.D. cu un limbaj
de programare logică. În acest caz, la nivelul
limbajului de programare logică PROLOG s-au
integrat predicate de apel ale funcţiilor S.G.B.D.

Fig.1
SIG-Curs 11 Baze de date avansate 10
„ cuplare strânsă (fig.2) a unui S.G.B.D. cu un
limbaj de programare logică. Acest tip de legătură
apare atunci când are loc modificarea sau completa-
rea limbajului astfel încât să
vadă baza de date ca pe o
componentă proprie la care
se adresează cu predicate
predefinite.

Fig.2
SIG-Curs 11 Baze de date avansate 11
În urma integrării apare o extindere a funcţiilor
unui SGBD clasic, prin crearea unui limbaj ce are
următoarele facilităţi:
• recursivitatea (definirea relaţiei în funcţie de ea);
• negaţia, ce permite referirea la fapte inexistente;
• actualizarea faptelor pe bază de reguli;
• existenţa unui limbaj logic ce permite dezvoltarea
de aplicaţii.
Prin restrângerea limbajului PROLOG şi
adăugarea interfeţei de lucru cu B.D. a rezultat
DATALOG - un limbaj declarativ orientat pe progra-
marea logică şi considerat limbajul standard pentru
B.D. deductive.
SIG-Curs 11 Baze de date avansate 12
2. Baze de date multidimensionale
2.1. Consideraţii generale
2.2. OLAP: modelare şi analiză multi-
dimensională
2.3. Data Mining

SIG-Curs 11 Baze de date avansate 13


2.1. Consideraţii generale
Sistemele informatice operaţionale (tranzac-
ţionale) sunt organizate pe domenii de activitate
(marketing, gestiunea resurselor umane, financiar-
contabilitate, gestiunea vânzărilor etc.) şi au ca
nucleu baze de date orientate pe gestiune curentă,
numite şi baze de date operaţionale (B.D.O.).
Scopul principal al acestor baze de date este
stocarea datelor despre tranzacţiile unui anumit
domeniu de gestiune. Baza de date garantează
persistenţa datelor şi este concepută pentru a păstra
urma tranzacţiilor (evenimentelor) survenite într-o
organizaţie.
SIG-Curs 11 Baze de date avansate 14
OLTP (On-Line Transaction Processing)
reprezintă conceptul care descrie procesarea (pre-
lucrarea) tranzacţiilor legate de bazele de date
operaţionale într-un context tranzacţional. Modelul
de organizare a datelor este destinat să minimizeze
redundanţele pentru a menţine fiabilitatea şi coerenţa
sistemului informatic. Din punctul de vedere al
utilizatorului, modelul de date este complet
transparent. Astfel, utilizatorul nu poate accede la
modelul de date decât în mod indirect, prin
intermediul aplicaţiilor integrate (packages) puse la
dispoziţia sa. Datorită acestui fapt, lizibilitatea
modelului nu are o prea mare importanţă cu excepţia
SIG-Curs 11 Baze de date avansate 15
momentului validării modelului de către utilizator.
În majoritatea cazurilor, interogările sunt
previzibile; ele materializează cerinţe informaţionale
standard specificate de utilizatorii finali pe domenii
de activitate.
Volumul datelor accesat pentru a prelucra o
tranzacţie este în general limitat. De obicei, numărul
de intrări/ieşiri asociat fiecărei tranzacţii este finit,
previzibil. Pentru a efectua prelucrările necesare unei
bune execuţii, o tranzacţie face apel la un număr
limitat şi finit de structuri. Rar, o interogare
tranzacţională necesită asamblarea sau agregarea
datelor ce provin de la un număr mare de tabele.
SIG-Curs 11 Baze de date avansate 16
SGBD relaţionale sunt în general slab adaptate
procesului de analiză. Un SGBD relaţional poate
furniza o listă de valori rezultate dintr-una sau mai
multe tabele interogate.
Exemplu:
O bază de date poate conţine înregistrări care
descriu într-o formă bidimensională vânzările de
produse pe regiuni (fig.3). Prin interogări clasice, cu
o serie de restricţii se pot obţine informaţii rezultate
din încrucişarea celor două dimensiuni ale bazei de
date (produsele vândute pe luna X pentru regiunea Y
sau repartizarea cheltuielilor asupra ansamblului
regiunilor în care sunt distribuite produsele).
SIG-Curs 11 Baze de date avansate 17
Fig.3
SIG-Curs 11 Baze de date avansate 18
B.D. operaţionale, aşa cum sunt ele în prezent
organizate, nu dau răspuns la întrebări de genul:
Câţi clienţi cu vârsta cuprinsă între 25 şi 35 de
ani din oraşele Bucureşti şi Constanţa au
cumpărat o maşină Logan în cursul ultimilor 2
ani ?
Care sunt componentele maşinilor din producţie
ce au avut cele mai mare număr de incidente în
perioada 2001-2002 ?
Care este repartiţia vânzărilor pe produse şi pe
localităţii pe ultimele 12 luni ?

SIG-Curs 11 Baze de date avansate 19


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 acelaşi loc fără să supraîncarce
bazele de date operaţionale;
¾ să permită un acces universal la baze de date
eterogene şi eventual distribuite;
¾ să aibă funcţii de consolidare automată a datelor;
¾ să dispună de proceduri care să permită degajarea
de informaţii care să fundamenteze mai bine procesul
de management;
¾ să permită o ameliorare globală a performanţei
firmei.
SIG-Curs 11 Baze de date avansate 20
Bazele de date multidimensionale (B.D.M.)
sunt orientate pe management şi au ca sursă
principală B.D.O. Ele pot constitui suport pentru
desfăşurarea de activităţi cum ar fi : analiză vânzări
şi marketing; urmărirea şi fidelizarea clienţilor;
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 fişiere de date);
„ externe (baze de date sectoriale, elaborate de orga-
nisme de sinteză/coordonare cum ar fi: Camera de
comerţ şi industrie, Direcţia de statistică etc.).

SIG-Curs 11 Baze de date avansate 21


Prin analiza datelor din B.D.M. se pot obţine
informaţii sau se pot deduce noi informaţii şi
cunoştinţe (fig.4):

Fig.4

SIG-Curs 11 Baze de date avansate 22


O bază de date multidimensională (B.D.M.)
se defineşte ca un ansamblu de date, constituite prin
extracţie sau transformare de date din bazele de date
(în general B.D.O.) sau fişiere interne sau externe,
ce variază în timp, organizate multidimensional şi
explorate prin interogări convenţionale 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ă.
SIG-Curs 11 Baze de date avansate 23
Fig.5

SIG-Curs 11 Baze de date avansate 24


Caracteristici B.D.O. B.D.M.
Operaţie Gestiune curentă Suport pentru decizii
Model E-A Modele stea şi fulg
normalizare de zăpadă; puţin
normalizate
Date Actuale Temporale
Actualizare Imediată Adesea în timp
diferit
Consolidare Foarte scăzut Foarte ridicat
Percepţie Tabele detaliate Multidimensională
rezumată
Acces Citire şi scriere Numai citire
SIG-Curs 11 Baze de date avansate 25
Caracteristici B.D.O. B.D.M.
Număr Mai scăzut decât
utilizatori pentru B.D.O.
Mărime De la 100 MB la GB GB şi TB (terabytes)
(gigabytes)
Număr Mai mare decât la
înregistrări B.D.O.

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


• Organizare pe teme ale conducerii. Datele sunt
structurate având la bază teme ale conducerii şi nu
procese funcţionale ca în cazul B.D.O.
SIG-Curs 11 Baze de date avansate 26
• Memoria organizaţiei. B.D.M. este văzută ca o
memorie a întreprinderii. Volumul datelor este
colosal şi în armonie cu sistemele operaţionale.
• Integrare date. Integrarea datelor constituie proble-
ma cel mai greu de rezolvat (este funcţie de
codificarea datelor); ea vizează în egală măsură
datele interne şi externe.
• Date temporale (istorice). Acestea permit efec-
tuarea de extrapolări bazate pe evenimente trecute.
• Redundanţă. Datele sunt stocate în B.D.M. cu
eventuale redundanţe (nu există deocamdată un
formalism riguros pentru normalizarea datelor din
B.D.M.).
SIG-Curs 11 Baze de date avansate 27
• Date nevolatile. Datele din B.D.M. nu se actuali-
zează. O anume interogare efectuată la anumite
intervale de timp determină obţinerea aceluiaşi
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 (operaţionale)
sau a datelor pe mai mulţi ani.
• Date agregate. Ele trebuie să fie stocate astfel
încât să permită navigarea utilizatorilor, de la sinteză
la detaliu şi invers.
• Metadate. Ele constituie una din componentele de
bază a unei baze de date. Conţin informaţii despre
SIG-Curs 11 Baze de date avansate 28
B.D.M. şi procesele asociate; sunt destinate:
utilizatorilor finali (semantica datelor utilizate),
administratorului bazei de date (structura bazei de
date, dicţionarul de date).
• Data Marts. Firmele mari pot descentraliza B.D.M.
şi construi astfel ceea ce se numeşte DataMart.
• OLAP (On-Line Analytical Processing) Desemnea-
ză o categorie de aplicaţii ş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 utilizând tehnici din inteligenţa
artificială şi statistică în scopuri de analiză a datelor.
SIG-Curs 11 Baze de date avansate 29
2.2. OLAP: modelare şi analiză multi-
dimensională
2.2.1. Elemente introductive
Cea mai mare parte a problemelor care se
încearcă a se rezolva cu tehnologia relaţională sunt în
realitate de natură multidimensională.
Modelul relaţional descrie tabelele în două
dimensiuni (linie, coloană), în timp ce modelul
multidimensional nu are limite în ceea ce priveşte
stocarea dimensională (spaţială) a datelor.
Un SGBD relaţional nu este adaptat unor astfel
de cerinţe în care intervin: agregări de date; sinteti-
SIG-Curs 11 Baze de date avansate 30
tizări; consolidări; proiecţii multidimensionale.
Tehnologiile OLAP se fondează pe modelarea
şi analiza multidimensională a datelor (fig.6).
Pentru ca un sistem informatic să fie cu
adevărat performant, acesta trebuie să fie proiectat pe
componentele sale dimensionale.
OLAP oferă utilizatorilor instrumente ce permit
navigarea de la o dimensiune la alta şi modalităţi de
relevare a informaţiilor cele mai detaliate.
Tehnologia OLAP se bazează pe 12 principii
fundamentale, formulate în 1992 de Ted Codd:
1) viziune conceptuală multidimensională asupra
datelor;
SIG-Curs 11 Baze de date avansate 31
Fig.6

SIG-Curs 11 Baze de date avansate 32


2) transparenţă, prin arhitectura deschisă a sisteme-
lor (ascunderea pentru utilizator a eterogenităţii even-
tuale a datelor);
3) accesibilitate, prin ascunderea pentru utilizator a
modalităţilor tehnice de furnizare a datelor (utilizato-
rul trebuie să preia datele dintr-un univers eterogen:
SGBDR, fişiere, date externe organizaţiei, WEB etc.);
4) performanţe 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
diferiţi clienţi ai produselor OLAP;
6) prelucrarea generică a dimensiunilor, adică posi-
SIG-Curs 11 Baze de date avansate 33
bilitatea efectuării aceleiaşi operaţii asupra tuturor
dimensiunilor;
7) gestionarea dinamică şi eficace a matricelor
încrucişate, adică aptitudinea de a nu aglomera
memoria calculatorului cu celulele ce corespund
combinărilor dimensionale nule;
8) multi-user, adică posibilitatea de acces simultan
la acelaşi context de analiză pentru mai mulţi
utilizatori;
9) operaţiuni nerestrictive, adică posibilitatea efec-
tuării, fără restricţii tehnice, de calcule asupra tuturor
combinărilor de dimensiuni posibile şi de niveluri
ierarhice;
SIG-Curs 11 Baze de date avansate 34
10) posibilitatea manipulării intuitive a datelor;
11) manipularea intuitivă a datelor;
12) număr nelimitat de niveluri de agregare şi de
dimensiuni, adică absenţa (apriori) limitelor număru-
lui de dimensiuni posibile şi a numărului de niveluri
ierarhice pe fiecare dimensiune în parte.
Exemplu:
O firmă distribuie produse clienţilor şi asigură
livrarea comenzilor către comercianţi.
Se pune problema de a analiza veniturile
obţinute din vânzări de produse, pe clienţi, pe judeţe,
pe regiuni, pe ţări importatoare etc.

SIG-Curs 11 Baze de date avansate 35


Un model normalizat de bază de date pentru
acest exemplu, ce poate fi implementat într-un
SGBD, este ilustrat în fig.7.
Semantica acestui model este însă slabă.
Informaţiile interesante pentru utilizator nu există
apriori, acestea trebuie extrapolate pentru a fi
cunoscute. Astfel, de exemplu, din model reiese că
preţul unitar nu prezintă o valenţă informaţională
majoră, cu toate că acesta permite calcularea
veniturilor (cifrei de afaceri) şi a marjei comerciale.
Aceşti indicatori analitici vor trebui calculaţi dinamic
la fiecare cerere de interogare.
Din punct de vedere relaţional, modelul este
SIG-Curs 11 Baze de date avansate 36
Fig.7
SIG-Curs 11 Baze de date avansate 37
complet. El lasă o mare marjă de autonomie
utilizatorului, dar poate provoca pierderea controlu-
lui asupra datelor, dacă, de exemplu, fiecare utiliza-
tor îşi dezvoltă propria sa viziune despre ceea ce
înseamnă o cifră de afaceri.
Modelul este compus din şapte entităţi. Un
model de distribuţie implementat într-o firmă, ar
putea conţine teoretic zeci sau chiar sute de entităţi
şi, deci, tot atâtea tabele la nivel fizic. O cerere de
interogare lansată pentru corelarea informaţiilor (cum
ar fi cheltuielile, vânzările sau stocurile) poate
implica în funcţie de complexitatea modelului
conceptual zeci de tabele legate. Aceste tipuri de
SIG-Curs 11 Baze de date avansate 38
interogări vor fi foarte greu de formulat, atât pentru
utilizatorul final, cât şi pentru proiectantul şi/sau
administratorul bazei de date.
În sistemele decizionale simple, în care un
număr redus de utilizatori lansează interogări asupra
unui model de date de mică anvergură, demersul
prezentat poate funcţiona cu succes, dar în alte cazuri
trebuie să se recurgă la alte tehnici şi modele de
reprezentare a datelor.

SIG-Curs 11 Baze de date avansate 39


2.2.2. Denormalizarea modelului bazei de date
Pentru a răspunde exigenţelor legate de
utilizarea analitică a datelor din bazele de date,
trebuie ca modelul normalizat al acestora să fie
transformat printr-un proces de denormalizare, dublat
de precalcularea unor agregate care pot introduce
redundanţe.
Denormalizarea datelor din bazele de date
reprezintă un demers pragmatic. Până în prezent nu
există încă nici o tehnică formală de denormalizare.
Exemplu:
Pentru a denormaliza baza de date cu modelul
ilustrat în fig.7 se porneşte de la o analiză precisă a
SIG-Curs 11 Baze de date avansate 40
necesităţilor informaţionale ale utilizatorilor în ceea
ce priveşte analiza veniturilor obţinute din vânzări.
Analiză referitoare la utilitatea informaţiei
arată că tabela Ţară nu constituie un subiect de
interes major pentru utilizatori. Din contră, este
interesant de asociat numele ţării subiectului unei
linii de comandă. Astfel tabela Ţară poate fi anulată,
iar un element identificator al acesteia (Cod Ţară)
poate migra în tabela Linie_Comandă. Identificatorul
de ţară poate fi asimilat de tabela Clienţi (pentru
exporturi de produse) şi de tabela Furnizori (pentru
importuri de elemente necesare producţiei). Conform
acestui raţionament, pot fi suprimate şi celelalte
SIG-Curs 11 Baze de date avansate 41
tabele "auxiliare" din baza de date, considerându-se a
nu fi reprezentative într-un context analitic.
Elementele de identificare ale tabelelor anulate vor fi
preluate după o analiză logică de către tabelele
"principale".
O primă observaţie a procesului de denorma-
lizare este aceea că modelul bazei de date capătă
aspecte redundante; de exemplu, atributul Ţara
figurează în trei tabele: Furnizor, Client şi
Linie_Comandă. Se consideră că aceste redundanţe
sunt uşor de gestionat în faza de culegere a datelor.
Modelul denormalizat (fig.8) conţine un număr
mai mic de tabele, fiecare tabelă fiind asociată unui
SIG-Curs 11 Baze de date avansate 42
Fig.8
SIG-Curs 11 Baze de date avansate 43
unui pol de interes.
Printre altele, modelul prezintă un oarecare
număr de informaţii agregate, cum ar fi Venituri n-1
şi Venituri n, ce sunt asociate subiectului tabelei
Produs. Aceste informaţii agregate trebuie să fie
disponibile în orice moment, deoarece sunt cerute
frecvent informaţii referitoare la venituri.
În general, procesul de denormalizare este
centrat şi orientat pe subiecte, ceea ce-1 apropie de
cerinţele utilizatorilor şi îl face mult mai transparent.

SIG-Curs 11 Baze de date avansate 44


2.2.3. Modelarea multidimensională
Modelarea dimensională pleacă de la principiul
că obiectivul major al unui sistem informatic pentru
analizarea datelor din bazele de date este analiza
performanţei. Performanţa se poate materializa printr-
un ansamblu de indicatori. Astfel, pentru un utilizator
ce lucrează în sfera comercială, performanţa se poate
traduce în termeni de volum al veniturilor obţinute
sau de mărime a marjei comerciale.
Aceşti indicatori analitici nu au sens decât în
relaţie cu dimensiunile analizei circumscrise fiecărui
obiect de activitate. Factorul timp reprezintă o
dimensiune ce este identificată sistematic în sistemul
SIG-Curs 11 Baze de date avansate 45
informatic al unei firme. Dimensiunea temporală
permite urmărirea unui element analitic (venituri) pe o
perioadă bine definită (zi, decadă, lună, trimestru,
semestru, an(i)).
În acelaşi 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 clienţi.
Modelarea dimensională pleacă de la principiul
general conform căruia un obiectiv major al unui
sistem informatic este reprezentat de analiza ventilării
SIG-Curs 11 Baze de date avansate 46
datelor cantitative (numite fapte) în interiorul datelor
calitative (numite dimensiuni).
Tehnicile multidimensionale operează cu noţiu-
nile: fapte, dimensiuni, ierarhie şi agregat.
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.
Agregatele sunt elemente compozite ce conţin
date aflate în stadii diferite de sintetizare.
SIG-Curs 11 Baze de date avansate 47
Noile concepte organizează datele după o struc-
tură matriceală care reflectă viziunea dimensională a
utilizatorilor asupra bazelor de date.
Analiza datelor de-a lungul mai multor dimen-
siuni este mult mai uşor de vizualizat decât de
descris.
Este mult mai simplu pentru un utilizator să
vizualizeze datele într-o structură multidimensională
ce conservă informaţiile şi în care datele sunt legate
între ele în mod natural. Fig.9 ilustrează modul cum
datele referitoare la vânzări pot fi analizate de-a
lungul dimensiunilor timp, produs şi regiune (fiecare
latură a cubului reprezintă un element dimensional).
SIG-Curs 11 Baze de date avansate 48
Fig.9

SIG-Curs 11 Baze de date avansate 49


Intersecţia celulelor celor trei dimensiuni
conţine datele de analizat, măsurile acestora, iar
fiecare dimensiune poate avea unul sau mai mulţi
membri. De exemplu, dimensiunea Regiune poate
avea ca membri zonele geografice (nord, sud, est,
vest), dimensiunea Produs poate conţine ca membri
produsele vândute, iar dimensiunea Timp poate avea
membrii de tipul unităţilor de timp (zile, săptămâni,
decade, luni, trimestre, semestre, ani etc.).
În general, din punct de vedere conceptual,
analiza se axează pe trei dimensiuni principale:
elementul supus analizei, componenta spaţială şi
componenta temporală.
SIG-Curs 11 Baze de date avansate 50
MOLAP (Multidimensional OLAP) poate
organiza şi analiza datele după n dimensiuni ale
cubului. Termenul de cub este utilizat generic pentru
a descrie spaţiul n-dimensional ocupat de date. Un
cub ce stochează datele în mai multe dimensiuni este
denumit hypercub.
Într-un hypercub datele sunt stocate pe zone
multidimensionale, în care fiecare celulă dintr-o zonă
reprezintă intersecţia tuturor dimensiunilor. Utilizând
această abordare poate fi analizat simultan orice
număr de dimensiuni şi pot fi prezentate multiple
vizualizări multidimensionale ale datelor. Există
posibilitatea ca mai multe celule să nu conţină valori.
SIG-Curs 11 Baze de date avansate 51
De exemplu, dacă hypercubul analizează
vânzările după axele produs, regiune, timp, volum
vânzări şi rata de creştere a vânzărilor este foarte
posibil ca nu toate produsele să fie vândute în
magazinele amplasate în diverse regiuni, de-a lungul
perioadei analizate.
În general, cu cât numărul de dimensiuni ale
hypercubului creşte, cu atât numărul celulelor goale
are probabilitatea de-a fi mai mare. Acest fenomen
poate influenţa capacitatea de stocare a datelor,
deoarece MOLAP alocă din start un spaţiu
dimensional de înregistrare potrivit combinărilor
maxim posibile dintre dimensiunile existente.
SIG-Curs 11 Baze de date avansate 52
Datele dintr-un context multidimensional sunt
percepute din punct de vedere conceptual sub formă
de matrice cu mai multe straturi. Fiecare strat
reprezintă o dimensiune ce descrie un fapt al
bazei de date. Aceste matrici sunt hypercuburi
multidimensionale.
Tehnologia matriceală prezintă trei avantaje
majore:
„ Datele sunt reprezentate, din punct de vedere
tehnic, sub o formă ce reflectă modelul conceptual,
iar manipulările libere de date sunt mai intuitive.
Astfel, un hypercub este un model de date auto-
documentat.
SIG-Curs 11 Baze de date avansate 53
„ Accesul la datele conţinute de celulele hypercub-
ului este mult mai direct decât în orice altă structură
complexă de date. Noţiunea de "legătură" (join) între
date nu există, deoarece acestea se regăsesc într-un
singur tablou multidimensional. În egală măsură,
timpii de răspuns pentru cererile de interogare
formulate sunt foarte reduşi, faţă de timpii de răspuns
ai unei B.D. relaţionale interogate.
„ Administrarea unei scheme matriceale este mult
mai simplă decât exploatarea unei B.D. relaţionale.
Transcrierea modelului conceptual al datelor este o
operaţiune simplă şi directă, cu condiţia ca datele să
regăsească sub formă dimensională.
SIG-Curs 11 Baze de date avansate 54
Singurul aspect nenormalizat ce poate deriva dintr-un
mod dimensional de organizare a datelor este
coabitarea mai multor contexte conceptuale în acelaşi
hypercub.
Cererile de interogare a unei B.D.M. corespund
formelor în care utilizatorii doresc să-şi prezinte
informaţia extrasă din bazele de date. Rezultatele
corespund unei matrice, în care fiecare dimensiune
este descrisă de o entitate, iar conţinutul este dedus
din asocierea entităţilor.
Combinarea condiţiilor şi restricţiilor reprezintă
coordonatele ce determină valorile faptelor.
Combinarea valorilor numerice poate determina
SIG-Curs 11 Baze de date avansate 55
reprezentarea unui punct într-un spaţiu multidi-
mensional.
Principalele operaţii într-o B.D.M. sunt:
• navigarea verticală în datele bazei - operaţia 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);
• rotaţia bazei de date - schimbarea orientării dimen-
sionale în prezentarea datelor, prin permutări î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 (Relaţional OL
AP) (fig.10).
SIG-Curs 11 Baze de date avansate 56
Fig.10
SIG-Curs 11 Baze de date avansate 57
Această abordare pleacă de la modelele
normalizate ale B.D. relaţionale, trece printr-o etapă
de denormalizare şi ajunge la un model dimensional
care poate fi normalizat din punctul de vedere al
dimensiunilor analizei.

SIG-Curs 11 Baze de date avansate 58


2.2.4. Tipuri de modele multidimensionale
1) Modelul în stea
În modelul dimensional indicatorii de bază sunt
grupaţi într-o tabelă principală, numită tabelă de
fapte. O astfel de tabelă regrupează toţi indicatorii ce
partajează acelaşi ansamblu de dimensiuni şi toţi
indicatorii ce nu pot fi deduşi din alţi indicatori.
Tabela de fapte conţine elemente numerice
măsurabile ce există la intersecţia dimensiunilor.
Faptele din tabela de fapte reprezintă elementele de
date ce pot fi agregate. La nivelul acestei tabele nu
este necesară descrierea datelor în mai mult de două
dimensiuni.
SIG-Curs 11 Baze de date avansate 59
Acest tip de model este denumit model în stea.
În centrul reprezentării se găseşte tabela de fapte.
Identificatorul tabelei de fapte este o cheie multiplă
compusă din concatenarea cheilor tuturor dimensiu-
nilor de analiză.
Exemplu:
Atributul venituri, stocat în tabela de fapte, poate fi
identificat prin dimensiunile: produs, perioda, client,
furnizor. Modelul dimensional al bazei de date este
prezentat în fig.12.
În corelaţie cu tabela de fapte, figurează toate
elementele ce caracterizează dimensiunile analizei.
Aceste caracteristici sunt regrupate în patru tabele de
SIG-Curs 11 Baze de date avansate 60
Fig.12
SIG-Curs 11 Baze de date avansate 61
dimensiuni. În acest fel, tabela ce corespunde
dimensiunii Produse va conţine toate informaţiile de
analizat care descriu un produs (culoare, gamă, preţ,
ambalaj, accesorii etc).
În realitate, pot exista mai multe tabele de fapte,
deoarece nu toţi indicatorii partajează aceeaşi
dimensiune.
Modelul în stea şi, în general, toate modelele
multidimensionale care pot deriva din acesta, pleacă
de la principiul potrivit căruia interesul utilizatorilor
este centrat pe analiza indicatorilor. O cerere de
interogare bazată pe modelul multidimensional
începe prin selectarea criteriilor de analiză asupra di-
SIG-Curs 11 Baze de date avansate 62
mensiunilor şi se va interesa de valoarea indicatorilor
pentru datele selectate anterior. În acest mod, un
utilizator va căuta să afle, de exemplu, volumul
veniturilor realizate din vânzarea produselor dintr-o
gamă, pentru anul în curs şi pe regiuni.
Modelul multidimensional are două avantaje
majore: lizibilitatea şi performanţa.
Lizibilitatea sau transparenţa evidenţiază faptul
că modelul este foarte sugestiv pentru utilizator, iar
finalitatea sa este evidentă. Modelul este, în mod
natural, orientat pe subiecte şi îşi defineşte explicit
indicatorii de analiză.
Performanţa derivă din uşurinţa cu care sunt
SIG-Curs 11 Baze de date avansate 63
previzibile căile de acces la baza de date. Tabela de
fapte poate conţine mai multe milioane de înregis-
trări, în timp ce tabelele de dimensiuni sunt mult mai
reduse ca volum. Numărul mare de înregistrări din
tabela de fapte este contrabalansat de dimensiunea
redusă a fiecărei înregistrări. Tabela de fapte conţine
numai informaţie numerică şi identificatori. Este mult
mai uşor de gestionat şi de optimizat accesul la tabela
de fapte, deoarece aceasta este activată după selecţiile
necesare asupra tabelelor de dimensiuni. Operaţiunile
de selecţie returnează ca rezultate identificatori, prin
intermediul cărora se permite accesul în tabela de
fapte. Parcurgerea totală a tabelelor poate fi evitată
SIG-Curs 11 Baze de date avansate 64
printr-o operaţie de indexare, rezultând timpi de
răspuns proporţionali cu rezultatul aşteptat.
2) Modelul tip fulg de zăpadă
Modelarea tip fulg de zăpadă (snowflake)
derivă din modelul în stea. Fulgul de zăpadă este de
fapt o stea ale cărei raze sunt descompuse într-o
structură ierarhică.
Modelarea presupune a conserva nucleul mo-
delului în stea (tabela de fapte) şi a descompune
tabelele de dimensiuni în sub-tabele. Modelul fulg de
zăpadă normalizează tabelele dimensionale ale
modelului în stea.
Pentru a trata dimensiunea temporală se pot
SIG-Curs 11 Baze de date avansate 65
defini subentităţi de tip an, lună, semestru.
Prin normalizarea dimensiunilor, modelul poate
elimina redundanţele apărute odată cu denormalizarea
bazei de date (fig.13).
Un dezavantaj al modelului multidimensional
este faptul că acesta nu este complet. Astfel, în
exemplul furnizat, noţiunea de comandă a dispărut,
deoarece în momentul analizei nu s-a judecat ca fiind
utilă procesului decizional. Presupunem că în cursul
analizei, utilizatorii ar dori să cunoască corelaţiile
dintre vânzări la nivelul unei comenzi. Modelul nu
poate prezenta o astfel de informaţie, deoarece s-a
făcut abstracţie de această entitate informaţională.
SIG-Curs 11 Baze de date avansate 66
Fig.13
SIG-Curs 11 Baze de date avansate 67
Pentru ca modelul să poată face analiza pe
comenzi, ar trebui adăugată o nouă dimensiune -
comandă. În acest scop, se pleacă de la modelul
normalizat, unde se observă faptul că tabela comandă
este legată de client, produs şi dată. În modelul
dimensional, se va adăuga în tabela de fapte un nou
atribut ID_Comandă pentru fiecare triadă Produs-
Client-Dată. Adăugarea unei noi dimensiuni poate
avea ca efect creşterea sensibilă a volumului tabelei
de fapte.
O altă caracteristică a acestui tip de modelare
este aceea că din punctul de vedere al utilizatorului
este puternic orientată pe subiecte.
SIG-Curs 11 Baze de date avansate 68
2.2.5. Gestiunea dimensiunii temporale
În bazele de date, gestiunea timpului generează
multiple operaţiuni de sintetizare a informaţiei pe
mai multe niveluri de agregare.
Interogările bazei de date axate pe o compo-
nentă temporală vor fi uşor de evaluat şi de
interpretat de către utilizator, axa timpului putând fi
declinată din mai multe puncte de vedere.
Exemplu:
Analiza vânzărilor la un mare distribuitor se poate
efectua după mai multe criterii (ora dintr-o zi; ziua
unei săptămâni; luna; perioada fiscală; perioada
legată de promovarea unor produse sau evenimente
SIG-Curs 11 Baze de date avansate 69
externe). Va permite efectuarea de comparaţii asupra
unor perioade numite "variabile" (creşterea vânzărilor
lunii curente faţă de luna precedentă; vânzări realizate
în primele cinci zile ale anului şcolar faţă de aceeaşi
perioadă a anului precedent etc).
Noţiunea temporală este prezentă la două nive-
luri în modelele dimensionale. Timpul este întot-
deauna o dimensiune cu parte întreagă. Dar, în mod
independent, noţiunea temporală poate apare la
nivelul mai multor dimensiuni, atunci când carac-
teristicile elementelor descrise prin timp evoluează;
este dimensiune lent schimbătoare (slowly changing
dimensions).
SIG-Curs 11 Baze de date avansate 70
Prin acest termen se descriu anumite dimensiuni ce
sunt asociate unor caracteristici ce pot evolua în timp
şi ale căror evoluţii trebuie cunoscute.
Exemplu:
Dacă se are în vedere dimensiunea Client, atunci
când un client îşi schimbă domiciliul, această
evoluţie este independentă de relaţia sa cu firma şi
de evenimentele pe care ea le implică.

SIG-Curs 11 Baze de date avansate 71


2.3. Data Mining
Explorarea datelor din B.D.M. se realizează cu
tehnici de analiză avansată, rezultate din intersecţia
inteligenţei artificiale cu tehnici de analiză a datelor:
analiză statistică, modele funcţionale, reţele neuro-
nale, căutarea de reguli asociative, clasificare, seg-
mentare etc. Aceste mijloace de explorare sunt
desemnate cu apelativul Data Mining.
Un Data Mining are două obiective:
„ obiectiv de descriere, ce constă în determinarea
variabilelor semnificative şi determinarea influenţelor
(interacţiunile între variabile asupra altor variabile);
„ un obiectiv de modelare/predicţie, pentru a preve-
SIG-Curs 11 Baze de date avansate 72
dea, datele trebuie incluse într-un model).
Principalele concepte utilizate în procesul de
explorare a datelor sunt:
• Clasa: datele stocate sunt folosite pentru a localiza
date în grupuri predefinite. Exemplu: un lanţ de
restaurante poate explora datele pentru a determina
care sunt intervalele orare cu un aflux mai mare de
clienţi, precum şi ce comandă ei în mod obişnuit.
• Cluster: datele sunt grupate conform relaţiilor
logice sau preferinţelor existente. Exemplu: pot fi
explorate date pentru a identifica segmentul de piaţă
sau preferinţele consumatorilor.
• Asocieri: datele pot fi explorate pentru a identifica
SIG-Curs 11 Baze de date avansate 73
asocieri sau legături existente între ele.
• Model secvenţial: datele sunt explorate pentru
anticiparea comportamentului şi a trendului mode-
lelor.
Funcţiile principalele ale unui model de desco-
perire a datelor:
„ Clasificare - descoperirea unei funcţii care să
indice apartenenţa unei date la o anumită clasă dintr-
un grup de clase predefinite.
„ Regresie - identificarea unei funcţii care să esti-
meze valorile viitoare ale unei date pe baza valorilor
precedente.
„ Clustering - determinarea unui set finit de cate-
SIG-Curs 11 Baze de date avansate 74
gorii sau clustere necesar pentru descrierea datelor.
„ Modelarea dependenţelor - determinarea unui
model care să descrie dependenţele semnificative
dintre variabile.
„ Analiza legăturilor - descoperirea celor mai
semnificative, importante modificări ale datelor faţă
de valorile anterioare, identificarea variabilelor
dependente, precum şi a intensităţii dependenţei.
Metode utilizate în procesul de explorare a
datelor:
• Reţele neuronale artificiale: sunt modele neliniare
care "învaţă" din situaţiile anterioare şi care simu-
lează structura reţelelor neuronale biologice.
SIG-Curs 11 Baze de date avansate 75
• Algoritmi genetici: reprezintă tehnici de optimizare
care utilizează procese cum ar fi combinaţiile gene-
tice, mutaţiile şi selecţia naturală în proiectarea
bazată pe conceptele evoluţiei naturale.
• Arbori decizionali: sunt structuri de tip arbore care
reprezintă un set de decizii.
• Metoda "celui mai apropiat vecin": este o tehnică
de clasificare a fiecărei înregistrări într-un set de date,
bazat pe o combinaţie de clase ale celor mai similare
k înregistrări ("cei mai apropiaţi k vecini“).
• Reguli de inducţie: presupune extragerea regulilor
"if-then" folositoare din baza de date, extragere
bazată pe semnificaţia statistică.
SIG-Curs 11 Baze de date avansate 76
• Vizualizarea datelor: se referă la interpretarea
vizuală a relaţiilor complexe între date multidimen-
sionale, cu instrumentele grafice care reflectă relaţiile
dintre date.
Pentru a obţine rezultate cât mai performante în
urma procesului de explorare a datelor este necesară o
integrare deplină a B.D.M. şi a instrumentelor de
analiză a datelor.
Multe dintre instrumentele de explorare a date-
lor lucrează în afara B.D.M., ceea ce implică o serie
de paşi suplimentari ce trebuie efectuaţi pentru extra-
gerea, importul şi analizarea datelor. Aceste depozite
de date pot fi implementate într-o varietate de SGBD
(de exemplu:
SIG-Curs 11
Oracle, Sybase etc.).
Baze de date avansate 77
Aplicaţii ale explorării datelor se regăsesc într-
o multitudine de domenii:
- marketing (identificarea asociaţiilor între caracte-
risticile demografice ale cumpărătorilor, previziona-
rea efectelor unei campanii promoţionale);
- domeniul financiar-bancar (determinarea corela-
ţiilor ascunse între diferiţi indicatori financiari,
identificarea clienţilor loiali, previzionarea preferin-
ţelor clienţilor în ceea ce priveşte anumite servicii
bancare, previzionarea evoluţiei preţului acţiunilor);
- asigurări (previzionarea clienţilor care vor cumpăra
noi poliţe de asigurare, identificarea unui posibil
comportament fraudulos);
SIG-Curs 11 Baze de date avansate 78
- transporturi;
- medicină (identificarea celor mai potrivite proceduri
medicale pentru o anumită boală, determinarea proce-
durilor medicale care pot fi executate împreună).

SIG-Curs 11 Baze de date avansate 79


3. Baze de date multimedia

SIG-Curs 11 Baze de date avansate 80


Majoritatea SGBD-urilor permit stocarea în
baze de date a datelor convenţionale (date numerice,
date text etc.). În plus, oferă includerea de câmpuri de
tip obiecte legate (OLE).
Exemplu:
SGBD Access permite includerea în structura unui
tabel a câmpurilor OLE object. Aceste câmpuri
leagă/includ obiecte (foi de calcul MS Excel,
documente MS Word, grafice, sunete) la o tabelă MS
Access.
Multimedia este un domeniu al informaticii
care integrează, de o manieră interactivă, mai multe
tipuri de date: sunete, texte, imagini fixe, grafice, ani-
SIG-Curs 11 Baze de date avansate 81
maţii şi secvenţe video.
SGBD multimedia trebuie să ofere:
¾ posibilităţi de stocaj, actualizare şi căutare de
informaţii pornind de la suporturi media specializate;
¾ facilităţi de gestiune a legăturilor între diverse
tipuri de informaţii multimedia.
Particularităţile gestiunii B.D. multimedia:
• complexitatea şi varietatea tipurilor de date;
• volumul mare al obiectelor multimedia (Binary
Large Objets) şi mărimea lor variabilă;
• suportul tehnic;
• sincronizarea (exemplu: vizionarea unui film cu
banda sa sonoră);
SIG-Curs 11 Baze de date avansate 82
• relaţiile temporale (poza Pi înaintea benzii sonore
Tj);
• relaţiile spaţiale (imaginea I1 la stânga imaginii I2);
• datele continue şi dependente de timp (exemplu:
video, audio, animaţie) opuse datelor convenţionale.
Exemplu:
O interogare de B.D. multimedia:
Există un autoturism din seria compact de culoare
roşie?
Dacă da, arată un clip audio-video al unuia dintre
acestea.

SIG-Curs 11 Baze de date avansate 83


Domenii de aplicaţie pentru B.D. multimedia:
9 tutoriat inteligent;
9 magazinaj (descrierea produselor, formulare de
comenzi, etc);
9 baze de date documentare (indexare, căutare pe
bază de cuvinte cheie, tezaurus, hypertext);
9 enciclopedie electronică server de video la cerere.
Abordarea B.D.O. este mult mai apropiată de
specificul bazelor de date multimedia decât abordarea
B.D.R.
Interogarea B.D. multimedia impune îmbogă-
ţirea limbajelor de interogare.

SIG-Curs 11 Baze de date avansate 84


Caracteristicile principale ale SGBD-urilor
multimedia:
„ acceptă tipuri de date cu o mare varietate de
informaţii: text, sunet, imagini, secvenţe video etc.;
„ gestionează volume foarte mari de date (secvenţele
video-audio ocupă spaţii importante de memorie în
raport cu alte categorii de informaţie, cum ar fi cea
sub formă de text);
„ oferă funcţionalităţi clasice specifice bazelor de
date consacrate, adică existenţa unui limbaj de intero-
gare neprocedural (tip SQL);
„ suportă structuri de memorare foarte eficiente
(Quadtree, Rtree) care permit căutarea rapidă în baza
SIG-Curs 11 Baze de date avansate 85
de date, chiar dacă se operează cu volume foarte
mari de date;
„ permit găsirea unor informaţii în baza de date,
pornind de la o sursă eterogenă.
Interogarea unei B.D. multimedia seamănă,
din punct de vedere al modului de căutare, cu intero-
garea altor categorii de baze de date; de exemplu,
căutarea se poate realiza după conţinutul atributelor
care descriu un obiect, similar cu căutarea într-o
bază de date relaţională.

SIG-Curs 11 Baze de date avansate 86

S-ar putea să vă placă și