COBOL - 文件组织



文件组织指记录在文件中的组织方式。为了提高访问记录的效率,文件有多种不同的组织方式。以下是文件组织方案的类型:

  • 顺序文件组织
  • 索引顺序文件组织
  • 相对文件组织

本模块中提到的语法及其各自的术语仅指它们在程序中的用法。“文件处理动词”章节将讨论使用这些语法的完整程序。

顺序文件组织

顺序文件由按顺序存储和访问的记录组成。以下是顺序文件组织的关键属性:

  • 记录可以按顺序读取。要读取第 10th 条记录,必须先读取之前的 9 条记录。

  • 记录按顺序写入。不能在中间插入新记录。新记录总是插入到文件的末尾。

  • 将记录放入顺序文件后,无法删除、缩短或加长记录。

  • 记录的顺序一旦插入,就永远无法更改。

  • 可以更新记录。如果新记录长度与旧记录长度相同,则可以覆盖记录。

  • 顺序输出文件是打印的理想选择。

语法

以下是顺序文件组织的语法:

INPUT-OUTPUT SECTION.
FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name-jcl
   ORGANIZATION IS SEQUENTIAL

索引顺序文件组织

索引顺序文件由可以顺序访问的记录组成。也可以直接访问。它包括两部分:

  • 数据文件包含按顺序排列的记录。

  • 索引文件包含主键及其在数据文件中的地址。

以下是顺序文件组织的关键属性:

  • 就像在顺序文件组织中一样,记录可以按顺序读取。

  • 如果知道主键,则可以随机访问记录。使用索引文件获取记录的地址,然后从数据文件中提取记录。

  • 此文件系统中维护着已排序的索引,该索引将键值与记录在文件中的位置相关联。

  • 也可以创建备选索引来提取记录。

语法

以下是索引顺序文件组织的语法:

INPUT-OUTPUT SECTION.
FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name-jcl
   ORGANIZATION IS INDEXED
   RECORD KEY IS primary-key
   ALTERNATE RECORD KEY IS rec-key

相对文件组织

相对文件由按其相对地址排序的记录组成。以下是相对文件组织的关键属性:

  • 记录可以像在顺序文件和索引文件中一样按顺序读取。

  • 可以使用相对键访问记录。相对键表示记录相对于文件起始地址的位置。

  • 可以使用相对键插入记录。相对地址是使用相对键计算的。

  • 相对文件提供对记录的最快访问。

  • 此文件系统的主要缺点是,如果缺少一些中间记录,它们也会占用空间。

语法

以下是相对文件组织的语法:

INPUT-OUTPUT SECTION.
FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name-jcl
   ORGANIZATION IS RELATIVE
   RELATIVE KEY IS rec-key
广告