高级数据库技术资料.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 3 空间索引 空间数据库查询的开销一般比关系数据库大,特别是空间谓词求值的开销远比数值或字符串的比较要大。若采用顺序扫描方法进行查询,则效率就会很低,因此采取空间索引十分必要的。 * * 1 空间索引概述 (1)空间索引的思路 为了减少开销,通常是采用近似规则图形例如边平行于坐标轴的最小矩形来代替不规则图形进行查询。这种矩形就称为不规则区域的最小限定矩形(minimum bounding rectangle ,MBR)。设MBR左下角坐标为(x1,y1),右上角为(x2,y2),则x1,y1就分别为空间对象的最小横坐标和纵坐标,x2,y2分别为空间对象的最大横坐标和纵坐标。不但区域可以用MBR近似表示,线也可以用MBR近似表示;进一步,不但单个空间对象可以用MBR近似表示,有时MBR还可以包含多个空间对象。最小限定矩形如下图所示。 * * * * 如果一个MBR还含有另外的MBR,则称其为目录MBR,否则就称为对象MBR。 (1)如果两个空间对象相交,则相应的MBR也相交; (2)如果两个MBR不相交,则对应的两个空间对象也不相交。这样,用MBR代替空间对象检查相交情况,就可以排除一批不相交的对象。 (3)当然,两个MBR相交,并不能得出对应的空间对象一定相交,此时还需要用精确方法对MBR相交的空间对象逐个进行检验,找出真正相交的情形。先用高效率的近似方法进行粗选,再用精确方法 进行精选,这是空间数据库中常用的搜索方式。 * * (2)空间索引的特点 索引对象的无序性 索引对象的不规则性 索引对象的交叉性 * * 2 空间对象的近似表示 点 点不但是基本的空间数据类型之一,而且多属性的检索也相当于多维空间点的搜索。有些规则图形也可以用高维空间的点表示。例如一维空间的线段[a,b]可以用二维空间的点(a,b)表示。二维空间的边平行于坐标轴的矩形{(x1,y1),(x2,y2)}可以用四维空间的点(x1,y1,x2,y2)表示,式中(x1,y1),(x2,y2)分别为矩形的左下角和右上角坐标。 * * 矩形或方盒 矩形和方盒不但是近似表示不规则空间对象的简单、有效手段,也是划分子空间的首选图形。 栅格(grid) 用栅格表示空间对象,类似于用点阵、像素阵列表示二维图像,原则上可以推广到高维空间,但主要用于二维空间 * * * * * * 用Z次序的栅格表示区域,可以把本是二维的空间对象,用一维的有序二进制串序列表示。因此,空间对象所占的区域,可以用二进制串作为索引键,组成一个B树。 * * 空间索引按照其操作对象的不同可以分为两类。 (1)以空间点为查询对象的索引 (2)以非点的空间图形为查询对象的索引,例如R-树等技术。 * * 3 基于大小非零空间对象查询的R树 在R树中,每个索引项都是一个二元组(r,p),其中r表示MBR,p表示相应指针。 一个结点最多可有M个索引项,至少有m个索引项。由于R树在分裂时涉及到区域的优化与调整,开销较大,为了减少分裂概率,m宜选择较低数值。有实验结果,m在0.4M左右可以获得较好的性能。 * * R树具有如下基本性质 (1)根结点至少有两个索引项,除非个结点是R树的唯一结点; (2)每个非叶结点有m到M个索引项; (3)在上述约束条件下,保持树的平衡。 * * 外包矩形的取法 * * 对应的R树 * * R树的查询 设给定矩形Rq={(x1,y1),(x2,y2)},其中(x1,y1),(x2,y2)分别为Rq的左下角和右上角坐标,要查询其中所包含的空间对象。在查询时,首先从R树的根结点开始。 * * 如果根结点中的索引项是对象,由于这些索引项是无序的,需要逐个检查每个对象MBR是否包含在Rq中,如果包含在Rq中,则此对象就是选中的对象之一。设对象MBR为R0={(x3,y3),(x4,y4)},式中(x3,y3),(x4,y4),分别为R0的左下角和右上角坐标。R0包含在Rq中的条件为x3≥x1 and y3≥y1 and x4≤x2 and y4≤y2 * * 如果根结点中的索引项是目录MBR,则逐个检查个目录MBR是否与Rq相交。如果相交,则此目录MBR中的对象MBR就有可能包含在Rq中,需要沿此目录MBR继续搜索;如果目录MBR与Rq不相交,则其中的对象MBR就不可能包含在Rq中,就不必沿此目录继续向下搜索,相交的条件参见前述小节。当搜索到叶结点时,则与前面一样,逐个检查其中对象MBR是否包含在中。如果目录MBR之间有重叠,虽然重叠区中的对象只属于一个目录MBR,但是判定它属于哪一个目录MBR,仍然需要多路搜索。 * * R树的插入 插入是R树中开销最大的操作,对其性能影响很大,

文档评论(0)

文档资料 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档