第十二章文件.ppt

上传人:sccc 文档编号:5324730 上传时间:2023-06-26 格式:PPT 页数:33 大小:140.52KB
返回 下载 相关 举报
第十二章文件.ppt_第1页
第1页 / 共33页
第十二章文件.ppt_第2页
第2页 / 共33页
第十二章文件.ppt_第3页
第3页 / 共33页
第十二章文件.ppt_第4页
第4页 / 共33页
第十二章文件.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《第十二章文件.ppt》由会员分享,可在线阅读,更多相关《第十二章文件.ppt(33页珍藏版)》请在三一办公上搜索。

1、第十二章 文件,主要内容,文件的基本概念顺序文件索引文件索引顺序文件(ISAM文件和VSAM文件)直接存取文件(散列文件)多关键字文件,文件的基本概念,表 存储在内存中的大量记录的集合。文件 存储在外存中的大量记录的集合。不同的范畴中,文件代表不同的意义操作系统中,文件是命名的无结构的字节序列,其记录的格式依需要可以灵活划定。文件管理系统或数据库系统中,文件是命名的性质相同的逻辑记录的集合,每个记录由若干个数据项构成。文件被放置在外存上。,数据项(字段/属性)文件可使用的最小单位主关键字项 其值能唯一标识一个记录的数据项或数据项的组合;该值称为主关键字。次关键字项 其值不能唯一标识一个记录的数

2、据项,称为次关键字。单关键字文件 文件的记录只有主关键字多关键字文件 文件的记录除有主关键字,还含有若干个次关键字定长记录文件 每个记录含有信息的长度相同(所有数据项定长)不定长记录文件 文件中每个记录含有的信息长度不一定相同,文件的基本概念,文件的逻辑结构及操作,文件中记录之间的逻辑关系 一般看作是线性关系文件上的主要操作(1)检索顺序检索:存取下一个逻辑记录直接检索:存取第i个逻辑记录按关键字检索 简单询问:查询单个关键字等于给定值的记录 范围询问:查询单个关键字属于某个范围的所有记录 函数询问:规定单个关键字的某个函数,查询函数的值 布尔询问:以上三种询问用布尔运算(与、或、非)组(2)

3、修改 对记录的插入、删除,对记录某些数据项的更新等文件操作的处理方式实时批量,文件的存储结构(物理结构),物理记录(页块)和逻辑结构之间可能存在的关系一个物理记录存放一个逻辑记录一个物理记录存放多个逻辑记录多个物理记录存放一个逻辑记录文件的常用存储结构顺序组织索引组织散列组织链组织 文件操作实现的基本方法 内外存交换以物理记录为单位,内存,外存,存,取,块号,顺序文件,顺序文件的组织方式和特点组织方式 记录在物理结构中的排列顺序与逻辑顺序一致。连续文件:次序相继的两个物理记录的存储位置是相邻的串联文件:物理记录之间次序由指针相链表示特点 根据记录的序号或记录的相对位置进行存取。顺序存取时效率较

4、高。,顺序文件上的查找,查找顺序存取存储器(磁带)上的顺序文件顺序查找 为提高效率,适合于批量检索。直接存取存储器(磁盘)上的顺序文件顺序查找折半查找 适合于较小的有序定长记录文件的检索。查找很大的文件时(多个柱面),磁头频繁移动,降低时效。,由于文件的记录不易于像内存空间的数据那样“移动”,通常采用批量处理方式。,事务文件,排序,有序的事务文件,主文件,新主文件,修改请求,原始文件(有序),在一段时间内使用的记录,批量处理方式:增删改,索引文件,索引文件的组织方式 主文件+索引表(按主关键字有序)索引项的结构:关键字 物理块号索引文件只能是磁盘文件索引顺序文件:主文件中的记录按主关键字有序索

5、引非顺序文件:主文件中的记录按主关键字无序稠密索引:主要用于索引非顺序文件 主文件中的每个记录对应一个索引项稀疏索引:用于索引顺序文件 主文件的每个页块对应一个索引项,索引文件上的操作,前提:索引非顺序文件,稠密索引查找1)将外存上存放索引表的索引区页块读入内存,可采用顺序或折半查找来查找记录的物理记录号(块号)2)再将外存上存放该记录的数据区页块读入内存进行查找修改插入:将插入的记录置于数据区末尾,并在索引表中插入索引项删除:删去相应的索引项更新:若主关键字被修改,则需修改对应的索引表项,多级索引,当外存的一个页块不能容纳下索引表时,通常可以为索引表再建立一个索引,称为查找表;在此基础上还可

6、以建立第二查找表、第三查找表、例 主文件 索引表 查找表物理记录号 学号 姓名 其它 关键字 物理记录号 最大 物理 101 07 王得 15 04 103 关键字 块号 101 12 谢旺 07 101 12 15 103 04 陈明 12 101 44 16 103 44 胡建 16 22 104 104 37 刘流 37 104 104 22 郑辰 44 103,多级索引特点,为减少访问外存次数,应尽量减少索引表深度各级索引均为顺序表,结构简单;但修改不便,每次更新操作,可能都要重组索引,因此多级索引适合于静态索引当文件记录变动较多时,可采用适合于动态索引的树表结构,插入删除方便平衡二叉

7、树:内存可容纳整个索引表B-树:索引表很大时,索引顺序文件,索引顺序文件是常用的一种文件组织形式主文件按关键字有序,可以有较高的检索效率采用稀疏索引,索引占用空间较少ISAM(索引顺序存取方法)文件专为磁盘存取文件设计的文件组织方式静态索引结构,ISAM文件的组织方式,多级主索引+柱面索引+磁道(盘面)索引+主文件 主索引 柱面索引 磁道索引 主文件,R14 R21 R45 R50,磁道索引,T1 T2 T8 T9T10,柱面C1,溢出区,R84 R88 R90 R91,磁道索引,T1 T2 T8 T9T10,柱面C2,溢出区,50 T21 60 T92,R79,79 C1T1,R130,13

8、0 C2T1,450,870,60 53 T91,ISAM文件上的操作,1.查找 让主索引常驻内存1)从主索引出发,确定相应的柱面索引2)读入柱面索引,确定记录所在柱面的磁道索引地址3)读入磁道索引,确定记录所在的磁道4)在该磁道上查找 从磁道索引项的溢出索引项中得到溢出链表的头指针查找2.插入1)利用查找确定记录应插入的柱面和磁道2)该磁道不满,则插入该磁道的适当位置上,结束3)该磁道已满,视插入记录的关键字插入磁道,调整溢出链表和磁道索引直接插入溢出链表,调整磁道索引,3.删除1)查找待删除的记录2)在基本区时,在其存储位置上作删除标记 在溢出区时,可从链表中取消周期性地集中整理ISAM文

9、件,以保证空间利用率和存取效率。,ISAM文件上的操作,ISAM小结ISAM文件是一种多叉树形的索引顺序文件叶结点存放数据记录,组成文件的数据区非叶结点组成文件的索引区文件在记录插入和删除时,索引结构不变,是静态索引结构主索引和柱面索引在每次检索时都需查找,宜放在文件所占的几个柱面的居中的柱面上,使磁头平均移动距离最小。,ISAM小结,VSAM(虚拟存储存取方法)文件,此存取方法利用虚拟内存系统访问存储设备B+树(B树的变型)动态索引结构大型索引顺序文件VSAM文件的组织方式,59 97,15 44 59,72 97,10 15,20 37 44,51 59,63 72,85 91 97,57

10、10,111215,sqt,root,索引集,B+树,顺序集,数据集,控制区域(面),控制区间(道),VSAM文件上的操作:查找和插入,1.查找方法1:随机查找。方法2:顺序查找。2.插入 分为三种情况:所插入的控制区间未满 将待插记录插入合适的位置所插入的控制区间已满,但其所在的控制区域有空闲控制区间 分裂该控制区间,将近乎一半的记录移到全空的控制区间,并修改顺序集中的相应索引所插入的控制区域已满 分裂控制区域,一般控制区域较大,此情况很少,3.删除 在一个控制区间内,被删记录之后的记录前移。若该控制区间变空,回收为空闲区间,并删除顺序集中的相应索引,VSAM文件上的操作:删除,能保持较高的

11、查找效率动态地分配和释放空间不必随记录的变动对文件进行再组织,VSAM和ISAM文件相比的优点,直接存取文件(散列文件),散列文件的组织方式类似于散列表处理冲突主要采用拉链法桶:一个存储单位(一块/多块),可以存放若干个记录基桶溢出桶装载因子:=n/(bm)n:记录数 b:桶数 m:桶容量,0 063 184 1 589 008 5052 3 014 4 930 011 384,320,007 123 089,基桶,溢出桶,桶号,散列文件上的操作,查找1)由散列函数求出基桶地址2)将基桶读入内存顺序查找3)若未查到,读入溢出桶继续查找插入1)由散列函数求出基桶地址2)读入基桶,若基桶未满,直接

12、插入3)若基桶已满,但溢出桶有空,插入溢出桶 否则,指定溢出桶空间,插入删除在被删记录上作删除标记,散列文件的优缺点,优点文件记录不必排序便于插入、删除记录存取速度快节省存储空间缺点只能按关键字存取,询问方式限于简单询问多次插入、删除记录会造成文件结构不合理,需重组文件,多关键字文件,目的 方便对次关键字的查询多关键字文件的概念 包含有多个次关键字索引的文件两种主要的组织方式多重表文件倒排文件,多重表文件,组织方式 主文件(主关键字有序顺序文件,含有一个或多个次关键字链表)+主关键字非稠密索引+一个或多个次关键字索引表 例 次关键字 头指针 链长 物理记录号 学号 姓名 成绩 性别 主关键字

13、头指针 100 01 78 男 101 03 100 101 02 86 102 男 103 06 103 102 03 89 女 104 09 106 103 04 72 100 男 106 成绩 性别 104 05 65 女 105 60 104 1 男 100 4 105 06 94 女 70 103 2 女 102 3 106 07 83 101 男 80 106 3 90 105 1,多重表文件操作,1.查找根据次关键字的索引,得到次关键字表头指针若多个次关键字的布尔“与”,应选较短的链表进行查找2.插入插入主文件,调整其中的次关键字链表修改次关键字索引表3.删除在主文件删除记录,调

14、整其中的次关键字链表修改次关键字索引表优缺点易于查找;且不要求保持链表的某种顺序时,插入方便删除记录处理繁琐,倒排文件,组织方式 主文件(主关键字有序顺序文件,含有一个或多个次关键字表)+主关键字非稠密索引+一个或多个次关键字倒排表(索引表)次关键字 物理地址(或主关键字)序列 例物理记录号 学号 姓名 成绩 性别 成绩倒排表 100 01 78 男 60 104 101 02 86 男 70 100,103 102 03 89 女 80 101,102,106 103 04 72 男 90 105 104 05 65 女 性别倒排表 105 06 94 女 男 100,101,103,106

15、 106 07 83 男 女 102,104,105,1.查找 进行多关键字查询时,可在倒排表中完成查询条件的布尔运算,最后对记录进行存取。2.修改 在主文件中插入/删除/更新记录,并修改倒排表优缺点查询快,但维护困难,倒排文件操作,作业,1.设有一个 职工文件,其记录格式为(职工号、姓名、性别、职务、年龄、工资),其中职工号为关键字,并设该文件由如下五个记录组成:地址 A 39 张三 男 程序员 25 3270 B 50 王二 女 分析员 31 5685 C 10 李四 男 程序员 28 3575 D 75 丁一 女 操作员 20 1650 E 18 赵五 男 分析员 33 62801)若该

16、文件为顺序文件,写出文件的存储结构;2)若该文件为索引文件,写出索引表;3)若该文件为倒排文件,写出关于性别和职业的倒排索引。,2.下图给出了ISAM文件的局部表示,其中记录用关键字代表。画出插入57、119再删除91的状态。T1 62 T2,1 64 T5,1 83 T3,1 135 T4,1 T2 33 35 36 48 5 1 62 T3 65 70 71 72 79 83 T4 91 102 110 111 120 135 T5 64 T6,道索引,基本区,溢出区,3.假设物理块(桶)大小为100,若要求对含有30000个记录的直接存取文件进行一次按关键字查询时,读外存次数的平均值不超过2,则该散列文件应设多少个散列项?,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号