Sunteți pe pagina 1din 2

Seminar - Crearea i alimentarea unui depozit de date (SQL Server Data Tools - SSIS

Project)

Etapa 1 se creaz baza de date care are rolul depozitului de date: SeminarSIAD (tabele:
INI.DimClient, INI.DimProdus, INI.DimTimp, INI.FapteVz). Se verific dac baza de date - depozit de
date este vid i n caz contrar (tabelele BD conin nregistrri) se terg toate nregistrrile.
Etapa 2 Se lanseaz n execuie instrumentul SQL Server Data Tools pentru a crea i executa procesul
ETL care are drept scop alimentarea depozitului de date SeminarSIAD dintr-o singura sursa de date
(SeminarSIAD_Facturare) : Start > Programs > Microsoft SQL Server 2012 > SQL Server Data Tools.
Etapa 3 Se creaz un proiect Integration Services Project care va include etapele procesului ETL: (1)
din lista Project Types se alege categoria Business Inteligence Projects, (2) din lista Templates se
alege categoria Integration Services Project, (3) n rubrica Name se definete denumirea proiectului
SSIS conform urmtoarei structurii: 1.ProiectSSIS_NrGrupa_InitialeStudent, (4) n rubrica Location se
definete (folosind butonul Browse) directorul unde va fi creat acest proiect: C:\Exemple\, (5) se
activeaz opiunea Create directory for solution, (6) selecie buton Ok.
Etapa 4 Definirea etapelor din procesul ETL:
Etapa 4.1 (opional) Se activeaz fereastra Toolbox: View > [SSIS] Toolbox i se dezactiveaz
opiunea Auto hide .
Etapa 4.2 Se definesc conexiunile ADO.NET ctre sursa de date operaionala
(SeminarSIAD_Facturare; UserID: StudentSIAD, Parola: StudentSIAD0) i ctre depozitul de date
(<BazaDeDateDinEmail>; UserID: <UserDinEmail>, Parola: <ParolaDinEmail>) n seciunea Connection
Managers (Server Name: s-win-sql-cig\cig).
Etapa 4.3 Se definete prima etap a procesului ETL (transferul clienilor n depozitul de date):
Se adug o component (din Toolbox) n panoul Control Flow (fereastra
Properties > proprietatea Name = Data Flow Task - transfer clienti).
Se afieaz meniul contextual aferent acestei componente > Edit.
Se adug componenta ADO.NET Source > se configureaz aceast component (Edit):
Connection manager = SeminarSIAD_Facturare, Data access mode = SQL Command, SQL
Command text =
SELECT DISTINCT Tert.IDTert AS IDClient, Tert.Denumire
FROM Tert INNER JOIN Iesire ON Tert.IDTert = Iesire.IDTert
WHERE Iesire.Tip=0
Se adug componenta ADO.NET Destination > se conecteaz cele dou componente: sursa
i destinaia.
Se configureaz componenta ADO.NET Destination (Edit): Connection manager =
SeminarSIAD, Data access mode = Table or view, Name of table or view = INI.DimClient >
Mappings > Ok.
Se revine n panoul Control Flow.
Etapa 4.4 n mod asemntor se definete (folosind o component avnd
proprietatea Name = Data Flow Task - transfer produse) a doua etap a procesului ETL (transferul
produselor n depozitul de date.
n acest caz se va utiliza urmtoarea interogare pentru sursa de date ADO.NET:
SELECT DISTINCT Produs.IDProdus, Grupa.Denumire AS Grupa, Produs.Denumire AS
Denumire
FROM Iesire INNER JOIN ((Grupa INNER JOIN Produs ON Grupa.IDGrupa = Produs.IDGrupa)
INNER JOIN (IntrareProdus INNER JOIN IesireProdus ON IntrareProdus.IDIntrareProdus
= IesireProdus.IDIntrareProdus) ON Produs.IDProdus = IntrareProdus.IDProdus) ON
Iesire.IDIesire = IesireProdus.IDIesire
WHERE Iesire.Tip=0
Etapa 4.5 Se definete a treia etap a procesului ETL (transferul datelor calendaristice n care au fost
nregistrate facturi de vnzare):
Se adaug n panoul Control Flow o component Data Flow Task avnd proprietatea Name =
Data Flow Task - transfer timp.
Se configureaz (Edit) aceast component
astfel:
Se configureaz componenta ADO.NET Source a.. s
extrag datele din SeminarSIAD_Facturare folosind
urmtoarea interogare SQL: SELECT DISTINCT Data
FROM Iesire WHERE Tip=0. Se configureaz
componenta ADO.NET Source 1 a.. s extrag datele
din SeminarSIAD_Facturare folosind tabela LunaAn. Se
configureaz componenta Derived Column a.. s fie
generate urmtoarele coloane calculate: An Expression
= YEAR(Data), Luna Expression = MONTH(Data) i Zi
Expression = DAY(Data). Se configureaz ambele
componente Sort a.. datele s fie sortate n funcie de
coloanele Luna. Se configureaz componenta Merge
Join a.. jonciunea dintre cele dou surse de date se va realiza n funcie de cmpul comun
Luna iar rezultatul jonciunii include urmtoarele coloane: Data, An, Luna, LunaDenumire i
An. Se configureaz componenta ADO.NET Destination a.. datele s fie inserate n tabela
INI.DimTimp din SeminarSIAD (depozitul de date).
Etapa 4.6 Se definete a ultima etap a procesului ETL (transferul faptelor n depozitul de date):
Se adaug n panoul Control Flow o component Data Flow Task avnd proprietatea Name =
Data Flow Task - transfer timp.
Se configureaz (Edit) aceast component astfel:
Componenta ADO.NET Source utilizeaz urmtoarea interogare SQL
(SeminarSIAD_Facturare):
SELECT IesireProdus.IDIesireProdus,
Iesire.IDTert AS IDClient,
IntrareProdus.IDProdus,
Iesire.Data,
IesireProdus.Cant,
IesireProdus.ValFTVA
FROM IntrareProdus INNER JOIN (Iesire INNER JOIN IesireProdus ON
Iesire.IDIesire = IesireProdus.IDIesire) ON
IntrareProdus.IDIntrareProdus = IesireProdus.IDIntrareProdus
WHERE Iesire.Tip=0
Componenta ADO.NET Source 1 utilizeaz tabela INI.DimTimp din depozitul de date
SeminarSIAD.

Etapa 4.8 Modificrile realizate n proiectul curent trebuiesc salvate: File > Save all.
Etapa 4.9 Se execut procesul ETL: n fereastra Solution Explorer se afieaz meniul contextual
corespunztorul nodului Package.dtsx > Execute package.
Precondiie: depozitul de date trebuie sa fie vid.


1
2
3
6
Se adauga o componenta [Data conversion] pentru conversia
valorilor din coloana Data la tipul [database date]

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