Cobol-file-handling

提供:Dev Guides
移動先:案内検索

COBOL-ファイル処理

COBOLのファイルの概念は、C/C ++のファイルとは異なります。 COBOLで「ファイル」の基本を学習している間、両方の言語の概念は相互に関連してはなりません。 単純なテキストファイルはCOBOLでは使用できませんが、代わりに* PS(物理シーケンシャル)および *VSAM ファイルが使用されます。 PSファイルについては、このモジュールで説明します。

COBOLでのファイル処理を理解するには、基本的な用語を知っている必要があります。 これらの用語は、ファイル処理の基本を理解するためにのみ役立ちます。 さらに詳細な用語については、「ファイル処理動詞」の章で説明します。 以下は基本的な用語です-

  • フィールド
  • 記録
  • 物理記録
  • 論理レコード
  • File

次の例は、これらの用語を理解するのに役立ちます-

プログラム構造

フィールド

フィールドは、要素に関して保存されたデータを示すために使用されます。 上記の例に示すように、学生ID、名前、マーク、合計マーク、パーセンテージなどの単一の要素を表します。 フィールドの文字数はフィールドサイズと呼ばれます。たとえば、学生名には10文字を使用できます。 フィールドは次の属性を持つことができます-

  • *主キー*は、各レコードに固有のフィールドであり、特定のレコードを識別するために使用されます。 たとえば、学生のマークファイルでは、各学生は主キーを形成する一意の学生IDを持ちます。
  • *セカンダリキー*は、関連データの検索に使用される一意または非一意のフィールドです。 たとえば、学生のマークファイルでは、学生IDが不明な場合、学生のフルネームをセカンダリキーとして使用できます。
  • *記述子*フィールドは、エンティティを記述するために使用されます。 たとえば、学生のマークファイルでは、レコードに意味を追加するマークとパーセンテージフィールドは既知の記述子です。

記録

レコードは、エンティティを記述するために使用されるフィールドのコレクションです。 1つ以上のフィールドが一緒になってレコードを形成します。 たとえば、学生のマークファイル、学生ID、名前、マーク、合計マーク、およびパーセンテージが1つのレコードを形成します。 レコード内のすべてのフィールドの累積サイズは、レコードサイズと呼ばれます。 ファイルに存在するレコードは、固定長でも可変長でもかまいません。

物理記録

物理レコードは、外部デバイスに存在する情報です。 ブロックとも呼ばれます。

論理レコード

論理レコードは、プログラムで使用される情報です。 COBOLプログラムでは、どの時点でも1つのレコードのみを処理でき、論理レコードと呼ばれます。

File

ファイルは、関連するレコードのコレクションです。 たとえば、学生のマークファイルは、すべての学生のレコードで構成されます。