我正在研究数据仓库解决方案,并且正在尝试从SQL Server数据库中保存的表中构建维度模型。其中一些表包括但不限于客户,客户付款,客户地址等。
数据库中的所有这些表都具有一些在每个表中重复多次的字段,即记录更新日期,记录创建日期,活动标志,关闭标志等。这些表都以某种方式与客户相关,但是这些表可以独立更新。
我正在努力在这些表的背面建立一个或多个维度,但是我正在努力查看如何最好地以优雅的方式处理这些重复的字段,因为它们都被使用了。
在我刚开始的时候,我将感谢有这样的场景经验的人的任何指导
如果需要更多详细信息,我很乐意提供
谢谢
答案 0 :(得分:0)
在甚至考虑如何将其包括之前,请问这些元数据字段是否甚至需要包含在您的尺寸模型中?如果没有人会使用“客户付款更新日期”(相对于“创建日期”或“付款日期”),请不要将其带入模型。如果客户模型包含当前地址,则也不需要包含CustomerAddress.Active标志。您不需要模型中的每个OLTP字段。
记下您如何谈论对话中的字段。您如何识别当前客户地址?检查CurrentAddress标志(CustomerAddress.IsActive)。客户何时付款?检查客户付款日期(CustomerPayment.PaymentDate或可能是CustomerPayment.CreatedDate)。尝试用通用语言来描述它们。这将在使模型可被用户发现并直观使用方面提供最大的成功。
在模型和源中的列尽可能地命名也将有助于维护和故障排除。
此外,请确保您正确地描绘了实体。客户付款可能与客户处于不同的维度。当前地址可能在客户中,但是如果历史地址详细信息有任何价值,则可以将其与Active标志一起放入其自己的维度中。