WideWorldImportersDW データベース カタログ
適用対象: SQL Server
Azure SQL Database
Azure Synapse Analytics
Analytics Platform System (PDW)
WideWorldImportersDW データベース内のスキーマ、テーブル、およびストアド プロシージャの説明。
WideWorldImportersDW データベースは、データ ウェアハウスと分析処理に使用されます。 売上と購入に関するトランザクション データは WideWorldImporters データベースで生成され、毎日の ETL プロセスを使用して WideWorldImportersDW データベースに読み込まれます。
したがって、WideWorldImportersDW 内のデータは WideWorldImporters 内のデータを反映しますが、テーブルは異なる方法で編成されます。 WideWorldImporters には従来の正規化されたスキーマが含まれていますが、WideWorldImportersDW ではテーブルデザインにスター スキーマ アプローチが使用されます。 ファクトおよびディメンション テーブルに加えて、データベースには ETL プロセスで使用されるステージング テーブルが多数含まれています。
スキーマ
さまざまな種類のテーブルは、3 つのスキーマで構成されます。
[スキーマ] | 説明 |
---|---|
分析コード | ディメンション テーブル。 |
ファクト | ファクト テーブル。 |
統合 | ETL に必要なステージング テーブルとその他のオブジェクト。 |
Tables
ディメンション、ファクトの各テーブルを次に示します。 統合スキーマ内のテーブルは ETL プロセスにのみ使用され、一覧には表示されません。
ディメンション テーブル
WideWorldImportersDW には、次のディメンション テーブルがあります。 説明には、WideWorldImporters データベース内のソース テーブルとのリレーションシップが含まれます。
テーブル | ソース テーブル |
---|---|
市区町村 | Application.Cities 、Application.StateProvinces 、Application.Countries 。 |
顧客 | Sales.Customers 、Sales.BuyingGroups 、Sales.CustomerCategories 。 |
日 | 会計年度を含む日付に関する情報を含む新しいテーブル (会計年度の 11 月 1 日開始に基づく)。 |
社員 | Application.People 。 |
StockItem | Warehouse.StockItems 、Warehouse.Colors 、Warehouse.PackageType 。 |
Supplier (仕入先) | Purchasing.Suppliers 、Purchasing.SupplierCategories 。 |
PaymentMethod | Application.PaymentMethods 。 |
TransactionType | Application.TransactionTypes 。 |
ファクト テーブル
WideWorldImportersDW には、次のファクト テーブルがあります。 この説明には、WideWorldImporters データベース内のソース テーブルとのリレーションシップと、各ファクト テーブルが一般的に使用される分析/レポート クエリのクラスが含まれます。
テーブル | ソース テーブル | サンプル分析 |
---|---|---|
注文 | Sales.Orders および Sales.OrderLines |
営業担当者、ピッカー/パッカーの生産性、および注文を選択する時間。 さらに、在庫が手薄な状況では、取り寄せ注文が発生します。 |
売却 | Sales.Invoices および Sales.InvoiceLines |
販売日、納期、時間経過に伴う収益性、販売担当者別の収益性。 |
Purchase | Purchasing.PurchaseOrderLines |
予想されるリード タイムと実際の場合 |
取引 | Sales.CustomerTransactions および Purchasing.SupplierTransactions |
発行日に対する最終処理日、および金額の測定。 |
移動 | Warehouse.StockTransactions |
時間の経過に伴う移動。 |
株式保有 | Warehouse.StockItemHoldings |
手持在庫レベルと価値。 |
ストアド プロシージャ
ストアド プロシージャは、主に ETL プロセスと構成目的で使用されます。
サンプルの拡張では、Reporting Services レポートには Reports
スキーマを使用し、Power-BI アクセスには PowerBI
スキーマを使用することをお勧めします。
アプリケーション スキーマ
これらの手順は、サンプルの構成に使用されます。 これらは、サンプルの標準エディション バージョンにエンタープライズ エディションの機能を適用し、PolyBase を追加し、ETL を再シードするために使用されます。
プロシージャ | 目的 |
---|---|
Configuration_ApplyPartitionedColumnstoreIndexing | ファクト テーブル用のパーティションインデックスと列ストア インデックスの両方を適用します。 |
Configuration_ConfigureForEnterpriseEdition | パーティション分割、列ストア インデックス作成、およびインメモリを適用します。 |
Configuration_EnableInMemory | ETL パフォーマンスを向上させるために、統合ステージング テーブルを SCHEMA_ONLY メモリ最適化テーブルに置き換えます。 |
Configuration_ApplyPolyBase | 外部データ ソース、ファイル形式、およびテーブルを構成します。 |
Configuration_PopulateLargeSaleTable | エンタープライズ エディションの変更を適用してから、追加の履歴として 2012 暦年の大量のデータを取り込みます。 |
Configuration_ReseedETL | 既存のデータを削除し、ETL シードを再起動します。 これにより、OLTP データベース内の更新された行と一致するように OLAP データベースを再設定できます。 |
統合スキーマ
ETL プロセスで使用される手順は、次のカテゴリに分類されます。
- ETL パッケージのヘルパー プロシージャ - すべての Get* プロシージャ。
- ステージングされたデータを DW テーブルに移行するために ETL パッケージで使用されるプロシージャ - すべての Migrate* プロシージャ。
PopulateDateDimensionForYear
- 1 年を取り、その年のすべての日付が確実にDimension.Date
テーブルに設定されるようにします。
シーケンス スキーマ
データベース内のシーケンスを構成する手順。
プロシージャ | 目的 |
---|---|
ReseedAllSequences | すべてのシーケンスに対して ReseedSequenceBeyondTableValue プロシージャを呼び出します。 |
ReseedSequenceBeyondTableValue | 次のシーケンス値の位置を、同じシーケンスを使用するテーブル内の値を超える位置に変更する場合に使用されます (シーケンスに相当する ID 列の DBCC CHECKIDENT 場合と同様ですが、複数のテーブルにまたがっている可能性があります)。 |