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

文档序号:6411737阅读:144来源:国知局
专利名称:使用维属性和每维多个分层进行联机分析处理的系统和方法
技术领域
本发明一般涉及计算机实施的数据库,更具体地说,涉及用于访问联机分析处理数据库的数据模型。
背景技术
典型的关系数据库管理系统(RDBMS)产品对于向用户提供数据的具体视图具有限制条件。
从而,已经为RDBMS产品开发了前端处理机,使得从RDBMS检索出的数据能够被聚集,总述、合并、计算、浏览和分析。这类功能被称为联机分析处理(OLAP)。
OLAP是大多数数据仓库和经营分析系统的码部分。OLAP服务为多维信息地快速分析做准备。OLAP服务为以直观和自然的方式进行多维访问和数据的导航做准备,并且提供可以检索的成为所关心的具体数据的全局数据视图。速度和响应时间是OLAP服务的重要属性,其允许用户以有效率的方式联机浏览和分析数据。
在OLAP系统中的数据可以依据它的复杂度的数目而被特性化,(即用于索引数据的维)因此,复杂数据组是一个具有多维的数据组。在具有灵活性的优点复杂数据组中,用户可以向复杂数据提交比向简单数据组更多的查询。因此,通常更期望使用复数数据组。然而,使用传统的OLAP系统处理大量数目的维是很困难的。因而需要一种用于访问OLAP系统中的数据库的改善机构。
发明总述在本发明的一个具体实施例中,多分层维用于访问OLAP系统中的关系数据库。维包括一组属性。每个属性被绑定在关系数据库中的一栏上。定义属性之间关系。不依赖与数据库有关的任何限制来定义这些关系。属性和它们的关系定义维及它的限制条件。定义分层以用作检索路径,以便访问数据库。每个分层包括一序列属性。分层可以包括单一属性或组合属性。分层的定义不依赖于与数据库有关的任何限制。
一种用于通过多分层维访问数据库的方法,包括定义具有多个属性的维。将每个属性分配或绑定到数据库的各自的行中。定义属性之间的关系,并且通过多分层维访问数据库。
附图简述当结合附图来考虑下述描述,将更好地理解本发明的特征和优点,其中

图1说明了在适当的计算系统环境中根据本发明的典型具体实施例的用于多分层维的可以被实施的方法和系统的一个例子。
图2说明与数据库的内容有关的典型维;图3说明根据本发明典型具体实施例的多分层维;图4说明根据本发明典型具体实施例的属性之间的关系的典型结构。
图5是根据本发明具体实施例的用于访问数据库的典型处理的流程图;以及图6说明根据本发明典型具体实施例的用于通过多分层维访问数据库的典型系统的结构图。
具体实施例的详细说明根据本发明的具体实施例,一种用于在关系数据库中访问数据的技术允许在数据库中的项之间定义适宜的关系。这些适宜的关系可用于快速和有效地检索数据库。在一个具体实施例中,这个技术在OLAP系统内实现。该技术包括具有多个属性的多分层维。每个属性分配(例如,绑定)到关系数据库中的一行中。定义属性之间的关系。这些关系和它们自己的属性的逻辑结构识别每个维的细节和限制条件。定义分层以促使进入关系数据库中的检索路径。分层包括一序列属性。分层可以包含属性的任何序列和/或属性内的层次。在序列的形成上没有限制条件。因此,分层可以包含所有的属性、一个属性,或属性的集合。
一个适当的计算系统环境的概要图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),例如在启动其间,一般保存在ROM131中。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或其它用于在WAN 173,例如因特网上建立通信的装置。调制解调器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包含有关顾客名称的数据项。维表示数据库内容的具体关系。可以为给定的数据库定义多维。一般而言,分层与维相关。例如,时间维可以由日、星期、月和年组成,或者地理维可以由城市、州/省和国家组成。维元作为识别数据库内部的数据项的具体数据项或范围的索引。一般而言,数据库用户,例如商业用户设计维以捕获与业务相关的信息。说明了两个像维226和228那样的逻辑维。维226通过地理位置组织顾客,而维228通过销售领域来组织顾客。维225包括元′国家′、′州′、′城市′和′顾客名称′。维226还包含元属性,′人口′,其是元′城市′的属性。维228包括元‘销售区域′、‘州′、‘城市′和‘顾客名称′。维228还包含元属性,‘人口′,其是元‘城市’的属性。维226的线性结构组织城市的顾客、州中的城市和国家的州。维228中的线性结构组织城市中的顾客和销售区域中的城市。销售区域包含一个以上的国家的城市,并且可以将国家分成一个以上的销售区域。在两个维中,城市都具有人口。正交轴230和232的绘图表示维和维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)对数据库系统的存储器需求具有相对小的影响,因为不需要添加维。每个附加分层利用相同的多层维。同样,可以按照属性定义集合。集合是一个大体上可以抄近路通过分层的路径。例如,设计师可以不考虑所定义的分层来保持城市的集合。同样,设计师可以定义仅仅包含属性′城市′的分层。
图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)、客户机计算机、影像录象机等等,或具有以上典型具体实施例所描述的处理能力的接收机成为用于实现本发明的设备。当在通用处理机上实施时,程序代码与处理器结合,以便提供唯一的进行操作以调用本发明的功能的设备。另外,连同本发明一起使用的存储技术可以总是硬件和软件的组合。
虽然已经连同各个附图来描述了本发明的具体实施例,但是应当理解在不脱离其中的情况下,其它类似于所描述的具体实施例的具体实施例可以被使用或修改,以便执行本发明的相同功能。此外,应强调的是各种计算机平台,包括设想的手持式装置操作系统及其它应用程序具体的操作系统,尤其作为无线网络装置的数目继续激增。所以,本发明将不限于任何单一具体实施例,而应根据附加权利要求在广度和范围中加以分析。
权利要求
1.一种用于改善与数据库有关的数据处理的方法,所述方法包括定义包括多个属性的维;将每维分配到所述数据库的相应的行;以及定义所述属性之间的关系。
2.根据权利要求1所述的方法,进一步包括通过所述维访问所述数据库。
3.根据权利要求1所述的方法,进一步包括定义至少一个包括所述属性序列的层次。
4.根据权利要求3所述的方法,其中每个层次定义用于访问所述数据库的搜索路径。
5.根据权利要求3所述的方法,其中分层包括一个属性。
6.根据权利要求3所述的方法,其中所述定义所述至少一个分层的行为与所述数据库无关。
7.根据权利要求1所述的方法,其中所述定义所述属性之间的关系的行为与所述数据库无关。
8.根据权利要求1所述的方法,其中所述数据库是关系数据库。
9.根据权利要求1所述的方法,其中所述维同联机分析处理(OLAP)系统一同使用。
10.一种包括用于执行权利要求1所述方法的装置的应用编程接口(API)。
11.一种计算机可读介质,其具有通过执行以下行为改善与数据库有关的数据处理的计算机可执行指令,其行为包括定义包括多个属性的维;将每属性分配到所述数据库的相应的行;以及定义所述属性之间的关系。
12.根据权利权利要求11所述的计算机可读介质,还具有通过所述维用于访问所述数据库的计算机可执行指令。
13.根据权利要求11所述的计算机可读介质,还具有用于定义至少一个包括属性序列的分层的计算机可执行指令。
14.根据权利要求13所述的计算机可读介质,其中每个分层定义用于访问所述数据库的检索路径。
15.根据权利要求13所述的计算机可读介质,其中分层包括一个属性。
16.根据权利要求13所述的计算机可读介质,其中所述定义所述至少一个分层的行为与所述数据库无关。
17.根据权利要求11所述的计算机可读介质,其中所述定义所述属性之间的关系的行为与所述数据库无关。
18.根据权利要求11所述的计算机可读介质,其中所述数据库是关系数据库。
19.根据权利要求11所述的计算机可读介质,其中所述维同联机分析处理(OLAP)系统一起使用。
20.一种用于访问数据库的系统,所述系统包括处理器,耦合于存储器,所述存储设备包括所述数据库;第一定义部件,用于定义包括多个属性的维;分配部件,用于将每个属性分配到所述数据库的相应行;第二定义部件,用于定义所述属性之间的关系;以及访问部件,允许通过所述维访问所述数据库。
21.根据权利要求20所述的系统,进一步包括第三定义部件,用于在每个维中定义至少一个分层,每个分层包括一序列属性。
22.根据权利要求21所述的系统,其中每个分层定义用于所述访问部件的检索路径。
23.根据权利要求21所述的系统,其中分层包括一个属性。
24.根据权利要求21所述的系统,其中所述第三定义部件定义所述至少一个分层的行为与所述数据库无关。
25.根据权利要求20所述的系统,其中所述第二定义部件定义所述属性之间的关系的的行为与所述数据库无关。
26.根据权利要求20所述的方法,其中所述维同联机分析处理(OLAP)系统一起使用。
27.一种用于访问数据库的系统,所述系统包括用于定义包括多个属性的维的装置;用于将每个属性分配到所述数据库的相应行的装置;用于定义所述属性之间的关系的装置;用于通过所述维访问所述数据库的装置;以及用于定义至少一个包括所述属性序列的分层的装置。
28.根据权利要求27所述的系统,其中所述属性之间关系的定义与所述数据库无关。
29.根据权利要求27所述的系统,其中所述至少一个分层的定义与所述数据库无关。
30.根据权利要求27所述的方法,其中所述系统是联机分析处理(OLAP)系统。
31.根据权利要求27所述的系统,其中所述用于定义维的装置,用于分配的装置,用于定义关系的装置,用于访问的装置和用于定义至少一个分层的装置包括至少一个应用编程接口(API)。
32.一种由至少一个计算机可读介质具体化的数据结构,包括包括多个属性的维,其中每个属性被绑定于数据库的行中;以及指示所述多个属性之间的关系的逻辑结构。
33.根据权利要求32所述的数据结构,所述数据结构还包括至少一个包括属性序列的分层。
34.根据权利要求33所述的数据结构,其中每个分层提供用于访问所述数据库的检索路径。
35.根据权利要求33所述的数据结构,其中分层包括单一属性。
36.根据权利要求33所述的数据结构,其中每个序列的定义与所述数据库的限制条件无关。
37.根据权利要求32所述的数据结构,其中所述逻辑结构的定义与所述数据库的限制条件无关。
38.根据权利要求32所述的数据结构,其中所述数据库是关系数据库。
39.根据权利要求32所述的数据结构,其中所述数据库能够同联机分析处理(OLAP)系统一起使用。
40.一种用于从数据库检索数据的方法,所述方法包括接收包括维的数据检索请求,其中所述维包括多个属性;将每个属性分配被到与所述数据库的相应行;以及定义所述属性之间的关系;以及通过所述维从所述数据库检索所述数据。
41.根据权利要求40所述的方法,进一步包括提供所述检索数据以响应所述数据检索请求。
42.根据权利要求40所述的方法,所述所述数据检索请求还至少包括包含有所述属性序列的分层。
43.根据权利要求42所述的方法,其中每个分层提供用于访问所述数据库的检索路径。
44.根据权利要求42所述的方法,其中分层包括单一属性。
45.根据权利要求42所述的方法,其中每个序列的定义与所述数据库的限制条件无关。
46.根据权利要求40所述的方法,其中所述属性之间的所述关系的定义与所述数据库的限制条件无关。
47.根据权利要求40所述的方法,其中所述数据库是关系数据库。
48.根据权利要求40所述的方法,其中所述数据库能够同联机分析处理(OLAP)系统一起使用。
全文摘要
用于在OLAP系统中访问关系数据库中的数据的数据模型使用多层维。维包括一组属性。每个属性绑定于关系数据库中的行。定义逻辑结构,用以指示属性之间的关系。定义分层。每个分层包括一序列的属性。分层提供一般的检索路径,数据库用户可以利用其访问数据库。分层可以包括单一属性或属性的组合。属性之间的关系和分层中属性序列之间的关系的定义与数据库有关的任何限制条件无关。
文档编号G06F12/00GK1573754SQ200410055038
公开日2005年2月2日 申请日期2004年6月24日 优先权日2003年6月24日
发明者C·佩特克勒斯克, A·耐茨, M·帕苏曼斯基, M·杜米特鲁, A·伯格, P·J·杉德斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1