数据结构——(12)文件

一、文件概念

1、表

集合为表,文件在外存集合为表;在主存储器上的记录集合为表

2、文件

在二级存储器上的纪录集合为文件

二、文件及类别

1、操作系统的文件及数据库文件

(1)、操作系统的文件

操作系统中的文件是由一堆连续的字符序列,无结构、无解释,他也是记录的集合,这个记录是一个字符组

(2)、数据库文件

数据库中的文件是带有结构的记录的集合,这类记录是由一个或多个数据项组成的集合,它也是文件中可存取的数据的基本单位

2、定长记录文件及不定长记录文件

(1)、定长记录文件

若文件中每个记录含有的信息长度相同,则称这类记录为定长记录,由这类记录组成的文件称做定长记录

(2)、不定长记录文件

若文件中含有信息长度不等的不定长记录,则称不定长记录文件

3、单关键字文件及多关键字文件

(1)、单关键字文件

若文件中的记录只有一个惟一标识记录的主关键字,则称单关键字文件

(2)、多关键字文件

若文件中的记录除了含有一个主关键字外,还含有若干个次关键字,则称为多关键字文件

记录中所有非关键字的数据项称为记录的属性

三、逻辑结构及物理结构

1、逻辑结构

记录的逻辑结构是指记录在用户或应用程序员面前呈现的方式,是用户对数据的表示和存取方式,通常记录的逻辑结构着眼在用户使用方便

2、物理结构

记录的物理结构是数据在物理存储器上存储的方式,是数据的物理表示和组织。而记录的物理结构则应考虑提高存储空间的利用率和减少存取记录的时间,它根据不同的需要及设备本身的特性可以有多种方式

3、文件的组织方式

文件在存储介质(磁盘或磁带)上的组织方式称为文件的物理结构,文件可以有各种各样的组织方式,其基本方式有3种:顺序组织、随机组织、链组织

4、物理记录和逻辑记录之间存在的三种关系

  1. 一个物理记录存放一个逻辑记录

  2. 一个物理记录包含多个逻辑记录

  3. 多个物理记录表示一个逻辑记录

四、文件的操作

文件的操作有两类:检索和修改

1、文件的检索

(1)、顺序存取

存取下一个逻辑记录

(2)、直接存取

根据记录序号或记录的相对位置进行存取

(3)、按关键字存取

给定一个值,查询一个或一批关键字与给定值相关的记录

2、数据库文件的四种查询方式

(1)、简单询问

查询关键字等于给定值的记录

(2)、区域询问

查询关键字属某个区域内的记录

(3)、函数询问

给定关键字的某个函数

(4)、布尔询问

以上3种询问用布尔运算组合起来的询问

3、文件的修改

文件的修改包括插入一个记录、删除-一个记录和更新-个记录 3种操作

文件的操作可以有实时和批量两种不同方式

五、顺序文件

1、定义

顺序文件(SequentialFile)是记录按其在文件中的逻辑顺序依次进入存储介质而建立的,即顺序文件中物理记录的顺序和逻辑记录的顺序是一致的

2、连续文件和串联文件

次序相继的两个物理记录在存储介质上的存储位置是相邻的,则为连续文件;若物理记录之间的次序由指针相链表示,则为串联文件

3、顺序文件的特点

  1. 存取第i个记录,必须搜索在它之前的i+1个记录

  2. 插入新的记录时只能加载文件末尾

  3. 若要更新文件中的某个记录,则必须将整个文件进行复制

六、索引文件

1、定义

除了文件本身(称做数据区)之外,另建立一张指示逻辑记录和物理记录之间一一对应关系的表——索引表,这类包括文件数据区和索引表两大部分的文件称做索引文件

索引方式为直接存取或按关键字(进行简单询问)存取,且只能是磁盘文件。检索过程是:首先查找索引表,若索引表上存在该条记录,则根据索引项的指示读外存上该记录;否则说明外存上不存在该记录,也就不需要访问外存。

索引文件的修改也容易进行,删除一个记录时,仅需要删去相应的索引项;插入一个记录时,应将记录置于数据区的末尾,通过实在索引表中插入索引项;更新记录时,应将更新后的记录置于数据区的末尾,同时修改索引表中相应的索引项。

2、索引顺序文件和索引非顺序文件

若数据区中的记录也按关键字顺序排列,则称索引顺序文件;反之,若数据区中记录不按关键字顺序排列,则称索引非顺序文件

3、特点

索引表是由系统程序自动生成的,在记录输人建立数据区的同时建立一个索引表,表中的索引项按记录输人的先后次序排列待全部记录输入完毕后再对索引表进行排序

4、检索

(1)、检索方式

索引文件的检索方式为直接存取或按关键字(进行简单询问)存取

(2)、索引文件的修改更新

索引文件的修改也容易进行,删除一个记录时,仅需删去相应的索引项;插人一个记录时,应将记录置于数据区的末尾

同时在索引表中插人索引项;更新记录时,应将更新后的记录置于数据区的末尾,同时修改索引表中相应的索引项

七、ISAM文件和VSAM文件

1、ISAM文件

索引顺序存取方法ISAM为Indexed Sequential Access Methed的缩写,它是一种专为磁盘存取设计的文件组织方式

2、VSAM文件

虚拟存储存取方法VSAM是Virtual Storage Access Method的缩写,这种存取方法利用了操作系统的虚拟存储器的功能,给用户提供方便。对用户来说,文件只有控制区间和控制区城等逻辑存储单位,与外存储器中柱面、磁道等具体存储单位没有必然的联系;用户在存取文件中的记录时,不需要考虑这个记录的当前位置是否在内存,也不需要考虑何时执行对外存进行“读/写”的指令。

おすすめ

転載: blog.csdn.net/qq_41819893/article/details/121324513