文件概述
文件是大量性质相同的记录的集合。按照记录的类型可分为操作系统文件和数据库文件,在数据结构中要学习的文件是数据库意义上的文件。所谓的数据库文件是带有结构的记录的集合。记录可由若干个数据项构成。记录是文件中可存取的基本单位。例如,现在有一份学生信息统计表文件,如表1所示。
表1 学生文件
姓名 | 学号 | 年龄 | 身高 | 籍贯 |
---|---|---|---|---|
陈一 | 01001 | 20 | 160 | 河北 |
李耳 | 01002 | 19 | 158 | 广东 |
王珊 | 01003 | 21 | 177 | 江西 |
韩寺 | 01004 | 22 | 163 | 湖南 |
钱舞 | 01005 | 20 | 170 | 四川 |
孙留 | 01006 | 18 | 165 | 浙江 |
王七 | 01007 | 20 | 160 | 辽宁 |
胡巴 | 01008 | 21 | 155 | 甘肃 |
燕九 | 01009 | 19 | 172 | 青海 |
赵石 | 01010 | 20 | 178 | 江苏 |
在表1的文件中,每一条记录是由5个数据项组成,包含着一个学生的相关信息,这一组学生相关信息就是这个文件的最基本单位。
在一份文件中,若每一条记录中含有的信息长度都相等,则称这样的记录为定长记录,相应的文件记录所称为定长记录文件;若文件中含有信息长度不等,则文件称为不定长记录文件。
除此之外,文件还可以按照记录中关键字的数量分为单关键字文件和多关键字文件。若文件中的记录只有一个标识记录的主关键字,则称之为单关键字文件;若文件中的记录除了含有一个主关键字外,还含有若干个次关键字,则称之为多关键字文件。
和其他数据结构一样,文件也包含逻辑结构、存储结构和相关操作。接下来我们就来学习一下文件的结构和操作。
1、文件的逻辑结构
文件的逻辑结构指一个文件在用户面前所呈现的结构,分为两种形式:一种是无结构的流式文件,文件内的信息不再划分单位,它是依次的遗传字符流构成的文件;一种是有结构的记录式文件,用户把文件内的信息按逻辑上独立的含义划分信息单位,每个单位称为一个逻辑记录(简称记录)。
2、文件的存储结构
文件的存储结构是指文件在外存上的组织形式,是文件的物理表示和组织。基本组织方式有四种:顺序组织、索引组织、哈希组织和链组织。文件的各种组织方式往往是这四种方式的结合。
文件的存储结构是非常重要的,而文件的组织方式又有很多,选择哪一种组织方式,取决于对文件记录的使用方式和频繁程序、存取要求、外存的性质和容量。
3、文件的操作
文件上的操作主要有两类:检索和维护。
文件的检索就是在文件中查找满足给定条件的记录。文件检索主要有三种方式:顺序检索、直接检索、按关键字检索。
顺序检索:按照文件的逻辑结构依次检索文件中的记录。
直接检索:存取第i个逻辑记录。
按关键字检索:给定一个值,查询一个或一批关键字与给定值相关的记录。
文件维护主要是指对文件进行记录的插入、删除及修改等更新操作。此外,为提高文件的效率,还要进行再组织操作、文件被破坏后的恢复操作以及文件中数据的安全保护等。