MondrianSchema详解_第1页
MondrianSchema详解_第2页
MondrianSchema详解_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Mondrian Schema 详解SchemaSchema定义了一个多维数据库。包含了一个逻辑模型,而这个逻辑模型的目的是为了书写MDX语言的查询语句。这个逻辑模型实际上提供了这几个概念:Cubes (立方体)、维度(Dimensions )、层次(Hierarchies )、级别(Levels )、和成员(Members )。 而一个schema文件就是编辑这个 schema的一个xml文件。在这个文件中形成逻辑模型 和数据库物理模型的对应。Cube一个Cube是一系列维度 (Dimension)和度量(Measure) 的集合区域。在 Cube中,Dimension和Measure的共同

2、地方就是共用一个事实表。Cube中的有以下几个属性:属性名含义nameCube的名字caption标题,在表示层显示的cache是否对Cube对应的实表用 mondrian 进行存储,默认为trueen abled是布尔型的,如果是被激活,Cubes就执行,否则就不予理睬, 默认为trueCube里面有一个全局的标签定义了所用的事实表的表名Dime nsio n他是一个层次(Hierarchies )的集合,维度一般有其相对应的维度表他的组成是由层次(Hierarchies )而层次(Hierarchies )又是有级别(Level )组成.其属性如 下:属性名含义nameDime nsion

3、 的名称type类型,有两个可选的类型:Sta ndarDime nsion和TimeDimension ,默认为 StandardDimensioncaption标题,在表示层显示的UsagePrefix加前缀,消除歧义foreig nKey外键,对应事实表中的一个列,它通过兀素中的主键属性连接起来。Hierarchy你一定要指定其中的各种关系,如果没有指定,就默认Hierarchy里面装的是来自立方体中的真实表.属性如下:属性名含义nameHierarchy的名称,该值可以为空,为空时表示Hirearchy 的名子和Dime nsio n 的名子相同。当一个Dime nsio n 有多个H

4、ierarchy 时,注意 name值要唯一。hasAII布尔型的,决疋是否包含全部的成员memberallMemberName所有成员的名字,也就是总的标题,例如:allMemberName=“全部产品”allLevelName所有级别的名字,它会覆盖其下所有的 Member的name和所有的_evel的name属性的值。allMemberCaptio n例如:allMemberC aptio n=全部产品这个是在表示层显示的内容PrimaryKey通过主键来确定成员,该主键指的是成员表中的主键,该主键同时 要与Dimension里设置的foreignKey属性对应的字段形成外键对应关系pr

5、imaryKeyTable如果成员表不只一个,而是多个表通过join关系形成的,那么就要通过这个属性来指明join的这些表中,哪一个与Dime nsi on里设置的foreignKey属性形成外键关系。通过该属性来指明主表caption标题,在表示层显示的defaultMembermemberReaderClass设定一个成员读取器,默认情况下 Hierarchy 都是从关系型数据 库里读取的,如果你的数据不在 RDBMS里面的话,你可以通过自 疋义一个 member reader 来表现一个 Hierarchy 。Level级别,他是组成Hierarchy 的部分。属性很多,并且是schem

6、a编写的关键,使用它可以 构成一个结构树,Level的先后顺序决定了 Level在这棵树上的的位置,最顶层的Level 位于树的第一级,依次类推。Level的属性如下:属性名含义name名称table该Level要使用的表名colu mn用上面指定的表中某一列作为该Level的关键字nameColu mn用来显示的时候使用,如果不定义,那么就采用上面的colum n的值来进行显示。oridi nalColu mn定义该Level上的成员的显示顺序,如果不指定,那么采用 column 的值。pare ntColu mn在一个有父-子关系的Hierarchy 当中,当前Level引用的是 其父成员

7、的列名。好比是一张部门表,在一张表里表现部门的上下 级关系,一个是主键,肯疋还有一个字段为连接到该主键的外键的 列名,这里的pare ntColu mn指的就是这个列名。nullPare ntValue如果当前的Level是有上下级关系(设置了pare ntColu mn 属性),如果该Level又处于顶级,我们需要将顶级的数据取出来, 这里指的是位于顶级的父成员的值,有些数据库不支持n ull,那么也可以使用0或-1等,这就表示顶级的成员的父ID为O或为-1。type数据类型,默认值为 string。当然还可以是 Numeric 、nteger 、Boolean 、Date 等。uniq u

8、eMembers该属性用于优化产生的SQL,如果你知道这个级别和其父级别交叉后的值或者是维度表中给定的级别所有的值是唯一的,那么就可 以设置该值为true,否则为false 。evelType该Level的类型,默认为regular(正常的),如果你在其Dimension 属性type 里选择了 TimeDimension 那么这里就可以 选择 TimeYears 、TimeQuarters 、TimeMonth 、TimeWeeds、 TimeDays 。hideMemberlf在什么时候不隐藏该成员,可选的值有二个:Never、fBla nkName、IfPare ntNameapprox

9、RowCo unt该属性可以用来提高性能,可以通过指定一个数值以减少判断级 别、层次、维度基数的时间,该属性在通过使用XMLA连接Mondrian很有用处。caption标题,在表示层显示的capti on Colu mn用来显示标题的列formatter该属性定义了 Member.getCaptio n()方法返回的动作值,这里需要是一个实现了 mon dria n.olap.MemberFormatter接口的类,用来对Captio n 地值进行格式化。Join对于一个Hierarchy 来说,有两种方式为其指定:一种是直接通过一个Table标签指定;一种是通过Join 将若干张表连接起来指定。一旦采用Join 的话,那么就要在Hierarchy 里的primaryKeyTable 属性指定主表。MeasureMeasure就是我们要计算的数值,操作的核心。它的属性如下:属性名含义name名称aggregator要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论