COBOL - 文件组织

文件组织指示如何在文件中组织记录.文件有不同类型的组织,以提高其访问记录的效率.以下是文件组织方案的类型 :

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

此模块中的语法及其各自的术语仅提及他们在程序中的用法.使用这些语法的完整程序将在"文件处理动词"一章中讨论.

顺序文件组织

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

  • 可以按顺序读取记录.要读取10 th 记录,应读取所有之前的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