数据库课件CH7数据库存储结构幻灯片.ppt

数据库课件CH7数据库存储结构幻灯片.ppt

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
影响物理设计的主要因素 应用处理需求。在进行数据库物理设计前,应先弄清应用的处理需求,如吞吐量、平均响应时间、系统负荷、事务类型及发生频率等,这些需求直接影响着设计方案的选择,而且它们还会随应用环境的变化而变化。 数据特征。数据本身的特性对数据库物理设计也会有较大影响。如关系中每个属性值的分布、记录的长度与个数等,这些特性都影响到数据库的物理存储结构和存取路径的选择。 运行环境。数据库物理设计与运行环境有关,因此在设计时还要充分考虑DBMS、操作系统、网络、计算机硬件等运行环境的特征和限制。 物理设计的调整。数据库物理设计是基于数据库当前状况从许多可供选择的方案中选择一个合适的设计方案。但是随着时间的变化,数据库的状态和特性也会发生变化,因此可能导致以前的物理设计不能再满足目前的应用需求,因此,需对物理设计不断调整,甚至有时需要重新设计。 本章结束! 请同学们对本章内容进行复习、总结!!! B+树索引的结构 叶结点的结构,对i=1, 2, …, n-1,指针Pi指向具有搜索码值Ki的一条文件记录或指向一个指针桶,且指针桶中的每个指针指向具有搜索码值Ki的一条文件记录。桶结构只在搜索码不是候选码且文件记录不按搜索码顺序存放时才使用。指针Pn有特殊的作用,稍后再讨论。 图7-16是Student文件的B+树索引的叶结点结构,其中设n=4,搜索码为studentName。由于Student文件中的记录物理上直接按搜索码studentName有序,所以叶结点中的指针直接指向文件的记录。 每个叶结点最多可存放n-1个搜索码值,最少也要存放?(n-1)/2?个搜索码值。各个叶结点中的搜索码值不重复且不相交,并要使B+树索引成为稠密索引,即数据文件中的所有互不相同的搜索码值必须在某个叶结点出现且只出现一次。 每个叶结点中的搜索码值升序排列,所以可以利用各个叶结点的指针Pn将所有叶结点按搜索码值的排序顺序链接在一起。这种叶结点的链接排序能够高效地实现对数据文件的顺序处理,而B+树索引中的其他结构能够高效地实现对数据文件的随机处理。如图7-16所示。 B+树索引的结构 非叶结点的结构: B+树索引中的非叶结点形成叶结点上的一个多级(稀疏)索引。 非叶结点的结构与叶结点相同,只不过非叶结点中的所有指针都是指向B+树中下一层结点的指针。 每个非叶结点最多可存放n个指针(对应于存放n-1个搜索码),最少也要存放?n/2?个指针(对应于存放?(n-1)/2?个搜索码)。 一个结点中存放的指针数称为该结点的扇出。 B+树索引的结构 假设一个非叶结点中存放了m个指针,?n/2?≤m≤n。 若mn,则非叶结点中指针Pm之后的所有空闲空间都作为预留空间。 对i=2, 3, …, m-1,指针Pi指向B+树中的一棵子树,该子树中所包含的搜索码值都小于Ki且大于等于Ki-1; 指针Pm指向的子树中所包含的搜索码值都大于等于Km-1; 而指针P1指向的子树中所包含的搜索码值都小于K1。 如图7-17所示,其中S_Key表示子树中的搜索码值。 B+树索引的结构 根结点与其他非叶结点不同,它包含的指针数可以小于?n/2?,但是除了整棵B+树只有一个结点之外,根结点中必须至少包含两个指针。 对任意n,总可以构造出满足上述要求的B+树索引。图7-18给出了Student文件(n=4)的一棵完整的B+树索引。 B+树索引的结构 B+树是平衡树,正是这一平衡属性保证了B+树索引具有良好的查找、插入和删除的性能。 B+树索引的主要缺点是:由于结点有可能是半空的,这将造成空间的浪费。 B+树结构与内存中常用的树结构(如二叉树)的一个重要区别在于结点的大小及其构成的树的高度不同。 二叉树的结点很小,每个结点最多有两个指针。 而B+树的结点非常大(一般是一个磁盘块大小),每个结点中可以有大量的指针。 因此,B+树一般胖而矮,不像二叉树那样瘦而高。 在平衡二叉树中,查找路径的长度可达?log2(CK)?,其中CK为搜索码值的个数。 B+树索引的结构 B+树索引的查询与更新 查询:假设需要查找搜索码值为K的所有记录,记根结点为结点N,则B+树索引的查询过程可描述如下(请参照图7-17和图7-18理解) 如果在结点N中找到了大于K的最小搜索码,假设为Ki,则沿着指针Pi找到下一个结点,记为结点N。 否则(表示在结点N中找不到大于K的最小搜索码,即K≥Km-1,其中m为结点N的指针数),则沿着指针Pm找到下一个结点,记为结点N。 如果结点N是非叶结点,则返回第(1)步继续查找。 否则(表示结点N是叶结点),在结点N中查找: 如果找到了搜索码值K,假设为Ki,则指针Pi就是指向第一条搜索码值为K的文件记录的指针(或者是指向指针桶的指针,该指针桶中存放了搜索码值为K

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档