Vous êtes sur la page 1sur 2

PROJEKT PROCESU ETL – OPIS ORAZ DIAGRAM

Tutaj po prostu przygotowujemy diagram pokazujący kolejne kroki przy tworzeniu tabel, według
których będziemy budować pakiet SSIS – na podstawie zapisów z 1 części projektu w tabeli z mapą
logiczną.

IMPLEMENTACJA PROCESU, JAKO PAKIET SSIS

1. Potrzebujemy zainstalowaną bazę danych, która została wybrana przy okazji 1 części projektu
(np. zestaw C)
2. Potrzebujemy też drugą, pustą bazę danych, do której będziemy zapisywać wynikowe tabele
3. Tworzymy nowy projekt Integration Services w Visual Studio
4. Tworzymy nowe data flow (dla 1 wymiaru)
5. Realizujemy wymiar zgodnie z zapisami z 1 części projektu
Np. chcemy stworzyć wymiar COST_DIM, więc patrzymy gdzie znajdują się potrzebne dane
(Source)

Potrzebujemy więc połączyć się do tabel Production.Product, Production.WorkOrderRouting,


Production.Location i Production.WorkOrder – dodajemy 4 bloczki Ole DB source, ustawiamy
tam odpowiednie połączenie do bazy i wybieramy odpowiednie artybuty z danej tabeli.

Następnie dla pobranych danych przeprowadzamy odpowiednie transformacje (np. bloczek


derived column).
Kolejnym krokiem jest połączenie danych w całość – sortujemy każdy przepływ po atrybucie,
po którym będziemy łączyć tabele (np. Product ID) i bloczkiem Merge Join łączymy przepływy
(najpierw 2 tabele ze sobą, potem ten przepływ z 3cią tabelą itd.). Musimy zawsze pamiętać,
aby przed merge joinem posortować dane po atrybucie, który użyjemy do łączenia.

Ostatnim krokiem jest zapis danych do tabeli COST_DIM we własnej bazie (bloczek OLE DB
Destination) – definiujemy nowe połączenie do własnej bazy (nie to samo co przy pobieraniu
danych) i tworzymy tabelę (New). Trzeba jeszcze wejść w zakładkę Mappings, powinna się
automatycznie wypełnić bez zmieniania tam czegokolwiek. Po poprawnym wykonaniu Data
Flow powinien nam stworzyć tabelę z danymi we własnej bazie (można podejrzeć w
management studio poprawność danych)

6. Analogicznie przygotowujemy pozostałe wymiary (dodając nowe bloczki data flow w zakładce
Control Flow). Samo pobranie i zapisanie danych do własnej tabeli jest takim kryterium
podstawowym, dodanie odpowiednich transformacji i operacji na danych pozwoli uzyskać
większą liczbę punktów. Dla wymiaru czasu warto dokonać transformacji jak na liście 9 w
zadaniu nr 1 – rozbić datę na rok, miesiąc, kwartał.

7. Następnie przechodzimy do Control Flow i dodajemy bloczki Execute SQL, aby zrealizować
punkt 4 (Pakiet powinien działać niezależnie od stanu docelowej bazy danych, tj. za każdym
uruchomieniem powinien usunąć wszystkie elementy bazy danych, stworzyć potrzebne nowe
struktury danych i przesłać dane źródłowe (pamiętając o odpowiednich transformacjach).) –
czyli przed bloczkiem Data Flow tworzącym dany wymiar dodajemy bloczek, który wyczyści
daną tabelę (jeżeżeli istnieje) lub stworzy pustą tabelę (jeżeli nie ma jej w bazie). Ten punkt
nie jest obowiązkowy, ale jego zrobienie podniesie ocenę za projekt.

8. Kolejnym krokiem w Control Flow jest dodanie kluczy do każdego wymiaru. Realizowane jest
to przez bloczki Execute SQL, analogicznie jak w zadaniu 3 z listy 9. W tym miejscu
powinniśmy mieć w Control Flow połączone strzałkami wszystkie bloczki tworzące i
wypełniajace (data flow) kolejne wymiary i dodające do nich klucze.

9. Następnie przechodzimy do realizacji tabeli faktu – dodajemy kolejny bloczek data flow
analogicznie jak przy wymiarach. Pobieramy odpowiednie dane, transformujemy i zapisujemy
we własnej bazie danych.

10. Ostatnim krokiem jest dodanie bloczków Execute SQL, które (podobnie jak w zadaniu 5 z listy
9) dodadzą klucze obce. Jest to bardzo ważne, gdyż bez tego nasze tabele nie będą miały
struktury płatka śniegu i nie będzie możliwe utworzenie z nich kostki.