清华大学数据库access课件 第07章:存储结构与文件结构.pptVIP

清华大学数据库access课件 第07章:存储结构与文件结构.ppt

  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文档。上传文档
查看更多
清华大学数据库access课件 第07章:存储结构与文件结构

变长记录的存储 方法之一:字节流表示法 在每个记录的末尾都附加特殊的记录终止符⊥; 或者是在每个记录的开头存储该记录的长度。 问题:磁盘碎片 删除一条记录? 记录变长了? 记录变短了? 方案:移动记录的代价 §7.7记录的存储与维护 变长记录的存储 方法之二:分槽的页结构 用于物理块内部的记录组织; 块头部分: 块中记录个数; 块中空闲空间的末尾地址; 描述块中每个记录的大小和位置的数组; 块尾部分:实际记录从块的尾部开始连续存储; 块中部分:块中空闲空间是连续的。 §7.7记录的存储与维护 分槽页结构的实例? 变长记录的存储 方法之二:分槽页结构的维护 删除一条记录: 它所占用的空间被释放; 块中在此之前的记录都要移动; 而空闲空间还是集中在块中间。 插入一条记录: 在块中空闲空间的尾部给这条记录分配空间。 记录的增长和缩短: 该条记录的末尾地址不变; 在此记录之前的记录都要移动; 块的大小有限制,移动记录的代价并不高。 §7.7记录的存储与维护 还要修改? 变长记录的存储 方法之三:定长表示法 用一个或多个定长记录来表示一个变长记录。 由于所采用的策略不同,定长表示法又分为以下几类: 方法之三(1)--保留空间法 方法之三(2)--指针法 方法之三(3)--锚块-溢出块表示法 定长表示法在实际的DBMS当中很少使用,为什么?但至少可以为我们解决其他问题开拓思路! §7.7记录的存储与维护 变长记录的存储 方法之三(1):保留空间法 假设所有的变长记录都不会超过某个长度,就为每个记录都分配这样长度的空间; 缺陷:假设不合理;浪费大量存储空间 §7.7记录的存储与维护 变长记录的存储 方法之三(2):指针法 用一系列通过指针链接起来的定长记录来表示一个变长记录; 优点:与定长记录类似,变长记录是一个链表; 缺点:引入额外结构,浪费存储空间。 §7.7记录的存储与维护 变长记录的存储 方法之三(3):锚块-溢出块表示法 指针法的变形;文件使用两种不同的物理块: 锚块:包含记录的定长部分和变长部分的第一个分量的块; 溢出块:包含记录的变长部分除第一个分量以外的其他分量的块。 §7.7记录的存储与维护 记录的存储结构 定长记录 记录的字段数是固定的 每个字段都是定长的 应存放在数据字典里 偏移量 §7.7记录的存储与维护 记录的存储结构 变长记录 记录的字段数是固定的 某些字段是变长的 基地址分槽页结构的偏移量 1、如何定位某个字段? 2、如何处理空值NULL? §7.7记录的存储与维护 举例 SQL Server的数据行,即记录的结构 定长记录与变长记录中字段组织方式的结合 §7.7记录的存储与维护 SQL Server的数据行结构 §7.7记录的存储与维护 SQL Server的数据行结构 状态位A,即TagA: 位0: 版本信息,在SQL Server 2000中该位总是0。 位1到位3:作为一个3位的值对待 0表示该行是一个基本的记录; 1表示该行是一个转向记录; 2表示该行是一个转向存根; 3表示该行是一个索引记录; 4表示该行是一块碎片; 5表示该行是一个幽灵索引记录; 6表示该行是一个幽灵数据记录。 §7.7记录的存储与维护 SQL Server的数据行结构 状态位A,即TagA: 位4: 表示NULL位图的存在性; 在SQL Server 2000中,即使任何列都不允许NULL值,NULL位图也总要出现; 位4的值总为1; NULL位图能有效地解决空值、空串的问题。 位5: 表示行中是否存在变长列。 位6和位7: 在SQL Server 2000中未被使用。 §7.7记录的存储与维护 SQL Server的数据行结构 列偏移数组: 一个两字节的条目,表示变长列在行中结束的位置。 在行的定长或变长数据块内,SQL Server按照创建表时定义的列顺序来存储数据; 这个表的行的定长数据部分包括Col1的数据,后跟Col2和Col4的数据;行的变长数据部分包括Col3的数据,后跟Col5的数据。 §7.7记录的存储与维护 * 数据库系统设计与原理 第Ⅱ部分 数据存储 (第7章-第8章) 第7章 存储结构和文件结构 讲课内容: 主要介绍数据库系统的底层存储。包括存储介质、数据库文件的组织及结构、文件中记录的组织及结构。 ■物理存储介质  ■文件结构 ■磁盘      ■文件中记录的组织 ■RAID      ■数据字典的存储 ■第三级存储   ■本章总结 DBMS总体结构回顾:磁盘存储器 用户 应用界面 索引 统计数据 数据文件 数据字典 应用程序 交互查询 数据库模式 应用程序目标码 嵌入式DML预编译器 DML编译器 DDL解释器 查询计算引擎 事务管理器 缓冲区管理器 文件管理器 查询处理器 存储管理器 数据库管理系

文档评论(0)

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

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

1亿VIP精品文档

相关文档