Sunteți pe pagina 1din 26

Realizarea unui depozit de date folosind

Oracle Warehouse Builder 11g release 2

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 owb_sursa/oracle pe serverul Oracle:


Pentru construirea depozitului de date vom utiliza instrumentul de dezvoltare Oracle
Warehouse Builder 11g release 2
(http://download.oracle.com/otn/nt/warehouse/OWB_11.2.0.3_Windows_x86-64.zip).

Pentru conectare se vor specifica datele proprii de identificare.


Varianta 1 Varianta 2 Varianta 3
server intern server public maina virtual
Username BDSA_NUME_PRENUME BDSA_NUME_PRENUME master

Password stud stud oracle


Hostname 168.192.4.65 37.120.250.20 localhost
Service name oradb oracle orclwm

Inainte de construirea efectiv a depozitului, vom verifica sursele de date utilizate, n


vederea stabilirii unor formate comune.
SEMINAR 1. CURAREA DATELOR

Crearea unui proiect nou


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

Pas 2: Stabilim numele proiectului PROFILE_NUME_PRENUME


(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
(OWB_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
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: owb_profiling / oracle.


Pentru completarea celorlalte date solicitate, folosii varianta aleas iniial:
Varianta 1 Varianta 2 Varianta 3
server intern server public maina virtual
Hostname 168.192.4.65 37.120.250.20 localhost
Service name oradb oracle orclwm
Versiune BD 10.2 11.2 10.2
n fereastra Connection Information verificai ca opiunea Import after finish s fie bifat!

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


Urmtoarea etap este s importm tabelele i viziunile corespunztoare schemei
owb_profiling. Asistentul de tip wizard Import Metadata urmrete paii 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, rezultatul fiind vizibil n nodul Tables al bazei de date din
modulul surs:

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 system / 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:


Asemntor 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 din
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 opiunile aferente 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 completm codul PL/SQL necesar:
Implementm funcia CUS_TARA_CLIENT i o testm (opiunea Test Deploy Function).

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: 1) tabele, 2) funcii, 3) 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 n tabela t_clienti din schema proprie:

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