Mondrian系列(三)-如何设计Mondrian的Schema(1)

1.什么是mondrian的Schema?

Schema定义了多维数据库。其中包含了逻辑模型,由Cube、层次、成员组成,而且定义了逻辑模型到物理模型的映射。

逻辑模型组成了用来进行MDX查询的结构,包括cube、维度dimension、层次hierarchies、等级level以及成员member。

物理模型是逻辑模型的数据源,典型的物理模型是星型模型,通过关系数据库中的一系列表构成;后面我们会看到一些其他种类映射的例子。

2.Schema文件

Mondrian的schema是以xml文件的方式表现的。在mondrian目录下的demo/FoodMart.xml文件就是一个最好的例子,其中包括了我们所要涉及的几乎全部结构。demo/FoodMartCreateData.sql文件是测试数据集,默认使用的是mysql,如果是Oracle下面,可以通过Access的mdb数据文件做移植,或者是通过导入的mysql数据进行移植,可以使用Oracle的SQL Developer工具做这件事。

现在,创建Schema文件的方法是通过文本编辑器来编写xml文件。xml的语法不太复杂,并不像想象的那样困难。一个XML文档的实例如下:

<Schema>

    <Cube>

        <Table>

            <AggName>

                aggElements

            <AggPattern>

                aggElements

        <Dimension>

            <Hierarchy>

                relation

                <Closure/>

                <Level>

                    <KeyExpression>

                        <SQL/>

                    <NameExpression>

                        <SQL/>

                    <CaptionExpression>

                        <SQL/>

                    <OrdinalExpression>

                        <SQL/>

                    <ParentExpression>

                        <SQL/>

                    <Property>

                        <PropertyExpression>

                            <SQL/>

        <DimensionUsage>

        <Measure>

            <MeasureExpression>

                <SQL/>

            <CalculatedMemberProperty/>

        <CalculatedMember>

            <Formula/>

            <CalculatedMemberProperty/>

        <NamedSet>

            <Formula/>

    <VirtualCube>

        <CubeUsages>

            <CubeUsage>

        <VirtualCubeDimension>

        <VirtualCubeMeasure>

    <Role>

        <SchemaGrant>

            <CubeGrant>

                <HierarchyGrant>

                    <MemberGrant/>

        <Union>

            <RoleUsage/>

    <UserDefinedFunction/>

    <Parameter/>

在上面文档结构中relation定义为:

relation::=
   


       
   
       
           
       
           
               
   
        relation            

aggElement定义为

aggElement::=
   
   
   
   
   
   

注意,XML元素的顺序非常重要。例如, 元素必须在 元素内部,必须在所有的 、 、 以及 元素的后面,如果你在 元素前包含了用户自定义函数的元素,则Schema剩下的内容会被忽略。

在后面我们会给出XML schema中的每个XML元素。

0
0
猜你在找
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
快速回复 TOP
    个人资料
    Mondrian系列(三)-如何设计Mondrian的Schema(1)_第1张图片
    wonder4
    • 访问:1213612次
    • 积分:15030
    • 等级:
    • 排名:第381名
    • 原创:432篇
    • 转载:100篇
    • 译文:19篇
    • 评论:186条
    文章分类
  • .Net和C#(2)
  • BI、数据仓库和数据挖掘(43)
  • IBM技术(6)
  • java理论与实践(97)
  • OO技术(14)
  • Oracle技术(162)
  • 原创(83)
  • 待翻译区(14)
  • 心情(66)
  • 测试技术(7)
  • 英语(9)
  • 过程和方法(17)
  • 项目(68)
    文章存档
  • 2015年09月(1)
  • 2015年04月(2)
  • 2014年12月(1)
  • 2014年11月(1)
  • 2014年10月(1)
  • 2014年08月(1)
  • 2014年06月(1)
  • 2014年03月(2)
  • 2013年11月(1)
  • 2013年08月(1)
  • 2013年07月(1)
  • 2013年06月(1)
  • 2013年05月(1)
  • 2013年03月(1)
  • 2013年02月(1)
  • 2013年01月(3)
  • 2012年12月(1)
  • 2012年11月(1)
  • 2012年10月(2)
  • 2012年08月(8)
  • 2012年07月(1)
  • 2012年06月(2)
  • 2012年05月(4)
  • 2012年04月(1)
  • 2012年03月(3)
  • 2012年02月(2)
  • 2011年12月(3)
  • 2011年10月(1)
  • 2011年09月(3)
  • 2011年08月(5)
  • 2011年07月(4)
  • 2011年04月(3)
  • 2011年03月(2)
  • 2011年02月(2)
  • 2010年12月(3)
  • 2010年10月(3)
  • 2010年09月(1)
  • 2010年08月(2)
  • 2010年07月(2)
  • 2010年06月(2)
  • 2010年05月(5)
  • 2010年04月(4)
  • 2010年03月(10)
  • 2010年02月(4)
  • 2010年01月(8)
  • 2009年12月(5)
  • 2009年11月(15)
  • 2009年10月(9)
  • 2009年09月(11)
  • 2009年08月(1)
  • 2009年07月(1)
  • 2009年06月(13)
  • 2009年05月(2)
  • 2009年04月(3)
  • 2009年03月(6)
  • 2009年02月(2)
  • 2009年01月(3)
  • 2008年12月(4)
  • 2008年11月(10)
  • 2008年10月(3)
  • 2008年09月(7)
  • 2008年08月(6)
  • 2008年07月(8)
  • 2008年06月(6)
  • 2008年05月(3)
  • 2008年04月(7)
  • 2008年03月(10)
  • 2008年02月(2)
  • 2008年01月(5)
  • 2007年12月(10)
  • 2007年11月(8)
  • 2007年10月(8)
  • 2007年09月(6)
  • 2007年08月(4)
  • 2007年07月(6)
  • 2007年06月(20)
  • 2007年05月(6)
  • 2007年04月(2)
  • 2007年03月(12)
  • 2007年02月(3)
  • 2007年01月(5)
  • 2006年12月(15)
  • 2006年11月(15)
  • 2006年10月(25)
  • 2006年09月(33)
  • 2006年08月(23)
  • 2006年07月(10)
  • 2006年06月(15)
  • 2006年05月(22)
  • 2006年04月(15)
  • 2006年03月(13)
  • 2006年02月(8)
  • 2006年01月(15)
    阅读排行
  • Oracle中锁定行的查找方法(186613)
  • KK音标和国际音标的对照(17896)
  • ORA-01830问题的解决(16956)
  • apache启动报错(98)Address already in use: make_sock: could not bind to address [::]:80(16433)
  • FICA是什么(15909)
  • 转换CLOB字段类型为VARCHAR2(14466)
  • ORA-02068: 以下严重错误源于 TO_XXXX.DW ORA-03135: 连接失去联系 问题的解决(13858)
  • ORA-01830问题的解决(12186)
  • 用P3P header解决iframe跨域访问cookie(11982)
  • ORA-06531: 引用未初始化的收集 的问题解决(11860)
    评论排行
  • PLSQL DEVELOPER中好用的textType插件(23)
  • apache启动报错(98)Address already in use: make_sock: could not bind to address [::]:80(10)
  • 使用JMX搭建WebLogic9监控软件(二)(5)
  • 转换CLOB字段类型为VARCHAR2(5)
  • java.lang.IllegalStateException: getWriter() has already been called for this response问题解决(5)
  • Mondrian系列(一)-Mondrian的四层架构(5)
  • JExcelAPI读写excel文件的例子。支持excel2003文件格式。(4)
  • 在父窗口操作iframe中的对象(4)
  • Mondrian系列(五)-深入维度、层次和级别(3)-Level显示和多层次结构(4)
  • 能吃的宝宝(4)
    推荐文章
    • *源码解析Android中AsyncTask的工作原理
    • * python绘制非常漂亮的图表
    • * 数据库性能优化之SQL语句优化
    • *Animation动画详解(七)——ObjectAnimator基本使用
    • * Chromium网页URL加载过程分析
    • * JavaScript “跑马灯”抽奖活动代码解析与优化(一)
    最新评论
  • java.lang.IllegalStateException: getWriter() has already been called for this response问题解决

    as763190097: 怎么我的加上这句话,还是不行?response.reset();sendMsg(request,re...

  • java.lang.IllegalStateException: getWriter() has already been called for this response问题解决

    l_w0510: O(∩_∩)O谢谢

  • PLSQL DEVELOPER中好用的textType插件

    leavin_q: 求 [email protected]

  • 给所有选择DB2作为cognos的content store受困扰的朋友们

    qq_30303901: 在哪里开始创建数据库呢?不懂 用 控制中心或命令行创建怎么创建~~~

  • java.lang.IllegalStateException: getWriter() has already been called for this response问题解决

    qq_28343753: 赞,SUPER赞

  • No persistence units parsed from {classpath*:META-INF/persistence.xml}问题解决

    u010799162: 还是不行啊

  • 你的组织为自动化测试做好准备了吗?

    huan_128: 值得学习,真是好东西

  • ORA-02064: 不支持分布式操作

    张雨露: 解决的方法呢?

  • java.lang.IllegalStateException: getWriter() has already been called for this response问题解决

    u012367513: 完美解决我的问题,赞

  • mmseg4j 1.9.1 + Solr 4.7.0 报错

    u013082133: 的顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

    老婆
    • 老婆的链接 (RSS)
    朋友的blog
    • redbean的MSN空间
    • eygle老大的网站 (RSS)
    • DBA吧(目前已经关闭了,留个纪念吧)
    • bea论坛(目前已经关闭,留个纪念吧)
    • 非常好Oracle产品站
    • WebLogic爱好者网站,非常推荐
    • 我的独立blog

你可能感兴趣的:(Mondrian系列(三)-如何设计Mondrian的Schema(1))