从生产数据库构建DW星型模式设计的步骤/规则是什么?具体来说,您如何处理多对多关系。
我了解如何获取包括多对多关系在内的基本数据,并获得规范化的生产数据库:
例如:
如果我想处理销售交易,给表Product Entity,Promotion和Employee中,第一步是建立一个表,SaleTransaction:
SaleTransaction
- TransactionID
- ProductID
- EmployeeID
- SellingDateID
- Quantity
- SaleAmount
- PromotionID
Run Code Online (Sandbox Code Playgroud)
该Promotion实体将是:
Promotion
- PromotionID
- ProductID
- DiscountAmount
Run Code Online (Sandbox Code Playgroud)
但是,这将只允许每次销售交易 1 个产品和 1 个促销活动。由于我们希望允许一种或多种产品以及零个或多个促销:
我删除PromotionID,ProductID,Quantity,和(除非因某些业务规则)SaleAmount从SaleTransaction
我创建SaleTransactionDetail:
- DetailID
- TransactionID
- ProductID
- Quantity
- SaleAmount
Run Code Online (Sandbox Code Playgroud)我会创造SaleTransactionPromotion:
- TransPromoID
- PromotionID
Run Code Online (Sandbox Code Playgroud)将生产 DB 设计转换为 DW 星型模式设计的等效步骤是什么?