11外部排序讲解.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 文件与外部排序;11.1 文件的基本概念; 文件存储在外存上,通常是以块(I/O读写的基本单位,称为物理记录)存取。 物理记录和逻辑记录之间的关系是: ① 一个物理记录存放一个逻辑记录; ② 一个物理记录包含多个逻辑记录; ③ 多个物理记录存放一个逻辑记录。 ⑶ 文件(File):大量性质相同的数据记录的集合。文件的所有记录是按某种排列顺序呈现在用户面前,这种排列顺序可以是按记录的关键字,也可以是按记录进入文件的先后等。则记录之间形成一种线性结构(逻辑上的),称为文件的逻辑结构;文件在外存上的组织方式称为文件的物理结构。基本的物理结构有:顺序结构,链接结构,索引结构 。;⑷ 文件的分类 ⑴ 按记录类型,可分为操作系统文件和数据库文件: ① 操作系统文件(流式文件) : 连续的字符序列(串)的集合; ② 数据库文件: 有特定结构(所有记录的结构都相同)的数据记录的集合。 ⑵ 按记录长度,可分为定长记录文件和不定长记录文件: ① 定长记录文件:文件中每个记录都有固定的数据项组成,每个数据项的长度都是固定的; ② 不定长记录文件:与定长记录文件相反。;2 文件的有关操作 文件是由大量记录组成的线性表,因此,对文件的操作主要是针对记录的,通常有:记录的检索、插入、删除、修改和排序,其中检索是最基本的操作。 ⑴ 检索记录 根据用户的要求从文件中查找相应的记录。 ① 查找下一个记录:找当前记录的下一个逻辑记录; ② 查找第k个记录:给出记录的逻辑序号,根据该序号查找相应的记录; ③ 按关键字查找:给出指定的关键字值,查找关键字值相同或满足条件的记录。对数据库文件,有以下四种按关键字查找的方式:;◆ 简单匹配:查找关键字的值与给定的值相等的记录; ◆ 区域匹配:查找关键字的值在某个区域范围内的记录; ◆ 函数匹配:给出关键字的某个函数,查找符合条件的记录; ◆ 组合条件匹配:给出用布尔表达式表示的多个条件组合,查找符合条件的记录。 ⑵ 插入记录 将给定的记录插入到文件的指定位置。插入是首先要确定插入点的位置(检索记录),然后才能插入。;⑶ 删除记录 从文件中删除给定的记录。记录的删除有两种情况: ① 在文件中删除第k个记录; ② 在文件中删除符合条件的记录。 ⑷ 修改记录 对符合条件的记录,更改某些属性值。修改时首先要检索到所要修改的记录,然后才能修改。 ⑸ 记录排序 根据指定的关键字,对文件中的记录按关键字值的大小以非递减或非递增的方式重新排列(或存储)。;11.2 文件的组织方式;11.2.2 索引文件;图11-1 索引结构的基本形式 ; 对于稠密索引,可以根据索引项直接查找到记录的位置。若在索引表中采用顺序查找,查找时间复杂度为O(n) ;若采用折半查找,查找时间复杂度为O(㏒2n) 。 对于稠密索引,索引项数目与数据表中记录数相同,当索引表很大时,检索记录需多次访问外存。 对于非稠密索引,查找的基本思想是: 首先根据索引找到记录所在块,再将该块读入到内存,然后再在块内顺序查找。 平均查找长度由两部分组成:块地址的平均查找长度Lb,块内记录的平均查找长度Lw,即ASLbs=Lb+Lw 若将长度为n的文件分为b块,每块内有s个记录,则b=n/s 。设每块的查找概率为1/b,块内每个的记录查找概率为1/b,则采用顺序查找方法时有:;ASLbs=Lb+Lw=(b+1)/2+(s+1)/2=(n/s+s)+1 显然,当s=n1/2时,ASLbs的值达到最小; 若在索引表中采用折半查找方法时有: ASLbs=Lb+Lw= ㏒2(n/s+1)+s/2 如果文件中记录数很庞大,对非稠密索引而言,索引也很大,可以将索引表再分块,建立索引的索引,形成树形结构的多级索引,如后面将要介绍的ISAM文件和VSAM文件。;11.2.3 ISAM文件; 在每个柱面上,还开辟了一个溢出区,存放从该柱面的磁道上溢出的记录。同一磁道上溢出的记录通常由指针相链接。 ISAM文件为每个磁道建立一个索引项,相同柱面的磁道索引项组成一个索引表,称为磁道索引,由基本索引项和溢出索引项组成,其结构是:;◆ 溢出索引项:是为插入记录设置的。关键字域存放该磁道上溢出的记录的最大关键字;指针域存放溢出记录链表的头指针。 在磁道索引的基础上,又为文件所占用的柱面建立一个柱面索引,其结构是:;磁道索引;1 ISAM文件的检索 根据关键字查找时,首先从主索引中查找记录所在的柱面索引块

文档评论(0)

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

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

1亿VIP精品文档

相关文档