CREATE DIMENSION ProduktDimension
LEVEL Artikel IS (Produkt.P_ID)
LEVEL Produktgruppe IS (Produkt.P_PGruppe_ID)
LEVEL Produktkategorie IS
(Produkt.P_Produktkategorie)
HIERARCHY ProduktHierarchie (
Artikel CHILD OF
Produktgruppe CHILD OF
Produktkategorie)
ATTRIBUTE Artikel DETERMINES (P_Bezeichnung,
P_Verkaufspreis, P_Einkaufspreis,
P_Rabatt, P_Steuern)
ATTRIBUTE Produktgruppe DETERMINES
(P_Produktgruppe)
35. Snowflake with CREATE DIMENSION
CREATE DIMENSION ProduktDimension
LEVEL Artikel IS (Produkt.P_ID)
LEVEL Produktgruppe IS (Produktgruppe.PG_ID)
HIERARCHY ProduktHierarchie (
Artikel CHILD OF Produktgruppe)
JOIN KEY (Produkt.P_PGruppe_ID)
REFERENCES Produktgruppe
36. Star with CREATE DIMENSION
CREATE DIMENSION ZeitDimension
LEVEL Tag IS (Zeit.Z_Tag_ID)
LEVEL Monat IS (Zeit.Z_Monat_ID)
LEVEL Jahr IS (Zeit.Z_Jahr_ID)
HIERARCHY ZeitHierarchie (
Tag CHILD OF Monat CHILD OF Jahr)
ATTRIBUTE Tag DETERMINES (Z_Tag)
ATTRIBUTE Monat DETERMINES (Z_Monat)
ATTRIBUTE Jahr DETERMINES (Z_Jahr)
37. 對比星形模式和雪花模式
數據倉庫應用的特性
在查詢更高粒度等級上典型的限制(Join操作)
相較於事實表,維度表少量的數據量
分類極少更改(更新異常的危險)
星形模式的優點
簡單的結構(簡化查詢公式/語句)
分類層次結構的簡單和靈活的表達(維度表的列)
一個維度內的有效的查詢處理(沒有Join操作的必要性)
38. 假設考慮成本
n維(),每第K分類級別加上Top
每個分類節點有三個孩子
級別 個節點(Top)
級別 個節點
級別 個節點
...
級別 i = 0 :最高的粒度,個節點
每個維度的節點
M個事實,在維度中均勻分佈
屬性:b Bytes: 節點只有ID: m 事實屬性
39. 完整的分類層次結構
對於每個節點都有一樣多的事實
40. 星形模式與雪花模式查詢開銷的對比
雪花模式的存儲空間:
n 事實表中外鍵的數量
m 事實屬性的數量
每個分類節點一個元組
星形模式的存儲空間:
每個分類節點Level 0 一個元組
K 每個分類級別一個屬性
41. 星形模式和雪花模式的查詢
查詢:對於產品組”紅酒“每個城市和年份下的銷售情況
雪花模式
SELECT S_Name, YEAR(Z_Datum), SUM(V_Anzahl)
FROM Verkauf, Filiale, Stadt, Produkt, Produktgruppe, Zeit
WHERE V_Produkt_ID = P_ID AND
P_PGruppe_ID = PG_ID AND
V_Filial_ID = F_ID AND
F_Stadt_ID = S_ID AND
V_Zeit_ID = Z_ID AND
PG_Bezeichnung = ’Wein’
GROUP BY S_Name, YEAR(Z_Datum)
Joins的數量: 5(隨着聚合路徑的數量線性增長)
星形模式
SELECT O_Stadt, YEAR(Z_Datum), SUM(V_Anzahl)
FROM Verkauf, Ort, Produkt, Zeit
WHERE V_Produkt_ID = P_ID AND
V_Zeit_ID = Z_ID AND
V_Ort_ID = O_ID AND
P_Produktgruppe = ’Wein’
GROUP BY O_Stadt, YEAR(Z_Datum)