数据库存储结构范例.ppt

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 数据库存储结构 存储介质的分类 几种有代表性的存储介质:高速缓冲存储器(cache)、主存储器(main memory)、快闪存储器(flash memory)、磁盘存储器(magnetic-disk storage)、光存储器(optical storage)和磁带存储器(tape storage)等。 计算机的三级存储体系 :根据不同存储介质的速度和成本,可以把它们按层次结构组织起来,层次越高,每单位存储容量价格越贵,但速度越快。如图7-1所示。 存储易失性问题 :易失性存储在设备断电后将丢失所有内容。一级存储为易失性存储,而二、三级存储系统都是非易失性存储。 磁盘的主要性能指标 访问时间(access time)是从发出读写请求到数据开始传输之间的时间。 为了访问(即读或写)磁盘上指定扇区的数据,磁盘臂首先需要移动以定位到正确的磁道,所需时间称为寻道时间(seek time); 然后等待磁盘旋转直到指定的扇区出现在它下方,所需的时间称为旋转等待时间(rotational latency time) 。 访问时间=寻道时间+旋转等待时间。 数据传输率(data-tranfer rate)是从磁盘获得数据或者向磁盘存储数据的速率。 磁盘的平均故障时间(mean time to failure, MTTF)是指磁盘无故障连续运行时间的平均值。 磁盘块(block)是一个逻辑单元,它是包含固定数目的连续扇区。数据在磁盘和主存储器之间以块为单位传输。 存储访问 缓冲区(buffers)是主存储器中用于存储磁盘块的副本的区域。缓冲区中的每个块总有一个副本存放在磁盘上,但是在磁盘上的副本可能比在缓冲区中的副本旧。 负责缓冲区空间分配和管理的子系统称为缓冲区管理器。 数据库系统通过缓冲区实现对磁盘上数据的存储访问。 在数据库管理系统中,数据的存取过程如图7-2所示。 具体步骤如下: (1) 应用程序通过DML向DBMS发出存取请求,如Select语句; (2) 对命令进行语法检查,正确后检查语义和用户权限(通过数据字典DD),并决定是否接收; (3) 执行查询优化,将命令转换成一串单记录的存取操作序列; (4) 执行存取操作序列——反复执行以下各步,直到结束: 定长记录与变长记录 文件在逻辑上可看作记录的序列,这些记录被映射到磁盘的物理块上。 用文件表示逻辑数据模型的不同方式:定长记录和变长记录 所谓定长记录指文件中所有记录均具有同样的字节长度,如图7-3所示: 这种简单的方法明显地有两个问题: 删除一条记录比较困难。要么填充被删空间,要么标记被删记录; 除非块的大小恰好是记录大小的倍数,否则有的记录会跨块存储。对于跨块存储的记录的访问需要涉及两次磁盘I/O操作。 一般对被删除结点做标记,且使用空闲记录链表来管理记录的插入和删除,如图7-4所示: 变长记录指文件中的记录具有不同的存储字节数。 在数据库系统中,以下几种情况会导致使用变长记录: 多种记录类型(即多个关系表)在一个文件中存储; 允许记录类型中包含一个或多个变长字段; 允许记录类型中包含重复字段,如数组等。 有多种变长记录的存储管理技术,这里仅介绍分槽页结构(slottedstructure)。分槽页结构一般用于在块中组织记录,如图7-5所示。 每个块的开始处有一个块头,块头中包含的信息有: 块头中已存储的条目(entry)个数#E(number of entries); 块中空闲空间的末尾地址EFS(end of free space); 条目数组,每个条目中存储了该条目所对应变长记录的大小ES(entry size)和地址EP (entry pointer)。 文件组织 文件中组织记录的常用方法有:堆文件组织、顺序文件组织、多表聚集文件组织、B+树文件组织和散列(hashing)文件组织等。本节对前3种进行介绍。 堆文件组织 :一条记录可以放在文件中的任何地方,只要那个地方有空间存放该记录。也就是说,文件中的记录是没有顺序的,是堆积起来的。通常每个关系使用一个单独的文件。 顺序文件组织:顺序文件是为了高效地按某个搜索码的顺序排序处理记录而设计的。为了快速地按搜索码的顺序获取记录,通常通过指针把记录逻辑上有序地链接起来。每个记录的指针指向搜索码顺序的下一条记录。同时,为了减少顺序文件处理中磁盘块的访问数量,在物理上按搜索码顺序或者尽可能地接近搜索码顺序存储记录。如图7-6所示: 顺序文件中插入操作的处理: 在文件中定位按搜索码顺序处于插入记录之前的那条记录(记为记录A)。 如果记录A所在块中有空记录(可能删除后留下来的空间),就在这里插入新的记录;否则将新记录插入在一个溢出块中。 不管哪种情况,都要调整指针,使其能按搜索码顺序把记录链接

文档评论(0)

1112111 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档