Microsoft Fabric 中數據倉儲中的數據表
適用於: Microsoft Fabric 中的倉儲
本文詳細說明在 Microsoft Fabric 中設計數據表的重要概念。
在數據表中,數據會以數據列和數據行格式以邏輯方式組織。 每個資料列都代表唯一的記錄,而每個資料行則代表記錄中的一個欄位。
- 在倉儲中,數據表是包含所有事務數據的資料庫物件。
判斷數據表類別
星型架構會將數據組織成事實和維度數據表。 某些數據表用於整合或暫存數據,再移至事實或維度數據表。 當您設計資料表時,請決定資料表數據是否屬於事實、維度或整合資料表。 此決策會通知適當的數據表結構。
事實數據表 包含經常在交易系統中產生的量化數據,然後載入至數據倉儲。 例如,零售業務每天會產生銷售交易,然後將數據載入數據倉儲事實數據表進行分析。
維度數據表 包含可能會變更但通常不常變更的屬性數據。 例如,客戶的名稱和位址會儲存在維度數據表中,而且只有在客戶的配置檔變更時才會更新。 若要降低大型事實資料表的大小,則不需將客戶的名稱和地址放在事實資料表的每個資料列中。 相反地,事實數據表和維度數據表可以共用客戶標識符。 查詢可以聯結這兩個數據表來關聯客戶的配置檔和交易。
整合數據表 提供整合或暫存數據的位置。 例如,您可以將數據載入臨時表、對暫存中的數據執行轉換,然後將數據插入生產數據表。
數據表會將數據儲存在 OneLake 中作為倉儲的一部分。 數據表和數據會保存會話是否開啟。
倉儲中的數據表
若要顯示資料表的組織,您可以使用 fact
、 dim
或 int
做為數據表名稱的前置詞。 下表顯示WideWorldImportersDW範例數據倉儲的一些架構和數據表名稱。
WideWorldImportersDW 源數據表名稱 | 資料表類型 | 數據倉儲數據表名稱 |
---|---|---|
縣/市 | 維度 | wwi.DimCity |
訂單 | 事實 | wwi.FactOrder |
- 資料表名稱會區分大小寫。
- 數據表名稱不能包含
/
或\
結尾.
。
建立表格
針對倉儲,您可以將數據表建立為新的空白數據表。 您也可以使用 select 語句的結果來建立及填入數據表。 以下是用來建立數據表的 T-SQL 命令。
T-SQL 陳述式 | 描述 |
---|---|
CREATE TABLE | 藉由定義所有數據表數據行和選項,建立空白數據表。 |
CREATE TABLE AS SELECT | 使用 select 語句的結果填入新的數據表。 數據表數據行和數據類型是以 select 語句結果為基礎。 若要匯入數據,此語句可以從外部數據表中選取。 |
此範例會建立具有兩個資料行的數據表:
CREATE TABLE MyTable (col1 int, col2 int );
結構描述名稱
倉儲支援建立自定義架構。 就像在 SQL Server 中一樣,架構是將物件群組在一起的好方法,這些物件會以類似的方式使用。 下列程式代碼會建立名為wwi
的使用者定義架構。
- 架構名稱區分大小寫。
- 架構名稱不能包含
/
或\
結尾.
。
CREATE SCHEMA wwi;
資料類型
Microsoft Fabric 支援最常用的 T-SQL 數據類型。
- 如需數據類型的詳細資訊,請參閱 Microsoft Fabric 中的數據類型。
- 當您在倉儲中建立數據表時,請檢閱 CREATE TABLE (Transact-SQL) 中的數據類型參考。
- 如需在倉儲中建立數據表的指南,請參閱 建立數據表。
定序
Latin1_General_100_BIN2_UTF8
目前是數據表和元數據的預設且僅支援定序。
統計資料
查詢優化器會在建立執行查詢的計劃時,使用數據行層級統計數據。 若要改善查詢效能,請務必擁有個別數據行的統計數據,特別是查詢聯結中使用的數據行。 倉儲支持自動建立統計數據。
統計更新不會自動發生。 新增或變更大量數據列之後,更新統計數據。 例如,在載入之後更新統計數據。 如需詳細資訊,請參閱: 統計資料。
主鍵、外鍵和唯一索引鍵
針對倉儲,只有在使用 NONCLUSTERED 和 NOT ENFORCED 時,才支援 PRIMARY KEY 和 UNIQUE 條件約束。
只有在使用 NOT ENFORCED 時,才支援 FOREIGN KEY。
- 如需語法,請檢查 ALTER TABLE。
- 如需詳細資訊,請參閱 Microsoft Fabric 中 Warehouse 中的主鍵、外鍵和唯一索引鍵。
將源數據與數據倉儲對齊
倉儲數據表會藉由從另一個數據源載入數據來填入。 若要成功載入,源數據中的數據行數目和數據類型必須與數據倉儲中的數據表定義一致。
如果數據來自多個數據存放區,您可以將數據移植到數據倉儲,並將其儲存在整合數據表中。 一旦數據位於整合數據表中,您就可以使用數據倉儲的強大功能來實作轉換作業。 備妥數據之後,您可以將它插入生產數據表中。
限制
倉儲支援其他資料庫所提供的許多數據表功能,但並非全部。
下列清單顯示目前不支援的一些數據表功能。
- 每個數據表最多1024個數據行
- 計算資料行
- 索引檢視
- 資料分割資料表
- 序列
- 疏鬆資料行
- 識別數據行之數字順序上的 Surrogate 索引鍵
- 同義字
- 暫存資料表
- 觸發程序
- 唯一索引
- 使用者定義型別
相關內容
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應