WideWorldImportersDW 数据库目录
适用于: SQL Server Azure SQL 数据库 Azure Synapse Analytics 分析平台系统 (PDW)
WideWorldImportersDW 数据库中架构、表和存储过程的说明。
WideWorldImportersDW 数据库用于数据仓库和分析处理。 有关销售和购买的事务数据在 WideWorldImporters 数据库中生成,并使用每日 ETL 流程加载到 WideWorldImportersDW 数据库中。
WideWorldImportersDW 中的数据因此反映了 WideWorldImporters 中的数据,但表的组织方式不同。 WideWorldImporters 具有传统的规范化架构,WideWorldImportersDW 则使用星型架构方法设计表。 除了事实数据表和维度表之外,数据库还包括许多在 ETL 流程中使用的临时表。
架构
不同类型的表按三种架构组织。
架构 | 说明 |
---|---|
维度 | 维度表。 |
Fact | 事实数据表。 |
集成 | ETL 所需的临时表和其他对象。 |
表
下面列出了维度表和事实数据表。 集成架构中的表仅用于 ETL 流程,并未列出。
维度表
WideWorldImportersDW 具有以下维度表。 描述包括与 WideWorldImporters 数据库中源表的关系。
表 | 源表 |
---|---|
城市 | .'. . |
客户 | .'. . |
Date | 包含日期信息的新表格,日期信息包括财年(基于财年起始日 11 月 1 日)。 |
Employee | Application.People 。 |
StockItem | .'. . |
供应商 | [.] |
PaymentMethod | Application.PaymentMethods 。 |
TransactionType | Application.TransactionTypes 。 |
事实数据表
WideWorldImportersDW 具有以下事实数据表。 描述包括与 WideWorldImporters 数据库中源表的关系,以及经常与每个事实数据表一起使用的分析/报告查询的类。
表 | 源表 | 示例分析 |
---|---|---|
订单 | Sales.Orders 和 Sales.OrderLines |
销售人员、拣货员/打包员的工作效率以及及时拣货。 此外,低库存情况将导致延期交货。 |
Sale | Sales.Invoices 和 Sales.InvoiceLines |
销售日期、交付日期、一段时间内的盈利、不同销售人员的盈利。 |
购买 | Purchasing.PurchaseOrderLines |
从订货到交货的预期时间和实际时间 |
事务 | Sales.CustomerTransactions 和 Purchasing.SupplierTransactions |
测量发出日期与结束日期,以及金额。 |
移动 | Warehouse.StockTransactions |
一段时间内的动向。 |
存货 | Warehouse.StockItemHoldings |
现有库存水平及价值。 |
存储过程
存储过程主要用于 ETL 流程和配置目的。
鼓励示例的任何扩展将 Reports
架构用于 Reporting Services 报表,将 PowerBI
架构用于 Power BI 访问。
应用程序架构
这些过程用于配置示例。 它们用于将企业版功能应用到示例的标准版、添加 PolyBase,以及重新对 ETL 进行种子设定。
过程 | 用途 |
---|---|
Configuration_ApplyPartitionedColumnstoreIndexing | 对事实数据表应用分区和列存储索引。 |
Configuration_ConfigureForEnterpriseEdition | 应用分区、列存储索引和内存。 |
Configuration_EnableInMemory | 将集成临时表替换为 SCHEMA_ONLY 内存优化表以提升 ETL 性能。 |
Configuration_ApplyPolyBase | 配置外部数据源、文件格式和表。 |
Configuration_PopulateLargeSaleTable | 应用企业版更改,然后填充 2012 日历年的大量数据作为附加历史记录。 |
Configuration_ReseedETL | 移除现有数据并重启 ETL 种子。 这样可以重新填充 OLAP 数据库,以匹配 OLTP 数据库中更新的行。 |
集成架构
ETL 流程中使用的过程可分为以下几类:
- ETL 包的帮助程序过程 - 所有 Get* 过程。
- ETL 包用于将临时数据迁移到 DW 表的过程 - 所有 Migrate* 过程。
PopulateDateDimensionForYear
- 采用一年,并确保这一年的所有日期都填充在Dimension.Date
表中。
序列架构
在数据库中配置序列的过程。
过程 | 用途 |
---|---|
ReseedAllSequences | 为所有序列调用过程 ReseedSequenceBeyondTableValue 。 |
ReseedSequenceBeyondTableValue | 用于将下一个序列值重新定位到使用相同序列的任何表中的值之外。 (如 DBCC CHECKIDENT 用于等同于序列但可能跨多个表的标识列。) |