02 Modelowanie danych

background image

Hurtownie danych

Modelowanie danych

1

marcin.mazurek@wat.edu.pl

background image

Treść wykładu



Modelowanie wymiarowe – podstawowe
informacje



Modelowanie hierarchii



Modelowanie zmienności w czasie



Modelowanie czasu



Agregacja w hurtowni danych



Metodyka projektowania modelu wymiarowego

marcin.mazurek@wat.edu.pl

2

background image

MODELOWANIE WYMIAROWE

marcin.mazurek@wat.edu.pl

3

background image

Fakty i miary



Fakty (ang. facts) – zdarzenia, o których informacja przechowywana
jest w hurtowni danych, podlegające analizie.



Rozmowa telefoniczna



Złożenie wniosku



Zakup polisy



Zakup polisy



Aktywacja kontraktu



Miara (ang. measures) - cecha ilościowa, opisująca zdarzenia lub
związana z faktem np.:



Czas trwania połączenia



Suma ubezpieczenia

marcin.mazurek@wat.edu.pl

4

background image

Wymiary



Wymiary - atrybuty opisujące kontekst wystąpienia faktu, np.



Czas



Lokalizacja geograficzna



Klient



Produkt



Produkt



Sprzedawca



Atrybuty – cechy opisujące wymiar, np.:



Nazwisko klienta



Nazwa kraju



Typ produktu



Poziom szczegółowości - wymiar może być opisywany przez
atrybuty na jednym lub więcej poziomie szczegółowości



Granulacja danych w hurtowni - największy możliwy poziom
szczegółowości wymiarów analizy dla miar związanych opisujących

marcin.mazurek@wat.edu.pl

5

background image

Projektowanie modelu danych



Wybór procesu biznesowego



Określenie istotnych faktów i ich granulacji



Określenie wymiarów analizy



Określenie wymiarów analizy



Określenie miar



Model logiczny danych



Diagram encji (ERD)



Model tabel

marcin.mazurek@wat.edu.pl

6

Model punktowy

background image

Tabele faktów



Główne tabele hurtowni (wolumen
danych, przyrost) – stanowią około
90% wolumenu danych hurtowni



Model tabeli faktów powstaje w wyniku
odpowiedzi na pytanie:

„Co mierzymy ?”

Sprzedaz

«column»

*

Ilosc: numeric(10,2)

„Co mierzymy ?”



Kolumny tabeli faktów:



Klucze obce łączące z tabelami
wymiarów



Numeryczne kolumny zawierające miary
opisujące fakt



Kolumny wyliczane



Klucz sztuczny (ROWID)



Niepotrzebny, gdyż kombinacja wartości
kluczy wymiarów powinna być unikalna



Może być wymagany przez system
zarządzania bazą danych

marcin.mazurek@wat.edu.pl

7

*

Ilosc: numeric(10,2)

*

Wartosc_PLN: numeric(10,2)

*

Wartosc_EUR: numeric(10,2)

*

ID_Produkt (FK): bigint

*

ID_Sklep (FK): bigint

*

ID_Data (FK): bigint

background image

Modelowanie faktów – zasady



Każdy z wierszy w tabeli faktów musi
odpowiadać temu samemu poziomowi
szczegółowości (wszystkie klucze

szczegółowości (wszystkie klucze
wymiarów wypełnione)

marcin.mazurek@wat.edu.pl

8

background image

Tabele faktów – wzorce
projektowe



Transakcje (ang. transactions)



Tabela, przechowująca informacje o zdarzeniach



Migawka okresowa (ang. periodic snapshot)



Tabela, przechowująca informację o stanie, np.: stan magazynu, stan
konta, wartość aktywów

konta, wartość aktywów



Stan jest zapisywany w regularnych odstępach czasu – np. codziennie,
na koniec miesiąca



Migawka akumulacyjna (ang. accumulating snaphsot)



Tabela przechowująca cykl życia produktu, zamówienia, usługi



Każdy wiersz odzwierciedla zmianę w czasie w postaci zbioru kluczy
wymiaru czasowego, odpowiadających chwilom zmiany statusu



Nietypowy wzorzec zakładający aktualizację rekordu.

marcin.mazurek@wat.edu.pl

9

background image

Migawka akumulacyjna

marcin.mazurek@wat.edu.pl

10

Ź

ródło: http://blog.oaktonsoftware.com/2007/03/accumulating-snapshot-use-accumulating.html

background image

Tabele wymiarów



Dostarczają kontekst analizy



Kluczowe dla możliwości wykorzystania
hurtowni danych w procesie analizy
danych



Duża liczba kolumn (może sięgać
nawet 100)

Produkty

«column»

*PK ID: bigint
*

Kod_produktu: varchar(50)

*

Opis_produktu: varchar(50)

nawet 100)



Stosunkowo niewielka liczba wierszy
(rzadko przekracza 1 milion wierszy)



Kolumny tabeli wymiarów :



Klucz sztuczny



Klucz naturalny (biznesowy)



Kolumny tekstowe zawierające
zrozumiałe wyjaśnienia (nie tylko
kody!)



Kolumny numeryczne (np. wielkość
powierzchni punktu sprzedaży)

marcin.mazurek@wat.edu.pl

11

*

Opis_produktu: varchar(50)

*

Model: varchar(50)

*

Marka: varchar(50)

*

Masa: varchar(50)

*

Rodzaj_opakowania: varchar(50)

*

Kategoria: varchar(50)

*

Wysokość : numeric(10,2)

*

Głębokość : timestamp

*

Szerokość : numeric(10,2)

*

Dlugosc_gwarancji: integer

background image

Model wymiarowy

Kalendarz

«column»

*PK ID: bigint
*

Rok: bigint

*

Miesiac: varchar(50)

*

Numer_dnia_w_miesiacu: integer

Sprzedaz

Produkty

«column»

*PK ID: bigint
*

Kod_produktu: varchar(50)

*

Opis_produktu: varchar(50)

*

Model: varchar(50)

*

Marka: varchar(50)

*

Masa: varchar(50)

*

Rodzaj_opakowania: varchar(50)

*

Kategoria: varchar(50)

*

Wysokość : numeric(10,2)

*

Głębokość : timestamp

*

Szerokość : numeric(10,2)

(ID_Produkt (FK) = ID)

«FK»

PK_Produkty

1

FK_Sprzedaz_Kalendarz

(ID_Data (FK) = ID)

«FK»

PK_Kalendarz

1

marcin.mazurek@wat.edu.pl

12

«column»

*

Ilosc: numeric(10,2)

*

Wartosc_PLN: numeric(10,2)

*

Wartosc_EUR: numeric(10,2)

*FK ID_Produkt (FK): bigint
*FK ID_Sklep (FK): bigint
*FK ID_Data (FK): bigint

*

Szerokość : numeric(10,2)

*

Dlugosc_gwarancji: integer

Sklepy

«column»

*PK ID: bigint
*

Nazwa : varchar(50)

*

Miejscowosc: varchar(50)

*

Kod_pocztowy: char(6)

*

Ulica : varchar(50)

*

Poczta : varchar(50)

*

Telefon : char(10)

FK_Sprzedaz_Produkty

0..*

0..*

FK_Sprzedaz_Sklepy

0..*

(ID_Sklep (FK) = ID)

«FK»

PK_Sklepy

1

background image

Schemat gwiazdy



Każdemu wymiarowi
odpowiada jedna tabela



Wszystkie atrybuty wymiaru,
niezależnie od poziomu
szczegółowości umieszczone

Sklepy

ID: bigint
Nazwa : varchar(50)
Kod_pocztowy: char(6)
Ulica : varchar(50)
Miejscowosc: varchar(50)
Poczta : varchar(50)
T elefon : char(10)
Wojewodztwo: varchar(50)

Sprzedaz

Ilosc: numeric(10,2)
Wartosc_PLN: numeric(10,2)
Wartosc_EUR: numeric(10,2)
ID_Produkt (FK): bigint
ID_Sklep (FK): bigint

szczegółowości umieszczone
są w jednej tabeli

marcin.mazurek@wat.edu.pl

13

Kalendarz

ID: bigint
Rok: bigint
Miesiac: varchar(50)
Numer_dnia_w_miesiacu: integer

Produkty

ID: bigint
Kod_produktu: varchar(50)
Opis_produktu: varchar(50)
Model: varchar(50)
Marka: varchar(50)
Masa: varchar(50)
Rodzaj_opakowania: varchar(50)
Kategoria: varchar(50)
Wysokość : numeric(10,2)
Głębokość: timestamp
Szerokość: numeric(10,2)
Dlugosc_gwarancji: integer

ID_Sklep (FK): bigint
ID_Data (FK): bigint

background image

Schemat płatka śniegu



Dane opisujące wymiary są
przechowywane w
znormalizowanym modelu (3NF)

Miejscow osci

ID: bigint
Nazwa: varchar(50)
ID_Wojewodztwo: bigint

Sklepy

ID: bigint
Nazwa : varchar(50)
Kod_pocztowy: char(6)

Wojew odztwa

ID: bigint
Nazwa: varchar(50)

marcin.mazurek@wat.edu.pl

14

Dni

ID: bigint
Numer_dnia_w_miesiacu: integer
ID_Miesiac: bigint
ID_Tydzien: bigint

Lata

ID: bigint
Rok: integer

Miesiace

ID: bigint
Miesiac: varchar(50)
ID_Rok: bigint

Produkty

ID: bigint
Kod_produktu: varchar(50)
Opis_produktu: varchar(50)
Model: varchar(50)
Masa: varchar(50)
Rodzaj_opakowania: varchar(50)
Wysokość : numeric(10,2)
Głębokość : timestamp
Szerokość : numeric(10,2)
Dlugosc_gwarancji: integer
ID_Kategoria: bigint
ID_Marka: bigint

Kod_pocztowy: char(6)
Ulica : varchar(50)
Poczta : varchar(50)
Telefon : char(10)
Wojewodztwo: varchar(50)
ID_Miejscowosc: bigint

Sprzedaz

Ilosc: numeric(10,2)
Wartosc_PLN: numeric(10,2)
Wartosc_EUR: numeric(10,2)
ID_Produkt (FK): bigint
ID_Sklep (FK): bigint
ID_Data (FK): bigint

Tygodnie

ID: bigint
Numer_tygodnia_w_roku: integer
Etykieta: varchar(10)

Kategorie

ID: bigint
Nazwa: varchar(50)
Nazwa_krotka: varchar(50)
Opis: varchar(50)

Marki

ID: bigint
Nazwa: varchar(50)
Wlasciciel: varchar(50)

background image

Schemat konstelacji



Współdzielone wymiary

Miej scowosci

ID: bigint
Nazwa: varchar(50)
ID_Wojewodztwo: bigint

Sklepy

ID: bigint
Nazwa : varchar(50)
Kod_pocztowy: char(6)
Uli ca : varchar(50)
Poczta : varchar(50)
Telefon : char(10)
Wojewodztwo: varchar(50)
ID_Miejscowosc: bigi nt

Sprzedaz

Ilosc: numeric(10,2)
Wartosc_PLN: numeric(10,2)

Woj ew odztwa

ID: bigint
Nazwa: varchar(50)

marcin.mazurek@wat.edu.pl

15

Dni

ID: bigint
Numer_dnia_w_miesiacu: integer
ID_Miesiac: bigint
ID_T ydzien: bigint

Lata

ID: bigint
Rok: integer

Miesiace

ID: bigint
Miesiac: varchar(50)
ID_Rok: bi gint

Produkty

ID: bigint
Kod_produktu: varchar(50)
Opis_produktu: varchar(50)
Model : varchar(50)
Masa: varchar(50)
Rodzaj_opakowania: varchar(50)
Wysokość: numeric(10,2)
Głębokość : timestamp
Szerokość: numeric(10,2)
Dlugosc_gwarancj i: integer
ID_Kategoria: bigint
ID_Marka: bigint

Wartosc_PLN: numeric(10,2)
Wartosc_EUR: numeric(10,2)
ID_Produkt (FK): bigi nt
ID_Skl ep (FK): bi gint
ID_Data (FK): bigint

Tygodnie

ID: bigi nt
Numer_tygodni a_w_roku: i nteger
Etykieta: varchar(10)

Kategorie

ID: bigint
Nazwa: varchar(50)
Nazwa_krotka: varchar(50)
Opis: varchar(50)

Marki

ID: bi gint
Nazwa: varchar(50)
Wlasciciel: varchar(50)

Zamow ienia

ID: bigint
Wartosc: numeric(10,2)
ID_Data(FK): bigi nt
ID_Produkt (FK): bigint
ID_Klient(FK): bigint
ID_DataRealizacji : bi gint

Klienci

ID: bi gint
Nazwi sko: varchar(50)
Imie: varchar(50)

background image

HIERARCHIE WYMIARÓW

marcin.mazurek@wat.edu.pl

16

background image

Hierarchie



Atrybuty mogą opisywać
wymiar na różnych

poziomach

szczegółowości

, np.:



Nazwa kraju, nazwa gminy,
współrzędne geograficzne

współrzędne geograficzne



Rok kalendarzowy, miesiąc, dzień



Region, sklep, sprzedawca



Wartości atrybutów w
przypadku różnych poziomów
szczegółowości tworzą
hierarchię.

marcin.mazurek@wat.edu.pl

17

background image

Rodzaje hierarchii



Kryterium semantyczne



Hierarchie oparte o poziomy
agregacji (ang. level –based,
standard
)



Wyróżniona stała liczba nazwanych
poziomów hierarchii



Kryterium struktury



Hierarchie zrównoważone (ang.
balanced)



Hierarchie, które mogą być przedstawione w
postaci drzewa (drzew), w którym odległość
od korzenia do liści jest zawsze taka sama.

poziomów hierarchii



Hierarchia geograficzna, hierarchia stanowisk
w organizacji



Hierarchie oparte o wartości
(ang. value-based, recursive)



Jednorodne znaczeniowo elementy
powiązane relacją element nadrzędny-
elementy podrzędne (element podrzędny
może być elementem nadrzędnym dla
innych)



Hierarchia części urządzenie technicznego,
hierarchia przełożony –podwładny bez
wyodrębniania stanowisk



Hierarchie nierównomierne (ang.
unbalanced)



Hierarchie , w których nie wszystkie ścieżki
od korzenia drzewa do elementu najbardziej
szczegółowego dochodzą do tego samego
poziomu szczegółowości.



Hierarchie niewyrównane (ang.
ragged, noncovering)



Hierarchie, w których nie wszystkie
poziomy szczegółowości są wypełnione.

marcin.mazurek@wat.edu.pl

18

background image

Hierarchie oparte o poziomy
szczegółowości

Rok

Miesiąc

Dzień

2009

Grudzień

31

2010

Styczeń

1

Poziomy szczegółowości

hierarchii

2009

Styczeń

1

marcin.mazurek@wat.edu.pl

19

Kalendarz

«column»

*PK ID: bigint
*

Rok: bigint

*

Miesiac: varchar(50)

*

Numer_dnia_w_miesiacu: integer

Lata

«column»

*PK ID: bigint
*

Rok: integer

Miesiace

«column»

*PK ID: bigint
*

Miesiac: varchar(50)

*FK ID_Rok: bigint

Dni

«column»

*PK ID: bigint
*

Numer_dnia_w_miesiacu: integer

*FK ID_Miesiac: bigint

FK_Miesiace_Lata

0..*

(ID_Rok = ID)

«FK»

PK_Rok

1

FK_Dni_Miesiace

0..*

(ID_Miesiac = ID)

«FK»

PK_Miesiace

1

background image

Hierarchie oparte o wartości

Pakiet

Pakiet

Pakiet

Pakiet

javax

javax.

servlet

javax.servlet.

jsp

javax.servlet.jsp.

el

javax

javax.

servlet

javax.servlet.

jsp

Javax.servlet.jsp.

jstl.core

javax

javax.

servlet

javax.servlet.

jsp

Javax.servlet.jsp.

jstl.fmt

javax

javax.

servlet

javax.servlet.

http

javax

javax.

servlet

javax.servlet.

http

javax

javax.

ejb

javax.ejb.spi

marcin.mazurek@wat.edu.pl

20

Pakiety

«column»

*PK ID: bigint
*

Pakiet : varchar(50)

FK ID_PakietNadrzedny: bigint

FK_Pakiety _Pakiety

0..*

«FK»

PK_Table1

1

background image

Hierarchia niewyrównana

Wydział

Kierunek

Specjalność

Grupa
studencka

WCY

Informatyka

ISZ

I8E1S1

WCY

Informatyka

SI

I8B1S1

WCY

Informatyka

SI

I8B1S1

WCY

Zarządzanie

Wcy

Informatyka

I0X1S1

WCY

Informatyka

I0X1S2

marcin.mazurek@wat.edu.pl

21

background image

Hierarchia niezrównoważona

Województwo Powiat

Gmina

Miejscowość

Mazowieckie

m.st.Warszawa

Warszawa

Mazowieckie

legionowski

Serock

Zegrze

Mazowieckie

legionowski

Legionowo

Mazowieckie

Warszawa-
zachód

Kampinos

Granica

Łódzkie

Pabianice

Lutomiersk

Kazimierz

marcin.mazurek@wat.edu.pl

22

background image

Hierarchie - inne zagadnienie
projektowe



Czy fakty są związane wyłącznie z liśćmi hierarchii ?



Jak hierarchia może zmieniać się w czasie?



Nowa wersja hierarchii



Jednolity Rzeczowy Wykaz Akt (JRWA)



Jednolity Rzeczowy Wykaz Akt (JRWA)



Podział administracyjny kraju



Zmiana przynależności elementu



zmiana granicy jednostki administracyjnej



Zmiana departamentu przez pracownika



Zmiana atrybutów elementu

marcin.mazurek@wat.edu.pl

23

background image

MODELOWANIE ZMIENNOŚCI
WYMIARÓW W CZASIE

marcin.mazurek@wat.edu.pl

24

background image

Modelowanie zmienności
wymiarów



Wolno zmienne wymiary - ang. Slowly Changing Dimensions (SCD)



Typ 1 - nadpisanie wartości



nadpisanie wartości



Stosowane najczęściej w przypadku zmiany nazwy, nazwiska.



Typ 2 - dodanie rekordu



Typ 2 - dodanie rekordu



dodanie rekordu zawierającego nowe wartości



Najczęściej stosowany typ obsługi zmienności wymiaru



Typ 3 – dodanie kolumny



Zmiany zapisywane są w oddzielnych kolumnach (dla każdej wersji jest
oddzielna kolumna przechowująca wartość).



Stosowany w przypadku okazjonalnych zmian, w których istotna jest możliwość
łatwego odwołania do poprzedniej wartości, np. Województwo według starego i
nowego podziału administracyjnego

marcin.mazurek@wat.edu.pl

25

background image

SCD – Typ 1

ID

Nazwisko Imię

Data
urodzenia

Miejsce
zamieszkania

Województwo

10256

Kowalska

Janina 1990-01-10

Skierniewice

łódzkie

UPDATE

marcin.mazurek@wat.edu.pl

26

UPDATE

ID

Nazwisko

Imię

Data
urodzenia

Miejsce
zamieszkania

Województwo

10256

Malinowska

Janina 1990-01-10 Skierniewice

łódzkie

background image

SCD – Typ 2

INSERT

Zmiana adresu zamieszkania
Skierniewice -> Warszawa

ID

PESEL

Nazwisko

Imię

Data
urodzenia

Miejsce
zamieszkania

Województwo

Data od

Data do

321

01234567890

Kowalska

Janina

1990-01-10

Skierniewice

łódzkie

1995-06-01

9999-12-01

marcin.mazurek@wat.edu.pl

27

INSERT
UPDATE (data do)

ID

PESEL

Nazwisko

Imię

Data
urodzenia

Miejsce
zamieszkania

Województwo

Data od

Data do

321

01234567890

Kowalska

Janina

1990-01-10

Skierniewice

łódzkie

1995-06-01

2011-03-15

322

01234567890

Kowalska

Janina

1999-01-10

Warszawa

Mazowieckie

2011-03-16

9999-12-01

Skierniewice -> Warszawa
Od dnia 2011-03-15

background image

SCD – Typ 3

ID

Nazwisko

Imię

Data
urodzenia

Miejsce
zamieszkania

Województwo

10256

Kowalska

Janina

1990-01-10

Skierniewice

skierniewickie

ALTER TABLE …

Zmiana województwa wynikająca
z reformy podziału

marcin.mazurek@wat.edu.pl

28

ALTER TABLE …
UPDATE ….

ID

Nazwisko

Imię

Data
urodzenia

Miejsce
zamieszkania

Województwo
stare

Województwo

10256

Malinowska

Janin
a

1990-01-10

Skierniewice

skierniewickie

łódzkie

z reformy podziału
administarcyjnego kraju

background image

SCD - podsumowanie

Typ 1

Typ 2

Typ 3

Zastąpienie wartości
poprzedniej nową w tym
samym rekordzie

Dodanie nowego wiersza w
tabeli wymiarów z nowymi
wartościami atrybutów

Dodanie nowej kolumny
przechowujące poprzednią
wartość atrybutu

Najłatwiejszy do implementacji

•Nie ma konieczności
aktualizacji istniejących

•Nie ma konieczności
aktualizacji raportów czy też

aktualizacji istniejących
agregatów
•Nowy wiersz automatycznie
partycjonuje historię w tabeli
faktów

aktualizacji raportów czy też
agregatów
•Umożliwia połączenie faktów
zarówno ze starymi jak i nowymi
wartościami atrybutów

Brak możliwości odczytania
poprzednich wartości

•Dwie (lub więcej) wartości
klucza sztucznego
•Wzrost wolumentu tabeli
wymiarów
•Nie pozwala połączyć nowych
wartości atrybutów ze starymi
faktami

Wymaga zmiany struktury bazy
danych

marcin.mazurek@wat.edu.pl

29

background image

Wymiary szybkozmienne



Podział atrybutów wymiaru na wolno i
szybkozmienne oddzielne wymiary



Dwa klucze w tabeli faktów



Dwa klucze w tabeli faktów



Podstawowej tabeli wymiarów



Wydzielonej tabeli odpowiadającej
szybkozmiennym atrybutom wymiaru.

marcin.mazurek@wat.edu.pl

30

background image

Modelowanie zmienności
wymiarów – inne rozwiązania



Oddzielne tabele przechowujące historię zmian



Podstawowa tabela przechowuje stan bieżący



Dodatkowa tabela przechowuje wszystkie zmiany rekordu z tabeli podstawowej
w postaci kolejnych rekordów opatrzonych datami wyznaczającymi zakres
ważności wersji rekordu.

ważności wersji rekordu.



Podejście hybrydowe (Ralph Kimball) - „ Unpredictable changes
with single-version ovelay”



Kombinacja typu 2 i 3



Dodanie nowego wiersza w tabeli wymiarów



Dodanie nowej kolumny przechowującej poprzednią wartość wymiaru

marcin.mazurek@wat.edu.pl

31

background image

MODELOWANIE WYMIARU
CZASU

marcin.mazurek@wat.edu.pl

32

background image

Wymiar czasu - kalendarz



W podejściu wymiarowym czas jest reprezentowany
przez oddzielną tabelę wymiaru – Kalendarz



SQL nie zawiera wszystkich funkcji wymaganych w raportowaniu
(oznaczenie świąt, okresy sprawozdawczości)

marcin.mazurek@wat.edu.pl

33

Ź

ródło: R. Kimball, The Data Warehouse Toolkit , The Complete Guide To Dimensional Modelling

background image

INNE ZAGADNIENIA
MODELOWANIA DANYCH

marcin.mazurek@wat.edu.pl

34

background image

Tabela faktów bez faktów



ang. Factless fact table



Tabele faktów pozbawione miar, składające się
wyłącznie z kluczy obcych



Pozwalają rejestrować zdarzenia



Zapisanie się studenta na temat pracy dyplomowej



Pozwalają analizować zdarzenia, które nie miały
miejsca, np. w której promocji nie sprzedano ani
jednego produktu.

marcin.mazurek@wat.edu.pl

35

background image

Wymiary zdegenerowane



Wymiary zdegenerowane (ang.
degenerate dimension) - wymiary
składające się wyłącznie z jednego

składające się wyłącznie z jednego
atrybutu (klucza wymiaru)



Wartość klucza umieszczana jest
bezpośrednio w tabeli faktów

marcin.mazurek@wat.edu.pl

36

background image

Junk dimension



Flagi, statusy, dodatkowe pola o niewielkiej
liczbie możliwych wartości, nie należące
logiczne do żadnego ze zidentyfikowanych
wymiarów

wymiarów



Przechowywane w oddzielnej tabeli wymiarów



Wiersze tabeli generowane przed ładowaniem faktów



Wiersze generowane ad-hoc w procesie ETL

marcin.mazurek@wat.edu.pl

37

background image

Redukcja liczby wymiarów



Każdy wymiar to klucz w tabeli faktów – duża
liczba wymiarów może oznaczać dużą zajętość
przestrzenie dyskowej

Scalenie wymiarów – umieszczenie iloczynu



Scalenie wymiarów – umieszczenie iloczynu
kartezjańskiego zbioru wartości dwóch lub
więcej wymiarów w jednej tabeli

marcin.mazurek@wat.edu.pl

38

background image

AGREGACJA

marcin.mazurek@wat.edu.pl

39

background image

Tabele podsumowań



Agregaty – tabele zawierające informację
wtórną, wyliczoną w oparciu o tabele faktów przy
użyciu funkcji agregacji

Najczęstsze funkcje agregacji:



Najczęstsze funkcje agregacji:



SUM, COUNT, DISTINCT COUNT, AVG



Agregaty mogą zawierać klucze wymiarów
(model płatka śniegu) lub wartości atrybutów

marcin.mazurek@wat.edu.pl

40

background image

Agregacja w hurtowni danych



Miary:



Addytywne – takie, które mogą być agregowane w każdym z wymiarów.
Dla obliczenia podsumowania wymagane są wartości na dowolnym
poziomie granulacji, nie mniejszym niż podsumowanie.



Semiaddytywne - takie, które mogą być agregowane z wyłączeniem



Semiaddytywne - takie, które mogą być agregowane z wyłączeniem
niektórych wymiarów (najczęściej wymiar czasu)



Stan środków na koncie



Liczba klientów



Nieaddytywne – takie, które nie mogą być agregowane -
podsumowania muszą być obliczane w oparciu o dane najbardziej
szczegółowe



Liczba klientów, którzy skorzystali z usługi



distinct count()

marcin.mazurek@wat.edu.pl

41

background image

METODYKA BUDOWY
MODELU WYMIAROWEGO

marcin.mazurek@wat.edu.pl

42

background image

Zasady budowy modelu
wymiarowego



Model danych hurtowni budowany jest przyrostowo
według obszarów tematycznych



Podczas projektowania modelu wymiaru, dąży się do



Podczas projektowania modelu wymiaru, dąży się do
tego, aby był on wspólny dla całej organizacji (ang.
conformed dimension)



Podczas projektowania kolejnych obszarów
wykorzystujemy definicje wymiarów utworzonych
wcześniej

marcin.mazurek@wat.edu.pl

43

background image

Budowa modelu wymiarowego

marcin.mazurek@wat.edu.pl

44

Ź

ródło: R. Kimball, The Data Warehouse Toolkit , The Complete Guide To Dimensional Modelling

background image

Szyna wymiarów

marcin.mazurek@wat.edu.pl

45

Ź

ródło: R. Kimball, The Data Warehouse Toolkit , The Complete Guide To Dimensional Modelling

background image

Literatura



Kimball Group

http://www.kimballgroup.com/



Data Modelling Techniques for Data Warehouses



Data Modelling Techniques for Data Warehouses

http://www.redbooks.ibm.com/redbooks/pdfs/sg242238.pdf

46

marcin.mazurek@wat.edu.pl


Wyszukiwarka

Podobne podstrony:
MODELOWANIE DANYCH notatki
02 Bazy danych - bibliografia skrocona, INIB rok II, PIOSI janiak
02 PREZENTACJA DANYCH STATYSTYCZNYCH
MADE(02) Transformacja danych
3 Modelowanie danych
02 Reprezentacja danychid 3439 ppt
Projekt modelowanie danych
02 Wizualizacja danych przestrz Nieznany
Modelowanie danych modany
Elementy statystycznego modelowania danych EDA 11
APP 02 Typy Danych Podstawy 2010
Modelowanie danych (ERD, WI, Semestr I N2, Modelowanie i analiza systemów, Poprawione wykłady
Modelowanie danych cz1
02 Modelowanie matematyczne układów dynamicznych
modelowanie danych
MODELOWANIE DANYCH notatki


więcej podobnych podstron