WEB开发网
开发学院数据库MSSQL Server Project REAL分析服务技术探讨(2) 阅读

Project REAL分析服务技术探讨(2)

 2007-05-15 09:28:18 来源:WEB开发网   
核心提示: 在SQL Server 2005分析服务中,一个维度可以包含多个层次,Project REAL分析服务技术探讨(2)(5),或者它可以不包含用户定义层次而只包含属性层次,这对于键的唯一性意味着什么呢?由于一个属性在没有其它结构化层次情况下,对于Month键,我们需要创建一个Month和Ye

在SQL Server 2005分析服务中,一个维度可以包含多个层次。或者它可以不包含用户定义层次而只包含属性层次。这对于键的唯一性意味着什么呢?由于一个属性在没有其它结构化层次情况下,必须能够标识自己,例如一个平直的属性层次,键值#42意味着什么?最终,它表示这个键值是一个真实的键值。更确切的说,它必须唯一的表示一个属性。

除了键属性的唯一性,系统也考虑了其它属性的唯一性。当然这不是强制性的。如果我们不设置维度,确保属性键的唯一性,会带来预想不到的结果。

最佳实践(必须的):你必须总是确保属性键的唯一性。

首先,我们将想你解释如何为一个属性指定一个唯一的键,然后我们将想你阐述如果你指定错误,将发生什么事情?

假定你正在为你的项目(跟我们的Project REAL类似)创建一个标准的时间维度。作为维度中的一个属性,考虑以下Month列。它包含了从1到12的整数。一般你会设置如下:1 = 一月;

2 = 二月;……12 = 十二月。表面上,这看上去已经满足了唯一性的要求。但是拿2003年1月和2005年的一月比会怎么样呢?实际上,1…12不能作为键。键应该是年份和月份的一个绑定。对于一个关系型专家来讲,这不是一个新的概念。这只是一个主键和链接键。然而,对于一些熟悉SQL Server 2000分析服务的人来数,这是一个新的想法。在SQL Server 2000中,你能够在一个级别上设置唯一性,然后就不在关注它。在SQL Server 2005中,我们需要改掉这种老习惯。

幸好,指定一个唯一键是很容易的。简单的考虑以下属性的键属性。你将发现除了指定一个列,你也能够指定一个列的集合。集合中的每个列都提供了其唯一性(就像你指定链接键一样)。对于Month键,我们需要创建一个Month和Year列组成的集合。如图3所示。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Project REAL 分析

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接