首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SSAS 雪花模型維度設計:產品類別多層級關聯實作

     編輯:關於SqlServer

雪花模型維度特徵在於維度表進一步正規化,形成多層外鍵關聯。以產品維度為例:DimProduct → DimProductSubcategory → DimProductCategory 架構三層關聯。

測試資料建立與關聯性定義

從 AdventureWorksDW2012 擷取核心欄位建立三張維度表,並依序加入主鍵與外鍵約束:

-- 建立三層維度表
SELECT ... INTO DimProduct FROM AdventureWorksDW2012.dbo.DimProduct;
SELECT ... INTO DimProductSubcategory FROM AdventureWorksDW2012.dbo.DimProductSubcategory;
SELECT ... INTO DimProductCategory FROM AdventureWorksDW2012.dbo.DimProductCategory;

-- 定義主鍵
ALTER TABLE DimProductCategory ADD CONSTRAINT PK_CategoryKey PRIMARY KEY CLUSTERED(ProductCategoryKey);
ALTER TABLE DimProductSubcategory ADD CONSTRAINT PK_SubCategoryKey PRIMARY KEY CLUSTERED(ProductSubcategoryKey);
ALTER TABLE DimProduct ADD CONSTRAINT PK_Product PRIMARY KEY CLUSTERED(ProductKey);

-- 定義外鍵關聯
ALTER TABLE DimProduct ADD CONSTRAINT FK_SubcategoryKey FOREIGN KEY(ProductSubcategoryKey) REFERENCES DimProductSubcategory(ProductSubcategoryKey);
ALTER TABLE DimProductSubcategory ADD CONSTRAINT FK_CategoryKey FOREIGN KEY(ProductCategoryKey) REFERENCES DimProductCategory(ProductCategoryKey);

SSAS 維度精靈配置

在 SSAS 維度設計師中,將三張表加入資料來源檢視,依外鍵關聯自動建立屬性關聯。雪花模型的優勢在於儲存空間較星狀模型節省,但查詢時需多次 JOIN,效能權衡需視資料量與查詢模式決定。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved