Sunteți pe pagina 1din 21

Realizarea unui depozit de date folosind

Oracle Warehouse Builder 11g

Introducere
In urmtorul studiu de caz ne propunem s construim un depozit de date pentru
activitile comerciale ale unei societi, activiti legate de aprovizionarea cu produse de la
furnizori i desfacerea acestora ctre clieni.
Datele rezultate din tranzacii sunt stocate n tabele relaionale. Pentru construirea
depozitului se creeaz tabele sau tabele virtuale noi care vor reprezenta sursele de date pentru
obiectele depozitului. n urma unor prelucrri i transformri preliminare se obin tabelele surs
prezentate n schema urmtoare:

Tabelele utilizate sunt n schema sursa_owb/oracle pe serverul Oracle (hostname:


xpone2, service name: orclwm).
Pentru construirea depozitului de date vom utiliza instrumentul de dezvoltare Oracle
Warehouse Builder 11g release 1
(http://download.oracle.com/otn/nt/warehouse/OWB_11.1.0.6_Windows.zip).
Pentru conectare se vor specifica datele proprii de identificare.
Inainte de construirea efectiv a depozitului, vom verifica sursele de date utilizate, n
vederea stabilirii unor formate comune.

Partea 1. Curarea datelor

Pas 1: Realizm un nou proiect: din meniul Design->New.


Pas 2: Stabilim numele proiectului - denumii-v proiectul folosind numele
Dumneavoastr!!!)

Observm c exist mai multe tipuri de obiecte incluse in proiect:

Coleciile (Collections)=reprezint un mecanism generic de grupare. Ele dein o cale de


acces mai uoar la definiiile obiectelor pe care o folosim pentru a realiza activiti la nivel de
grup, de exemplu validarea sau generarea de cod.
Bazele de date (Databases)=reprezint aplicaii generale cu baze de date. Acestea pot fi
baze de date Oracle sau non-Oracle.
Se introduc noiunile de modul i locaie.
Modulul reprezint un mod logic de grupare a definiiilor de obiecte. De exemplu, un
modul de baz de date Oracle reprezint o grupare logic de obiecte care aparin unei baze de
date (scheme) Oracle.
Bazele de date (Databases), fiierele (Files), aplicaiile (Applications) ct i fluxurile de
procese (Process Flows) sunt grupate din punct de vedere logic n module.
Locaia (seciunea B) definete informaii referitoare la schema bazei de date sau la
instrumente destinaie. Locaiile sunt specifice tipurilor de module: bazei de date Oracle, bazei
de date non-Oracle, SAP sau fiiere. Atunci cnd se creeaz o locaie,se memoreaz o definiie
logic care conine tipul de locaie i versiunea.
Fiiere (files) = reprezint definiii ale fiierelor (grupate ca un modul). Un modul
de fiiere definete o legtur la un director care conine un numr de fiiere text. Putem folosi
asistentul de tip wizard pentru a importa aceste fiiere care pot conine tipuri multiple de
nregistrri, nregistrri separate prin caractere etc.
Aplicaii (applications) = conin definiii ale pachetelor de aplicaii. Oracle
Warehouse Builder asigur un integrator pentru sistemele SAP.
Fluxuri de date (process flows) = reprezint definiii ale fluxurilor de procese. Acestea
sunt coninute de module, iar n cadrul modulului sunt coninute de pachete de fluxuri de date.
Codul pe care Warehouse Builder-ul l genereaz pentru a reprezenta definiiile fluxurilor de date
respect standardul XML Process Definition Language(XPDL).
In zona C se introduce noiunea de Transformri publice (Public Transformations) =
reprezint transformri care pot fi folosite n cadrul proiectului. Acestea sunt divizate n
transformri obinuite i transformri pre-definite. Cele obinuite pot fi definite sau importate de
ctre utilizator, n timp ce transformrile pre-definite sunt legate de instalarea Warehouse Builder.
Toate acestea sunt disponibile n schema destinaie.
Transformrile publice sunt divizate n urmtoarele categorii:
Administration, ca de exemplu: activarea/anularea restriciilor, analizare
tabela/schem etc;
Character, ca de exemplu CHR, CONCAT, LDAP,LTRIM etc;
Conversion=pentru realizarea conversiilor dintre tipurile de date;
Date=asigur un numr de transformri specifice pentru datele de tip date;
Numeric, ca de exemplu ABS, SIN,FLOOR etc;
OLAP=asigur accesul la procedurile de ncrcare a cubului i dimensiunilor;
Other, inclusiv transformri NVL;
XML=pentru a expune transformrile de ncrcare XML.

Stabilirea modulului surs


Pentru realizarea procesului de Data Profiling vom folosi un modul surs (PROFILING),
datele curate fiind plasate automat ntr-un modul destinaie.

Pentru a crea modulul surs procedm astfel:


n arborele proiectului click dreapta pe nodul Oracle->New:
Asistentul de tip wizard Create Module ne ghideaz n parcurgerea urmtorilor pai:
Pas1: stabilim numele modulului: CLIENTI_SURSA_NUME_STUDENT i tipul acestuia -
modul surs (Data Source)
Pas2: dac nu exist o legtur predefinit se va crea una nou pentru a ncrca
metadatele n modul. Astfel, apsm pe butonul Edit din dreptul cmpului Location pentru a
stabili legtura cu baza de date surs, tipul i versiunea bazei de date.
Datele vor fi preluate din schema utilizatorului: profiling / oracle. Versiunea aleas
pentru baza de date este 10.2

La final va aprea un ecran care va centraliza toate configurrile realizate.


Urmtoarea etap este s importm tabelele i viziunile corespunztoare schemei
profiling. Asistentul de tip wizard Import Metadata pornete automat, iar paii parcuri sunt
prezentai mai jos:
Pas 1: Stabilim tipurile de obiecte pe care vrem s le importm:tabele, viziuni, secvene
etc.
Pas 2: Alegem din nodul TABLE tabela T_CLIENTI.

Pas 3: Dup acest pas n modulul surs sunt incluse obiectele selectate.
Se apas Finish.
La final se vor importa tabelele:
Sursa de date o consultm alegnd opiunea Data din meniul contextual deschis prin click
dreapta pe tabela surs T_CLIENTI.

Se observ neconcordane privind datele stocate la nivelul:


- rii: nu exist o variant unic de stocare a datelor
- oraului: nu exist o variant unic de stocare a datelor
- clasei clientului: exist valori eronate
- telefonului: nu exist o variant unic de stocare a datelor

Construirea unui proces de Data Profiling


Dup import construim un proces Data Profile alegnd opiunea New din meniul de context
deschis la click dreapta pe Data Profiles:
Denumim profilul i selectm tabelele pentru care urmeaz a fi aplicat:
Odat cu crearea profilului se va deschide fereastra Data Profile Editor:

Pentru a genera profilul datelor din tabel, selectm din meniul Profile opiunea Profile.
La prima generare a unui profil se va solicita crearea unei scheme noi pentru stocarea datelor
generate de-a lungul procesului. Este necesar specificarea datelor de autentificare pentru
utilizatorul sys / oracle. Selectai opiunea Show Details pentru a stabili parola pentru noul user
ataat schemei noi create i pentru a verifica setrile propuse.
Realizarea profilului se urmrete n zona Monitor Panel

Dup ce se execut procesul, sunt afiate detaliat statistici privitoare la date:

Pentru a realiza corectrile la nivel de ar i clas de client vom selecta tab-ul Domain
Pentru definirea unei reguli de corectare a rii clientului selectm valorile din TARA_CLIENT
i alegem opiunea Derive Data Rule.

Eliminm din lista posibil a rilor variantele prescurtate:


Asementor construim regula de validare pentru CLASA_CLIENT, care trebuie s pstreze
numai valorile corecte:

Pentru a realiza coreciile se alege din meniul Profile opiunea Create Correction
Se cere construirea unui modul destinaie (Target Module) n care s fie plasate tabelele cu
corecturile de rigoare. Il vom denumi CLIENT_CORECTAT.
Stabilii locaia ca fiind schema proprie, a utilizatorului cu care suntei conectat n OWB.
Se urmeaz paii indicai, prin alegerea tabelei asupra creia se vor realiza coreciile i a
regulilor de corecie stabilite anterior:
La pasul 4 se observ faptul c apar n tab-uri distincte informaii privind:
coloanele noii tabele curate (atenie, dimensiunile coloanelor nu se preiau automat
precum n tabela surs, ci sunt calculate n funcie de dimensiunile valorilor regsite n
tabel la momentul generrii profilului)
Important! Ne asigurm c n tabela T_CLIENTI din CLIENT_CORECTAT coloana
TARA_CLIENT are dimensiunea 10 pentru a stoca irul NECUNOSCUT.
restriciile de tip CHECK care implementeaz alegerile limitate pentru valorile acceptate
n coloanele ar_client i clas_client.
La pasul 5 al asistentului de tip wizard, vom selecta din lista derulant ataat coloanei Cleanse
Strategy strategiile de aplicare a regulilor, astfel:
- similarity Match pentru regula de curare a clasei clientului
- custom pentru regula de curare aferent rii (va fi implementat printr-o funcie PL/SQL)

Dup realizarea coreciei, se verific obiectele create n tab-ul Corrected Modules din Data
Profile Editor:
Dnd dublu click pe mapare, putem alege s o examinm, n scopul vizualizrii fluxului de
transformare parcurs:

Pentru a implementa funcia de transformare pentru coloana tara_client efectum dublu click pe
funcie, iar n tabul Implementation alegem opiunea Code Editor.
Codul PL/SQL necesar este:

Implementm funcia CUS_TARA_CLIENT i o testm testm (opiunea Test).

Pentru a rula coreciile i a ncrca datele din surs n destinaie, din meniul Tools alegem
Control Center Manager.
Alegei obiectele corespunztoare locaiei destinaie stabilite i parcurgei pe rnd etapele
urmtoare pentru fiecare dintre grupurile de obiecte: tabele, funcii, maparea:
selectai pentru Deploy Action CREATE
alegei opiunea Deploy (genereaz metadatele aferente obiectelor)

Dac totul se finalizeaz cu succes, selectai maparea i alegei execuia acesteia:

La final putem observa datele corectate:


EXERCITII:

1. Realizai corecia oraului n modulul CLIENT_CORECTAT, astfel nct:


- pentru liniile n care este introdus sectorul s apar Bucureti
- pentru liniile n care este introdus prescurtarea Buc s apar Bucureti
- pentru liniile n care este introdus judeul IF (sau Ilfov) s apar Popeti-Leordeni

2. Realizai corecia telefonului n modulul CLIENT_CORECTAT.

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