Database design 面向人而非产品的数据仓库设计

Database design 面向人而非产品的数据仓库设计,database-design,data-warehouse,dimensional-modeling,fact,Database Design,Data Warehouse,Dimensional Modeling,Fact,我理解,对于产品、订单和数据类型,建议使用事实和维度的星型模式 是否有一种推荐的方法可以从月度报告中模拟有关人员的事实,例如在人员可能改变状态的情况下跟踪一段时间内的进展情况(进展、缺勤、完成、新人)在月和月之间,该人员将与许多导师关联,这些导师也可能在报告之间发生变化 对于每个状态和每个导师,我是否会有一个维度表 角色,记录事实真实的日期 我需要两张事实表吗?1个人,另一个导师 其他数据如何与预期的结束日期相匹配 根据我们在评论部分讨论的示例,您可以拥有以下数据集市 事实表: 记录移动人员活

我理解,对于产品、订单和数据类型,建议使用事实和维度的星型模式

是否有一种推荐的方法可以从月度报告中
模拟有关人员的事实
,例如在
人员
可能改变状态的情况下跟踪一段时间内的进展情况
(进展、缺勤、完成、新人)
在月和月之间,该人员将与许多
导师关联,这些导师也可能在报告之间发生变化

  • 对于每个
    状态
    和每个
    导师,我是否会有一个
    维度
    表 角色
    ,记录事实真实的日期
  • 我需要两张事实表吗?1个人,另一个导师
  • 其他数据如何与预期的结束日期相匹配

根据我们在评论部分讨论的示例,您可以拥有以下数据集市

事实表:

记录移动人员活动的事实表(我刚刚选择了一个名称) 事实、人们、行动

请考虑如何记录“业务活动”,然后决定它是交易事实还是快照事实。 有关Kimball不同事实表的更多信息:

维度表:

用于保存员工详细信息的表: Dim_员工 此表可以作为员工和导师进行角色扮演,因为导师可以是员工自己

存放日期的表格: 模糊日期

保存地址的表(仅当您要记录地址时): Dim_地址

用于存放组织各部门/部门的表格: Dim_分部


可能还有很多其他的DIM和其他事实(如果你想记录更多的业务活动)。

hi Mobcdi。。在我发布答案之前,先问一个简短的问题。。您可能要跟踪的业务活动是什么。。例如:一个人在一段时间内的职业发展,这是一个很好的例子。员工可能会更换部门、有不同的经理或离开公司。经理们也可以离开。当你谈到日期维度表时。你是指发生事实(升职、降职、离职)的日期还是其他什么else@mobcdi你通常会生成一个通用的日期维度,互联网上有很多关于这个问题的内容。您可以将其作为引用存储在事实表中,以达到一定的精度。书籍建议在事实表中存储事实发生的准确时间戳。谢谢Kamil。。嗨,Mobcdi。。是的..您想记录的任何类型的日期。每个日期一行,描述有关日期的所有内容。那么你的事实指的是适用于他们的日期。这不仅仅是事实所使用的日期,它还包括其他日期。