用于访问关系型数据库系统中的分层数据的高效索引结构技术方案

技术编号:2867289 阅读:197 留言:0更新日期:2012-04-11 18:40
本发明专利技术描述了一种分层索引,该分层索引获取由关系型数据库系统仿效的分层结构的分层关系。利用包括用作分层索引项的行的数据库表实现分层索引。另一个表的行与分层结构中的节点相关。分层索引中的每项都映射到与分层结构中的一个节点对应的行。分层中的节点可以是具有一个或多个子节点的父节点。在这种情况下,分层索引中的对应项包括用于识别索引中其它项的标识符,其中其它项对应于与父节点的子节点相关的行。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及关系型数据库系统,更具体而言是涉及在关系型数据系统中对分层数据进行索引的技术。
技术介绍
人们往往将信息按类别组织。信息被组织的类别是通常按照某种形式的层次相对彼此被组织的信息自身。例如,个体动物属于种,种属于属,属属于科,科属于目,目属于纲。随着计算机系统的出现,已经开发出的用于存储电子信息的技术,在很大程度上反映了人们对这种分层组织的需求。例如,传统计算机文件系统通常利用基于分层组织的原理实现。具体是,一个典型的文件系统具有分层排列的目录,以及存储在这些目录中的文档。理想地,目录间的分层关系反映了目录被赋予的含意之间的直观关系。类似地,理想情况是每个文档基于文档内容与文档所存储的目录被赋予的含意之间的某种直观关系被存储在目录中。图1显示了一个典型的文件系统的实施例。该图解的文件系统包括分层排列的多个目录。目录中存储两个文档118和122。具体是,文件名均为“Example.doc”的文档118和122分别存储在名称为“Word”的目录116和名称为“App4”的目录124中。在目录分层中,目录116是名称为“Windows”的目录114的子目录,目录114是目录110的子目录。类似的,目录124是名称为“VMS”的目录126的子目录,目126是目录110的子目录。子目录110被称为“根”目录,因为其它所有目录都起源于该目录。在许多系统中,符号“/”用于指根目录。当电子信息按层次被组织时,每项信息可通过跟踪一条从层次到包含该项信息的实体的“路径”被定位。在分层文件系统中,到某一项的路径起始于根目录,并向下通过分层目录最终达到包括所关注的项的目录。例如,到文档118的路径依次包括目录110、114和116。分层存储系统通常允许不同的项具有相同名称。例如,图1所示的文件系统中,文档118和文档122的名称均为“Example.doc”。因此,为明确识别指定的文档,所需要的不仅仅是文档名。识别和定位一个存储在分层存储系统中特定项信息的简便方法是使用“路径名”。路径名是一种根据从分层到某一项的路径来唯一识别该项的简便方法。路径名由一系列的被称为路径单元的名称组成。在文件系统中,该名称序列中的每个名称就是“文件名(filename)”。术语“文件名”既指目录名,也指文档名,因为目录和文档都被认为是“文件”。在文件系统中,指定路径名中的文件名序列起始于根目录名,包括沿着从根目录到所关注项的路径的所有目录名,并终止于所关注项的名称。通常,要遍历的目录列表通过某种分隔符(如‘/’、‘\’或‘;’)被连接在一起,以便组成路径名。这样,文档118的路径是Windows/Word/Example.doc,而文档122的路径是VMS/App4/Example.doc。在不同类型的分层组织的系统之间,目录(文件)与目录所包含的内容之间的关系差别很大。在被多种实施方案(例如Windows和DOS文件系统)采用的一种模型中,要求每个文件刚好有一个父目录,以形成树结构。在更为复杂的模型如使用硬连接的UNIX系统中,分层采用定向(directed)图表的形式,其中文件具有多个父目录。与组织电子信息的分层方法相比,关系型数据库将信息存储在由行和列组成的表中。每行由唯一的RowID识别。每列代表记录的属性或字段,每行代表一个特定的记录。通过向管理数据库的数据库服务器提交查询获取数据。查询必须遵照数据库服务器支持的数据库语言。结构化查询语言(SQL)是现由许多数据库管理系统支持的数据库语言。每种存储系统都具有优点和不足。分层组织的存储系统简单,直观,容易实现,是多数应用程序使用的标准模型。不足的是,简单的分层组织不支持复杂的数据检索操作。例如,必须检查每个目录中的内容,以找到在特定日生成的具有特定文件名的所有文档。由于必须搜索所有目录,因此在简化检索进程中分层组织不起作用。关系型数据库十分适合存储海量信息和以非常灵活的方式访问数据。相对于分层组织的系统,可以很容易和高效地从关系型数据库系统中检索出那些与复杂的搜索条件匹配的数据。然而,向数据库服务器表达和提交查询的进程没有仅仅遍历分层的目录直观,并且会超出许多计算机用户技术支持水平。过去,已通过不兼容的不同方法实现了分层组织系统和关系型组织系统。然而,一些关系型组织系统包括了允许系统仿效分层组织系统的特征。当需要关系型系统的存储能力和灵活性,但又期望分层系统的直观性和普遍性时,这种仿效尤其合适。一种这样的特征基于由SQL定义的连接(connect-by)语句。连接语句允许用户提交请求基于分层组织的数据的查询。关系型数据库系统以一种反映分层组织的方式返回数据。连接语句指定用于定义分层组织所基于的分层关系的条件。然而,使用连接语句表达查询有缺点。首先,处理这种查询可伴有计算多重连接操作,对于处理该查询的数据库服务器来说,这是一个非常耗时的过程。使用连接语句还增加了用户负担。在查询中加入连接语句还使本就已复杂的表达查询的任务更为复杂。因此,需要提供这样一种机制,其允许关系型数据库系统按照较传统仿效机制更高效的方式去仿效分层组织的系统。还需要提供以减轻表达请求和返回分层组织数据的查询的复杂性的这种仿效。附图说明通过附图中的例子来说明本专利技术,而不是限制本专利技术,在附图中相同的附图标记指相同元件,其中图1是说明分层文件系统的方框图。图2是说明信息分层的方框图。图3所示的方框图说明了用于获取根据本专利技术实施例的关系型系统中图2所示的信息分层的表。图4所示的方框图说明了用作根据本专利技术实施例的分层索引的数据库表。图5是本专利技术实施例在其上实现的系统的方框图。具体实施例方式描述了一种用于访问存储在关系型数据库系统中的分层信息的方法和装置。出于解释的目的,在下面的描述中阐述了大量的特定细节以完全理解本专利技术。然而,很显然,没有这些特定细节本专利技术仍可实现。在其它实例中,以方框图的形式显示了众所周知的结构和装置,以避免对本专利技术的理解上的不必要的模糊不清。概述此处描述了一种分层索引的新的实现,该分层索引获取通过关系型数据库系统仿效的层次的分层关系。通过使用包含有作为分层索引项的行的数据库表实现分层索引。另一张表具有和分层中的节点相关的行。分层索引中的每个项映射到对应于分层中的节点的行。分层中的节点可以是具有一个或多个子节点的父节点。在这种情况下,分层索引中的对应项包含有用于识别索引中其它项的标识符,其中其它项对应与父节点的子节点相关的行。另外,索引包含关于用户如何访问与分层相关的行的信息。该信息可用于确定用户在执行涉及索引的操作期间的访问权限,从而允许确定访问权限的操作和任务被更加有效地执行。最后,数据库服务器可以使用分层索引执行数据库服务器支持的类似本地索引的语句。这种以该方式被支持的语句的类型包括数据定义语言(DDL)语句和数据操纵语言(DML)语句。这两种语句通过如SQL这样的数据库语言编写。系统概述图2说明了分层结构200,其用于在此提供的帮助理解本专利技术实施例的例子中。分层结构200包括8个节点。分层结构中的最高节点被称作“根”节点。分层结构中每个分支末端的节点是“叶”节点。根节点和叶节点间的节点是“中间”节点。在所说明的分层结构中,节点1、2和3是中间节点,节点4、5、6和7是叶节点本文档来自技高网...

【技术保护点】
一种具有索引的计算机可读介质,其中:    所述索引对包括一个或多个字段的表进行索引;    所述索引基于与所述的一个或多个字段至少之一相关联的关键字值进行排列和排序;以及    所述索引包括多个索引项,其中所述索引项的每一项:    映射到所述表中的至少一个对应行,并且    包含第一访问控制数据,这不在所述关键字值中反映出来,所述第一访问控制数据定义了访问所述至少一个对应行的用户访问权限。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:尼马贾拉利埃里克塞德拉尼普恩阿加瓦尔拉维默西
申请(专利权)人:甲骨文国际公司
类型:发明
国别省市:US[美国]

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

1