文件的结构 |
文件的逻辑结构 文件的逻辑结构一般分为两类,一类为流式结构,一类为记录式结构。流式结构文件的基本构成单位是字符,文件是有逻辑意义的、无结构的一串字符的集合,是一个无结构的字节序列,如下图所示: 记录式结构文件是由若干个记录组成,每个记录有一个键,可按键进行查找。记录式文件是有结构的文件。文件是一个固定长度记录的序列,每条记录有其内部结构,记录式文件图示如下: 文件的物理结构 文件的物理结构分为三种:顺序结构,链接结构和索引结构。 链接结构指一个文件的信息存放在若干不连续的物理块中,各块之间通过指针连接,前一个物理块指向下一个物理块其优点是提高了磁盘空间利用率,不存在外部碎片问题,有利于文件插入和删除,有利于文件动态扩充。缺点是存取速度慢,不适于随机存取。其图示如下: 索引结构指一个文件的信息存放在若干不连续物理块中,系统为每个文件建立一个专用数据结构--索引表,并将这些块的块号存放在一个索引表中。其优点是保持了链接结构的优点,又解决了其缺点,即能顺序存取,又能随机存取,满足了文件动态增长、插入删除的要求,也能充分利用外存空间。缺点是索引表本身带来了系统开销。其图示如下: |
-----------------------------------------------------我是分割线----------------------------------------------------------
文件的逻辑结构是用户可见结构。逻辑文件从结构上分成二种形式:
一种是无结构的流式文件,是指对文件内信息不再划分单位,它是依次的一串字符流构成的文件。
一种是有结构的记录式文件, 是用户把文件内的信息按逻辑上独立的含义划分信息单位,每个单位称为一个逻辑记录(简称记录)。
所有记录通常都是描述一个
实体集的,有着相同或不同数目的
数据项,记录的长度可分为定长和不定长记录两类。
文件分为两大类: 有结构文件(即记录式文件),无结构文件(即流式文件)。
大量的数据结构和数据库采用有结构文件,
大量的源程序,可执行程序,库函数等采用无结构文件 其长度以字节为单位,对流式文件的访问是利用读写指针来指出下一个要访问的字符。
有结构的文件分为定长和不定长两类:
定长又分为:定长记录 变长记录两种
变长记录文件根据文件组织方式的不同又分为:
顺序文件,索引文件,索引顺序文件
文件分为两大类: 有结构文件(即记录式文件),无结构文件(即流式文件)。
大量的数据结构和数据库采用有结构文件,
大量的源程序,可执行程序,库函数等采用无结构文件 其长度以字节为单位,对流式文件的访问是利用读写指针来指出下一个要访问的字符。
有结构的文件分为定长和不定长两类:
定长又分为:定长记录 变长记录两种
变长记录文件根据文件组织方式的不同又分为:
顺序文件,索引文件,索引顺序文件
一般情况下,选取文件的逻辑结构应遵循下述原则:
(1)当用户对文件信息进行修改操作时,给定的逻辑结构应能尽量减少对已存储好的文件信息的变动。
(2)当用户需要对文件信息进行操作时,给定的逻辑结构应使文件系统在尽可能短的时间内查找到需要查找的记录或基本信息单位。
(3)应使文件信息占据最小的
存储空间。
(4)应是便于用户进行操作的。
常用的记录式结构文件有以下几种:
(1)连续结构 (2)多重结构 (3)转置结构 (4)顺序结构