对SQL Server表进行反规范化

时间:2016-04-12 22:41:23

标签: sql-server tsql ssas olap

表格布局:

.Net应用程序正在4个表中捕获数据

  • A1(其他3个查询表有FK')
  • LK_C1(fk到A1和LK_R1,LK_R2和A1)
  • LK_R1(fk到LK_C1和LK_R2和A1)
  • LK_R2(fk到LK_C1和LK_R1和A1)

现在有些情况LK_C1LK_R2有关系正在跳过LK_R1

将其转换为OLAP表。

我知道A1将变成一个包含各种键的事实表以及我​​可能需要的任何其他常用维度键。

  1. 但设计查找表(3 LK' s)。我应该将其创建为1维表吗?
    1. 我应该将其分解为二维表

      a)LK_C1和LK_R2之间存在直接关系

      b)所有3个LK都是相互关联的。

    2. 在方法2中,我将在A1事实表中增加2个复合键引用 一个用于组合LK_C1 + LK_R2,在column_7中表示,LK_C1 + LK_R1 + LKR2在column_8中。

      将此制作成星型模式的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

建筑师接受的解决方案是将3个查找的所有组合放入1维表格中。 从此新维度表中获取标识密钥并将其放入Fact表中。 使用Merge语句实现。 由于这是一个简单的.Net表转储,可以快速查询SSRS;需要聚合。解决方案被认为是一个简单的解决方案。 感谢所有的帮助和意见。