COBOL - 文件组织
文件组织表示记录在文件中的组织方式。 文件有不同类型的组织方式,以提高访问记录的效率。 以下是文件组织方案的类型 −
- 顺序文件组织
- 索引顺序文件组织
- 相对文件组织
本模块中的语法及其各自的术语仅指它们在程序中的用法。 使用这些语法的完整程序将在"文件处理动词"一章中讨论。
顺序文件组织
顺序文件由按顺序存储和访问的记录组成。 以下是顺序文件组织的关键属性 −
记录可以按顺序读取。 要读取第 10 条记录,应读取之前的所有 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