none
关于维度设计的问题 RRS feed

  • 问题

  • 现在在接触ssas的东西, 请问,如果在项目中象是用ssas, 那在数据库最初期的设计的时候, 应该按照什么样的标准, 和原来的关系型数据库设计的区别是什么?

     

    谢谢

    2011年10月19日 8:51

答案

  • 非常好的问题。

    - 理论上说,SSAS 可以使用任何形式的数据源来建立Cube, 在Cube 和 Data Source 之间有一个层: DSV: Data Source View, 在这个DSV 层里你可以组织和设计用于Cube 的表和关系;但是为了使DSV更为简洁和容易维护,这就要求 Data Source For Data Warehouse 应该更为接近Cube 的设计要求;这就涉及到了数据仓库的建模理论,建议你读一下 Kimball DW Methodology 这本书;

    - 简单地说,如果你的‘关系型’数据库满足了下面的条件,就可以很方便的用于SSAS 中,

    以上几个只是最基本的要求,其他关于 DW 建模的要求就太多了,建议你找一本书来读读。



    2011年10月23日 12:24
    版主
  • 那个东西叫surrogate key,你写错了。使用surrogate key不是必须的,要看情况,通常是business key过长或者type 2 scd。

    另外,DW通常不用foreign key,而是自己通过etl保证data integrity,这个有时被称为logical foreign key。

    PDW甚至连primary key都不允许有,得自己保证dimension key的唯一性。

    P.S. 以上都不是必须的,SSAS通过unknown member和distinct来搞定这些问题。


    想不想时已是想,不如不想都不想。
    2011年10月24日 1:54
    版主

全部回复

  • 按照Star schema或Snowflake schema设计即可。不再需要满足3NF。
    想不想时已是想,不如不想都不想。
    2011年10月20日 3:00
    版主
  • 非常好的问题。

    - 理论上说,SSAS 可以使用任何形式的数据源来建立Cube, 在Cube 和 Data Source 之间有一个层: DSV: Data Source View, 在这个DSV 层里你可以组织和设计用于Cube 的表和关系;但是为了使DSV更为简洁和容易维护,这就要求 Data Source For Data Warehouse 应该更为接近Cube 的设计要求;这就涉及到了数据仓库的建模理论,建议你读一下 Kimball DW Methodology 这本书;

    - 简单地说,如果你的‘关系型’数据库满足了下面的条件,就可以很方便的用于SSAS 中,

    以上几个只是最基本的要求,其他关于 DW 建模的要求就太多了,建议你找一本书来读读。



    2011年10月23日 12:24
    版主
  • 那个东西叫surrogate key,你写错了。使用surrogate key不是必须的,要看情况,通常是business key过长或者type 2 scd。

    另外,DW通常不用foreign key,而是自己通过etl保证data integrity,这个有时被称为logical foreign key。

    PDW甚至连primary key都不允许有,得自己保证dimension key的唯一性。

    P.S. 以上都不是必须的,SSAS通过unknown member和distinct来搞定这些问题。


    想不想时已是想,不如不想都不想。
    2011年10月24日 1:54
    版主
  • 多谢指出拼写错误。已改正。

    关于使用什么key, 建议你同时学习 MS 提供的 AdventureWorksDW2008 例子数据库,里面涵盖了很丰富的DW建模理论。

    2011年10月24日 12:50
    版主