一、 文件的逻辑结构
文件的逻辑结构分为无结构文件和有结构文件。有结构文件分为顺序文件、索引文件和索引顺序文件。
逻辑结构:是指用户看起来该文件是如何组织的。
物理结构:是指在操作系统看来,文件在外存中如何存放。
无结构文件:由字节流或者字符流组成,无明显的逻辑结构。如txt文本文件。
有结构文件:由记录组成,分为定长记录、可变长记录。
1.2 有结构文件
1.2.1 顺序文件
默认各记录在物理上顺序存储。
可变长的顺序文件无法实现随机存取,定长可以。
定长、顺序结构的顺序文件可以快速检索。
缺点是不方便添加删除记录。
1.2.2 索引文件
建立一张索引表,每个记录对应一个表项。各记录不用保持顺序,方便增加和删除。
优点:若索引表关键字顺序存储,可以支持快速检索。解决了顺序文件 不方便增加/删除的问题。
缺点:索引表也是文件,增加删除文件处理维护自身文件,还需要维护索引,同时占用更多的空间
1.2.3 索引顺序文件
将记录分组,每组对应一个索引表项
记录过多可以建立多级索引,类比mysql innodb引擎的B+树。
二、文件的物理结构
文件的物理结构是指文件在磁盘上的存储方式(或者分配方式)。