第3章多维索引.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章多维索引

第二部分 数据存储管理 第3章 多维索引;;有三种策略可处理这个查询:;3.1 需要多维索引的应用简介 ;;;3.1.2 空间数据与地理信息系统;地理数据库的用途;几何信息表示方法 ;地理数据 ;地理数据可分为两类 :;相应地理数据表示也有两种: ;空间查询的三种主要类型 ;3.2 空间数据索引结构 ;示例问题;I/O数估算;多维索引结构;3.2.1 网格索引结构 ;基于年龄和月薪这两搜索键建立的网格索引结构 ;;插入一个搜索键为(70, 3.5K)的记录: ;;网格文件对多维查询支持: ;要回答简单范围查询:Age20 and salary1K ;网格文件存在主要问题;3.2.2 K-d树(k维搜索树) ;k-d树及其所隐含的空间划分 ;k-d树的性能及对多维查询支持 ;k-d树应用的主要问题 ;3.2.3 四叉树(quadtrees) ;3.2.3 四叉树(quadtrees);四叉树及其所隐含的空间划分 ;3.2.4 R树;3.2.4 R树;R树运用了空间分割的理念,采用了一种称为MBR(Minimal Bounding Rectangle)的方法??在此我把它译作“最小边界矩形”。从叶子结点开始用矩形(rectangle)将空间框起来,结点越往上,框住的空间就越大,以此对空间进行分割。 ;图(b),首先我们假设所有数据都是二维空间下的点,图中仅仅标志了R8区域中的数据,也就是那个shape of data object。我们把不规则图形看作是多个数据围成的一个区域。为了实现R树结构,我们用一个最小边界矩形恰好框住这个不规则区域,这样,我们就构造出了一个区域:R8。R8的特点很明显,就是正正好好框住所有在此区域中的数据。其他实线包围住的区域,如R9,R10,R12等都是同样的道理。这样一来,我们一共得到了12个最最基本的最小矩形。这些矩形都将被存储在叶子结点中。下一步操作就是进行高一层次的处理。我们发现R8,R9,R10三个矩形距离最为靠近,因此就可以用一个更大的矩形R3恰好框住这3个矩形。同样道理,R15,R16被R6恰好框住,R11,R12被R4恰好框住,等等。所有最基本的最小边界矩形被框入更大的矩形中之后,再次迭代,用更大的框去框住这些矩形;我们来讲个实例,如何查询特定的数据吧。假设我要查询广州市天河区天河城附近一公里的所有餐厅地址怎么办?打开地图(也就是整个R树),先选择国内还是国外(也就是根结点)。然后选择华南地区(对应第一层结点),选择广州市(对应第二层结点),再选择天河区(对应第三层结点),最后选择天河城所在的那个区域(对应叶子结点,存放有最小矩形),遍历所有在此区域内的结点,看是否满足我们的要求即可。 ;一棵R树满足如下的性质: 1.?????除非它是根结点之外,所有叶子结点包含有m至M个记录索引(条目)。作为根结点的叶子结点所具有的记录个数可以少于m。通常,m=M/2。 2.?????对于所有在叶子中存储的记录(条目),I是最小的可以在空间中完全覆盖这些记录所代表的点的矩形(注意:此处所说的“矩形”是可以扩展到高维空间的)。 3.?????每一个非叶子结点拥有m至M个孩子结点,除非它是根结点。 4.?????对于在非叶子结点上的每一个条目,i是最小的可以在空间上完全覆盖这些条目所代表的点的矩形(同性质2)。 5.?????所有叶子结点都位于同一层,因此R树为平衡树。;叶子结点的结构 叶子结点所保存的数据形式为:(I, tuple-identifier)。 ??????其中,tuple-identifier表示的是一个存放于数据库中的tuple,也就是一条记录,它是n维的。I是一个n维空间的矩形,并可以恰好框住这个叶子结点中所有记录代表的n维空间中的点。I=(I0,I1,…,In-1)。 下图描述的就是在二维空间中的叶子结点所要存储的信息。 在这张图中,I所代表的就是图中的矩形,其范围是a=I0=b,c=I1=d。有两个tuple-identifier,在图中即表示为那两个点。 ; 非叶子结点结构 非叶子结点存放的数据结构为:(I, child-pointer)。 ??????其中,child-pointer是指向孩子结点的指针,I是覆盖所有孩子结点对应矩形的矩形。;R树的操作 搜索 R树的搜索操作很简单,它返回的结果是所有符合查找信息的记录条目。输入不仅仅是一个范围了,它更可以看成是一个空间中的矩形。也就是说,我们输入的是一个搜索矩形。 先给出伪代码: Function:Search 描述:假设T为一棵R树的根结点,查找所

文档评论(0)

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

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

1亿VIP精品文档

相关文档