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 - Wisconsin 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 matematică 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 infeSIG-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ţionale. 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 completarea 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 programarea 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ă multidimensională 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, financiarcontabilitate, 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 (prelucrarea) 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 organisme 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 valorificare 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 normalizare
Modele stea şi fulg de zăpadă; puţin normalizate
Date
Actuale
Temporale
Actualizare
Imediată
Adesea în timp diferit
Consolidare Percepţie
Foarte scăzut Tabele detaliate
Foarte ridicat Multidimensională rezumată
Acces
Citire şi scriere
Numai citire
SIG-Curs 11
Baze de date avansate
25
Caracteristici Număr utilizatori Mărime Număr înregistrări
B.D.O.
B.D.M.
Mai scăzut decât pentru B.D.O. De la 100 MB la GB GB şi TB (terabytes) (gigabytes) Mai mare decât la 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 problema 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 efectuarea 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 actualizează. 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) Desemnează 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ă multidimensională 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; sintetiSIG-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 sistemelor (ascunderea pentru utilizator a eterogenităţii eventuale a datelor); 3) accesibilitate, prin ascunderea pentru utilizator a modalităţilor tehnice de furnizare a datelor (utilizatorul trebuie să preia datele dintr-un univers eterogen: SGBDR, fişiere, date externe organizaţiei, WEB etc.); 4) performanţe stabile şi independente de complexitatea 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ă posiSIG-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 efectuă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ărului 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 controlului asupra datelor, dacă, de exemplu, fiecare utilizator îş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 denormalizare 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 printrun 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ţiunile: fapte, dimensiuni, ierarhie şi agregat. Faptele reprezintă elementele analitice ale bazei de date. Dimensiunile sunt categoriile descriptive după care se realizează gruparea, sintetizarea şi consolidarea 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 structură matriceală care reflectă viziunea dimensională a utilizatorilor asupra bazelor de date. Analiza datelor de-a lungul mai multor dimensiuni 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 autodocumentat. SIG-Curs 11
Baze de date avansate
53
Accesul la datele conţinute de celulele hypercubului 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 multidimensional. 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 dimensionale î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 dimensiunilor 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 diSIG-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 înregistră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 modelului î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ă ProdusClient-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 componentă 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ă niveluri în modelele dimensionale. Timpul este întotdeauna o dimensiune cu parte întreagă. Dar, în mod independent, noţiunea temporală poate apare la nivelul mai multor dimensiuni, atunci când caracteristicile 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 neuronale, căutarea de reguli asociative, clasificare, segmentare 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 preveSIG-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 modelelor. Funcţiile principalele ale unui model de descoperire a datelor: Clasificare - descoperirea unei funcţii care să indice apartenenţa unei date la o anumită clasă dintrun grup de clase predefinite. Regresie - identificarea unei funcţii care să estimeze valorile viitoare ale unei date pe baza valorilor precedente. Clustering - determinarea unui set finit de cateSIG-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 simulează 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 genetice, 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 multidimensionale, 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 datelor lucrează în afara B.D.M., ceea ce implică o serie de paşi suplimentari ce trebuie efectuaţi pentru extragerea, importul şi analizarea datelor. Aceste depozite de date pot fi implementate într-o varietate de SGBD (de exemplu: Oracle, Sybase etc.). SIG-Curs 11 77 Baze de date avansate
Aplicaţii ale explorării datelor se regăsesc întro multitudine de domenii: - marketing (identificarea asociaţiilor între caracteristicile demografice ale cumpărătorilor, previzionarea 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 procedurilor 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, aniSIG-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 interogare 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 interogarea 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