文件概念
-
文件(File)是性质相同的记录的集合。
-
记录是文件中存取的基本单位,数据项是文件可使用的最小单位。
-
能惟一标识一个记录的数据项或数据项的组合称为主关键字(项)
-
文件结构分类:
文件的 逻辑结构 主要有: (1)连续结构 (2)多重结构 (3)转置结构 (4)顺序结构 文件的 物理存储 主要有: (1)顺序结构 (2)链接结构 (3)索引结构 文件的 目录结构 主要有: (1)一级目录结构 (2)二级目录结构 (3)树形结构 (4)无环图
顺序文件
顺序文件 是指:按记录进入文件的先后顺序存放、其逻辑顺序和物理顺序一致的文件。(记录通常是定长记录)
注意
- 顺序文件组织是唯一可以很容易地存储在磁盘和磁带上的文件组织
分类
(1) 顺序有序文件
记录按其主关键字有序的顺序文件为顺序有序文件。
(2) 顺序无序文件
记录未按其主关键字有序排列的顺序文件为顺序有序文件。
查找方法
1. 顺序存取存储器(磁带)上文件存取的查找方法
(1)顺序查找法: 即顺序扫描文件,按记录的主关键字逐个查找。要检索第i个记录,必须检索前i-1个记录。
注意:
① 这种查找法对于少量的检索是不经济的,但适合于批量检索。
② 顺序存取存储器(磁带)上的文件只能用顺序查找法存取
2.直接存取存储(磁盘)上文件存取的查找方法
(1) 顺序查找法:(同上)
(2) 分块查找法:
文件按主关键字的递增序,每100个记录为一块,各块的最后一个记录的主关键字为Kl00,K200,…,K100i,…:
查找时,将所要查找的记录的主关键字K,依次和各块的最后一个记录的主关键字比较,当K大于K100(i-1)且小于或等于K100i时,则在第i块内进行扫描。(==>分块查找法在查找时 不必扫描整个文件中的记录)
(3) 二分查找法:
① 二分查找法只适合对较小的文件或一个文件的索引进行查找。
② 当文件很大,在磁盘上占有多个柱面时,二分查找将引起磁头来回移动,增加寻查时间。
优缺点
顺序文件具有连续存取特点。当文件中第i个记录刚被存取过,而下一个要存取的是第i+1个记录,则这种存取将会很快完成。
注意
① 对存放在单一存储设备(如磁带)上的顺序文件连续存取速度快
② 顺序文件多用于磁带(顺序存取存储器)
③顺序文件通常用于批处理应用中
索引文件
组成:索引文件由主文件和索引表构成。
①主文件:文件本身。
②索引表:在文件本身外建立的一张表,它指明逻辑记录和物理记录之间的一一对应关系。
注意:通常将索引非顺序文件简称为 索引文件。
索引表组成
索引表: 由若干索引项组成。一般索引项由主关键字和该关键字所在记录的物理地址组成
注意:
索引表必须按主关键字有序,而主文件本身则可以按主关键字无序。
稠密索引: 在索引非顺序文件中,必须为每个记录建立一个索引项,这样建立的索引表称为稠密索引。
优缺点
① 索引非顺序文件主文件无序,顺序存取将会频繁地引起磁头移动,适合于随机存取,不适合于顺序存取。
② 索引非顺序文件的索引是稠密索引。索引占用空间大。
索引文件的存储
建立索引文件的过程:
(1) 按输入记录的先后次序建立数据区和索引表。其中索引表中关键字是无序的
(2) 待全部记录输入完毕后对索引表进行排序,排序后的索引表和主文件一起就形成了索引文件。
索引顺序文件
索引顺序文件: 主文件按 主关键字 有序的 文件称索引顺序文件。
稀疏索引:索引顺序文件的索引是稀疏索引(在索引顺序文件中,可对一组记录建立一个索引项。)
优缺点
① 索引顺序文件的主文件是有序的,适合于随机存取、顺序存取。
② 索引顺序文件的索引是稀疏索引 。索引占用空间较少,是最常用的一种文件组织。
③ 最常用的索引顺序文件:ISAM文件和VSAM文件。
散列文件
列文件是利用散列存储方式组织的文件,亦称直接存取文件。即根据文件中关键字的特点,设计一个散列函数和处理冲突的方法,将记录散列到存储设备上。
优缺点
1. 散列文件的优点
(1) 文件随机存放,记录不需进行排序。
(2) 插入、删除方便。
(3) 存取速度快;不需要索引区,节省存储空间。
2. 散列文件的缺点
(1) 不能进行顺序存取,只能按关键字随机存取
(2) 询问方式限于简单询问
(3) 在经过多次插入、删除后,可能造成文件结构不合理,需要重新组织文件。