我应该创建一个无事实的事实表或对我的表进行反规范化

时间:2014-11-12 22:00:55

标签: sql dimensional-modeling

我正在从商店数据库创建数据仓库,我对我的维度和事实的设计有疑问。

在商店数据库中,存在Person,Person_Address和Person_Address_Type的表。它们由另一个表名称Entity_Address_ID链接,该名称通过主键链接三个表,以提供有关人员地址和地址类型的详细信息。

我的问题是,我应该为所有三个表创建一个维度,还有一个无事实的事实表来将它们链接在一起,或者我应该对我的维度进行去规范化,并为每个维度添加地址和地址类型的外键他们也有联系吗?

这是一个非常快速的UML,显示当前数据库提供的说明 UML of Problem

1 个答案:

答案 0 :(得分:1)

您应该使用一组地址属性(邮寄地址,帐单地址等)创建一个Person维度,即对所有这些数据进行非规范化并将其加载到单个表中。