COBOL - 文件组织

  • 简述

    文件组织表示记录在文件中的组织方式。有不同类型的文件组织,以提高他们访问记录的效率。以下是文件组织方案的类型 -
    • 顺序文件组织
    • 索引顺序文件组织
    • 相对文件组织
    本模块中的语法及其各自的术语仅指它们在程序中的用法。使用这些语法的完整程序将在“文件处理动词”一章中讨论。
  • 顺序文件组织

    顺序文件由按顺序存储和访问的记录组成。以下是顺序文件组织的关键属性 -
    • 可以按顺序读取记录。要读取第 10记录,应读取之前的所有 9 条记录。
    • 记录按顺序写入。不能在其间插入新记录。新记录总是插入到文件的末尾。
    • 将记录放入顺序文件后,无法删除、缩短或延长记录。
    • 记录的顺序一旦插入,就永远无法更改。
    • 记录的更新是可能的。如果新记录长度与旧记录长度相同,则可以覆盖记录。
    • 顺序输出文件是打印的好选择。

    句法

    以下是顺序文件组织的语法 -
    
    INPUT-OUTPUT SECTION.
    FILE-CONTROL.
       SELECT file-name ASSIGN TO dd-name-jcl
       ORGANIZATION IS SEQUENTIAL
    
  • 索引顺序文件组织

    索引顺序文件由可以顺序访问的记录组成。也可以直接访问。它由两部分组成 -
    • Data File包含顺序方案中的记录。
    • Index File包含主键及其在数据文件中的地址。
    以下是顺序文件组织的关键属性 -
    • 记录可以按顺序读取,就像在顺序文件组织中一样。
    • 如果主键已知,则可以随机访问记录。索引文件用于获取记录的地址,然后从数据文件中获取记录。
    • 在这个文件系统中维护了排序索引,它将键值与文件中记录的位置相关联。
    • 也可以创建备用索引来获取记录。

    句法

    以下是索引顺序文件组织的语法 -
    
    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
    
  • 相对文件组织

    相对文件由按其排序的记录组成relative address. 以下是相关文件组织的关键属性 -
    • 记录可以按顺序读取,就像在顺序和索引文件组织中一样。
    • 可以使用相对键访问记录。相对键表示记录相对于文件开始地址的位置。
    • 可以使用相对键插入记录。相对地址是使用相对键计算的。
    • 相对文件提供对记录的最快访问。
    • 这种文件系统的主要缺点是,如果缺少一些中间记录,它们也会占用空间。

    句法

    以下是相对文件组织的语法 -
    
    INPUT-OUTPUT SECTION.
    FILE-CONTROL.
       SELECT file-name ASSIGN TO dd-name-jcl
       ORGANIZATION IS RELATIVE
       RELATIVE KEY IS rec-key