- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
块址1块址2块址3块址4
索引树结构 索引树是一种特殊的树型数据结构。上节介绍的多级索引结构 可视作索引树。 [定义9.7.1]秩为P的索引树是一个满足下述条件的树形数据结构: 1)每个结点存储如下的信息: (p1,k1, p2,k2,?,pq-1,kq-1 ,pq), q?P. 每个pi是一个指向子结点的指针或空指针, ki是来自有序集合的索引值,k1k2 ? kq-1 2)pi 所指子树中的所有值x满足: 当1iq时有ki-1xki , 当i=1时xk1 , 当i=q时xkq-1 . 下图表示单个结点的结构。 I71 (.5.) (.3.) (.1.) (.6.9.) (.7.8.) (.12.) 空指针 x x x xk1 ki-1xki kq-1x p1k1 ? pi-1 ki-1 pi ki ? pq-1kq-1 pq 接下页 右图是秩3 索引值为整 数的索引树。 索引树可作为数据文件的检索结构。检索数据的方法如下: 首先为数据文件指定索引域x,并在主存或辅存建立关于x 的索引树,树中每个x值关联一个值指针,指向数据记录 所在的磁盘块。树结点占一个磁盘块。随着对数据记录的 更新,即对记录作插入、修改和删除,对索引树作相应的 维护。为了区别值指针,我们把索引定义中的指针称为树 指针。因此,当索引树作为数据检索结构使用时,其两类 指针的功能分别是: 树指针用于用于树搜索,值指针用于访问数据。 索引树满足动态文件要求,但有如下缺点: 1.树不平衡,叶结点层次深度不统一; 2.删除记录的操作使某些结点接近于空,使空间利用率低。 后边介绍的B_树概念通过对树增加约束,克服了这两个缺点。 I711 接下页 索引结构的维护 在理解特定索引结构的基础上,容易得到按此结构搜 索数据记录的算法。显然,搜索数据不必修改索引结 构。但在对数据记录作增加和删除操作的过程中,则 必须维护索引结构,即相应地修改树的结点信息,使 其始终和数据记录的存储分布保持一致,并满足指定 的结构约束。 在增加数据记录时, 结点的索引项数可能增多到超过允许的限度,这情况 称为上溢,需要对其进行分裂处理。这种处理使父亲 结点增加索引项,这过程甚至可能波及到根结点,从 而导致树的高度增加1。 在删除数据记录时, 结点的索引项数可能减少到低于允许的限度,这情况 称为下溢,需要对其进行重组处理。这样可能使父亲 结点减少索引项,这过程甚至可能波及到根结点,从 而导致数的高度减少1。 I712 * 第九章 物理存储结构 DBMS的数据操作算法、查询优化处理方法和事务处理算法, 都与数据库的物理存储结构密切相关。本章介绍数据库的 各种存储结构,讨论外存储器存放数据的最优化方式。物 理存储结构主要考虑数据库的操作效率、响应时间和空间 利用率。 第一节 数据库存储设备 第二节 文件与文件记录 第三节 无序文件 第四节 有序文件 第五节 HASH文件 第六节 索引文件 第七节 B_树和B_+树索引结构 I 第一节 数据库存储设备 数据库通常存储在辅助存储器上,有各种类型的辅助存储器。 本节主要介绍磁盘和磁带存储器。磁盘存储的数据库直接供 用户操作。磁带存储器存储数据库的副本,作为后援存储器 使用,实现系统的故障恢复。 一 磁盘存储器 二 磁带存储器 三 磁盘缓冲处理技术 四 磁盘的调度策略 I1 一 磁盘存储器 磁盘存储数据的工作原理如下:把具剩磁特性的磁性粉末制 成粘胶涂抹在园盘表面,利用磁头与磁表面的磁感应效应, 将磁表面按照不同的要求磁化为具有不同磁化方向的磁化单 元,利用这些磁化单元存储信息。 磁盘存储器由磁盘和驱动机构组成。驱动机构主要包括带磁 头的磁臂和带盘旋转的转轴。磁头径向运动和磁盘圆周运动 的复合,使磁头可以访问磁盘的任意存储位置。 I11 铁芯 读线圈 写线圈 N S 磁介质运动方向 磁盘表面 磁头 硬盘有多个磁性盘片。每片对应一个磁 头并划分为若干个同心圆磁道,磁道划 分为若干扇区。分布在各盘面的等半径 磁道集合成柱面。磁盘读写单位是块, 其容量是扇区的固定整数倍。磁盘块的 物理地址是(柱面号,头号,扇区号)。 操作系统访问磁盘采用逻辑地址,即三 维地址的一维映射. 每次可读写多个邻接的磁盘块. 接下页 硬盘容量的计算公式是: 硬盘容量=头数 ? 道数 ? (扇数/道) ? (字节数/扇). 使用磁头存取磁盘数据的时间称为存取时间,由三部分组成: 存取时间=寻道时间+旋转延迟+数据传输, (前两
文档评论(0)