场景:我为用户导出了 3 种利用率指标。在我的应用程序中,使用他的登录历史记录、用户拨打的客户电话次数、用户执行的状态更改次数来跟踪用户活动。
所有这些信息都保存在我的应用程序数据库中的 3 个不同的表中,例如 UserLoginHistory、CallHistory、OrderStatusHistory。每个用户所做的所有操作与日期时间信息一起存储在这 3 个表中。
现在我正在尝试创建一个报告数据库,以帮助我生成用户的整体利用率。基本上,报告应该在一段时间内向我展示每个用户:
- 用户名
- 角色
- 登录次数
- 通话次数
- 进行的状态更新次数
现在我正在设计我的事实表。我应该如何为这种情况创建一个事实表?我应该创建一个包含行的单个事实表,在粒度日期级别(在我的 DimDate 表级别)捕获所有这些详细信息,还是 3 个不同的事实表并将它们关联起来?
我上面描述的 2 个选项没有说服力,我正在寻找更好的设计。谢谢。