Sunteți pe pagina 1din 34

Curs 6. Managementul informaiilor utilizand sisteme de gestiune a bazelor de date relaionale.

Data Warehousing, BI Cuprins


Cuprins.............................................................................................................................................1 6.1. Memorarea i gestiunea informaiilor .....................................................................................1 6.1.1 Colecii de date - entiti i atribute...................................................................................3 6.1.2. Structura logic a unei entiti...........................................................................................4 6.1.3. Codificarea atributelor.......................................................................................................5 6.1.4. Memorarea entitilor n fiiere.........................................................................................6 6.1.5. Metode de organizare a fiierelor clasice..........................................................................6 6.1.6. De la fiiere la baze de date...............................................................................................7 6.1.7. Sisteme de gestiune a bazelor de date (SGDB)................................................................8 Fig. 5 Rolul unui SGBD .............................................................................................................8 de a defini i descrie structura BD conform schemei conceptuale i a unui model de date.......8 Fig 6. Arhitectura pe niveluri (exemplu SGBD Oracle).......................................................10 6.2. Proiectarea bazelor de date relaionale...................................................................................11 6.2.1. Tabele i relaii dintre tabele ..........................................................................................11 ....................................................................................................................................................15 Schema logic a BD descrie datele stocate sub aspectul modelului de date utilizat de SGBD. De exemplu, schema logic a bazei de date relaionale descrie toate relaiile (tabelele) stocate n baza de date. Schema logic ascunde detalii precum structura fiierelor, alegerea indecilor etc. Atta timp ct schema logic rmne aceeai, se pot modifica detaliile de stocare fizic fr modificarea aplicaiilor. ....................................................................................................15 Schema fizic specific detalii de stocare, descrie fiierele, indecii utilizai. Schema extern descrie cum vd utilizatorii datele, permite ca accesul la date s fie autorizat la nivel de utilizatori individuali sau grupuri de utilizatori (n BDR, prin tabele virtuale/views).............15 6.2.2. Etapele proiectrii BDR..................................................................................................16 6.3. Business Intelligence (BI), Depozite de date (data warehouse) ...........................................18 Test de autoevaluare......................................................................................................................33 Rspunsuri......................................................................................................................................34 Bibliografie....................................................................................................................................34

Obiectivele acestui capitol este de a ne familiariza cu o serie de concepte de baz utilizate n teoria bazelor de date i anume conceptele de: baz de dat, sistem de gestiune a bazelor de date, schema bazei de date, instanele bazei de date, etc. In ultimul paragraf al capitolului sunt introduse concepte noi cum ar fi depozitele de date, inteligena afacerilor, data mining, tablouri de bord, etc.

6.1. Memorarea i gestiunea informaiilor

Informaiile i mai ales informaiile electronice reprezint suportul material al proceselor de management i implicit al proceselor de marketing. Complexitatea i dinamica mediului economic intern i internaional, diversitatea resurselor economice i a proceselor de business ne oblig la utilizarea unui sistem riguros de organizare, memorare i actualizare a informaiilor Memorarea i managementul informaiilor sunt asigurate prin intermediul bazelor de date ce constituie nucleul sistemului informaional. Prin programele de prelucrare a informaiilor memorate n baza de date, utiliznd modele matematice, algoritmi, se construiesc variante decizionale, alternative, variante de plan, se calculeaz indicatori ce cuantific obiectivele organizaiei i indicatori care arat ndeplinirea acestor obiective planificate, se selecteaz deciziile optime pentru desfurarea activitii organizaiei

MEDIUL ECONOMIC INTERN I INTERNAIONAL Decizii Informaii finale SISTEMUL DE CODNUCERE

For de munc Capital Res. Financiare Tehnologii

SISTEMUL INFORMAIIONAL SISTEMUL DE BAZ

Personal Echipamente

Date primare

Fig. 1. Rolul sistemului informaional n sistemul economic al organizaiei 6.1.1 Colecii de date - entiti i atribute n lumea real datele sunt organizate n colecii ce definesc mulimi relativ omogene de date, care privesc un domeniu, un proces, o activitate i care sunt dispuse, sistematizat pe un suport materia de memorie, documente primare, registre de eviden, situaii, dri de seama, rapoarte, etc. Pentru translaia coleciilor de date n universul informatic, vom opera cu conceptele de entitate, membru i atribut. entitate membru atribut

Entitatea reprezint o component unitar ce corespunde unei colecii de date. Astfel ntlnim frecvent entitile: materiale, produse, furnizori, clieni, contracte, angajai, etc. Atributele definesc proprietile informaionale specifice care descriu aceste entiti Ne-am obinuit ca un produs, de exemplu s fie caracterizat de un set de proprieti fizicochimice, greutate, densitate, rezisten la rupere, etc. Din punct de vedere informational ns ne intereseaz mai mult codul, denumirea, costul unitar, preul de catalog, pre de export, culoare, stoc, data i cantitatea ultimei vnzri, vnzrile la export pe luna trecut.etc. Aceste elemente sunt atributele informaionale care se prelucrez n compartimentele contabilitate, financiar, export, marketing. Atributele au un nume, sunt de tip numeric sau text sau dat calendaristica n funcie de valorile reale pe care le primesc.

L MAR A U E EL
C LCI D O E E E DT AE

P A I F R AI N L N N O M TO

A L

E T T T N I A E
F P O U U U I A RDS L I F P O U U U I A RDS L I CD O CD O ........B 0 24

............. U I E D N M .....O O E R M U .......P E .......... M R DN M E E U I ............ S O L I C ..... R T C AN Z F P O U U U I A RDS L I U .......P E .......... S O L S Z...... M R TC AF I S O L I C ..... T C AN Z C D ....... B 0 O 23 S O L S Z...... TC AF I DN M E E U I .. R U .......P E ..... M R S O L I C ... T C AN Z S O L S Z.... TC AF I AI L RE 6 7 5 6 1 2

VL AE AOR

M M R E B U

A RB T TI U

Membrii unei entiti reprezint elementele dintr-o entitate. Toi membrii entitii sunt descrii de acelai set de atribute. Ei se difereniaz ns prin valorile alocate, i desigur nu se admit membrii identici n cadrul unei entiti (figura 2.). 6.1.2. Structura logic a unei entiti O entitate este complet definit dac i se precizeaz numele, iar atributele sunt definite dac li se precizeaz, numele, tipul i lungimea acestora. Precizarea acestor elemente, se numete structura logic a entitii : NUME TIP LUNGIME Cod_produs numeric 4 Denumire_produs text 20 Stoc Number 6 Pre numeric 6 Fig. 3. Structura logic a entitii Orientativ atributele uzuale pentru entitile economice pot fi grupate astfel: atribute de identificare coduri de regsire date calendaristice cantitativ valorice atribute descriptive coduri pentru caracteristici tehnice coduri pentru sortri, grupri, clasificri. CHEIE da -

6.1.3. Codificarea atributelor O importan deosebit pentru definirea i atribuirea valorilor atributelor o au codurile. Un cod este un ir de simboluri alfanumerice atribuit unui membru, atributelor, sau proprietatilor informationale ale unei entitatii. Funciile unui cod sunt: unicitate conciziune semnificaie operaionalitate elasticitate Caracteristicile unui cod sunt: natura codului, n funcie de simbolurile utilizate; lungimea L= n + m, capacitatea K, reprezentnd numrul maxim de combinaii distincte posibil de realizate cu simbolurile codului: K = 10n * 27m unde: n este numrul de cifre din cod; m - numrul de litere din cod Clasificarea codurilor se face ntre altele dup urmtoarele cristerii: dup natura simbolurilor: coduri numerice, coduri alfabetice, coduri alfanumerice; dup lungimea codului: coduri cu lungime fix, coduri cu lungime variabil dup structur: coduri cu structur simpl, coduri cu structur variabil. Codurile cu structur simpl numerice se mai numesc i coduri secveniale. Codurile cu structur simpl, alfabetice se mai numesc: acronime formate prin preluarea inialelor, de exemplu: ASE, IBM, DNA abreviate formate prin precurtarea denumirilor. Codurile cu structur completa se construiesc prin alipirea codurilor cu structur simula. n aceast categorie se regsesc: coduri ierarhice, costruite din coduri ale unor caracteristici ntre care esista o relative arborescent, juxtapuse, costruite din coduri simple ntre care nu esista legturi semantice; binare; matriciale. Codul CNP este un cod juxtapus, iar un cod matricial arat astfel: Bbc Ln Licra Matase Rou 1 2 3 4 Alb 5 6 7 8 Pentru proiectarea unui nomenclator de coduri se parcurg urmtoarele etape: 5

sortarea mulimii de denumiri, eliminarea denumirilor duplicate, structurarea grupurilor, atribuirea de coduri, manual sau automat i ntreinerea nomenclatorului.

6.1.4. Memorarea entitilor n fiiere Principala form de memorare a datelor pe disc o reprezint FIIERUL

A FI PR ODUSULUI D en u m ire __ __ __ __ C o d _ _____ _U M __ _ P re -ca talo g _ __ _ __

S tru ctu ra lo g ic F ield N am e T yp e


d e n _po d cod_prod um p re t cha r int cha r int

S iz e
20 5 4 4

F iie r P R O D U S E
11000111000011101 0 0 0 0 1 1 1 1 0 0 1 1 EO F 00

Fig.4. Fiierul Fiierul ocup un spaiu pe disc, nu neaprat continuu, marcat de o etichet de nceput de fiier header label HDR, i de o etichet de sfrit de fiier - end of file label EOF Totalitatea datelor coninute ntr-un fiier caracterizeaz o entitate informaional. Orice fiier este definit prin urmtoarele elemente: coninutul informaional; metoda de organizare; modul de acces; caracteristicile suportului de memorie; specificatorul de fiier; proprieti, atribute proprii - read only, hidden, system, archive, size, data crerii, data ultimei modificri, etc; Un fiier se compune din nregistrri. O nregistrare memoreaz datele despre un membru al entitii. La rndul ei nregistrarea se compune din cmpuri. Un cmp dintr-o nregistrare corespunde unui atribut al entiti. n consecin vom avea cmpuri numerice, alfabetice sau alfanumerice. 6.1.5. Metode de organizare a fiierelor clasice Memorarea datelor ntr-un fiier pe disc are n vedere n primul rnd necesitile de acces la nregistrrile fiierului respectiv modul de citire a nregistrrilor. Dou sunt modurile de acces: 6

accesul secvenial i accesul direct. Metoda de organizare are n vedere regulile de nscriere a nregistrrilor pe disc. Metode de organizare : organizarea secvenial, organizarea indexat, organizarea relativ,

Organizarea secvenial const n stocarea nregistrrilor pe suportul de memorie n ordinea cronologic a apariiei lor. Accesul la date este accesul secvenial. Prelucrarea fiierului secvenial se oprete la ntlnirea etichetei EOF. Organizarea secvenial se aplic fiierelor cu coninut informaional stabil n timp sau cu actualizri puine; se mai spune fiiere cu un grad sczut de volatilitate. Organizarea indexat const n stocarea nregistrrilor, ordonate ascendent dup o cheie de acces, asociat fiecrei nregistrri, n momentul crerii fiierului. Cheia de acces este un cmp din nregistrare. Cmpul cheie are valori distincte pentru fiecare nregistrare. Acest cmp se numete cmp cheie primar - primary key i nu admite valori duplicate Folosind cheile primare i adresele fizice ale nregistrrilor, se construiete automat un fiier index asociat fiierului principal, ce va fi utilizat pentru accesul direct la nregistrrile acestuia. Organizarea relativ se utilizeaz n absena unui cmp cheie primar i const n asocierea, la fiecare nregistrare, a cte unui numr de ordine de la 1 la n. Acest numr se numete record number, i indic poziia fiecrei nregistrri n fiier, n raport cu prima nregistrare i va servi pentru accesul direct al nregistrrilor. i fiierele indexate i fiirele relative admit i accesul secvenial. 6.1.6. De la fiiere la baze de date Organizarea datelor n fiiere clasice este o metod rigid care creeaz destule neajunsuri utilizatorilor sistemelor de programe bazate pe acest tip de fiiere. Cel mai mare dezavantaj este acela c modificrile n structura unui fiier oblig la modificarea tuturor programelor care utilizeaz fiierul a crui structur a fost modificat. Acest lucru se datoreaz faptului c programele scrise n limbajele algoritmice care lucreaz cu fiiere trebuie s conin clauze pentru descrierea detaliat a acestora. Pentru eliminarea acestor neajunsuri descrierea fiierelor nu a mai fost inclus n fiecare program ci ntr-o tabel sau ntr-un dicionar de date memorat separat, sau memorat n fiierul respectiv. Orice program care lucreaz cu fiierul i va identifica datele prin intermediul acestei tabele sau dicionar. Despre fiecare cmp se va ti precis unde este localizat n nregistrare i ce descriere are. Orice modificare n descrierea structurii logice va afecta numai tabela de descriere. Programele deja scrise nu mai trebuie actualizate, dect dac opereaz chiar cu noile cmpuri incluse n fiier. n aceast viziune de organizare apar trei elemente intercorelate: coleciile de date propriu-zise; tabelele cu descrierea structurii logice a coleciilor de date; relaiile, adic tabelele cu legturile dintre colecii. Toate aceste trei elemente reunite formeaz o baz de date. Baza de date se definete ca fiind ansamblul coleciilor de date mpreun cu structura acestora i relaiile dintre ele.

Obiectivele organizrii datelor n baze de date sunt: asigurarea independenei relative a programelor fa de structura datelor; asigurarea unei redundane minime i controlate a datelor; asigurarea unor faciliti sporite de utilizare; asigurarea securitii datelor; pstrarea integritii datelor; 6.1.7. Sisteme de gestiune a bazelor de date (SGDB) partajabilitatea datelor; Pentru crearea unei baze de date, pentru actualizarea permanent a coninutului acesteia i pentru consultarea i prelucrarea datelor stocate aici este utilizat un sistem specializat de programe cunoscut sub denumirea de sistem de gestiune a bazei de date (SGBD). El este un instrument software la care utilizatorul apeleaz pentru comunicarea cu baza de date la fel cum apeleaz la sistemul de operare Windows pentru a comunica cu computerul. El este plasat la un nivel intermediar ntre utilizator i baza de date i asigur: interfa prietenoas pentru comunicarea cu utilizatorul; un mediu de programare performant. Rolul unui SGBD este prezentat n figura 5.

Lumea reala

Schema conceptuala a BD

1. definire/descriere structura datelor 2.incarcare/valida rea datelor

Model de date

3. acces la date

BD

5. protectia datelor

4. intretinere

Fig. 5 Rolul unui SGBD de a defini i descrie structura BD conform schemei conceptuale i a unui model de date 1. de a ncrca/valida datele n BD respectnd restriciile de integritate 2. de a realiza accesul la date pentru diferite operaii (actualizare, consultare), utiliznd operatorii modelului de date 3. de a ntreine BD cu ajutorul unor instrumente specializate 4. de a asigura protecia BD sub aspectul securitii i integritii datelor.

Sistemul de gestiune a bazei de date dispune de un limbaj de descriere a datelor (LDD) i de un limbaj de manipulare a datelor (LMD) cu ajutorul crora se asigur ndeplinirea funciilor sale i anume: definirea structurii bazei de date; manipularea datelor, adic: ncrcarea datelor n baza de date, adugarea, tergerea, modificarea acestora, sortarea, indexarea, concatenarea .a.; utilizarea bazei de date, ceea ce nseamn: accesare nregistrrilor, listare, calcule, editarea rapoartelor etc.; administrarea bazei de date, care presupune: optimizarea structurii bazei de date, validarea accesului la date, reorganizarea datelor, jurnalizarea actualizrilor i refacerea bazei n caz de incidente pentru asigurarea securitii, integritii sau partajabilitii bazei de date. Exist numeroase SGBD-uri dar SGBD-urile relaionale i cele orientate pe obiect s-au dovedit superioare, motiv pentru care acestea au cea mai mare aplicabilitate n practica informatic actual., cele mai folosite fiind Oracle, Microsoft SQL Server, MySQL, Visual FoxPro i Microsoft Access. Criterii de clasificare a BD/SGBD-urilor: 1. Dup sistemul de calcul pe care se implementeaz: SGBD pentru calculatoare mari mainframe (DB2/IBM) SGBD pentru minicalculatoare (Oracle) SGBD pentru microcalculatoare (Oracle, Visual FoxPro, Ingres, Access, Informix etc) 2. Dup limbajul de programare procedural utilizat: SGBD cu limbaj gazda (extensie a unui limbaj universal) (Oracle/PL/SQL ) SGBD cu limbaj propriu (limbajul din Visual FoxPro) 3. Dup modelul de date implementat: SGBD ierarhice (IMS-Information Management System) SGBD retea (IDS-Integrated Data Store) SGBD relaionale (Oracle, Visual Foxpro, Ingres) SGBD orientate obiect (O2, Jasmine, Gemstone) SGBD multidimensionale (Essbase) 4. Dup localizarea BD: Arhitectura a unui SGBD n momentul de fa se constat o structurare a diferitelor arhitecturi de SGBD-uri pe trei niveluri (componente). Marea majoritate a arhitecturilor actuale de SGBD pot fi aduse la aceste trei niveluri. Cele trei niveluri pot conine urmtoarele componente ale unui SGBD (figura 6): Nucleul (motorul) include limbajul de descriere a datelor (LDD), limbajul de manipulare a datelor (componente obligatorii); Instrumente de dezvoltare -generatoare de diferite tipuri (generatoare de rapoarte, meniuri ect), instrumente CASE (computer aided software engineering), interfee cu limbaje de programare universale, interfee cu alte sisteme. Sunt destinate tuturor categoriilor de utilizatori: finali, intensivi i specialiti (figura 7); Utilitare de administrare destinate n principal administratorilor de BD, dar i pentru alte categorii de utilizatori (figura 8). 9

Instrumente de dezvoltare (interfee cu utilizatorul) ( Oracle 10g Developer Suite)

Nucleul (SQL, PL/SQL, Java)

BD (BD Oracle)

Utilitare de administrare (Oracle Enterprise Console)

Fig 6. Arhitectura pe niveluri (exemplu SGBD Oracle)

Fig. 7 Exemplu de instrument de dezvoltare Oracle Forms Builder

10

Fig. 8. Exemplu de utilitar de administrare Oracle Enterprise Manager

6.2. Proiectarea bazelor de date relaionale


6.2.1. Tabele i relaii dintre tabele ntr-o baz de date relaional entitile se reprezint logic prin conceptul de TABEL. Tabela a fost numit relaie relation, de teoreticienii care au dezvoltat acest tip de SGBD, de unde i numele de BDR baze de date relaionale. O tabel se compune din : rnduri, care corespund membrilor entitii; coloane, care corespund atributelor entitii. Tabelele se memoreaz n fiiere. Fiecare rnd nseamn o nregistrare, iar fiecare coloan nseamn un cmp. Fiecare tabel se descrie prin intermediul structurii sale logice. Sistemele de gestiune a bazelor de date relaionale permit reprezentarea cu uurin a relaiilor dintre tabele. O relaie reflect asocierea logic ce se poate face ntre nregistrrile ce aparin de tabele diferite, uneori chiar i ntre nregistrrile aceleai tabele. De exemplu, nregistrrile din tabela furnizori se asociaz firesc cu nregistrrile din tabela comenzi. Un furnizor poate ncheia mai multe contracte. Pentru a le analiza, datele din cele dou tabele trebuie alipite, concatenate.

11

T abelul : FU N O I R IZ R C p T L m ip ungim e
com n u C D * O F DN E F T A R A T D ES T 2 20 20 V L AE AO R
C D O F

T elul : C M N I ab O E Z
cm p

C p m
N C A R D D T _C AA O C D O F N

T L ip ungim e
* N N D T T 4 8 2 12

C D D O F F1 F2 F3 F4

E F N D D

A R SA DE B C U CU L J B C U PITE TI S

N C A R D 400 401 402 403 404 405 406 0

D T A A _C C D V L A E O F AO R 11/01/ 04 13/01 08 / 4/02 08 / 04/02 08 / 12/02/ 18/02/ 08 08 18/02 08 / F2 F1 F4 F1 F4 F3 F2 14000 23000 18000 40000 3800 0 60000 8000 0

A E GR TIM D C A IA

A C R SO IE E NC A R D

- JO IN

C D O F

D T A A -C C D D N A R SA V LO R O F E F DE A AE

400 406

16/01/ 08 18/02/ 08

F2 F2

D D D D

CU L J

1400 0

CU L J

80000

Relaiile dintre tabele pot fi de tipul: unu la unu (1 : 1) (figura 10) unu la muli (1 : M) (figura 11) muli la unu (M : 1) muli la muli (M : M)

Pentru a se realiza fizic asocierea dintre dou tabele este necesar s avem cmpuri comune n cele dou tabele.

Tabel: Matricola_Stud

Tabel: Date_Pers_Stud Fig.10 Asociere unu-la-unu

Asocierea de tip arborescent unu-la-muli, este cel mai uzual tip de asociere dintre dou tabele (tabela printe i tabela fiu). Cmpurile comune pe baza crora se face asocierea dintre cele dou tabele se numesc: 12

cheie primar, pentru tabela printe primary key ; cheie extern, pentru tabela fiu foreign key. Ele pot avea acelai nume sau nume diferite, dar n mod obligatoriu trebuie s fi de acelai tip, s aib aceeai lungime i s ia valori n cadrul aceluiai domeniu de date. n exemplul prezentat mai sus, cmpul comun prezent n cele dou tabele este CODF, codul firmei care are urmtorul rol: CODF, este cheie primar n tabela CLIENI CODF, este cheie extern n tabela COMENZI Se remarc faptul c nu sunt doi furnizori cu acelai cod, pentru c o cheie primar nu admite valori duplicate, este unic. Dar n tabela COMENZI, o firm poate s apar de mai multe ori pentru c poate s ncheie mai multe COMENZI cu un partener. Deci cheia extern admite valori duplicate.

Asociere UNU-LA-MULI
1. tabela printe conine cheia primar 2. tabelal fiu conine chei externe

Fig. 11. Asociere 1:m Sistemele de gestiune a bazelor de date asigur posibilitatea descrierii i gestiunii printr-o interfa grafic explicit a structurilor logice a tabelelor i a relaiilor de asociere dintre tabele, pe baza cheilor. n plus la momentul definirii structurii logice, SGBD-ul prin intermediul limbajului su LDD limbajul de definire a datelor, permite introducerea unor restricii de integritate a datelor de intrare. Aceste restricii, denumite CONSTRAINTS, sunt condiii de validare logic pe care trebuie s le ndeplineasc valorile introduse de operatori n tabele bazei de date, pentru ca baza de date s fie coerent i corect. Iat i cteva exemple. cheia primar trebuie s fie unic, fr duplicate, (UNIQUE); cheia primar trebuie completat obligatoriu, (NOT NULL); unei chei externe din tabela fiu trebuie s-i corespund ntotdeauna o cheie primar valid n tabela printe, (REFERENTIAL INTEGRITY CONSTRAINT) valorile reale introduse de la tastatur s se ncadreze n domeniul de valori al atributului, ca tip, lungime, semn, valoare minim, valoare maxim sau alte corelaii, formulate ca expresii logice de control Schema bazei de date (stabil n timp) descrie structura bazei de date utilizand un anumit model de date implementat de SGBD.

13

Instanele bazei de date sunt valorile curente care variaz Schema i instanele ei sunt stocate n BD i anume: schema n dicionarul BD, instanele n datele propriu-zise (figura 12). Un SGBD ofer diferite niveluri de reprezentare (niveluri de abstractizare ) a datelor ntr-o baz de date: Nivelul logic (schema logic a bazei de date) Nivelul extern (schema extern) Nivelul intern (schema fizic)

Fig.12. Schema i instanele unei BDR

O BD are (figura 13): schem conceptual o schem logic mai multe scheme externe i o schem fizic.

14

Fig.13. Schemele unei BD Schema conceptual este o reprezentare schematic a entitilor i a relaiilor dintre acestea la nivel global. Este vorba de a reprezenta entitile printe, entitile fiu, eventualele entiti de legtur i liniile de legtur dintre ele (figura 14). Schema conceptual a BD nu depinde de implementare. Pentru proiectarea schemei conceptuale a unei BD tranzacionale/operaionale se utilizeaz modelul entitate-asociere

MATERIAL E

FURNIZORI

COD_MAT

COMENZI COD_MAT COD_F NRCDA


SUNT CHEI PRIMARE

NRCDA

FACTURI

Fig. 14 Schema conceptual al bazei de date Schema logic a BD descrie datele stocate sub aspectul modelului de date utilizat de SGBD. De exemplu, schema logic a bazei de date relaionale descrie toate relaiile (tabelele) stocate n baza de date. Schema logic ascunde detalii precum structura fiierelor, alegerea indecilor etc. Atta timp ct schema logic rmne aceeai, se pot modifica detaliile de stocare fizic fr modificarea aplicaiilor. Schema fizic specific detalii de stocare, descrie fiierele, indecii utilizai. Schema extern descrie cum vd utilizatorii datele, permite ca accesul la date s fie autorizat la nivel de utilizatori individuali sau grupuri de utilizatori (n BDR, prin tabele virtuale/views)

15

COD_F

6.2.2. Etapele proiectrii BDR Proiectarea unei baze de date este o activitate laborioas i necesit parcurgerea urmtoarelor etape: formularea problemei; analiza cerinelor informaionale i definirea datelor de ieire i de intrare; definirea tabelelor, a structurii logice a acestora i a relaiilor dintre tabele; optimizarea structurii bazei de date.

Odat ce procesul de proiectare a fost finalizat, folosind SGBD-ul ales, se trece efectiv la: realizarea programelor pentru crearea i actualizarea bazei de date; elaborarea programelor de interogare a datelor i afiare a rapoartelor; testarea programelor; definitivarea documentaiei. Formularea problemei presupune stabilirea temei i a obiectivelor aplicaiei informatice care va utiliza baza de date. Obiectivele sunt legate de asigurarea informaional a procesului de conducere. Deci, noi trebuie s ne gndim ca, prin existena unei baze de date, asigurm fondul de informaii corespunztoare cerinelor managementului firmei. Baza de date trebuie s permit att obinerea informaiilor de detaliu, elementare, ct i calculul i prezentarea unor indicatori sintetici, agregai. Analiza cerinelor informaionale, pornind de la obiectivele formulate anterior, se concentreaz asupra a dou probleme: indicatorii, rapoartele, listele i datele de ieire care trebuie obinute; datele de intrare necesare pentru obinerea datelor de ieire. Datele de intrare se regsesc de regul, n documentele primare. Datele finale sunt rapoarte, liste, situaii cu rezultate pe care le solicit compartimentele de conducere. Pentru indicatorii inclui n rapoartele finale, trebuie s fie foarte clar precizat modul n care se calculeaz fiecare indicator. n consecin, se precizeaz algoritmii de calcul, regulile de totalizare, sau alte reguli de obinere a fiecrei coloane sau linie de total din rapoartele finale. Definirea tabelelor i a relaiilor dintre tabele este etapa urmtoare n proiectarea bazei de date. Analiza cerinelor informaionale i a proceselor de prelucrare va conduce la identificarea datelor ce vor alctui tabelele bazei de date. O entitate poate fi stocat n unu sau chiar mai multe tabele. Gruparea cmpurilor n tabele se realizeaz prin diverse metode. Dintre aceste metode, dou sunt cele mai utilizate: analiza concordanei IEIRI INTRRI; analiza semnificaiei semantice a datelor. Analiza concordanei IEIRI INTRRI este o tehnic specific proiectrii sistemelor informatice care identific documentele primare din care se preiau cmpurile folosite n calculul datelor de ieire. Aceste documente vor fi folosite la crearea i actualizarea tabelelor bazei de date. Analiza semnificaiei semantice a datelor are ca punct de plecare inventarierea cmpurilor prezente n situaiile finale i apoi gruparea lor n tabele i n documente primare. 16

Acest proces de analiz trebuie s stabileasc i cheile primare, cheile externe i astfel s se defineasc relaiile dintre tabele. Optimizarea structurii bazei de date este un proces prin care se urmrete: reducerea redundanei datelor; eliminarea anomaliilor de actualizare. Reducerea redundanei datelor pn la un nivel minim i controlat urmrete eliminarea duplicrii inutile a unor cmpuri n mai multe tabele sau eliminarea cmpurilor obinute prin calcul pe baza cmpurilor atomice. Un anumit nivel de redundan, ns, trebuie admis pentru a nu denatura realitatea reflectat de date. De exemplu, cmpul VALOAREA_CONTRACTULUI, se calculeaz dup relaia : VALOAREA_CONTRACTULUI=CANTITATE*PRET Nu este recomandat eliminarea acestui cmp pe considerentul c el se obine automat prin calcul. De exemplu, n cazul n care dup un anumit interval de timp, preurile suport o majorare global, cum se practic foarte des, atunci automat se vor modifica i valorile contractelor ncheiate anterior datei de majorare a preurilor, ori acest lucru nu este corect, contractul odat perfectat nu-i poate modifica preul convenit prin negociere. Anomaliile de actualizare se refer la anomaliile de tergere, respectiv de modificare. S consideram de exemplu o firm care deruleaz lunar sute de comenzi de aprovizionare, pentru un nomenclator foarte mare de produse, dar care opereaz numai cu civa furnizori. Dac n tabela COMENZI includem nu numai codul furnizorului ci i denumirea furnizorului, contul su bancar sau denumirea bncii cu care lucreaz, atunci va aprea urmtoarea anomalie de actualizare n cazul schimbrii bncii i a contului bancar al furnizorului. n loc s modificm aceste date o singur dat doar n tabela FURNIZORI, va trebui s operm modificarea n zeci, poate sute de rnduri n tabela COMENZI (figura 15)
Comenzi
Nr.Co Data Cant Pret Val TLiv CodF Den Cont DenB

Furnizori
CodF DenF Cont DenB Nrco

Comenzi
Data .... Pre Val CodF

Fig. 15 Eliminarea anomaliilor de actualizare Soluia este de a crea o tabel separat, care are n structur: codul furnizorului, denumirea, contul i banca acestuia, n tabela COMENZI pstrndu-se doar codul furnizorului ca element de legtur, ceea ce previne pierderea de informaii prin spargerea unui tabel n dou. Pornind de la aceast idee simpl a aprut una dintre cele mai utilizate proceduri de optimizare a structurii bazelor de date care se numete normalizare. Teoria normalizrii aparine celui ce a fundamentat modelul relaional al bazelor de date n 1970, americanul E. F. Codd.

17

Limbajul SQL (structured query language) a fost dezvoltat ca parte a proiectului SystemR al lui IBM
CorporationSEQUEL (1974)/ Structured English Query Language n 1979 Relational Software Inc. (acum Oracle) a introdus prima implementare comerciala a lui SQL. cele mai multe SGBDR implementeaz facilitile de baz ale standardului, dar ofer uneori i extensii ale standardului (de exemplu Oracle) include LMD i LDD i permite: - interogarea datelor (SELECT) - adugare, modificare, tergere de tupluri dintr-o tabel (INSERT/ UPDATE/ DELETE) - crearea, modificarea structurii i stergerea de obiecte (CREATE, ALTER, DROP) - controlul accesului la datele din baza de date (GRANT/REVOKE) - asigurarea consistenei i integrittii BD - Trigerii pe baza de date-programe (de exemplu n Oracle blocuri PL/SQL) ce sunt executate cnd apare un eveniment (insert/ update/ delete). - Restriciile de integritate

Si acum noi concepte!!!

6.3. Business Intelligence (BI), Depozite de date (data warehouse)


Business Intelligence (BI) este un termen "umbrel" introdus n 1989 de Howard Dresner de la Gartner Group. BI nseamn utilizarea tuturor datelor de care dispune o firm, pentru a mbunti procesul decizional. Obiectivul principal al unui sistem BI este de a oferi suport decidenilor n procesul decizional n scopul de a lua decizii cat mai bune bazate pe informaii ceea ce presupune: acces rapid i uor la informaiile firmei pentru un numr mare i variat de utilizatori ; un mediu de operare deschis i scalabil; mbuntirea calitii informaiilor; reducerea timpului necesar pentru a obine aceste informaii. Factorii care au determinat dezvoltarea sistemelor BI Depozitele de date (DW); Internet-ul; Creterea substanial a competiiei. 18

Componentele de baz ale unui sistem informatic de tip BI sunt (figura 15): Instrumentele ETL Depozitul de date Instrumentele de raportare i interogare Instrumentele OLAP, instrumentele de tip data mining Tablouri de bord/dashboards Instrumente de extragere, transformare i ncrcare - ETL (Extraction, Transforming and Loading): extrag date din sistemele operaionale interne i sursele externe le transform ntr-o form corect le ncarc n depozitul de date

Tablou ri de bord

Instrumente OLAP, instrumente data mining

Instrumente de interogare i raportare

Depozitul de date

Instrumente ETL (Extract, transform, load)

Sisteme operaionale sursa

Fig.15. Elementele componente ale unui sistem informatic BI Procesul ETL cuprinde (figura16): faza de extragere: datele din surse diferite (sisteme CRM, sisteme ERP, alte surse) faza de transformare a datelor ntr-un format consistent.

19

Faza de curare a datelor - se verific calitatea datelor ce vor fi ncrcate n depozitul de


date. Faza de ncrcare

20

CRM

ERP

Eliminare date incomplete, corupte, incorecte

DW

Alte surse

extragere

Transformare (reguli de transformare)

curatare

incarcare

Fig. 16 Procesul ETL Un depozit de date este o colecie de date: orientat pe subiecte, integrat, variabil n timp, nevolatil, care ofer suport procesului decizional [Inmon, 1995] Orientat pe subiect Sistemele operaionale sunt organizate n jurul aplicaiilor unei firme. De exemplu, pentru domeniul asigurrilor, putem avea aplicaii pentru asigurri auto, asigurri de via, de sntate, etc. Subiectele importante dintr-o firm de asigurri ar putea fi: clienii, poliele, plangeri, daune, etc .

21

Fiecare firm are propriul set de subiecte. Depozitul de date stocheaz date despre diferite subiecte. Fiecare subiect conine date specifice. Subiectele pot avea unele date comune. Un depozit de date pentru departamentul de Vanzri conine date despre: produse, clieni, locaie geografic (orae, judee). Dar datele despre clieni se regsesc i la departamentele de Marketing, Financiar i Transport. Colecii de date integrate Datele din surse diferite sunt transformate ntr-un format consistent. De exemplu, atributul SEX are valori diferite n aplicaii operaionale diferite (n aplicaia A ia valorile m/f, n aplicaia B ia valorile 0/1). Inainte de a fi ncrcate n depozitul de date, se va utiliza o regul de transformare i anume: valoarea 1 se va mapa la valoarea m, iar valoarea 0 se va mapa la valoarea f. Alte situaii sunt prezentate n figura de mai jos:

se utilizeaz uniti de msur diferite cheile primare au domenii de valori diferite, etc.

Colecii de date nevolatile Datele ncrcate n depozit, nu se mai modific, nu sunt terse decat dac sunt prea vechi pentru procesul decizional. Timpul este o dimensiune important a depozitului de date In sistemele operaionale, orizontul de timp este de 60-90 zile, la un depozit de date orizontul de timp este de 5-10 ani. Intr-un depozit de date se pstreaz date istorice, fiind utilizate pentru previziuni i raportare. In sistemele operaionale, cheile primare nu conin elemente de timp, spre deosebire de depozitul de date unde elementele de timp apar n structura cheilor primare.

22

Modelul dimensional [modelul Kimball] utilizeaz urmtoarele concepte de baz: Fapte Dimensiuni Ierarhii granulaia

Fapte (fact) = elementele de date care sunt analizate. Poate fi un indicator de performan prin care se poate analiza performana/neperformana activitii modelate. Dimensiuni (dimensions) = furnizeaz informaii descriptive despre fiecare fapt (cine? ce? unde? cand? si cum? despre un fapt) Indicatorii pot fi: de baz: volumul vnzrilor, cantitatea vndut, costurile, numrul de clieni; derivai care se obin prin combinarea indicatorilor de baz: profitul, productivitatea. Tabela de fapte este tabela central (n schem stea) i corespunde unei colecii de fapte din modelul dimensional; conine un numr foarte mare de tupluri (posibil milioane). Numrul de tupluri din tabel reprezint de fapt produsul cartezian al dimensiunilor; conine toi indicatorii de performan importani ; cheia primar a tabelei este o cheie compus, format din cheile primare ale tabelelor de dimensiuni; este normalizat i realizeaz de fapt o legtur indirect ntre dimensiuni; poate conine i date agregate ; Granulaia Granulaia unui indicator/fapt se refer la nivelul de detaliu la care este stocat n modelul dimensional. De exemplu: Cantitatea vandut[ poate fi stocat la nivel de zi/ lun, produs /categorie de produs. Afecteaz dimensiunea DW, nivelul de analiz, flexibilitatea DW; Depinde de cerinele analitice ale businessului. Dimensiunile Furnizeaz informaii descriptive despre fiecare indicator; Reprezint entiti din lumea real i nu procese de business. De exemplu pentru tabela de fapte Vanzri, caracteristicile indicatorului vanzari lunare pot fi : Locaia (unde), Timpul (cand), produsul vandut(ce); Conin n general date statice. Atributele dimensionale nu se modific la fel de des ca atributele din tabela de fapte; Sunt eseniale pentru analiz. Un model dimensional ce ofer un numr mare de atribute dimensionale permite analize ct mai complexe i mai variate; 23

ntr-o schem stea, sunt tabelele care se dispun radial n jurul tabelei de fapte i se mai
numesc tabele de dimensiuni. Aceste tabele sunt denormalizate, iar cheia lor primar este o cheie simpl; Sunt tabele mai mici decat tabela de fapte; Dimensiuni comune afacerilor sunt : Locaia, Produsul, Clientul, Timpul. Membrii unei dimensiuni O dimensiune conine mai muli membri; Un membru este un nume distinct sau un identificator folosit pentru a determina poziia unui element de dat (n schema stea apare sub denumirea de atribut dimensional). De exemplu, toate lunile, trimestrele i anii formeaz dimensiunea Timp i toate oraele, regiunile i rile dimensiunea Locaie; Un membru poate aparine la una sau mai multe ierarhii sau poate s nu fie inclus ntr-o ierarhie (membru independent). De exemplu, n dimensiunea Produs membru culoare nu este inclus n nici o ierarhie. Ierarhia membrii unei dimensiuni se pot aranja n una sau mai multe ierarhii. De exemplu, zilele se pot grupa n sptmani i ani (o ierarhie), sau n luni, trimestre i ani (alt ierarhie) (figura 15). fiecare ierarhie poate avea mai multe nivele ierarhice. De exemplu, ierarhia din dimensiunea Timp include 3 nivele ierarhice: an, trimestre i luni (figura 19).

Fig. 19. Ierarhii multiple

24

Fig.20. Ierarhia din dimensiunea Timp In figur 21 se prezint o parte din atributele dimensiunii Timp.

Fig.21. Dimensiunea Timp Schema stea Exist o tabel important, n centrul schemei, singura tabel cu multiple jonciuni, numit tabela de fapte. Celelalte tabele au o singur jonciune la tabela de fapte. In figura 22 se prezinta un exemplu de schem stea format din tabela de fapte Vanzri i trei tabele de dimensiuni Timp, Locaie i Produs. Tabela de fapte Vanzri are o cheie primar compus din cheile primare ale tabelelor de dimensiuni. Tabela de fapte Vanzri se leag de 25

tabela de dimensiuni Timp prin atributul timp_id, de tabela de dimensiuni Produs prin atributul item_id, iar de tabela de dimensiuni Locatie prin atributul locatie_id. Indicatorii stocai n tabela de fapte sunt : cantitatea vandut i volumul vanzrilor .

Fig. 22 Schema stea Avantajele schemei stea este simplu de construit; reflect cu exactitate modul cum neleg utilizatorii activitatea modelat; furnizeaz o performan ridicat pentru cereri analitice, prin reducerea numrului de jonciuni; permite modelarea unor structuri multidimensionale complexe; toi indicatorii de performan ai activitii modelate sunt stocai n tabela de fapte. Dezavantajele schemei stea este o schem inflexibil. Adugarea unei noi dimensiuni n schem, poate duce la modificarea granulaiei tabelei de fapte; conine date redundante ce conduc la creterea riscului de inconsisten a datelor; pentru a permite analize complexe, trebuie s includ multe tabele de agregate; face dificil jonciunea dintre tabelele de fapte. Schema fulg de zpad Tabelele de dimensiuni sunt normalizate; Se utilizeaz atunci cand dimensiunile sunt mari; Pe lang tabelele de fapte principale, schema fulg de zpad conine tabele de fapte separate pentru fiecare nivel de agregare; Se vor executa mult mai multe jonciuni pentru o cerere i performana ar putea fi influenta (figura 23); 26

Fig.23 Schema fulg de zpad Avantajele schemei fulg de zpad: structura normalizat a dimensiunilor este mai uor de modificat; reduce redundana datelor; Dezavantajele schemei fulg de zpad este mai complex dect schema stea; scade performana la interogare, deoarece sunt folosite multe jonciuni; schema este mai dificil de neles de ctre utilizatori, fiind mai apropiat de modelul entitate-asociere. Instrumente BI Instrumente pentru interogare ad-hoc Instrumente pentru raportare Instrumente OLAP Instrumente DataMining Dashboard/tablouri de bord

Instrumentele pentru interogare ad-hoc au urmtoarele caracteristici: accesul la sursa de date se face fr s se scrie cod SQL; sursa de date: DW/sistem operaional; permit formatare condiional ; permit diferite tipuri de rapoarte: raport matrice, master detail cu grupri, totaluri i subtotaluri, grafice, etc; se pot crea template-uri pentru rapoarte.

27

Exemple de instrumente pentru interogare ad-hoc: Power Play/Cognos, Business Objects Web Intelligence/Business Objects, IBMs Query Management Facility, Oracle Discoverer, etc . Instrumentele pentru raportare au urmtoarele caracteristici: furnizeaz rapoarte statice sau parametrizate destinate unui numr mare de utilizatori din organizaie; ofer puine faciliti analitice; utilizeaz de regul baze de date relaionale (depozite de date/centre de date/BD operationale) i limbajul SQL; rapoartele sunt adesea accesate printr-o aplicaia operaional i sunt dezvoltate de specialiti IT Exemple de instrumente pentru interogare ad-hoc: BusinessObjects Crystal Reports, Microsoft Reporting Services, Oracle Publisher (Oracle Reports-Reports Builder), Information Builders Web Focus In figura 24 este prezentat instrumentul de raportare Oracle Reports Builder . Sunt evideniate principalele tipuri de rapoarte.

Fig. 24 Oracle Reports Builder Instrumentele Online Analytical Processing (OLAP) au urmtoarele caracteristici: pun accentul pe analiza i explorarea datelor (de ce se ntampl?); ofer o viziune multidimensional a datelor; 28

permit calcule complexe ; sunt interactive .


Conceptele de baz utilizate de instrumentele OLAP sunt prezentate n figura 25: dimensiunile cubului (exemplu: Timp, Magazin, Produs); msurile sunt stocate n celulele cubului (n exemplu prezentat msura este cantitatea vandut). De exemplu, 65 se refer la cantitatea vandut de Sprite n luna Ianuarie n magazinul St3. membrii dimensiunilor. Dimensiunea Timp are ca membrii: lunile. Dimensiunea Produs este o dimensiune ierarhic cu membrii: All, Drinks, Dairy, Milk, etc.

Fig. 25 Conceptele de baz utilizate de instrumentele OLAP Operaii OLAP Slice i dice sau selecii n cub. De exemplu, S se afieze cantitatea vandut de Sprite n luna ianuarie. Drill down /roll up ce utilizeaz ierarhiile din dimensiuni i msurile pentru agregri sau de-agregri. Operatia drill down presupune parcugerea ierarhiei din dimensiunea Produse de la nivelul rdcin (All) ctre nivelul frunz (Sprite, Coca-cola, etc). Drill across ce combin mai multe cuburi cu una sau mai multe dimensiuni comune (jonciunea de cuburi). Rotating, rotirea unui cub pentru a pune n eviden alte aspecte analitice. In figura 26 se prezint exemple de operaii OLAP.

29

Fig.26 Operaii OLAP Exemple de instrumente OLAP: Oracles Hyperion Essbase, Microsoft Analysis Services, SAP Business Explorer, Excel 2007- cea mai popular interfa la datele OLAP. Tablouri de bord (Dashboards) permit msurarea, monitorizarea i managementul performanelor unei firme/ department/ process, mult mai eficient; acceseaz surse de date diferite; utilizeaz componente vizuale (hri, grafice, alerte, etc) ; permit operaii de tip drill-down pe sursele de date; prezint indicatorii de performan cheie ntr-un format intuitiv i uor de neles de ctre manageri. Exemple de instrumente: MicroStrategy Enterprise Dashboard, Tableau Software, Qlikview. In figura 27 se prezint un exemplu de tablou de bord pentru activitatea de producie, iar in figura 28 un exemplu de analiz a vanzrilor realizat cu instrumentul Qlikview.

30

Fig.27 Un exemplu de tablou de bord

Fig.28. Analiza vanzrilor cu ajutorul instrumentului Qlikview 31

Instrumente Data mining Data mining este un proces ce presupune utilizarea uneia sau mai multor tehnici de nvare automat : pentru extragerea cunotinelor ascunse n date; identificarea de tendine i modele n seturi de date, tendine i modele neintuitive; identificarea asocierilor ce exist ntre obiectele din BD exprimate ca reguli. Exemplu de instrumente: Oracle Miner

SGBD? BI?? DW??? DM??? S nv, s nu nv.

32

Test de autoevaluare

1. In modelul relaional : a) fiecare atribut i ia valorile dintr-un domeniu de valori; b) exist conceptul de tuplu; c) ordinea tuplurilor i a atributelor are o mare importan; d) mai multe atribute pot lua valori din acelai domeniu de valori; Care afirmaie este eronat? 2. Actualizarea datelor dintr-o tabel presupune: a) adugarea unui nou tuplu; b) tergerea mai multor tupluri; c) afiarea tuturor tuplurilor; d) modificarea domeniului de valori pentru un atribut; Care dintre afirmaii este eronat? 3. Bazele de date se pot clasifica n funcie de : a) sistemul de calcul pe care se implementeaz ; b) limbajul de programare procedural utilizat ; c) modelul de date implementat ; d) localizarea BD ; e) setul de instruciuni; Care dintre afirmaii este eronat? 4. Precizai trei concepte de baz ale modelului dimensional. 5. Precizai care sunt caracteristicile tabelei de fapte. 6. Pentru fiecare categorie de instrumente BI, identificai trei instrumente, altele decat cele specificate n suportul de curs.

33

Rspunsuri

1. c 2. d 3. e

Bibliografie
1. P.Pocatilu, T.Surcel, A Reveiu., F. Alecu s.Birotica Profesional, Ed. ASE, 2009;. 2. Surcel, R.Maranu A Reveiu, P Pocatilu, F Alecu, R Bologa, Informatic Economic, Ed. Tribuna Economic, 2005 3. Gh. Sabu, M. Muntean, V. Avram, M. Drdal, R. Bologa, R. Bologa, Baze de date, ed. Matrix, 2008

34

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