数据库原理与开发第4章.ppt

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
数据库原理与开发第4章

第四章 数据库的物理存储 内容提要 4.1存储设备 4.1.1 外部存储器 4.1.2 数据处理方式 4.2数据存储方式 4.2.1数据文件 4.2.2 索引 存储设备 对于计算机系统而言,主要有主存和外部存储器两种存储设备。尽管有某些数据库管理系统出于快速响应的目的,将数据库存储在主存中,但是绝大部分数据库管理系统选择将数据库存储在大容量的外部存储器上。 内容提要 4.1存储设备 4.1.1 外部存储器 4.1.2 数据处理方式 4.2数据存储方式 4.2.1数据文件 4.2.2 索引 外部存储器 现在已经存在多种形式的外部存储器,比如光存储器,闪存,硬盘等等。在众多种类的外部存储器中,使用最为广泛的外部存储器就是硬盘 外部存储器 通常,一块硬盘内部包含一个或多个固定在同一个旋转轴上的圆形磁性盘片(platter),每个盘片的一面或者两面涂有磁性材料,盘片上某点的磁场信息决定其记录数据的二进制取值(0或1)。盘片存储的磁性信息通过读/写头(read/write head)访问。读/写头能读取和改变盘片中某点的磁场信息(通过定位到此点上方,并改变其磁场方向的方式)。读/写头被放置在读/写臂的末端,而读/写臂固定在另一个旋转轴上(与盘片的不同),可由旋转轴驱动,使其既可以移向盘片的中心,也可以移向盘片的边缘。通过两个旋转动作的共同作用,读/写头可以定位于盘面上方的任意点。不过,读/写头并不能单独运动,所有的读/写头随着读/写臂部件一致地移动 外部存储器 外部存储器 硬件的数据传输以空间上连续的一些磁点组成的整体作为基本单位进行传输。对磁盘而言,这些空间上连续的磁点组成的整体即是扇区,磁道是盘片上的同心圆,每一个磁道被分为多个扇区。所有盘片上的第i个磁道组成的存储区域称为第i个柱面 内容提要 4.1存储设备 4.1.1 外部存储器 4.1.2 数据处理方式 4.2数据存储方式 4.2.1数据文件 4.2.2 索引 数据处理方式 存储在外部存储器上的数据并不被系统处理器直接访问。要访问其中存储的数据,首先必须从外部存储器上读数据到主存中的缓冲区中,然后对缓存中的数据进行操作。如果处理过程对数据进行了修改操作,那么对缓存中数据的修改结果将会写回外部存储器,并替换外部存储器中的相应数据。 数据处理方式 数据库系统为简化缓冲区的管理会在每次磁盘读写(I/O)操作中传输相同的字节数。数据库系统通常采用的传输单位是页(page)。页在磁盘上以磁盘块(简称块,block)的形式存储。 数据处理方式 从数据库的角度出发,如果假设数据表存储在数据文件之中,那么读取数据表中的某一记录R1的过程可简略表示为: 数据库系统检测文件,定位包含记录R1的页P1; 将页P1从外部存储器传输到高速缓存的一个缓冲区中; 系统确认传输完成,将R1从缓冲区中的页拷贝到应用程序的内存区域中。 数据处理方式 数据存储方式 绝大部分数据库系统都使用数据文件的方式将数据存储在存储设备中,这样可以利用操作系统已有的文件管理功能 内容提要 4.1存储设备 4.1.1 外部存储器 4.1.2 数据处理方式 4.2数据存储方式 4.2.1数据文件 4.2.2 索引 数据文件 堆文件 排序文件 散列文件 堆文件 在此种文件中,行的顺序是任意的,没有专门的规则来进行限制。所以,如果向文件添加新的数据,那么一种直接而简单的方法就是将新添加的行追加到文件的尾部。堆文件所采用的这种存储结构特别适合于处理那些对行的访问顺序不敏感的全表查询。 堆文件 堆文件 可以通过对每一个页面进行格式化存储的方法来解决不定长数据问题。每个页面中包含一定数量的头信息,头信息可以被理解为是一个指针数组,其中包含了指明页面中每一行的起始点和页面中未被使用的区域的内容。可以假设一个数据文件中一行的逻辑地址是由行的ID(rid)给出的,这个ID包含这行在该文件中的页数编号(page number)和行数编号(也称为槽数,slot number)。这样,行的实际位置就可以通过解析使用页的头信息的行数信息来确定。 堆文件 排序文件 在排序文件中,表中的各行并不以任意的顺序存储,而是按表中某些属性上的值对数据行进行排序。 与排序后的数组相似,针对排序文件,使用二分查找 (binary search) 会更有效:首先检索处在文件中间的页。如果目标值在这个页面中,则返回查找结果;否则,在这个数据文件的前半部分(或后半部分)递归地重复查找过程。 排序文件 排序文件 排序文件对于某些范围查找的效率也比堆文件高。由于数据库系统以页为单位进行连续的数据读取,因此相邻的元组被检索时,很可能其数据就处在高速缓冲中,这样就可以大大减少对存储设备的读取次数。相对而言,某一范围内的行可能处在堆文件中不同的页

文档评论(0)

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

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

版权声明书
用户编号:6111134150000003
认证主体牛**

1亿VIP精品文档

相关文档

相关课程推荐