9 關於資料倉儲維度資料處理的方法探究系列——雪花維
5、雪花維概述
5.1概述
常規維度是指那些既不是虛擬維度、父子維度,也不是資料探勘維度的維度。與父子維度不同(其層次結構是不均衡層次結構),常規維度中的層次結構要麼均衡層次結構,要麼是不齊整層次結構。常規維度包含的級別數目與定義時選擇的列數目相同。這些級別一般按照常規到特定的順序排列。(微軟SQLServer2000聯機幫助概念)
常規維度可以基於多個聯接表。如果一個常規維度基於多個表,而且它沒有雪花架構,則將它新增到多維資料集中時將採用這種架構。如果一個常規維度基於單個表,而且用星型架構將該維度新增到多維資料集中,則該多維資料集將保留星型架構。(微軟SQLServer2000聯機幫助概念)
因此雪花架構是星型架構的一個擴充套件,有多個表定義一個或多個維度。在雪花架構中,只將主維度表和事實資料表聯接。其他維度表聯接到主維度表。
5.2實現
事實上雪花維度既可以是由多個表聯合組成的,也可以由一個表的多個有固定層次結構的;當然多個表也可以融合成為一個表或者檢視,實際專案中也會這麼做。
多個表的關聯組合會帶來一定的隱患,主要是鍵值不能匹配或者缺失,上級找不到下級,下級找不到父級,所以處理起來比較困難,當然透過表關聯比較符合資料庫的設計原則;透過將兩個表放到一起就可以有效的緩解,資料不一致的情況。
對於兩個不同的表的處理,請參見3.3.1覆蓋,只不過在完成表的處理之後,需要對這兩張表進行檢視合併,增加無鍵值時的預設值。
當然也可以透過儲存過程將兩張表合併到一張表中,具體情況根據業務需求而實現。
程式碼
CREATE TABLE t_tmp_xxx ( ID VARCHAR(20) NOT NULL, SuperID VARCHAR(20) NOT NULL, Name VARCHAR(50) , CONSTRAINT PK_t_tmp_xxx PRIMARY KEY (ID) ) go CREATE TABLE t_tmp_super_xxx ( SuperID VARCHAR(20) NOT NULL, Name VARCHAR(50) , CONSTRAINT PK_t_tmp_super_xxx PRIMARY KEY (SuperID) ) go CREATE TABLE t_dem_xxx ( ID VARCHAR(20) NOT NULL, Name VARCHAR(50) , SuperID VARCHAR(20) NOT NULL, SuperName VARCHAR(50), CONSTRAINT PK_t_dem_xxx PRIMARY KEY (ID) ) go INSERT INTO t_tmp_xxx VALUES('1','1','a') Go CREATE VIEW v_dem_xxx AS SELECT '-1' as ID,’預設’ Name,'-1' SuperID, ‘預設' SuperName Union All SELECT a.ID ID,a.name Name, CASE WHEN b.superid IS NULL THEN '-1' ELSE b.superid END SuperID, CASE WHEN b.superid IS NULL THEN’預設' ELSE b.name END SuperName FROM t_tmp_xxx a LEFT JOIN t_tmp_super_xxx b ON a.SuperID=b.SuperID |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/6517/viewspace-145445/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 1 關於資料倉儲維度資料處理的方法探究系列——維的概述
- 2 關於資料倉儲維度資料處理的方法探究系列——無變化維度處理
- 7 關於資料倉儲維度資料處理的方法探究系列——急劇變化維概述
- 4 關於資料倉儲維度資料處理的方法探究系列——緩慢變化維處理——覆蓋方式
- 5 關於資料倉儲維度資料處理的方法探究系列——緩慢變化維處理——全歷史記錄
- 6 關於資料倉儲維度資料處理的方法探究系列——緩慢變化維處理——記錄最新記錄及上
- 維度處理-資料倉儲-讀書筆記(四)筆記
- 資料倉儲中維度變化和事實變化的處理方法
- 資料倉儲維度建模入門
- 資料倉儲維度建模筆記筆記
- 【資料倉儲】|3 維度建模之維度表設計
- 理解維度資料倉儲——事實表、維度表、聚合表
- 資料預處理–資料降維
- Oracle 資料倉儲簡單時間維度表的建立Oracle
- 【資料倉儲】|4 維度建模之事實表設計
- 關於資料湖、資料倉儲的想法
- 資料倉儲(8)數倉事實表和維度表技術
- 關於資料倉儲的書籍
- 關於資料倉儲的設計!
- 【資料倉儲】|5 維度建模設計和實施過程
- 關於資料倉儲 — ODS概念
- 《資料倉儲工具箱:維度建模的完全指南》筆記總結筆記
- 關於資料倉儲和OLAP的問題!
- hive資料倉儲匯入資料的方法Hive
- 資料庫倉庫系列:(一)什麼是資料倉儲,為什麼要資料倉儲資料庫
- 關於MS資料倉儲備份(轉)
- 資料分析-基礎維度
- 關於資料倉儲成功的評價標準
- 關於一類資料處理
- 資料倉儲建模方法論
- 關於資料倉儲 — 總體工具介紹
- 設計資料倉儲和資料倉儲的粒度
- 資料倉儲 - 星座模型、星型模型和雪花模型的介紹模型
- 關於裸裝置資料的處理
- 關於資料庫open的深入探究資料庫
- 資料倉儲—資料倉儲—Sybase IQ 介紹
- 資料倉儲中的分析SQL——資料倉儲手冊SQL
- 運維相關的資料整理運維