更新时间:2024-05-21 13:12
文件的逻辑结构是用户可见结构。逻辑文件从结构上分成二种形式:一种是无结构的流式文件,是指对文件内信息不再划分单位,它是依次的一串字符流构成的文件。一种是有结构的记录式文件, 是用户把文件内的信息按逻辑上独立的含义划分信息单位,每个单位称为一个逻辑记录(简称记录)。
文件的逻辑结构是用户可见结构。逻辑文件从结构上分成二种形式:
一种是无结构的流式文件,是指对文件内信息不再划分单位,它是依次的一串字符流构成的文件。
一种是有结构的记录式文件, 是用户把文件内的信息按逻辑上独立的含义划分信息单位,每个单位称为一个逻辑记录(简称记录)。
所有记录通常都是描述一个实体集的,有着相同或不同数目的数据项,记录的长度可分为定长和不定长记录两类。
在文件系统设计时,选择何种逻辑结构才能更有利于用户对文件信息的操作呢?
一般情况下,选取文件的逻辑结构应遵循下述原则:
(1)当用户对文件信息进行修改操作时,给定的逻辑结构应能尽量减少对已存储好的文件信息的变动。
(2)当用户需要对文件信息进行操作时,给定的逻辑结构应使文件系统在尽可能短的时间内查找到需要查找的记录或基本信息单位。
(3)应使文件信息占据最小的存储空间。
(4)应是便于用户进行操作的。
显然,对于字符流的无结构文件来说,查找文件中的基本信息单位,例如某个单词,是比较困难的。但反过来,字符流的无结构文件管理简单,用户可以方便地对其进行操作。所以,那些对基本信息单位操作不多的文件较适于采用字符流的无结构方式,例如,源程序文件、目标代码文件等。除了字符流的无结构方式外,记录式的有结构文件可把文件中的记录按各种不同的方式排列,构成不同的逻辑结构,以便用户对文件中的记录进行修改、追加、查找和管理等操作 。
记录是一个具有特定意义的信息单位,它由该记录在文件中的逻辑地址(相对位置)与记录名所对应的一组键、属性及其属性值所组成。
图1所示是一个记录的组成例。图1中,1296是名为R的记录在文件中的逻辑地址,‘姓名:A’是该记录的键,而‘性别’,‘出生年月’,‘工资’等是该记录的属性,紧跟在这些后面的是属性值。一个记录可以有多个键名,每个键名可对应于多项属性。再者,根据各系统设计的要求不一样,记录既可以是定长的,也可以是变长的。记录的长度可以短到一个字符,也可以长到一个文件,这要由系统设计人员确定。
(1)连续结构 (2)多重结构 (3)转置结构 (4)顺序结构