Учебники

COBOL — Режим доступа к файлам

До сих пор обсуждались схемы организации файлов. Для каждой схемы организации файлов могут использоваться разные режимы доступа. Ниже приведены типы режимов доступа к файлам.

  • Последовательный доступ
  • Произвольный доступ
  • Динамический доступ

Синтаксисы в этом модуле, упомянутые вместе с соответствующими терминами, относятся только к их использованию в программе. Полные программы, использующие эти синтаксисы, будут обсуждаться в следующей главе.

Последовательный доступ

Когда режим доступа является последовательным, метод поиска записи изменяется в соответствии с выбранной файловой организацией.

  • Для последовательных файлов доступ к записям осуществляется в том же порядке, в котором они были вставлены.

  • Для индексированных файлов параметром, используемым для выборки записей, являются значения ключа записи.

  • Для относительных файлов относительные ключи записи используются для извлечения записей.

Для последовательных файлов доступ к записям осуществляется в том же порядке, в котором они были вставлены.

Для индексированных файлов параметром, используемым для выборки записей, являются значения ключа записи.

Для относительных файлов относительные ключи записи используются для извлечения записей.

Синтаксис

Ниже приводится синтаксис режима последовательного доступа:

ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name
   ORGANIZATION IS SEQUENTIAL
   ACCESS MODE IS SEQUENTIAL
	
	
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
   FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name
   ORGANIZATION IS INDEXED
   ACCESS MODE IS SEQUENTIAL
   RECORD KEY IS rec-key1
   ALTERNATE RECORD KEY IS rec-key2

		
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
   FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name
   ORGANIZATION IS RELATIVE
   ACCESS MODE IS SEQUENTIAL
   RELATIVE KEY IS rec-key1

Произвольный доступ

Когда режим доступа — СЛУЧАЙНЫЙ, метод поиска записи изменяется согласно выбранной файловой организации.

  • Для индексированных файлов доступ к записям осуществляется в соответствии со значением, помещенным в поле ключа, которое может быть первичным или альтернативным ключом. Может быть один или несколько альтернативных индексов.

  • Для относительных файлов записи извлекаются через относительные ключи записи.

Для индексированных файлов доступ к записям осуществляется в соответствии со значением, помещенным в поле ключа, которое может быть первичным или альтернативным ключом. Может быть один или несколько альтернативных индексов.

Для относительных файлов записи извлекаются через относительные ключи записи.

Синтаксис

Ниже приводится синтаксис режима произвольного доступа —

ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
   FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name
   ORGANIZATION IS INDEXED
   ACCESS MODE IS RANDOM
   RECORD KEY IS rec-key1
   ALTERNATE RECORD KEY IS rec-key2

		
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
   FILE-CONTROL.
   SELECT file-name ASSIGN TO dd-name
   ORGANIZATION IS RELATIVE
   ACCESS MODE IS RANDOM
   RELATIVE KEY IS rec-key1

Динамический доступ

Динамический доступ поддерживает как последовательный, так и произвольный доступ в одной программе. При динамическом доступе одно определение файла используется как для последовательной, так и для случайной обработки, например, для доступа к некоторым записям в последовательном порядке и другим записям по их ключам.

Для относительных и индексированных файлов режим динамического доступа позволяет переключаться между режимом последовательного доступа и режимом произвольного доступа при чтении файла с помощью фразы NEXT в операторе READ. Функции NEXT и READ будут обсуждаться в следующей главе.

Синтаксис

Ниже приводится синтаксис режима динамического доступа —