无结构文件(流式文件)

无结构文件即一系列二进制流和字符流组成,又称为流式文件。如windows的txt文件

有结构文件(记录式文件)

  1. 顺序文件
    1.串结构:记录顺序与关键字无关
    2.顺序结构:记录按关键字顺序排列
    3.可变长记录的顺序文件无法实现随机存取,定长记录可以
    4.最大缺点:不方便增加和删除记录

顺序文件分为顺序存储和链式存储,哪些是可以随机存取?

链式存储是不能实现随机存取的。顺序存储,如果是可变长记录,无法实现随机存取。

如果是定长记录,可实现随机存取,若采用串结构,无法快速找到某关键字对应的记录。

若采用顺序结果,可以快速找到某关键字对应的记录。

  1. 索引文件
    正是由于顺序文件的查找,修改,增加的困难,所以引出了索引文件。

1.建立一张索引表,每个记录对应一个表项。各记录不用保持顺序,方便增加/删除记录。
2.索引表的结构:索引表本身就是定长记录的顺序文件,一个索引表项就是一条定长记录,因此索引文件可支持随机存取
3.若索引表按关键字顺序排列,则可支持快速检索
4.最大缺点:解决了顺序文件不方便增/删记录的问题,同时让不定长记录的文件实现了随机存取,但索引表可能占用很多空间

题目:有一个顺序文件含有10000个记录,平均查找的记录数为5000个,采用索引顺序文件结构,则最好情况下平均只需查找()次记录。
解析:索引顺序文件,最好带情况是 组,每组有 个记录。所以第一次查找索引表是平均次数为50次,第二次查找顺序表平均50为次。故总共次数为100次。

文件目录

  • 一个文件对应一个FCB,一个FCB就是一个目录项,多个目录项构成一个目录文件
    FCB: 为方便对文件的管理,每个文件都设置一个FCB,文件控制块一般包含文件名,文件类型,文件的物理地址,文件的起始块号,文件的存储限制,文件创建时间等等

目录结构

  • 单级目录:一个系统只有一张目录表,不允许文件重名
  • 两级目录:不同用户的文件可以重名。但不能对于文件分类
  • 多级(树形)目录:不同目录可以重名,从根目录出发式绝对路径。从当前目录出发式相对路径