CN100527126C - 使用维属性和每维多个分层进行联机分析处理的系统和方法 - Google Patents

使用维属性和每维多个分层进行联机分析处理的系统和方法 Download PDF

Info

Publication number
CN100527126C
CN100527126C CNB2004100550385A CN200410055038A CN100527126C CN 100527126 C CN100527126 C CN 100527126C CN B2004100550385 A CNB2004100550385 A CN B2004100550385A CN 200410055038 A CN200410055038 A CN 200410055038A CN 100527126 C CN100527126 C CN 100527126C
Authority
CN
China
Prior art keywords
database
attribute
dimension
definition
layering
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.)
Expired - Fee Related
Application number
CNB2004100550385A
Other languages
English (en)
Other versions
CN1573754A (zh
Inventor
C·佩特克勒斯克
A·耐茨
M·帕苏曼斯基
M·杜米特鲁
A·伯格
P·J·杉德斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1573754A publication Critical patent/CN1573754A/zh
Application granted granted Critical
Publication of CN100527126C publication Critical patent/CN100527126C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2264Multidimensional index structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

用于在OLAP系统中访问关系数据库中的数据的数据模型使用多层维。维包括一组属性。每个属性绑定于关系数据库中的行。定义逻辑结构,用以指示属性之间的关系。定义分层。每个分层包括一序列的属性。分层提供一般的检索路径,数据库用户可以利用其访问数据库。分层可以包括单一属性或属性的组合。属性之间的关系和分层中属性序列之间的关系的定义与数据库有关的任何限制条件无关。

Description

使用维属性和每维多个分层进行联机分析处理的系统和方法
技术领域
本发明一般涉及计算机实施的数据库,更具体地说,涉及用于访问联机分析处理数据库的数据模型。
背景技术
典型的关系数据库管理系统(RDBMS)产品对于向用户提供数据的具体视图具有限制条件。从而,已经为RDBMS产品开发了前端处理机,使得从RDBMS检索出的数据能够被聚集、总述、合并、计算、浏览和分析。这类功能被称为联机分析处理(OLAP)。
OLAP是大多数数据仓库和经营分析系统的关键部分。OLAP服务提供多维信息地快速分析。OLAP服务提供以直观和自然的方式进行多维访问和数据的导航,并且提供可以检索的成为感兴趣的具体数据的全局数据视图。速度和响应时间是OLAP服务的重要属性,其允许用户以有效率的方式联机浏览和分析数据。
在OLAP系统中的数据可以依据它的复杂度的数目而被特征化,(即用于索引数据的维)。因此,复杂数据组是一个具有多维的数据组。复杂数据组具有灵活性的优点,这体现于用户可以向复杂数据提交比向简单数据组更多的查询。因此,通常更期望使用复数数据组。然而,使用传统的OLAP系统处理大量数目的维是很困难的。因而需要一种用于访问OLAP系统中的数据库的改善机构。
发明内容
在本发明的一个具体实施例中,多分层维用于访问OLAP系统中的关系数据库。维包括一组属性。每个属性被绑定在关系数据库中的一栏上。定义属性之间关系。不依赖与数据库有关的任何限制来定义这些关系。属性和它们的关系定义维及它的限制条件。定义分层以用作检索路径,以便访问数据库。每个分层包括一序列属性。分层可以包括单一属性或组合属性。分层的定义不依赖于与数据库有关的任何限制。
一种用于通过多分层维访问数据库的方法,包括定义具有多个属性的维。将每个属性分配或绑定到数据库的各自的行中。定义属性之间的关系,并且通过多分层维访问数据库。
根据本发明的一种用于改善与数据库有关的数据处理的方法,所述方法包括:定义包括多个属性的维;将每个属性分配到所述数据库的相应的行;定义所述属性之间的关系,所述关系不受数据库限制的影响;以及根据所定义的属性之间的关系在所述维内定义多个分层,其中每个分层包括所述属性的一个序列。
根据本发明的一种计用于改善与数据库有关的数据处理的系统,包括:用于定义包括多个属性的维的装置;用于将每个属性分配到所述数据库的相应的行的装置用于定义所述属性之间的关系的装置,所述关系不受数据库限制的影响;以及用于根据所定义的属性之间的关系在所述维内定义多个分层的装置,其中每个分层包括所述属性的一个序列。
根据本发明的一种用于访问数据库的系统,所述系统包括:处理器,耦合于存储器,所述存储设备包括所述数据库;第一定义部件,用于定义包括多个属性的维;分配部件,用于将每个属性分配到所述数据库的相应行;第二定义部件,用于定义所述属性之间的关系,所述关系不受数据库限制的影响;第三定义部件,用于根据所定义的属性之间的关系在所述维内定义多个分层,其中每个分层包括所述属性的一个序列;以及访问部件,允许通过所述维访问所述数据库。
根据本发明的一种用于从数据库检索数据的方法,所述方法包括:接收包括维的数据检索请求,其中:所述维包括多个属性;将每个属性分配被到与所述数据库的相应行;以及定义所述属性之间的关系,所述关系不受数据库限制的影响;根据所定义的多个属性之间的关系在所述维内定义多个分层,其中每个分层包括所述属性的一个序列;以及通过所述维从所述数据库检索所述数据。
附图说明
当结合附图来考虑下述描述,将更好地理解本发明的特征和优点,其中:
图1说明了在适当的计算系统环境中根据本发明的典型具体实施例的用于多分层维的可以被实施的方法和系统的一个例子。
图2说明与数据库的内容有关的典型维;
图3说明根据本发明典型具体实施例的多分层维;
图4说明根据本发明典型具体实施例的属性之间的关系的典型结构。
图5是根据本发明具体实施例的用于访问数据库的典型处理的流程图;以及
图6说明根据本发明典型具体实施例的用于通过多分层维访问数据库的典型系统的结构图。
具体实施方式
根据本发明的具体实施例,一种用于在关系数据库中访问数据的技术允许在数据库中的项之间定义适宜的关系。这些适宜的关系可用于快速和有效地检索数据库。在一个具体实施例中,这个技术在OLAP系统内实现。该技术包括具有多个属性的多分层维。每个属性分配(例如,绑定)到关系数据库中的一行中。定义属性之间的关系。这些关系和它们自己的属性的逻辑结构识别每个维的细节和限制条件。定义分层以促使进入关系数据库中的检索路径。分层包括一序列属性。分层可以包含属性的任何序列和/或属性内的级别(level)。在序列的形成上没有限制条件。因此,分层可以包含所有的属性、一个属性,或属性的集合。
一个适当的计算系统环境的概要
图1说明适当的计算系统环境100中,用于使用维属性和每维多分层的可以被实施的OLAP的系统和方法的一个例子。计算系统环境100仅仅是适当计算环境的一个实例,并不意图表示对用于在关系数据库中访问数据的方法和系统的使用或功能的范围进行任何限定。既不应将计算环境100解释具有与在典型运行环境100中说明的任何一个部件或部件的结合相关的从属性或必要条件。
本发明使用维属性和每维多分层的OLAP系统和方法与其他多个通用或专用计算机系统环境或结构共同使用。可以适合在关系数据库中访问数据的方法和系统一起使用的众所周知的计算系统、环境,和/或结构的实例包括,但不限于此:个人计算机、服务器计算机、手持式或膝上型设备、多处理机系统、基于微处理器系统、机顶盒、可编程用户电子设备、网络PC、小型计算机、主计算机,包括任何上述系统或装置的分布计算环境,等等。
使用维属性和每维多分层的OLAP系统和方法可以由计算可执行指令的通用形式来描述,例如被计算机执行的程序模块。通常,程序模块包括其执行的例行程序、程序、对象、部件、数据结构,等等特定任务或实现特定抽象数据类型。使用维属性和每维多分层的OLAP系统和方法还可以实施在由远程处理设备执行任务的分布计算环境中,远程处理设备经由通信网络或其他数据传输介质被连接。在分布计算环境中,程序模块及其他数据可以位于本地和远程计算机存储介质内,包括存储器设备。
请参考图1,用于实现本发明的使用维属性和每维多分层的OLAP系统和方法的典型系统包括计算机110形式的通用计算机设备。计算机110的部件可以包括但不限于此,处理单元120、系统存储器130,以及连接包括系统存储器130的各种系统组成部分到处理单元120的系统总线121。系统总线121可以是几种总线结构的任何一种,包括存储器总线或存储控制器,外围总线,以及使用各种总线体系结构的任何一种的本地总线。例如,而不限于此,这种结构包括工业标准结构(ISA)总线、微通道结构(MCA)总线、扩展ISA(EISA)总线,影像电子标准联合(VESA)本地总线,以及外围部件扩展接口(PCI)总线(亦称附加板总线)。
计算机110一般包括各种计算机可读介质。计算机可读介质可以是任何可利用的介质,其可以通过计算机110被访问,并且包括易失性和非易失性介质、可移动和固定介质。例如但不限于此,计算机可读介质可以包括计算机存储介质和通讯介质。计算机存储介质包括以任何用于存储例如计算机可读指令、数据结构、程序模块或其它数据此类信息的方法和技术实现的易失和非易失的,可移动和固定的介质。计算机存储介质包括,但不限于此,RAM、ROM、EEPROM、闪速存储器或其他存储技术,CD-ROM、数字化视频光盘(DVD)或其他光盘存储器、磁带磁盘存储器或其他磁存储设备,或其他任何可用于存储所需信息且可由计算机110访问的介质。通讯介质一般包括计算机可读指令,数据结构,程序模块或以调制数据信号形式的其他数据,例如载波或其它传送机制,并包括任何信息分送介质。术语"调制数据信号"指的是具有一个或多个它的特征集合或以在信号中对信息编码的方式变化的信号。例如但不限于此,通信介质包括例如有线网或直线连接此类的有线介质,以及无线介质,例如声波、射频、红外线及其他无线介质。应理解,介质的任何组合也应包括在计算机可读介质的范围内。
系统存储器130包括以易失性与/和非易失性存储器形式的计算机存储介质,例如ROM 131和RAM 132。包含有助于在计算机110内的元件之间传递信息的基本例行程序的基本输入/输出系统133(BIOS),例如在启动其间,一般保存在ROM 131中。RAM 132一般包含数据和/或程序模块,它们可通过处理单元120被立即访问和/或立刻执行。例如但不限于此,图1说明操作系统134、应用程序135、其他程序模块136、和程序数据137。
计算机110还可以包括其他可移动/固定的,易失性/非易失性计算机存储介质。仅仅举例来说,图1说明从固定的、非易失性磁介质中读取或向固定的、非易失性的磁介质中写入的硬盘驱动器141,从固定的、非易失性磁盘152中读取或向固定的、非易失性的磁介质中写入的硬盘驱动器151,以及从CD-ROM、CDRW或其它光学介质等的可移动、非易失性的光盘156中读取或向其中写入的光盘驱动器155。可被用于典型运行环境的其它的可移动/固定的,易失/非易失性的计算机存储介质包括,但不限于此,盒式磁带、闪存卡、数字视频光盘、数字视频磁带、固态RAM、固态ROM、等等。硬盘驱动器141一般通过固定的存储器接口例如接口140连接于系统总线121,并且磁盘驱动151和光盘驱动器155一般通过可移动存储接口例如接口150连接到系统总线121。
上述及在图1说明的驱动器以及它们的相关计算机存储介质为计算机110提供计算机可读指令,数据结构,程序模块及其他数据的存储。例如,在图1中,硬盘驱动器141被说明为存储操作系统144,应用程序145,其它程序模块146,以及程序数据147。请注意,这些部件可以与操作系统134、应用程序135、其它程序模块136,以及程序数据137相同,也可以不同。在这里,给予操作系统144、应用程序145、其它程序模块146,以及程序数据147以不同的数字,以至少说明它们是不同的版本。用户可以通过输入装置例如键盘162和指示设备161将命令和信息输入计算机110,该指示设备通常指的是鼠标器、跟踪球或触摸板。其他的输入装置(未示出)可以包括麦克风、控制杆、游戏柄、卫星碟、扫描器,等等。虽然这些及其他输入装置往往通过耦合于系统总线121的用户输入接口160连接到处理单元120,但是也可以通过其它接口和总线结构连接,例如并行口、游戏端口或通用串行总线(USB)。监示器191或其它类型的显示设备也通过接口,例如视频接口190连接到系统总线121。除了监示器之外,计算机还可以包括其它外围输出装置,例如扬声器197和打印机196,它们可以通过输出外围接口195连接。
计算机110可以在使用逻辑连接一个或多个远程计算机例如远程计算机180的网络环境中运行。尽管在图1中只说明了存储器存储装置181,但是远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等装置或其它公用网络节点,并且一般包括上述与计算机110相关的多个或全部的元件。所描述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但是还可以包括其它网络。企业级计算机网络、内部网和因特网这样的网络环境在办公室里是常见的。
当用于LAN网络环境中时,计算机110通过网络接口或适配器170连接到局域网171。当用于WAN网络环境时,计算机110一般包括调制解调器172或其它用于在WAN173,例如因特网上建立通信的装置。调制解调器172可以是内部或外部调制解调器,其可通过用户输入接口160,或其它适当机制连接到系统总线121。在网络环境中,相对于计算机110所描述的程序模块,或其中一部分可以存储在远程存储器存储器装置中。举例来说,但不局限于此,图1说明了作为驻留在存储器装置181的远程应用程序185。应当理解,所示的网络连接是示范性的,也可以使用其它方式在计算机之间建立通信连接。
根据个人计算和因特网的交互,已经或正在研发各种分布式计算结构。个人和商业用户同样被提供了用于应用程序和计算装置无缝地共同操作的以及万维网的启动接口使得万维网浏览或定向网络的计算行为增加。
例如,微软公司的.NET平台包括服务器,预制组件服务,例如基于万维网的数据存储,以及可下载的装置软件。一般而言,.NET平台提供了(1)使计算装置全程合作的能力以及使用户信息自动更新并同步的能力,(2)通过广泛使用XML而不是HTML来增加网站交互的能力,(3)自定义特征的联机服务用于各种应用程序的管理从中心开始点访问并且分送产品和服务到用户,例如电子邮件,软件例如Office.NET,(4)集中化的数据存储,其将提高效率并减轻信息的访问,并且使用户和装置之间的信息同步,(5)和集成各种通信介质的能力,例如电子邮件、传真和电话,(6)对于研发者而言生成可重用模块的能力,从而提高生产率并减少程序设计错误的数量的能力,以及(7)其他众多交互平台集成特征(7)。
虽然在此连同驻留在计算装置上的软件来描述典型的具体实施例,但是根据本发明的使用维属性和每维多分层的OLAP系统和方法的一个或多个部分还可以通过操作系统、应用程序接口(API),或协处理器和请求对象之间的"中间人"对象来实施,从而服务可以通过所有的.NET的语言和服务,以及在其它分布式计算结构中同样如此地被执行、支持或访问服务。
典型的具体实施例描述
图2说明了典型的维226和228,其与数据库212的内容相关。数据库212是一个包括六行的关系数据库。行214包含有关销售区域的数据项,行216包含有关国家的数据项,行218有关州的数据项,行220包含有关城市的数据项,行222包含有关人口的数据项,以及行224包含有关顾客名称的数据项。一个维表示数据库内容的一个具体方面。可以为给定的数据库定义多维。一般而言,一个分层与一个维相关。例如,一个时间维可以由日、星期、月和年组成,或者一个地理维可以由城市、州/省和国家组成。维元(dimension member)作为识别数据库内部的数据项的具体数据项或范围的索引。一般而言,数据库用户,例如商业用户设计维以捕获与业务相关的信息。两个这样的逻辑维被说明为维226和228。维226通过地理位置组织顾客,而维228通过销售区域来组织顾客。维225包括元′国家′、′州′、′城市′和′顾客名称′。维226还包含元属性,′人口′,其是元′城市′的属性。维228包括元‘销售区域′、‘州′、‘城市′和‘顾客名称。维228还包含元属性,‘人口′,其是元‘城市’的属性。维226的线性结构组织城市的顾客、州中的城市和国家的州。维228中的线性结构组织城市中的顾客和销售区域中的城市。销售区域包含一个以上的国家的城市,并且可以将国家分成一个以上的销售区域。在两个维中,城市都具有人口。正交轴230和232的绘图表示维226和维228的每个都可以包含在立方体中。就数据库而言,立方体在本领域是公知的。立方体是一般用于OLAP数据库中的基本单位。
将维226、228联系到数据库212的一个方式是将每一维226、228的每个属性绑定到数据库212的行中。如图2虚线所示,属性的每个值是一个元,维226的元′国家′可以绑定到数据库212的行‘国家216中,维226的元′州′可以绑定到数据库212的行‘州′218中,而维226的元‘城市′可以绑定到数据库212的行‘城市′220中,以及维226的元′顾客名称′可以绑定到数据库212的‘顾客名称′224中。对于维228可同样的进行。也就是说,维226的‘销售区域′可以绑定到数据库212的行‘销售区域′214,维226的元′城市′可以绑定到数据库212的行′城市220,以及维226的元‘顾客名称′可以绑定到数据库212的‘顾客名称′224。
维226和228的结构提供线性分层,通过该分层用户可以检索(搜索)数据库的具体数据项。例如,如果数据库用户正在检索一个具体顾客的名称,那么将使用维228来检索销售区域、城市和顾客名称。如果数据库用户还想了解相同顾客的国家,那么将使用维226来检索该国家。请注意,定义了两个独立的维,它们相应于顾客的两个不同的分层。
为每个维使用线性分层的技术包括许多重复。包含元‘顾客名称′、‘城市′,以及元属性‘人口′的维层次存在于维226和228两者的分层中。这需要重复将每维的元绑定到数据库的行,重复它们的数据类型,重复它们的名称,以及重复在所有的辅助信息(例如,元数据,公式)。同样,需要重复数据的储存。这导致需要从关系数据库212中多次检索相同的细节。此外,数据库用户仅限于查询由立方设计师定义的分层(例如,在维226和228中)。因此,数据库用户不能要求按照国家来浏览细节,只能止步于那些覆盖国家的销售区域。对于立方的设计师来说,定义覆盖数据库用户所需的所有可能的搜索路径是不现实的。同样,应注意,如果数据库用户需要国家和销售区域,那么国家和销售区域的所有组合将被返回,即使对于任何给定的组合来说,没有顾客存在。不同的机制用于检索与各个层和元属性相关的数据元属性的独立层次,其导致电路的重复并增加了数据库系统的处理负荷。
图3说明根据本发明的典型具体实施例的,使用多层维330访问数据库312中的数据。多层维330包括与数据库312的行一致的属性。维330的每一属性被绑定于关系数据库312中的行中。通过维330访问数据库312。如图3虚线所示,属性‘顾客名称′344绑定于行‘名称′324,属性‘人口′342绑定于行‘人口′322,属性‘城市′340绑定于行‘城市′320,属性‘州′338绑定于行‘州′318,属性‘国家336绑定于行‘国家316,以及属性‘销售区域334绑定于行‘销售区域314。维330可作为立方来实现,如正交轴332所示。
维330的属性之间的关系可被定义。实例定义可以包括:顾客是位于一个城市的,每一个城市是在一个州中的,每个城市被分配到一个销售区域,而且每个城市具有人口。多层维(例如,维330)及其限制条件是通过维的属性和属性间的关系来定义的。在一个具体实施例中,属性之间的关系由立方的设计师定义。在这些定义上没有设置任何限制,因此立方设计师可以根据数据库用户需要的观点定义属性之间的关系,而且不受任何数据库限制的妨碍。属性之间的关系定义存在于数据中的限制条件。例如,州只能存在于一个国家中。可以定义关系,而不管底层数据库结构是否执行这种限制条件。
多层维可以具有与其关联的多个分层。如图3所示,分层326和328与维330关联。每个分层326和328包括一序列属性,其表示数据库用户可以利用的检索路径。分层326包括属性国家336、州338、城市340和顾客名称344。分层328包括属性销售区域334、城市340和顾客名称344。与多层维(例如,维330)关联的每个分层是可定义的。在一个具体实施例中,分层由立方设计师定义。在这些定义上没有设置任何限制,因此立方设计师可以根据数据库用户需要的观点定义分层,而且不受任何数据库限制的妨碍。例如,可以定义分层以提供从销售区域到国家的检索路径。可以定义包括单个属性的分层。此外,可以定义包括单个属性和用于在该属性内的所有元的可选层次的分层。例如,可以定义包括属性人口342和一个包含用于人口行322的所有分离值的元的层次的分层。这可以作为′人口′展示给数据库用户。该分层将提供所有城市的人口的检索路径。请注意,属性人口将总是具有一个级别′人口′,其包含用于人口行的所有分离值的元。它还可选地具有级别′′全部′,其包含单一元′全部人口′。涉及超过一个分层以上(例如,国家和销售区域)的查询将返回至少有一个维元的组合。
数据库312的所有行可以被展示为利用多层维330的不同分层。可以建立包括任何属性组合的分层。数据库用户可以使用这些分层以与通过直接查询数据库之内的下属表格所可以提供的相同的灵活度查询数据库。增加附加分层到多层维(例如,维330)对数据库系统的存储器需求具有相对小的影响,因为不需要添加维。每个附加分层利用相同的多层维。同样,可以按照属性定义集合(aggregate)。集合是一个基本上可以横穿诸分层的路径。例如,设计师可以不考虑所定义的分层而保持一个城市的集合。同样,设计师可以定义仅仅包含属性′城市′的分层。
图4说明属性之间关系的典型结构。这些关系描述了数据是如何目关的,例如,州中的城市等。分层描述检索路径,其可遵循所述关系,也可不遵循所述关系。迄今所描述的实例具有各自的遵循关系,然而这不是必需的。例如,可以根据区域到国家来定义分层。分层的结构是在属性之间定义关系的结果。图4所示的结构不是线性的。因此,起始于关键字属性,可利用多个检索路径。因此,从关键字属性开始,不会被锁入单一的检索路径中。应明白图4所描述的结构是典型的。可以定义任何结构。
虽然数据库用户可以在数据库查询中使用不同的分层,但是被用来改善查询性能的结果和集合依赖于根据元来定义的′坐标′。例如,不管是使用′根据国家的顾客′分层还是使用′根据销售区域的顾客′分层,询问城市西雅图′的总销售都是相同的。基于用户在其中浏览数据的公共分层,立方体设计师可以增加附加分层以便利查询的形成。
除了提供相对的存储器需求改善之外,如上所述的多分层维的使用提供了处理性能的改善。在处理期间,独立的属性的实施提供性能改善,从而使得单一维内的不同属性可以并行处理。还有,基于所定义的关系,可以在处理期间使得有关属性的数据被确认。例如,如果属性′州′与属性′国家′有关,那么如果相同的州出现在多个国家中,则错误被预报。请注意,确认是基于属性之间的关系的,而不是所定义的分层。
图5是根据本发明的具体实施例的用于访问数据库的典型步骤的流程图。在步骤512定义了具有多个属性的维(例如维330)。在步骤514,维的每个属性被绑定(分配)到数据库(例如,数据库312)中的相应行。如上所述,在一个具体实施例中,该数据库是一个关系数据库。此外,在一个具体实施例中,该数据库系统是一个OLAP系统。在步骤516定义属性之间的关系。这些关系的定义与数据库无关。也就是说,维的属性之间的关系不受数据库上的限制的影响。可以任意地定义关系,意味着任何关系都是允许的。在步骤518,至少一个分层被定义。每个分层是访问数据库的检索路径。分层可以包括任何属性序列。分层的定义不受任何限制。分层可以包括单一属性或任何属性的组合。分层的定义与数据库无关。也就是说,分层不受的数据库上的限制的影响。在步骤522,通过维访问数据库。访问数据库可以包括从数据库读取,写入数据库,向数据库添加数据,或它们的组合。
图6是用于访问数据库的典型系统600的结构图。系统600包括客户处理器612,其耦合于服务器处理器614,服务器处理器连接于数据库616。在一个典型的具体实施例中,数据库616是一个OLAP数据库,在下文的描述中亦如此。客户处理器612和服务器处理器614每一个都可以包括处理器、存储器、键盘或显示器,并且可被本地或远程连接到固定和/或可移动数据存储设备和/或数据通信装置。处理器612和614每一个都还可以通过数据通信装置被连接到计算机系统。本领域熟练的技术人员应认识到,上述部件的组合,或许多不同的部件,外围及其他装置都可以与计算机612和614一起使用。本领域熟练的技术人员同样将认识到处理器612和614可以在单一处理器上实施,而不是一同互联在多处理机上。
在一个具体实施例中,客户机处理器612包括用于同网络通信的网络接口程序,以及由客户机处理器612执行的客户机程序。服务器处理器614包括同网络通信的网络接口程序,以及由服务器614处理器614执行的服务器程序。针对于存储在远程或本地数据存储器上的一个或多个数据库616,服务器程序执行各种数据库操作,包括搜索与检索操作,定期查询,插入操作,更新操作,以及删除操作。
在一个具体实施例中,服务器处理器614执行有关维、属性和分层的功能。这些功能包括定义包括多个属性(例如属性334、336、338、340,342和344)维(例如,维330),将每个属性分配到数据库616的相应行,定义属性之间的关系,以及定义至少一个包括一系列属性的分层(例如,分层326和328),以及通过维访问数据库。
在此所描述的使用维属性和每维多分层的OLAP系统和方法可以具体化为计算机实施处理的形式和实行这些处理的系统。在此所描述的使用维属性和每维多分层的OLAP系统和方法同样可以具体化为内置在有形介质内的计算机程序代码的形式,例如软盘、只读存储器(ROMs)、CD-ROMs、硬盘、高密度磁盘或任何其它计算机可读存储介质,其中当由计算机载入和执行计算机程序代码时,计算机变为用于实行本发明的系统。在此所描述的使用维属性和每维多分层的OLAP系统和方法同样可以具体化为计算机程序代码的形式,例如存储在存储介质中、由计算机载入和/或执行、经由传输介质传输的计算机程序代码,例如在电线或电缆、通过纤维光学,或通过电磁辐射等等传输的,其中当计算机程序代码由计算机载入并执行时,该计算机成为实行本发明的系统。如这里所描述的使用维属性和每维多分层的OLAP系统和方法可以具体化为计算机程序代码的形式,例如,是否存储在存储介质中,通过计算机载入和/或执行的,或在一些传输介质上传输,例如在电线或电缆上、通过光纤,或者通过电磁发射,其中,当计算机程序代码通过计算机被载入和/或执行时,计算机成为用于实践本发明的系统。当在通用处理机上实施时,计算机程序代码部分配置处理器以生成具体的逻辑电路。
在此所描述的各种技术可以连同硬件、软件,或者其中两者适合的组合来实现。因此,本发明的方法和设备,或者其某个方面或部分可以采用具体化在有形介质中具体的程序代码(即,指令)形式,例如软盘、CD-ROM、硬盘,或其他任何机器可读存储介质,其中当由例如计算机此类的机器载入并执行程序代码时,该机器成为用于实行本发明的设备,在可编程计算机上执行程序代码的情况下,计算装置一般包括处理器、可由处理器读取的存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备,以及至少一个输出装置。例如通过使用数据处理API等等,可以利用本发明本处理服务的一个或多个程序优选地在高层程序或面向对象编程语言中实施,以与计算机通信。然而,如果希望的话,也可以汇编或机器语言的方式实施程序。在任何情况下,语言可以是结合硬件实现的编译或解释语言。
本发明的方法和设备还可以通过以程序代码的具体形式出现的通信来实行,该程序代码在一些传输介质上传输,例如在电线或电缆上、通过光纤,或者经其他任何传输形式,其中当由当计算机程序代码通过计算机被载入和/或执行时,例如EPROM、门阵列、可编程逻辑器件(PLD)、客户机计算机、影像录象机等等,或具有以上典型具体实施例所描述的处理能力的接收机成为用于实现本发明的设备。当在通用处理机上实施时,程序代码与处理器结合,以便提供唯一的进行操作以调用本发明的功能的设备。另外,连同本发明一起使用的存储技术可以总是硬件和软件的组合。
虽然已经连同各个附图来描述了本发明的具体实施例,但是应当理解在不脱离其中的情况下,其它类似于所描述的具体实施例的具体实施例可以被使用或修改,以便执行本发明的相同功能。此外,应强调的是各种计算机平台,包括设想的手持式装置操作系统及其它应用程序具体的操作系统,尤其作为无线网络装置的数目继续激增。所以,本发明将不限于任何单一具体实施例,而应根据附加权利要求在广度和范围中加以分析。

Claims (28)

1.一种用于改善与数据库有关的数据处理的方法,所述方法包括:
定义包括多个属性的维;
将每个属性分配到所述数据库的相应的行;
定义所述属性之间的关系,所述关系不受数据库限制的影响;以及
根据所定义的属性之间的关系在所述维内定义多个分层,其中每个分层包括所述属性的一个序列。
2.根据权利要求1所述的方法,进一步包括:
通过所述维访问所述数据库。
3.根据权利要求1所述的方法,其中每个分层定义用于访问所述数据库的搜索路径。
4.根据权利要求1所述的方法,其中一个分层包括一个属性。
5.根据权利要求1所述的方法,其中所述定义多个分层的行为与所述数据库无关。
6.根据权利要求1所述的方法,其中所述数据库是关系数据库。
7.根据权利要求1所述的方法,其中所述维和联机分析处理OLAP系统一同使用。
8.一种用于改善与数据库有关的数据处理的的应用编程接口API装置,其包括:
用于定义包括多个属性的维的装置;
用于将每个属性分配到所述数据库的相应的行的装置;
用于定义所述属性之间的关系的装置,所述关系不受数据库限制的影响;
以及
用于根据所定义的属性之间的关系在所述维内定义多个分层的装置,其中每个分层包括所述属性的一个序列。
9.一种用于改善与数据库有关的数据处理的系统,包括:
用于定义包括多个属性的维的装置;
用于将每个属性分配到所述数据库的相应的行的装置;
用于定义所述属性之间的关系的装置,所述关系不受数据库限制的影响;以及
用于根据所定义的属性之间的关系在所述维内定义多个分层的装置,其中每个分层包括所述属性的一个序列。
10.根据权利权利要求9所述的系统,还具有用于通过所述维访问所述数据库的装置。
11.根据权利要求9所述的系统,其中每个分层定义用于访问所述数据库的检索路径。
12.根据权利要求9所述的系统,其中一个分层包括一个属性。
13.根据权利要求9所述的系统,其中所述定义多个分层的行为与所述数据库无关。
14.根据权利要求9所述的系统,其中所述数据库是关系数据库。
15.根据权利要求9所述的系统,其中所述维同联机分析处理OLAP系统一起使用。
16.一种用于访问数据库的系统,所述系统包括:
第一定义部件,用于定义包括多个属性的维;
分配部件,用于将每个属性分配到所述数据库的相应行;
第二定义部件,用于定义所述属性之间的关系,所述关系不受数据库限制的影响;
第三定义部件,用于根据所定义的属性之间的关系在所述维内定义多个分层,其中每个分层包括所述属性的一个序列;以及
访问部件,允许通过所述维访问所述数据库。
17.根据权利要求16所述的系统,其中每个分层定义用于所述访问部件的检索路径。
18.根据权利要求16所述的系统,其中一个分层包括一个属性。
19.根据权利要求16所述的系统,其中所述第三定义部件独立于所述数据库而定义所述多个分层。
20.根据权利要求16所述的系统,其中所述维和联机分析处理OLAP系统一起使用。
21.一种用于从数据库检索数据的方法,所述方法包括:
接收包括维的数据检索请求,其中:
所述维包括多个属性;
将每个属性分配被到与所述数据库的相应行;以及
定义所述属性之间的关系,所述关系不受数据库限制的影响;
根据所定义的多个属性之间的关系在所述维内定义多个分层,其中每个分层包括所述属性的一个序列;以及
通过所述维从所述数据库检索所述数据。
22.根据权利要求21所述的方法,进一步包括:
响应于所述数据检索请求提供检索数据。
23.根据权利要求21所述的方法,其中每个分层提供用于访问所述数据库的检索路径。
24.根据权利要求21所述的方法,其中一个分层包括单一属性。
25.根据权利要求21所述的方法,其中每个分层的定义与所述数据库的限制条件无关。
26.根据权利要求21所述的方法,其中所述属性之间的所述关系的定义与所述数据库的限制条件无关。
27.根据权利要求21所述的方法,其中所述数据库是关系数据库。
28.根据权利要求21所述的方法,其中所述数据库能够同联机分析处理OLAP系统一起使用。
CNB2004100550385A 2003-06-24 2004-06-24 使用维属性和每维多个分层进行联机分析处理的系统和方法 Expired - Fee Related CN100527126C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/603,037 US7590638B2 (en) 2003-06-24 2003-06-24 System and method for online analytical processing using dimension attributes and multiple hierarchies where first hierarchy has at least one attribute from the defined dimension not present in the second hierarchy
US10/603,037 2003-06-24

Publications (2)

Publication Number Publication Date
CN1573754A CN1573754A (zh) 2005-02-02
CN100527126C true CN100527126C (zh) 2009-08-12

Family

ID=33418648

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100550385A Expired - Fee Related CN100527126C (zh) 2003-06-24 2004-06-24 使用维属性和每维多个分层进行联机分析处理的系统和方法

Country Status (5)

Country Link
US (1) US7590638B2 (zh)
EP (1) EP1492030B1 (zh)
JP (1) JP2005018778A (zh)
KR (1) KR101085666B1 (zh)
CN (1) CN100527126C (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10334153A1 (de) * 2003-07-26 2005-02-24 Karl Hehl Verfahren und Vorrichtung zur interaktiven Steuerung einer Maschine
JP4998237B2 (ja) * 2007-12-06 2012-08-15 富士通株式会社 論理構造モデル作成支援プログラム、論理構造モデル作成支援装置および論理構造モデル作成支援方法
US8380748B2 (en) * 2008-03-05 2013-02-19 Microsoft Corporation Multidimensional data cubes with high-cardinality attributes
US20090248715A1 (en) * 2008-03-31 2009-10-01 Microsoft Corporation Optimizing hierarchical attributes for olap navigation
CA2708911C (en) * 2009-07-09 2016-06-28 Accenture Global Services Gmbh Marketing model determination system
CN102567792B (zh) * 2010-12-17 2014-07-09 金蝶软件(中国)有限公司 穿透方法及系统
CN102243658A (zh) * 2011-07-08 2011-11-16 百度在线网络技术(北京)有限公司 一种用于对多层结构数据进行数据平铺操作的方法和设备
CN103186427B (zh) * 2011-12-31 2016-09-07 中国银联股份有限公司 一种分析数据记录集合的系统和方法
US9886460B2 (en) * 2012-09-12 2018-02-06 International Business Machines Corporation Tuple reduction for hierarchies of a dimension
US20150242867A1 (en) * 2012-09-25 2015-08-27 Vizdynamics Pty Ltd System and method for processing digital traffic metrics
CN102938097B (zh) * 2012-09-28 2016-09-28 用友网络科技股份有限公司 用于联机分析处理系统的数据处理装置和数据处理方法
EP3401809A1 (en) * 2017-05-12 2018-11-14 QlikTech International AB Method for querying indexed, partitioned dimension tables
DE102018210091A1 (de) * 2018-06-21 2019-12-24 Aktiebolaget Skf Wälzlageranordnung
KR102271124B1 (ko) * 2019-12-23 2021-06-30 주식회사 엘지씨엔에스 검색 결과 제공 방법 및 장치

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6205447B1 (en) 1997-06-30 2001-03-20 International Business Machines Corporation Relational database management of multi-dimensional data
US5940818A (en) 1997-06-30 1999-08-17 International Business Machines Corporation Attribute-based access for multi-dimensional databases
US6122628A (en) * 1997-10-31 2000-09-19 International Business Machines Corporation Multidimensional data clustering and dimension reduction for indexing and searching
US5918232A (en) * 1997-11-26 1999-06-29 Whitelight Systems, Inc. Multidimensional domain modeling method and system
US6298342B1 (en) * 1998-03-16 2001-10-02 Microsoft Corporation Electronic database operations for perspective transformations on relational tables using pivot and unpivot columns
US6542892B1 (en) * 1999-04-07 2003-04-01 Hewlett-Packard Development Company, L.P. Configuring a client for a printer using electronic mail
US6535872B1 (en) * 1999-04-08 2003-03-18 International Business Machines Corporation Method and apparatus for dynamically representing aggregated and segmented data views using view element sets
US6477536B1 (en) 1999-06-22 2002-11-05 Microsoft Corporation Virtual cubes
US6658413B1 (en) * 1999-09-01 2003-12-02 I2 Technologies Us, Inc. Multidimensional database system with intermediate lockable intersections
US6473764B1 (en) * 1999-10-15 2002-10-29 Microsoft Corporation Virtual dimensions in databases and method therefor
US6954760B2 (en) * 2001-02-01 2005-10-11 Hitachi, Ltd. Method and system for multidimensional database management
WO2002065327A1 (en) * 2001-02-12 2002-08-22 New York University System, process and software arrangement for providing multidimensional recommendation/suggestions
US7146375B2 (en) * 2002-01-25 2006-12-05 Decode Genetics, Ehf Inference control method in a data cube
US7133856B2 (en) * 2002-05-17 2006-11-07 The Board Of Trustees Of The Leland Stanford Junior University Binary tree for complex supervised learning
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

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Relational extensions for OLAP. N. Colossi ET AL.IBM SYSTEMS JOURNAL,Vol.41 No.4. 2002
Relational extensions for OLAP. N. Colossi ET AL.IBM SYSTEMS JOURNAL,Vol.41 No.4. 2002 *

Also Published As

Publication number Publication date
US20040267799A1 (en) 2004-12-30
EP1492030A3 (en) 2005-02-09
JP2005018778A (ja) 2005-01-20
EP1492030B1 (en) 2016-10-19
CN1573754A (zh) 2005-02-02
KR101085666B1 (ko) 2011-11-22
EP1492030A2 (en) 2004-12-29
KR20050001348A (ko) 2005-01-06
US7590638B2 (en) 2009-09-15

Similar Documents

Publication Publication Date Title
CN101971165B (zh) 数据关系的图形表示
CN100527126C (zh) 使用维属性和每维多个分层进行联机分析处理的系统和方法
CN1713179B (zh) 在对象模型中的影响分析
US10445809B2 (en) Relationship discovery engine
US8782075B2 (en) Query handling in databases with replicated data
CN101460950A (zh) 从数据库模式中自动生成web表单
CN110019397B (zh) 用于进行数据处理的方法及装置
CN1692354B (zh) 信息管理系统、信息处理设备以及信息处理方法
US20110282861A1 (en) Extracting higher-order knowledge from structured data
CN109952569A (zh) 用于基于字典的连接和聚合的技术
CA2430437C (en) Method of retrieving entities
US10162855B2 (en) Systems and methods for optimizing data analysis
Paranjape et al. Improving website hyperlink structure using server logs
KR20100094021A (ko) 이동통신 단말기와 아이피 기반 정보 단말기를 이용한 맞춤, 지능형 심볼, 아이콘 인터넷 정보 검색시스템
US20040015486A1 (en) System and method for storing and retrieving data
CN103003813A (zh) 记录的列状存储表示
US20060224628A1 (en) Modeling for data services
CN102057377B (zh) 虚拟化查询中的对象
CN102262650A (zh) 链接的数据库
KR20200121391A (ko) 오픈마켓 빅데이터 기반 ai 키워드 추천 시스템 및 방법
Sakr A data model and algorithms for a spatial data marketplace
KR20210143554A (ko) 오픈마켓 빅데이터를 활용한 ai 키워드 추천 시스템 및 방법
CN101689284A (zh) 基于容器交换来收集统计数据
KR20210068214A (ko) 오픈마켓 빅데이터 기반 ai 키워드 추천 시스템 및 방법
Trujillo et al. Applying UML and XML for designing and interchanging information for data warehouses and OLAP applications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150504

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150504

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090812

Termination date: 20200624