Microsoft Fabric のデータ ウェアハウスのテーブル
適用対象:✅Microsoft Fabric のウェアハウス
この記事では、Microsoft Fabric でテーブルを設計するための重要な概念について詳しく説明します。
テーブルでは、データが論理的に行と列の形式にまとめられます。 各行は一意なレコードを表し、各列はレコードのフィールドを表します。
- ウェアハウスでは、テーブルはすべてのトランザクション データが含まれるデータベース オブジェクトでます。
テーブル カテゴリを決定する
スター スキーマ は、データを ファクト テーブル と ディメンション テーブル に編成します。 一部のテーブルは、ファクト テーブルまたはディメンション テーブルに移動する前に統合またはステージング データに使用されます。 テーブルを設計する際には、テーブルのデータがファクト、ディメンション、統合のいずれのテーブルに属するかを決定します。 この決定により、適切なテーブル構造体が通知されます。
ファクト テーブルには、一般にトランザクション システムで生成された後、データ ウェアハウスに読み込まれる定量的データが含まれています。 たとえば、小売業では販売トランザクションを毎日生成した後、そのデータを分析のためにデータ ウェアハウス ファクト テーブルに読み込みます。
ディメンション テーブルには、変化する可能性はあるが通常は変更頻度が低い属性データが含まれます。 たとえば、顧客の名前と住所はディメンション テーブルに格納され、その顧客のプロファイルが変更された場合にのみ更新されます。 大規模なファクト テーブルのサイズを最小限に抑えるために、ファクト テーブルのすべての行に顧客の名前と住所を格納する必要はありません。 代わりに、ファクト テーブルとディメンション テーブルで顧客 ID を共有できます。 クエリで 2 つのテーブルを結合して、顧客のプロファイルとトランザクションに関連付けることができます。
統合テーブルは、統合またはステージング データの場所を提供します。 たとえば、ステージング テーブルにデータを読み込み、ステージングでデータの変換を実行してから、データを運用環境テーブルに挿入できます。
テーブルは、ウェアハウスの一部として OneLake にデータを格納します。 テーブルとデータは、セッションが開かれているかどうかにかかわらず保持されます。
ウェアハウスのテーブル
テーブルの構成を表示するには、テーブル名のプレフィックスとして fact
、dim
、または int
を使用できます。 次の表に、WideWorldImportersDW というサンプル データ ウェアハウスのスキーマ名とテーブル名の一部を示します。
WideWorldImportersDW ソース テーブル名 | テーブルの種類 | データ ウェアハウス テーブル名 |
---|---|---|
市 | Dimension | wwi.DimCity |
受注 | ファクト | wwi.FactOrder |
- テーブル名の大文字と小文字は区別されます。
- テーブル名に
/
や\
を含めたり、末尾を.
にしたりすることはできません。
テーブルを作成する
ウェアハウスでは、テーブルは、新しい空のテーブルとして作成することができます。 テーブルを作成し、SELECT ステートメントの結果を使用して値を設定することもできます。 テーブルを作成するための T-SQL コマンドを次に示します。
T-SQL ステートメント | 説明 |
---|---|
CREATE TABLE | すべてのテーブル列およびオプションを定義して空のテーブルを作成します。 |
CREATE TABLE AS SELECT | SELECT ステートメントの結果を使用して新しいテーブルに値が設定されます。 テーブルの列とデータ型は、SELECT ステートメントの結果に基づきます。 データをインポートするには、このステートメントで外部テーブルから選択できます。 |
この例では、次の 2 つの列を含むテーブルを作成します。
CREATE TABLE MyTable (col1 int, col2 int );
スキーマ名
Warehouse では、カスタム スキーマの作成がサポートされています。 SQL Server での場合と同じように、スキーマは、同様の方法で使用されるオブジェクトをグループ化するのに適しています。 次のコードは、wwi
と呼ばれるユーザー定義スキーマを作成します。
- スキーマ名は大文字と小文字が区別されます。
- スキーマ名に
/
や\
を含めたり、末尾を.
にしたりすることはできません。
CREATE SCHEMA wwi;
データ型
Microsoft Fabric では、最も一般的に使用される T-SQL データ型がサポートされています。
- データ型の詳細については、「Microsoft Fabric のデータ型」を参照してください。
- ウェアハウスでテーブルを作成する場合は、CREATE TABLE (Transact-SQL) のデータ型のリファレンスを確認してください。
- ウェアハウスでテーブルを作成するためのガイドについては、テーブルの作成に関するページを参照してください。
照合順序
現在、Latin1_General_100_BIN2_UTF8
は既定であり、テーブルとメタデータの両方でサポートされている唯一の照合順序です。
統計
クエリ オプティマイザーでは、クエリ実行のプランの作成時に列レベルの統計が使用されます。 クエリのパフォーマンスを向上させるには、個々の列、特にクエリの結合で使用される列の統計を作成することが重要です。 ウェアハウスでは、統計の自動作成がサポートされます。
統計の更新は自動的には行われません。 大量の行が追加または変更された後に統計を更新します。 たとえば、読み込みの後に統計を更新します。 詳細については、「統計」を参照してください。
主キー、外部キー、一意キー
ウェアハウスでは、PRIMARY KEY と UNIQUE の各制約は、NONCLUSTERED と NOT ENFORCED の両方が使用されている場合にのみサポートされます。
FOREIGN KEY は、NOT ENFORCED が使用されている場合にのみサポートされます。
- 構文については、ALTER TABLE をご覧ください。
- 詳細については、「Microsoft Fabric のウェアハウスの主キー、外部キー、および一意キー」を参照してください。
ソース データをデータ ウェアハウスに配置する
ウェアハウス テーブルは、別のデータ ソースからデータを読み込むことで設定されます。 読み込みを正常に完了させるには、ソース データ内の列の数とデータ型が、データ ウェアハウス内のテーブル定義と合致している必要があります。
データを複数のデータ ストアから読み込む場合、データをデータ ウェアハウスに移植して、統合テーブルに格納できます。 データが統合テーブルに格納されたら、データ ウェアハウスの機能を使用して変換操作を実行できます。 データの準備ができたら、それを運用テーブルに挿入できます。
制限事項
ウェアハウスでは、他のデータベースで提供されるテーブル機能の多くがサポートされますが、すべてサポートされるわけではありません。
次の一覧は、現在サポートされていないテーブル機能の一部を示しています。
- テーブルあたり最大 1024 列
- 計算列
- インデックス付きビュー
- パーティション テーブル
- シークエンス
- スパース列
- ID 列を使用した数値シーケンスの代理キー
- シノニム
- 一時テーブル
- トリガー
- 一意のインデックス
- ユーザー定義データ型
重要
Warehouse で Source Control を使用する場合、テーブル制約または列を追加には制限があります。