CN103793422A - 基于增强星型模型的立方体元数据及查询语句生成 - Google Patents
基于增强星型模型的立方体元数据及查询语句生成 Download PDFInfo
- Publication number
- CN103793422A CN103793422A CN201210428767.5A CN201210428767A CN103793422A CN 103793422 A CN103793422 A CN 103793422A CN 201210428767 A CN201210428767 A CN 201210428767A CN 103793422 A CN103793422 A CN 103793422A
- Authority
- CN
- China
- Prior art keywords
- dimension
- attribute
- true type
- query
- facts object
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Abstract
本发明公开了一种基于增强星型模型的立方体元数据生成及查询语句生成方法和装置。基于增强星型模型的立方体元数据生成方法包括:从包括事实表、事实表的多个维度表和非事实型事实表的增强星型模型中的非事实型事实表提取维度引用;根据维度引用构建层次结构引用;将层次结构引用与从事实表和维度表获得的度量及层次结构相结合而生成立方体元数据。本发明在元数据生成时与事实表和维度表一起直接使用非事实型事实表而不对其进行转换,由此省去现有技术中对非事实型事实表的转换中所需的人工工作、存储空间以及对IT/业务建模人员的知识的依赖性等。
Description
技术领域
本发明涉及数据处理领域,更具体地涉及基于增强星型模型的立方体元数据生成及查询语句生成方法和装置。
背景技术
在数据处理领域中,在线分析处理(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示出了现有技术中星型模型的具体示例。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言-诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
图2示出本发明实施例的增强星型模型的示例。如图2所示,本发明的增强星型模型包括事实表和事实表的多个维度表,此外还包括非事实型事实表。下述的表1~3分别示出了图2中的地区维度表、产品维度表和时间维度表的示例。
表1:地区维度表
Region_ID | Region_Name | Country | ... |
R100 | 北京 | 中国 | ... |
R200 | 山东 | 中国 | ... |
... | ... | ... | ... |
表2:产品维度表
表3:时间维度表
Day_ID | Month | Quarter | Year |
2012.03.10 | 2012.03 | 2012.Q1 | 2012 |
2012.05.23 | 2012.05 | 2012.Q2 | 2012 |
... | ... | ... | ... |
可以看出,维度表可以分为两部分:一部分是作为主键的ID,另一部分是该维度表对应的维度的一组特征字段。例如,表1所示的地区维度表包含了唯一的地区ID(Region_ID)、和作为地区维度的特征字段的地区名称(Region_Name)及国家(Country)等。表2所示的产品维度表包含了唯一的产品ID(Product_ID)、和作为产品维度的特征字段的产品名称(Product_Name)及所属类别(Category)等。表3所示的时间维度表包含了唯一的日ID(Day_ID)、和作为时间维度的特征字段的月(Month)、季度(Quarter)及年(Year)。
此外,表4示出了图2中与表1~3所示的维度表相应的事实表的示例。
表4:事实表
Day_ID | Product_ID | Region_ID | Sales_Quantity | Sales_Unit_Price |
2012.03.10 | P100 | R100 | 2000 | 100 |
2012.03.10 | P100 | R200 | 2100 | 60 |
2012.03.10 | P200 | R100 | 4000 | 150 |
2012.05.23 | P100 | R100 | 2000 | 70 |
2012.05.23 | P100 | R200 | 2050 | 200 |
... | ... | ... | ... | ... |
可以看出,事实表也可以分为两部分:一部分是至少一个指向多个维度表中的一个的主键的外键字段,另一部分是一组度量字段。例如,表4所示的事实表包括指向所有维度表1~3的主键的外键字段:日ID(Day_ID)、产品ID(Product_ID)、地区ID(Region_ID),还包括一组度量字段:销售数量(Sales_Quantity)、销售单价(Sales_Unit_Price)。
此外,非事实型事实表不包含任何事实、即不包含任何度量字段,表示维度之间的对应关系,可以用于建模多对多关系或捕捉事件。下述表5示出了图2中的非事实型事实表的示例。
表5:非事实型事实表
Product_ID | Region_ID |
P100 | R100 |
P100 | R200 |
P200 | R100 |
... | ... |
可以看出,非事实型事实表可以包含多个分别指向多个维度表中的一个的主键的外键字段,表示这些主键之间的对应关系。例如,上述表5所示的非事实型事实表是产品与销售地区对应表,包括了产品ID和地区ID两个字段,用来表示哪些产品销往哪些地区。
综上,维度表不包含任何外键信息;事实表包括一个或者多个外键,且包含度量(数量)字段;非事实型事实表仅仅包括一个或者多个外键,除可能的主键外不包括其他字段。但是,由于在实际业务中也可以将事实表作为维度表处理,所以一般在建模时将表的类型作为系统的输入,或者系统采用特征识别+手工设置相结合的方式来区分表的类型。
以上通过具体的示例描述了本发明的增强星型模型的概念。根据本发明,在数据模型中不对非事实型事实表进行任何转换而与事实表和维度表一起直接来使用,即在现有技术的星型模型的基础上进行扩展而直接包含非事实型事实表,从而构成增强星型模型。
以下描述本发明的基于增强星型模型的立方体元数据生成方法。图3示出了该方法的概略流程图。
如图3所示,该方法在步骤301,从参照图2所述的包括事实表、所述事实表的多个维度表和非事实型事实表的增强星型模型中的非事实型事实表提取维度引用。
在步骤302,根据所述维度引用构建层次结构引用。
在步骤303,将所述层次结构引用与从所述增强星型模型中的事实表获得的度量和从所述维度表获得的层次结构相结合而生成立方体元数据。
需要说明的是,图3所示的方法步骤是本发明的立方体元数据生成方法针对本申请所提出的增强星型模型而增加或改进的部分。下面与现有技术中基于星型模型的立方体元数据生成方法已经实现的部分相结合,描述本发明的基于增强星型模型的立方体元数据生成方法的详细过程。图4示出了该方法的详细流程图。
图4中的步骤401~406部分是现有技术中基于星型模型的立方体元数据生成方法已经实现的部分,步骤407~409部分是与图3相对应的部分。
具体地,如图4所示,该方法首先在步骤401,从数据源导入数据。所述数据包括关系数据库中的表及其类型以及关系数据。
在步骤402,基于所述表和表类型构建增强星型模型,即将表基于表的类型按照增强星型模型相关联。在此,如前所述,表包括事实表、事实表的多个维度表、和非事实型事实表,这些表基于与其一起输入的表类型来进行区分。关于该步骤,可以参照上面结合图2对增强星型模型所作的描述。
步骤403,为增强星型模型中的事实表、维度表、非事实型事实表分别指定标识符。
在步骤404,从上述表之中的事实表提取度量。
在步骤405,从上述表之中的多个维度表提取维度。
在步骤406,根据在步骤405提取的维度构建层次结构。
图5是与图4的流程图对应的立方体元数据生成过程的示意图。其中的图5(a)是整个立方体元数据生成过程的示意图,图5(b)给出了通过图4中的步骤404-406所生成的结果的示例,图5(c)给出了图4中的全部步骤完成后所得到的立方体元数据的示例。如图5(b)所示,通过步骤404-406所生成的结果进一步分为三个部分。第一部分是维度部分(Dimensions),对应于立方体元数据中的维度、层次结构、级。第二部分是属性(Attributes),用于描述级的属性,在图5(b)的示例中描述的是日(Day)的属性。第三部分是事实的度量部分(Measures),描述了事实“销售”下的两个度量,Sales_Quantity(销售数量)和Sales_Unit_Prices(销售单价)。
在步骤407,从上述表之中的非事实型事实表提取维度引用。例如,在上述表5所示的非事实型事实表的情况下,由于引用了产品维度和地区维度,所以提取出产品维度引用和地区维度引用。
在步骤408,根据在步骤407提取的维度引用构建层次结构引用。例如,在上述表5所示的非事实型事实表的情况下,根据所提取的产品维度引用和地区维度引用,构建出图6所示的层次结构。
在步骤409,将在步骤408构建的层次结构引用与在步骤404提取的度量、在步骤406构建的层次结构相结合而生成立方体元数据。
图5(c)所示的最终得到的立方体元数据模型是将图5(b)所示的部分与通过步骤407-408所生成的部分相结合的结果。该图5(c)中的“非事实型事实”部分便是通过图4中的步骤407-408所生成的结果,其中,地区-产品中的两个级“地区”和“产品”是到“地区”-“地区”和“产品”-“产品”两个级的引用。引用关系根据表关系中的主外键关系决定。
以上对本发明的基于增强星型模型的立方体元数据生成方法进行了描述。根据本发明,由于基于不对非事实型事实表进行任何转换而与事实表和维度表一起直接来使用的增强星型模型生成立方体元数据,所以既能够应对数据分析处理中逐渐增加的对非事实型事实表的使用需求,又能够省去现有技术中对非事实型事实表的转换中所需的人工工作、存储空间以及对IT/业务建模人员的知识的依赖性等。
以下描述本发明的基于增强星型模型的查询语句生成方法。
首先,作为对比,举出具体示例来解释现有技术中的整个查询语句生成流程。例如,沿用上述图2以及表1~5的示例,下表6示出根据月份(Month)、地区(Region)、产品(Product)来聚合销售数量(Sales_Quantity)和销售总价(SALES_Amount)的查询的示例。
表6
月 | 地区 | 产品 | 销售数量 | 销售总价 |
<Month> | <Region> | <Product> | <Sales_Quantity> | <Sales_Quantity>*<SALES_UNIT_PRICE> |
<Month> | <Region> | <Product> | <Sales_Quantity> | <Sales_Quantity>*<SALES_UNIT_PRICE> |
<Month> | <Region> | <Product> | <Sales_Quantity> | <Sales_Quantity>*<SALES_UNIT_PRICE> |
在上述表6所示的查询的情况下,若应用现有技术中的某些实现,则所生成的基于星型模型的SQL查询语句的示例如下面清单所示。
SELECT
[1]
T1."MONTH"AS"MONTH(TIME)″,
T1."YEAR"AS"YEAR(TIME)″,
T2."REGION_ID"AS"REGION_ID(REGION)″,
T2."REGION_NAME"AS"REGION_NAME(REGION)″,
T2."COUNTRY"AS"COUNTRY(REGION)″,
T3."PRODUCT_ID"AS"PRODUCT_ID(PRODUCT)″,
T3."PRODUCT_NAME"AS"PRODUCT_NAME(PRODUCT)″,
T3."CATEGORY"AS"CATEGORY(PRODUCT)″,
[2]
SUM(T4."SALES_QUANTITY")AS"SALES_QUANTITY(SALESFACT)",
SUM(T4."SALES_QUANTITY"*T4."SALES_UNIT_PRICE")AS"SALES_AMOUNT"
FROM
[3]
"SAMPLE"."TIME"AS T1,
"SAMPLE"."REGION"AS T2,
"SAMPLE"."PRODUCT"AS T3,
"SAMPLE"."SALESFACT"AS T4
WHERE
[4]
(T1."DAY_ID"=T4."DAY_ID"
AND T2."REGION_ID"=T4."REGION_ID"
AND T3."PRODUCT_ID"=T4."PRODUCT_ID")
[5]
AND(T1."YEAR"=2012)
AND T1."MONTH"=‘2012.01’
AND T2."REGION_NAME"='NORTH'
AND T2."COUNTRY"='CHINA'
GROUP BY
[1]
T1."MONTH",
T1."YEAR",
T2."REGION_ID",
T2."COUNTRY",
T3."PRODUCT_ID",
T3."CATEGORY"
上述SQL语句的组成部分的含义如下。
[1]段的SELECT子句中的属性来自查询访问的立方体元数据模型的切片,这些属性出现在SELECT子句和GROUP BY子句中。
[2]段的SELECT子句是查询中使用的度量,它们出现在SELECT子句中。
[3]段的FROM子句由立方体元数据模型联结对象决定,包括维度表、事实表。
[4]段的WHERE子句的来自维度、事实和Cube模型的联结对象形成WHERE子句的联结谓词。
[5]段的WHERE子句还包含用来产生结果子集的任何谓词。
此外,在现有技术中基于星型模型的查询语句生成方法存在很多种。上述表6所示的示例性查询可以应用现有技术中的任意一种查询生成方法来实现。
此外,可以看出,上面的查询语句仅应用了维度表和事实表,是基于现有技术中的星型模型而生成的。在星型模型的情况下,在OLAP处理中仅能够实现例如所有产品在所有地区某一年的销售数据、所有产品所有时间在某一地区的销售数据、某一产品在某一年某一地区的销售数据等独立查询,而不能够实现例如两个地区销售情况之间的对比这样多对多关系的处理。
相对于此,在本发明的上述增强星型模型中,将非事实型事实表作为模型的一部分进行处理。在包含非事实型事实表的增强星型模型的情况下,可以实现多对多关系的建模。
例如,沿用上述图2以及表1~5的示例,在需要对北京地区产品与山东地区的产品的销售情况进行对比时,可以在具体实现时基于上述表5所示的非事实型事实表创建的层次结构(参照图6),形成如图7所示的提示用户进行对比项的选择的选择接口。在如图7所示用户选择了对北京地区产品P200与山东地区的产品P100的销售情况进行对比时,在SQL查询语句的SQL Where子句中应该增加如下谓词:
(REGION_ID=‘R100’AND PRODUCT_ID=‘P200’)
OR(REGION_ID=‘R200’AND PRODUCT_ID=‘P100’)。
上述查询语句可以利用本发明的基于增强星型模型的查询语句生成方法来获得。图8示出了本发明的基于增强星型模型的查询语句生成方法的概略流程图。
如图8所示,该方法在步骤801,基于利用上述的基于增强星型模型的立方体元数据生成方法生成的立方体元数据、以及从外部获取的查询需求,确定查询中使用的非事实型事实对象的属性。
在步骤802,基于所述立方体元数据寻找所述非事实型事实对象所使用的表。
在步骤803,基于所使用的表将所述非事实型事实对象的属性转换为查询表达式。
需要说明的是,图8所示的方法步骤是本发明的查询语句生成方法针对本申请所提出的增强星型模型而增加或改进的部分。下面与现有技术中基于星型模型的查询语句生成方法已经实现的部分相结合,描述本发明的基于增强星型模型的查询语句生成方法的详细过程。图9示出了该方法的详细流程图。
图9中的步骤901~908、913部分是现有技术中基于星型模型的查询语句生成方法已经实现的部分,步骤909~911部分是与图8相对应的部分。
具体地,在图9中,首先在步骤901,获取查询需求。该查询需求可以通过用户接口从用户获得。
以下的步骤902~904是针对维度数据进行处理的部分。在步骤902,基于利用图4的方法生成的以增强星型模型为基础的立方体元数据、以及所获取的查询需求,确定在查询中使用哪些来自维度数据的属性。在步骤903,基于所述立方体元数据寻找在步骤902所确定的每一维度所使用的表。在步骤904,基于所使用的表将维度的属性转换为查询表达式。
步骤905~907是针对事实对象进行处理的部分。在步骤905,基于所述立方体元数据以及所述查询需求,确定查询中使用哪些来自事实对象的属性。在步骤906,基于所述立方体元数据寻找由所述事实对象所使用的表。在步骤907,基于所使用的表将事实对象的属性和度量转换为查询表达式。
在步骤908,将在上述步骤904从维度转换而成的查询表达式与在步骤907从事实对象转换而成的查询表达式相组合,形成第一部分的查询表达式。
接着,步骤909~911是对非事实型事实对象进行处理的部分。在步骤909,基于所述立方体元数据以及所述查询需求,确定在查询中使用哪些来自非事实型事实对象的属性。
具体地,对于查询中来自非事实型事实对象的每个维度、层次结构、级的集合,确定使用哪些维度属性、级的级键属性及其值。在此,将正在分析的当前维度、层次结构和级称为维度Di、层次结构Hi和级Li。查询语句中需要有级Li的级键属性。查询语句将按照级Li的级键进行选择和分组,从而确保查询采用维度Di的正确细节级。将级Li选择的值添加到查询条件谓词中,从而提供对查询可能的过滤。来自级Li的任何父级的级键也需要添加到查询语句中。父级对应的值也需要添加到条件谓词中。
例如,在图7所示的对北京地区产品P200与山东地区的产品P100的销售情况进行对比的查询中,用户做了两个选择,分别是“北京-P200”和“山东-P100”。这些选择来自基于非事实型事实对象“地区-产品”构建的树状结构,层级结构包括两个级:地区和产品。其中产品为当前级(最低选择级)Li。需要将产品级的级键属性Product_ID加入到查询语句中,将值‘P100’、‘P100’(P200对应的级键值)加入到条件谓词中。同时父级的级键和对应值(R100、R200分别是地区“北京”、“山东”对应的级键值)也要加入到查询语句中。即:
级键属性:
Product_ID、Region_ID
值:
REGION_ID=‘R100’AND PRODUCT_ID=‘P200’;
REGION_ID=‘R200’AND PRODUCT_ID=‘P100’。
在步骤910,基于所述立方体元数据寻找非事实型事实对象所使用的表。
具体地,检查在步骤909确定的各属性中的表列/属性引用列表,各属性的表列/属性引用列表包含了该属性对于其他的表列/属性的引用。接着,根据表列/属性引用列表确定各属性的引用表。如果表列/属性引用列表中包含了指向一个表列的引用,那么将这个表添加到该属性使用的表集中;如果包含了指向另一个属性的引用,那么再检查那个属性的表列/属性引用列表,从而最终寻找各属性使用的任何其他表;如果表列/属性引用列表中既包含了指向一个表列的引用又包含了指向另一个属性的引用,那么将这个表添加到该属性使用的表集中,并且还要检查那个属性的表列/属性引用列表,从而最终寻找各属性使用的任何其他表。最后,确定非事实型事实表与引用表的联接关系。
在图7的示例中,非事实维度“地区-产品”对应非事实型事实表Region-Product,这个表通过级键属性Product_ID、Region_ID指向引用表Product、Region。从而,确定如下:
非事实型事实表:
Region-Product
引用表:
Product
Region
联接关系:
Region-Product.Product_ID=Product.Product_ID
Region-Product.Region_ID=Region.Region_ID。
在步骤911,基于所使用的表将非事实型事实对象属性转换为查询表达式。
具体地,将在上面的步骤909、910识别出的每个维度的属性、值关系转换为查询表达式,从而形成第二部分的查询表达式。首先,需要为识别出的每个非事实型事实表分配一个惟一的关联名。例如,为上述例子中出现的非事实型事实表Region-Proudct分配关联名T5。接着,对每一个非事实型事实对象,按照下面的方式形成表达式。
Select子句:
将非事实维度的级键属性作为列;
From子句:
添加非事实型事实表及其关联名;
Where子句:
非事实型维度对应的值形成用户谓词,谓词以OR的形式组合在一起。
例如,在上述图7所示的查询的情况下,可形成下述SQL查询语句示例:
Select
T5.Product_ID,T5.Region_ID
From
“SAMPLE”.”Region_Product”AS T5
Where
(T5.REGION_ID=‘R100’AND T5.PRODUCT_ID=‘P200’)
OR(T5.REGION_ID=‘R200’AND T5.PRODUCT_ID=‘P100’)
在步骤912,将在步骤908生成的第一部分的查询表达式与在步骤911生成的第二部分的查询表达式相组合,从而生成最终的查询语句。
具体地,在本步骤中,可以将在步骤911生成的第二部分查询表达式作为一个表声明,并为其分配唯一的关联名。例如,为步骤911中的示例查询表达式指定关联名T6。接着,在本步骤中,根据在步骤910确定的非事实型事实表与引用表的联接关系,将在步骤911生成的第二部分查询表达式作为表声明联接到在步骤908生成的第一部分查询表达式的联接对象表中。如果引用表在第一部分查询表达式中不存在,则需要判断引用表和已存在表的联接关系,添加到查询表达式的联接对象中。
例如,针对图7所示的对北京地区产品P200与山东地区的产品P100的销售情况进行对比的查询,由本发明的基于增强星型模型的查询语句生成方法所生成的SQL查询语句的示例如下。
Select
T5.REGION_ID,T5.PRODUCT_ID
From
“SAMPLE”.”Region_Product”AS T5
Where
(T5.REGION_ID=‘R100’AND T5.PRODUCT_ID=‘P200’)
OR(T5.REGION_ID=‘R200’AND T5.PRODUCT_ID=‘P100’)。
)AS T6,
SELECT
T1."MONTH"AS"MONTH(TIME)",
T1."YEAR"AS"YEAR(TIME)",
T2."REGION_ID"AS"REGION_ID(REGION)",
T2."REGION_NAME"AS"REGION_NAME(REGION)",
T2."COUNTRY"AS"COUNTRY(REGION)",
T3."PRODUCT_ID"AS"PRODUCT_ID(PRODUCT)",
T3."PRODUCT_NAME"AS"PRODUCT_NAME(PRODUCT)",
T3."CATEGORY"AS"CATEGORY(PRODUCT)",
SUM(T4."SALES_QUANTITY")AS"SALES_QUANTITY(SALESEACT)",
SUM(T4."SALES_QUANTITY"*T4."SALES_UNIT_PRICE")AS"SALES_AMOUNT"
FROM
"SAMPLE"."TIME"AS T1,
"SAMPLE"."REGION"AS T2,
"SAMPLE"."PRODUCT"AS T3,
"SAMPLE"."SALESFACT"AS T4,
T6
WHERE
(T1."DAY_ID"=T4."DAY_ID"
AND T2."REGION_ID"=T4."REGION_ID"
AND T3."PRODUCT_ID"=T4."PRODUCT_ID",
AND T2."REGION_ID"=T6."REGION_ID"
AND T3."PRODUCT_ID"=T6."PRODUCT_ID"),
AND(T1."YEAR"=2012)
AND T1."MONTH"=‘2012.01’
AND T2."REGION_NAME"='NORTH'
AND T2."COUNTRY"='CHINA'
GROUP BY
T1."MONTH",
T1."YEAR",
T2."REGION_ID",
T2."COUNTRY",
T3."PRODUCT_ID",
T3."CATEGORY"
其中,上述SQL查询语句中的下划线部分是本发明的上述方法通过步骤909~911针对非事实型事实对象而生成的部分。
接着,在步骤913,对所生成的查询语句进行编译并输出查询执行结果。
以上通过具体的示例对本发明的基于增强星型模型的查询语句生成方法进行了描述。虽然在以上的描述中作为查询语句具体举出了针对关系型数据库的SQL查询语句的例子,但是本领域技术人员能够理解,由于本申请所提出的增强星型模型的概念用于描述一种多维的数据关系,所以只要是这样的多维数据关系,便能够应用本发明的增强星型模型的概念、进而在该概念的基础上实现查询语句的生成。例如,上述图8、9所示的方法也能够应用于针对维度数据库、对象数据库等的查询。
根据本发明,由于在进行查询时基于以增强星型模型为基础的立方体元数据生成查询语句,不对非事实型事实表进行任何转换而与事实表和维度表一起直接来使用,所以既能够应对数据分析处理中逐渐增加的对非事实型事实表的使用需求,又能够省去现有技术中对非事实型事实表的转换中所需的人工工作、存储空间以及对IT/业务建模人员的知识的依赖性等。
作为对比,图10示出了现有技术中基于星型模型的在线分析处理方法的流程图。如图10所示,在现有技术的方法中,需要在构建星型模型之前在步骤1003采用布尔列、多列或者桥接表等对非事实型事实表进行预处理,以便对数据库中的原始表以及表之间的关系进行重构,此外在构建立方体元数据之后需要在步骤1006对立方体元数据进行包括维度完整性、映射关系等的验证,如果发生错误,则转到步骤1003重新对非事实型事实表进行处理。
通过对比可以看出,本发明的基于增强星型模型的立方体元数据生成、查询语句生成方法,相比于现有技术的方法,不对数据库中的非事实型事实表进行任何重构而直接使用其中的字段及相应关系,进而无需反复试错而直接构建增强星型模型及其相应的立方体元数据,将更多的工作交由查询编译器来完成,从而简化了数据建模的过程,扩展了数据仓库的数据建模能力,同时降低了生成立方体元数据的成本和时间。
在同一发明构思下,本发明提供一种基于增强星型模型的立方体元数据生成装置。图11示出了该装置的框图。
如图11所示,本发明的基于增强星型模型的立方体元数据生成装置110包括:维度引用提取单元111,其从包括事实表、所述事实表的多个维度表和非事实型事实表的增强星型模型中的所述非事实型事实表提取维度引用,关于增强星型模型,参照上面结合图2所作的描述;层次结构引用构建单元112,其根据所述维度引用构建层次结构引用;以及生成单元113,其将所述层次结构引用与从所述增强星型模型中的所述事实表获得的度量和从所述维度表获得的层次结构相结合而生成立方体元数据。
此外,如图11所示,装置110还可选择地包括:数据导入单元114,其从数据源导入数据,所述数据包括关系数据库中的表及其类型以及关系数据;增强星型模型构建单元115,其基于所述表和表类型构建增强星型模型,即将表基于表的类型按照增强星型模型相关联。
如图11所示,装置110还可选择地包括:标识符指定单元116,其为所述增强星型模型中的所述事实表、所述多个维度表及所述非事实型事实表分别指定标识符。
如图11所示,装置110还可选择地包括:度量提取单元117,其从所述增强星型模型中的所述事实表提取度量。装置110还可选择地包括:维度提取单元118,其从所述增强星型模型中的所述多个维度表提取维度;以及层次结构构建单元119,其根据所提取的维度构建层次结构。
此外,本发明还提供一种基于增强星型模型的查询语句生成装置。图12示出了该装置的框图。
如图12所示,本发明的基于增强星型模型的查询语句生成装置120包括:非事实型事实对象属性确定单元121,其基于利用上述的装置110生成的立方体元数据、以及从外部获取的查询需求,确定查询中使用的非事实型事实对象的属性;非事实型事实表寻找单元122,其基于所述立方体元数据寻找所述非事实型事实对象所使用的表;非事实型事实对象转换单元123,其基于所使用的表将所述非事实型事实对象的属性转换为查询表达式。
其中,所述非事实型事实对象属性确定单元121可以对于查询中来自非事实型事实对象的维度、层次结构、级的集合,确定所使用的维度属性、级的级键属性及其值。
所述非事实型事实表寻找单元122可以检查所述非事实型事实对象的属性中的表列/属性引用列表,根据所述表列/属性引用列表确定所述非事实型事实对象的属性的引用表,将所述引用表添加到相应属性所使用的表集中,并确定非事实型事实表与所述引用表的联接关系。
所述非事实型事实对象转换单元123可以为识别出的非事实型事实表分别分配惟一的关联名,并且对非事实型事实对象,以下述方式形成查询表达式:
Select子句:
将非事实维度的级键属性作为列;
From子句:
添加非事实型事实表及其关联名;
Where子句:
非事实型维度对应的值形成用户谓词,谓词以OR的形式组合。
此外,如图12所示,装置120还可选择地包括:维度属性确定单元124,其基于所述立方体元数据以及所述查询需求确定查询中使用的维度的属性;维度表寻找单元125,其基于所述立方体元数据寻找所确定的维度所使用的表;维度转换单元126,其基于所使用的表将所述维度的属性转换为查询表达式;事实对象属性确定单元127,其基于所述立方体元数据以及所述查询需求确定查询中使用的事实对象的属性;事实表寻找单元128,其基于所述立方体元数据寻找由所述事实对象使用的表;属性度量转换单元129,其基于所使用的表将所述事实对象的属性和度量转换为查询表达式;以及第一组合单元130,其将从所述维度转换而成的查询表达式与从所述事实对象转换而成的查询表达式相组合。
如图12所示,装置120还可选择地包括:第二组合单元131,其将从所述非事实型事实对象转换而成的查询表达式作为表声明,并为其分配唯一的关联名,并且将所述表声明联接到所述维度的查询表达式与所述事实对象的查询表达式的组合的联接对象表中,生成最终的查询语句。
如图12所示,装置120还可选择地包括:编译执行单元132,其对所述查询语句进行编译并输出查询执行结果。
以上是对本发明的基于增强星型模型的立方体元数据生成装置110、基于增强星型模型的查询语句生成装置120的结构的详细描述,这些装置在功能上分别能够实现上面结合图3、图4以及图8、图9所描述的方法。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (18)
1.一种基于增强星型模型的立方体元数据生成方法,包括:
从包括事实表、所述事实表的多个维度表和非事实型事实表的增强星型模型中的所述非事实型事实表提取维度引用;
根据所述维度引用构建层次结构引用;以及
将所述层次结构引用与从所述增强星型模型中的所述事实表获得的度量和从所述维度表获得的层次结构相结合而生成立方体元数据。
2.根据权利要求1所述的方法,其中:
所述多个维度表分别包括主键和与该维度表相对应的维度的一组特征字段;
所述事实表包括至少一个指向所述多个维度表中的一个的主键的外键字段、和一组度量字段;
所述非事实型事实表包含多个分别指向所述多个维度表中的一个的主键的外键字段。
3.一种基于增强星型模型的查询语句生成方法,包括:
基于利用权利要求1或2所述的方法生成的立方体元数据、以及从外部获取的查询需求,确定查询中使用的非事实型事实对象的属性;
基于所述立方体元数据寻找所述非事实型事实对象所使用的表;
基于所使用的表将所述非事实型事实对象的属性转换为查询表达式。
4.根据权利要求3所述的方法,其中所述确定查询中使用的非事实型事实对象的属性的步骤进一步包括:
对于查询中来自非事实型事实对象的维度、层次结构、级的集合,确定所使用的维度属性、级的级键属性及其值。
5.根据权利要求3所述的方法,其中所述寻找所述非事实型事实对象所使用的表的步骤进一步包括:
检查所述非事实型事实对象的属性中的表列/属性引用列表;
根据所述表列/属性引用列表确定所述非事实型事实对象的属性的引用表;
将所述引用表添加到相应属性所使用的表集中;以及
确定非事实型事实表与所述引用表的联接关系。
6.根据权利要求3所述的方法,其中将所述非事实型事实对象属性转换为查询表达式的步骤进一步包括:
为识别出的非事实型事实表分别分配惟一的关联名;以及
对非事实型事实对象,以下述方式形成查询表达式:
Select子句:
将非事实维度的级键属性作为列;
From子句:
添加非事实型事实表及其关联名;
Where子句:
非事实型维度对应的值形成用户谓词,谓词以OR的形式组合。
7.根据权利要求6所述的方法,还包括:
基于所述立方体元数据以及所述查询需求确定查询中使用的维度的属性;
基于所述立方体元数据寻找所确定的维度所使用的表;
基于所使用的表将所述维度的属性转换为查询表达式;
基于所述立方体元数据模型以及所述查询需求确定查询中使用的事实对象的属性;
基于所述立方体元数据寻找由所述事实对象使用的表;
基于所使用的表将所述事实对象的属性和度量转换为查询表达式;以及
将从所述维度转换而成的查询表达式与从所述事实对象转换而成的查询表达式相组合。
8.根据权利要求7所述的方法,还包括:
将从所述非事实型事实对象转换而成的查询表达式作为表声明,并为其分配唯一的关联名;以及
将所述表声明联接到所述维度的查询表达式与所述事实对象的查询表达式的组合的联接对象表中,生成最终的查询语句。
9.根据权利要求8所述的方法,还包括:
对所述查询语句进行编译并输出查询执行结果。
10.一种基于增强星型模型的立方体元数据生成装置,包括:
维度引用提取单元,其从包括事实表、所述事实表的多个维度表和非事实型事实表的增强星型模型中的所述非事实型事实表提取维度引用;
层次结构引用构建单元,其根据所述维度引用构建层次结构引用;以及
生成单元,其将所述层次结构引用与从所述增强星型模型中的所述事实表获得的度量和从所述维度表获得的层次结构相结合而生成立方体元数据。
11.根据权利要求10所述的装置,其中:
所述多个维度表分别包括主键和与该维度表相对应的维度的一组特征字段;
所述事实表包括至少一个指向所述多个维度表中的一个的主键的外键字段、和一组度量字段;
所述非事实型事实表包含多个分别指向所述多个维度表中的一个的主键的外键字段。
12.一种基于增强星型模型的查询语句生成装置,包括:
非事实型事实对象属性确定单元,其基于利用权利要求10或11所述的装置生成的立方体元数据、以及从外部获取的查询需求,确定查询中使用的非事实型事实对象的属性;
非事实型事实表寻找单元,其基于所述立方体元数据寻找所述非事实型事实对象所使用的表;
非事实型事实对象转换单元,其基于所使用的表将所述非事实型事实对象的属性转换为查询表达式。
13.根据权利要求12所述的装置,其中所述非事实型事实对象属性确定单元对于查询中来自非事实型事实对象的维度、层次结构、级的集合,确定所使用的维度属性、级的级键属性及其值。
14.根据权利要求12所述的装置,其中所述非事实型事实表寻找单元检查所述非事实型事实对象的属性中的表列/属性引用列表,根据所述表列/属性引用列表确定所述非事实型事实对象的属性的引用表,将所述引用表添加到相应属性所使用的表集中,并确定非事实型事实表与所述引用表的联接关系。
15.根据权利要求12所述的装置,其中所述非事实型事实对象转换单元为识别出的非事实型事实表分别分配惟一的关联名,并且对非事实型事实对象,以下述方式形成查询表达式:
Select子句:
将非事实维度的级键属性作为列;
From子句:
添加非事实型事实表及其关联名;
Where子句:
非事实型维度对应的值形成用户谓词,谓词以OR的形式组合。
16.根据权利要求15所述的装置,还包括:
维度属性确定单元,其基于所述立方体元数据以及所述查询需求确定查询中使用的维度的属性;
维度表寻找单元,其基于所述立方体元数据寻找所确定的维度所使用的表;
维度转换单元,其基于所使用的表将所述维度的属性转换为查询表达式;
事实对象属性确定单元,其基于所述立方体元数据以及所述查询需求确定查询中使用的事实对象的属性;
事实表寻找单元,其基于所述立方体元数据寻找由所述事实对象使用的表;
属性度量转换单元,其基于所使用的表将所述事实对象的属性和度量转换为查询表达式;以及
第一组合单元,其将从所述维度转换而成的查询表达式与从所述事实对象转换而成的查询表达式相组合。
17.根据权利要求16所述的装置,还包括:
第二组合单元,其将从所述非事实型事实对象转换而成的查询表达式作为表声明,并为其分配唯一的关联名,并且将所述表声明联接到所述维度的查询表达式与所述事实对象的查询表达式的组合的联接对象表中,生成最终的查询语句。
18.根据权利要求17所述的装置,还包括:
编译执行单元,其对所述查询语句进行编译并输出查询执行结果。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210428767.5A CN103793422B (zh) | 2012-10-31 | 2012-10-31 | 基于增强星型模型的立方体元数据及查询语句生成 |
US14/050,486 US9754010B2 (en) | 2012-10-31 | 2013-10-10 | Generation of cube metadata and query statement based on an enhanced star schema |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210428767.5A CN103793422B (zh) | 2012-10-31 | 2012-10-31 | 基于增强星型模型的立方体元数据及查询语句生成 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103793422A true CN103793422A (zh) | 2014-05-14 |
CN103793422B CN103793422B (zh) | 2017-05-17 |
Family
ID=50548340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210428767.5A Active CN103793422B (zh) | 2012-10-31 | 2012-10-31 | 基于增强星型模型的立方体元数据及查询语句生成 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9754010B2 (zh) |
CN (1) | CN103793422B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105574188A (zh) * | 2015-12-23 | 2016-05-11 | 武汉璞华大数据技术有限公司 | 一种数据分维度分层次管理的方法及系统 |
CN105679309A (zh) * | 2014-11-21 | 2016-06-15 | 科大讯飞股份有限公司 | 一种语音识别系统的优化方法及装置 |
CN105787052A (zh) * | 2016-02-26 | 2016-07-20 | 广州品唯软件有限公司 | 数据处理模型建立方法及基于数据处理模型数据筛选方法 |
CN106095859A (zh) * | 2016-06-02 | 2016-11-09 | 成都淞幸科技有限责任公司 | 基于olam的多维度中医针灸关联规则挖掘方法 |
CN106575296A (zh) * | 2014-06-20 | 2017-04-19 | 亚马逊技术股份有限公司 | 用于托管的分析的动态n维立方体 |
CN106997386A (zh) * | 2017-03-28 | 2017-08-01 | 上海跬智信息技术有限公司 | 一种olap预计算模型、自动建模方法及自动建模系统 |
CN107533570A (zh) * | 2015-10-23 | 2018-01-02 | 甲骨文国际公司 | 用于从表格数据自动推断立方体模式以在多维数据库环境中使用的系统和方法 |
CN108304499A (zh) * | 2018-01-15 | 2018-07-20 | 贵州易鲸捷信息技术有限公司 | 一种sql连接操作中谓词下推的方法、终端及介质 |
US10430438B2 (en) | 2014-06-20 | 2019-10-01 | Amazon Technologies, Inc. | Dynamic n-dimensional cubes for hosted analytics |
CN110659345A (zh) * | 2019-08-01 | 2020-01-07 | 平安科技(深圳)有限公司 | 事实报表的数据推送方法、装置、设备及存储介质 |
US10769175B1 (en) | 2014-06-20 | 2020-09-08 | Amazon Technologies, Inc. | Real-time hosted system analytics |
CN113010611A (zh) * | 2019-12-19 | 2021-06-22 | 北京阿博茨科技有限公司 | 一种自动生成关系型数据库表间关系的方法和系统 |
US11868372B1 (en) | 2014-06-20 | 2024-01-09 | Amazon Technologies, Inc. | Automated hierarchy detection for cloud-based analytics |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9965503B2 (en) | 2015-08-12 | 2018-05-08 | International Business Machines Corporation | Data cube generation |
US10599678B2 (en) * | 2015-10-23 | 2020-03-24 | Numerify, Inc. | Input gathering system and method for defining, refining or validating star schema for a source database |
US10360239B2 (en) * | 2015-10-23 | 2019-07-23 | Numerify, Inc. | Automated definition of data warehouse star schemas |
US10216782B2 (en) | 2016-08-12 | 2019-02-26 | Sap Se | Processing of updates in a database system using different scenarios |
CN114510489A (zh) * | 2022-02-25 | 2022-05-17 | 中国平安人寿保险股份有限公司 | 企业指标树构建方法、装置、设备及介质 |
CN117573698B (zh) * | 2024-01-15 | 2024-04-05 | 广州思迈特软件有限公司 | 数据查询方法及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070094236A1 (en) * | 2005-10-24 | 2007-04-26 | Wolfgang Otter | Combining multi-dimensional data sources using database operations |
US7546312B1 (en) * | 2005-09-23 | 2009-06-09 | Emc Corporation | System and methods for modeling a report query database |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6356900B1 (en) | 1999-12-30 | 2002-03-12 | Decode Genetics Ehf | Online modifications of relations in multidimensional processing |
US8868544B2 (en) | 2002-04-26 | 2014-10-21 | Oracle International Corporation | Using relational structures to create and support a cube within a relational database system |
US7181450B2 (en) | 2002-12-18 | 2007-02-20 | International Business Machines Corporation | Method, system, and program for use of metadata to create multidimensional cubes in a relational database |
US7953694B2 (en) | 2003-01-13 | 2011-05-31 | International Business Machines Corporation | Method, system, and program for specifying multidimensional calculations for a relational OLAP engine |
US20080027966A1 (en) | 2006-07-25 | 2008-01-31 | Parees Benjamin M | Dynamic creation of star-schema database structures and cubes |
US8204901B2 (en) | 2009-09-02 | 2012-06-19 | International Business Machines Corporation | Generating query predicates for processing multidimensional data |
US9396246B2 (en) * | 2013-11-08 | 2016-07-19 | International Business Machines Corporation | Reporting and summarizing metrics in sparse relationships on an OLTP database |
-
2012
- 2012-10-31 CN CN201210428767.5A patent/CN103793422B/zh active Active
-
2013
- 2013-10-10 US US14/050,486 patent/US9754010B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7546312B1 (en) * | 2005-09-23 | 2009-06-09 | Emc Corporation | System and methods for modeling a report query database |
US20070094236A1 (en) * | 2005-10-24 | 2007-04-26 | Wolfgang Otter | Combining multi-dimensional data sources using database operations |
Non-Patent Citations (1)
Title |
---|
于敏: "联机分析处理(OLAP)建模方法研究", 《中国优秀硕士论文全文数据库信息科技辑》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10430438B2 (en) | 2014-06-20 | 2019-10-01 | Amazon Technologies, Inc. | Dynamic n-dimensional cubes for hosted analytics |
US10769175B1 (en) | 2014-06-20 | 2020-09-08 | Amazon Technologies, Inc. | Real-time hosted system analytics |
CN106575296B (zh) * | 2014-06-20 | 2020-04-03 | 亚马逊技术股份有限公司 | 用于托管的分析的动态n维立方体 |
CN106575296A (zh) * | 2014-06-20 | 2017-04-19 | 亚马逊技术股份有限公司 | 用于托管的分析的动态n维立方体 |
US10812551B1 (en) | 2014-06-20 | 2020-10-20 | Amazon Technologies, Inc. | Dynamic detection of data correlations based on realtime data |
US10776397B2 (en) | 2014-06-20 | 2020-09-15 | Amazon Technologies, Inc. | Data interest estimation for n-dimensional cube computations |
US11868372B1 (en) | 2014-06-20 | 2024-01-09 | Amazon Technologies, Inc. | Automated hierarchy detection for cloud-based analytics |
CN105679309A (zh) * | 2014-11-21 | 2016-06-15 | 科大讯飞股份有限公司 | 一种语音识别系统的优化方法及装置 |
CN105679309B (zh) * | 2014-11-21 | 2019-05-07 | 北京讯飞乐知行软件有限公司 | 一种语音识别系统的优化方法及装置 |
CN107533570A (zh) * | 2015-10-23 | 2018-01-02 | 甲骨文国际公司 | 用于从表格数据自动推断立方体模式以在多维数据库环境中使用的系统和方法 |
CN107533570B (zh) * | 2015-10-23 | 2020-11-03 | 甲骨文国际公司 | 用于从表格数据自动推断立方体模式的系统和方法 |
CN105574188A (zh) * | 2015-12-23 | 2016-05-11 | 武汉璞华大数据技术有限公司 | 一种数据分维度分层次管理的方法及系统 |
CN105787052A (zh) * | 2016-02-26 | 2016-07-20 | 广州品唯软件有限公司 | 数据处理模型建立方法及基于数据处理模型数据筛选方法 |
CN106095859A (zh) * | 2016-06-02 | 2016-11-09 | 成都淞幸科技有限责任公司 | 基于olam的多维度中医针灸关联规则挖掘方法 |
CN106997386A (zh) * | 2017-03-28 | 2017-08-01 | 上海跬智信息技术有限公司 | 一种olap预计算模型、自动建模方法及自动建模系统 |
CN106997386B (zh) * | 2017-03-28 | 2019-12-27 | 上海跬智信息技术有限公司 | 一种olap预计算模型、自动建模方法及自动建模系统 |
CN108304499B (zh) * | 2018-01-15 | 2021-06-29 | 贵州易鲸捷信息技术有限公司 | 一种sql连接操作中谓词下推的方法、终端及介质 |
CN108304499A (zh) * | 2018-01-15 | 2018-07-20 | 贵州易鲸捷信息技术有限公司 | 一种sql连接操作中谓词下推的方法、终端及介质 |
CN110659345A (zh) * | 2019-08-01 | 2020-01-07 | 平安科技(深圳)有限公司 | 事实报表的数据推送方法、装置、设备及存储介质 |
CN110659345B (zh) * | 2019-08-01 | 2024-04-05 | 平安科技(深圳)有限公司 | 事实报表的数据推送方法、装置、设备及存储介质 |
CN113010611A (zh) * | 2019-12-19 | 2021-06-22 | 北京阿博茨科技有限公司 | 一种自动生成关系型数据库表间关系的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US20140122415A1 (en) | 2014-05-01 |
US9754010B2 (en) | 2017-09-05 |
CN103793422B (zh) | 2017-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103793422A (zh) | 基于增强星型模型的立方体元数据及查询语句生成 | |
US9990362B2 (en) | Profiling data with location information | |
Ghazal et al. | Bigbench: Towards an industry standard benchmark for big data analytics | |
Aboutorabiª et al. | Performance evaluation of SQL and MongoDB databases for big e-commerce data | |
CN104765745B (zh) | 对数据库中的加载数据进行逻辑验证的方法和系统 | |
US20140115012A1 (en) | Data model optimization using multi-level entity dependencies | |
CN109858740A (zh) | 企业风险的评估方法、装置、计算机设备及存储介质 | |
CN102362276B (zh) | 测试数据库查询引擎的效率和稳定性 | |
US10977266B2 (en) | Ad-hoc analytical query of graph data | |
US10223388B2 (en) | Avoid double counting of mapped database data | |
CN110472068A (zh) | 基于异构分布式知识图谱的大数据处理方法、设备及介质 | |
CN103514229A (zh) | 用于在分布式数据库系统中处理数据库数据的方法和装置 | |
CN101458692A (zh) | 一种战略物资行业知识库的平台及其构建方法 | |
US9098550B2 (en) | Systems and methods for performing data analysis for model proposals | |
CN103605528A (zh) | 一种业务开发方法及装置 | |
US11113267B2 (en) | Enforcing path consistency in graph database path query evaluation | |
CN112884496B (zh) | 计算企业信用因子分数的方法、装置及计算机存储介质 | |
US11615080B1 (en) | System, method, and computer program for converting a natural language query to a nested database query | |
WO2016119508A1 (zh) | 基于Spark系统的大规模对象识别方法 | |
CN104050264A (zh) | 一种生成sql语句的方法和装置 | |
US20150363711A1 (en) | Device for rapid operational visibility and analytics automation | |
WO2019010277A2 (en) | HIGHLY ATOMIZED INTERVIEWABLE AND SEGMENTED DATA SYSTEMS (HASIDS) | |
Pöss | Methodologies for a comprehensive approach to measuring the performance of decision support systems | |
US20220269664A1 (en) | System and method for data validation and exception monitoring | |
Beach | A Methodology to Identify Alternative Suitable NoSQL Data Models via Observation of Relational Database Interactions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |