微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在餐厅场景中设计星型模式,客户下订单,每个订单包含多种食品

如何解决如何在餐厅场景中设计星型模式,客户下订单,每个订单包含多种食品

这里我有一个 FACT 表,FACT_Orders,其中包含字段 customer_id、order_id、total_cost、created_date、updated_date

另外我还有一个 FACT 表 FACT_Order_List 来保存订单中的项目,其中包含 order_list_id、order_id、item_id 字段

我还有维度表 DIM_ItemDIM_Customer 来保存 Item 和 Customer 的 arrtibutes

从 FACT 表中,我需要计算最受欢迎的商品和最不受欢迎的商品

这个设计是否有两个 FACT 表并连接 FACT 表进行计算?

解决方法

假设:

一个商品有多个订单,一个订单包含多个商品。

您可以拥有如下事实记录:CustomerId=5 订购了 2 件商品

OrderId OrderListId ItemId CustomerId ItemPrice   TotalCost   CreatedDate
1       1           12     5          100         350         17-01-2021
1       1           15     5          250         350         17-01-2021

你不加入事实表。通过按公共维度单独汇总每组度量,然后加入这些维度上的汇总集来组合事实。

您的模型可能如下所示:

enter image description here

在事实中重新调整updated_date :

不应更新事实表。事实测量值几乎永远不应该更新有几个很好的理由。 ... 事实表处理:在 SQL Server 数据仓库数据库服务器上对表执行更新可能是一项非常昂贵的操作!事实表可以而且应该非常大。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。