基于增强星型模型的立方体元数据及查询语句生成制造技术

技术编号:10043266 阅读:179 留言:0更新日期:2014-05-14 14:15
本发明专利技术公开了一种基于增强星型模型的立方体元数据生成及查询语句生成方法和装置。基于增强星型模型的立方体元数据生成方法包括:从包括事实表、事实表的多个维度表和非事实型事实表的增强星型模型中的非事实型事实表提取维度引用;根据维度引用构建层次结构引用;将层次结构引用与从事实表和维度表获得的度量及层次结构相结合而生成立方体元数据。本发明专利技术在元数据生成时与事实表和维度表一起直接使用非事实型事实表而不对其进行转换,由此省去现有技术中对非事实型事实表的转换中所需的人工工作、存储空间以及对IT/业务建模人员的知识的依赖性等。

【技术实现步骤摘要】

本专利技术涉及数据处理领域,更具体地涉及基于增强星型模型的立方体元数据生成及查询语句生成方法和装置。
技术介绍
在数据处理领域中,在线分析处理(online analytical processing,OLAP)是迅速回答多维分析(multi-dimensional analytical,MDA)查询的方案。OLAP是业务智能的宽泛分类,业务智能还包含关系报告和数据采集等。为OLAP配置的数据库使用多维数据模型,允许以较快的执行速度进行复杂分析和特定查询。任何OLAP系统的核心都是OLAP立方体(OLAP cube)元数据模型。如图13所示,OLAP立方体元数据模型一般根据关系数据库中的表的星型模型或雪花模型而创建,其中度量根据事实表中的记录来提取,维度根据维度表来提取。图14给出了星型模型的具体示例。星型模型(Star Schema)是数据仓库中一种常用的组织信息和数据的多维数据模型。如图14所示,星形模型通常由中心的一个事实表(Fact Table)和一些围绕它的维度表(Dimension Table)组成。维度(Dimension)是对商业活动某个考察角度的文字性描述,通常回答诸如什么时候、什么产品、销售到什么地方之类的问题。维度数据存储在维度表。维度表可以分为两部分:一部分是作为主键的ID,另一部分是该维度的一组特征字段(Characteristics)。此外,事实(Fact)着眼于商业活动中的分析数据,通常回答诸如这个产品销售单价多少、卖了多少之类的问题。事实数据存储在事实表。事实表也可以分为两部分:一部分是指向所有维度表主键的外键字段,另一部分是度量字段(Measure)。随着业务复杂性的日益增加,星型模型逐渐面临非常艰难的挑战-非事实型事实表(factless fact table)。非事实型事实表是不包含任何事实、即不包含任何度量的事实表,可以用于建模维度之间的多对多关系或捕捉事件。非事实型事实表变得越来越重要,但它的存在使得独立数据切片和切块无法执行,因为在星型模型中并未考虑到非事实型事实表的使用。目前可以采用一些方法、例如布尔列(Boolean Column)、多列(Multiple Column)或者桥接表(Bridge Table)等在建模时对非事实型事实表进行转换,来间接用于星型模型。但采用这些方法的非事实型事实表的转换引起一些问题,如在转换中需要引入更多的人工工作,并依赖IT/业务建模人员的知识,同时在数据库端,需要额外的资源进行存储,并增加查询处理时间。
技术实现思路
本专利技术的目的在于提供在元数据生成时与事实表和维度表一起直接使用非事实型事实表而不对其进行转换的基于增强星型模型的立方体元数据生成、查询语句生成方法和装置,以应对在线分析处理中逐渐增加的对非事实型事实表的使用需求。根据本专利技术的一个方面,提供了一种基于增强星型模型的立方体元数据生成方法,包括:从包括事实表、所述事实表的多个维度表和非事实型事实表的增强星型模型中的所述非事实型事实表提取维度引用;根据所述维度引用构建层次结构引用;以及将所述层次结构引用与从所述增强星型模型中的所述事实表获得的度量和从所述维度表获得的层次结构相结合而生成立方体元数据。根据本专利技术的另一个方面,提供了一种基于增强星型模型的查询语句生成方法,包括:基于利用上述的基于增强星型模型的立方体元数据生成方法生成的立方体元数据、以及从外部获取的查询需求,确定查询中使用的非事实型事实对象的属性;基于所述立方体元数据寻找所述非事实型事实对象所使用的表;基于所使用的表将所述非事实型事实对象的属性转换为查询表达式。根据本专利技术的另一个方面,提供了一种基于增强星型模型的立方体元数据生成装置,包括:维度引用提取单元,其从包括事实表、所述事实表的多个维度表和非事实型事实表的增强星型模型中的所述非事实型事实表提取维度引用;层次结构引用构建单元,其根据所述维度引用构建层次结构引用;以及生成单元,其将所述层次结构引用与从所述增强星型模型中的所述事实表获得的度量和从所述维度表获得的层次结构相结合而生成立方体元数据。根据本专利技术的另一个方面,提供了一种基于增强星型模型的查询语句生成装置,包括:非事实型事实对象属性确定单元,其基于利用上述的基于增强星型模型的立方体元数据生成装置生成的立方体元数据、以及从外部获取的查询需求,确定查询中使用的非事实型事实对象的属性;非事实型事实表寻找单元,其基于所述立方体元数据寻找所述非事实型事实对象所使用的表;非事实型事实对象转换单元,其基于所使用的表将所述非事实型事实对象的属性转换为查询表达式。附图说明通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。图1示出了适于用来实现本专利技术实施方式的示例性计算机系统/服务器12的框图。图2示出了本专利技术实施例的增强星型模型的具体示例。图3示出了本专利技术实施例的基于增强星型模型的立方体元数据生成方法的概略流程图。图4示出了本专利技术实施例的基于增强星型模型的立方体元数据生成方法的详细流程图。图5是与图4的流程图对应的示意图。图6示出了根据非事实型事实表构建的层次结构的示例。图7是提示用户进行对比项的选择的选择接口的示意图。图8示出了本专利技术实施例的基于增强星型模型的查询语句生成方法的概略流程图。图9示出了本专利技术实施例的基于增强星型模型的查询语句生成方法的详细流程图。图10示出了现有技术中基于星型模型的在线分析处理方法的流程图。图11示出了本专利技术实施例的基于增强星型模型的立方体元数据生成装置的框图。图12示出了本专利技术实施例的基于增强星型模型的查询语句生成装置的框图。图13是现有技术中基于星型模型构建的OLAP立方体模型的示意图。图14示出了现有技术中星型模型的具体示例。具体实施方式下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。所属
的技术人员知道,本专利技术可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:本文档来自技高网
...

【技术保护点】
一种基于增强星型模型的立方体元数据生成方法,包括:从包括事实表、所述事实表的多个维度表和非事实型事实表的增强星型模型中的所述非事实型事实表提取维度引用;根据所述维度引用构建层次结构引用;以及将所述层次结构引用与从所述增强星型模型中的所述事实表获得的度量和从所述维度表获得的层次结构相结合而生成立方体元数据。

【技术特征摘要】
1.一种基于增强星型模型的立方体元数据生成方法,包括:
从包括事实表、所述事实表的多个维度表和非事实型事实表的增强星型模
型中的所述非事实型事实表提取维度引用;
根据所述维度引用构建层次结构引用;以及
将所述层次结构引用与从所述增强星型模型中的所述事实表获得的度量和
从所述维度表获得的层次结构相结合而生成立方体元数据。
2.根据权利要求1所述的方法,其中:
所述多个维度表分别包括主键和与该维度表相对应的维度的一组特征字
段;
所述事实表包括至少一个指向所述多个维度表中的一个的主键的外键字
段、和一组度量字段;
所述非事实型事实表包含多个分别指向所述多个维度表中的一个的主键的
外键字段。
3.一种基于增强星型模型的查询语句生成方法,包括:
基于利用权利要求1或2所述的方法生成的立方体元数据、以及从外部获
取的查询需求,确定查询中使用的非事实型事实对象的属性;
基于所述立方体元数据寻找所述非事实型事实对象所使用的表;
基于所使用的表将所述非事实型事实对象的属性转换为查询表达式。
4.根据权利要求3所述的方法,其中所述确定查询中使用的非事实型事实
对象的属性的步骤进一步包括:
对于查询中来自非事实型事实对象的维度、层次结构、级的集合,确定所
使用的维度属性、级的级键属性及其值。
5.根据权利要求3所述的方法,其中所述寻找所述非事实型事实对象所使
用的表的步骤进一步包括:
检查所述非事实型事实对象的属性中的表列/属性引用列表;
根据所述表列/属性引用列表确定所述非事实型事实对象的属性的引用表;
将所述引用表添加到相应属性所使用的表集中;以及
确定非事实型事实表与所述引用表的联接关系。
6.根据权利要求3所述的方法,其中将所述非事实型事实对象属性转换为
查询表达式的步骤进一步包括:
为识别出的非事实型事实表分别分配惟一的关联名;以及
对非事实型事实对象,以下述方式形成查询表达式:
Select子句:
将非事实维度的级键属性作为列;
From子句:
添加非事实型事实表及其关联名;
Where子句:
非事实型维度对应的值形成用户谓词,谓词以OR的形式组合。
7.根据权利要求6所述的方法,还包括:
基于所述立方体元数据以及所述查询需求确定查询中使用的维度的属性;
基于所述立方体元数据寻找所确定的维度所使用的表;
基于所使用的表将所述维度的属性转换为查询表达式;
基于所述立方体元数据模型以及所述查询需求确定查询中使用的事实对象
的属性;
基于所述立方体元数据寻找由所述事实对象使用的表;
基于所使用的表将所述事实对象的属性和度量转换为查询表达式;以及
将从所述维度转换而成的查询表达式与从所述事实对象转换而成的查询表
达式相组合。
8.根据权利要求7所述的方法,还包括:
将从所述非事实型事实对象转换而成的查询表达式作为表声明,并为其分
配唯一的关联名;以及
将所述表声明联接到所述维度的查询表达式与所述事实对象的查询表达式
的组合的联接对象表中,生成最终的查询语句。
9.根据权利要求8所述的方法,还包括:
对所述查询语句进行编译并输出查询执行结果。
10.一种基于增强星型模型的立方体元数据生成装置,包括:
维度引用提取单元,其从包括事实表、所述事实表的多个维度表和非事实

【专利技术属性】
技术研发人员:邵兵何苗王芹华任常锐陈峰王伟
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1