Cobol-file-handling
COBOL-ファイル処理
COBOLのファイルの概念は、C/C ++のファイルとは異なります。 COBOLで「ファイル」の基本を学習している間、両方の言語の概念は相互に関連してはなりません。 単純なテキストファイルはCOBOLでは使用できませんが、代わりに* PS(物理シーケンシャル)および *VSAM ファイルが使用されます。 PSファイルについては、このモジュールで説明します。
COBOLでのファイル処理を理解するには、基本的な用語を知っている必要があります。 これらの用語は、ファイル処理の基本を理解するためにのみ役立ちます。 さらに詳細な用語については、「ファイル処理動詞」の章で説明します。 以下は基本的な用語です-
- フィールド
- 記録
- 物理記録
- 論理レコード
- File
次の例は、これらの用語を理解するのに役立ちます-
フィールド
フィールドは、要素に関して保存されたデータを示すために使用されます。 上記の例に示すように、学生ID、名前、マーク、合計マーク、パーセンテージなどの単一の要素を表します。 フィールドの文字数はフィールドサイズと呼ばれます。たとえば、学生名には10文字を使用できます。 フィールドは次の属性を持つことができます-
- *主キー*は、各レコードに固有のフィールドであり、特定のレコードを識別するために使用されます。 たとえば、学生のマークファイルでは、各学生は主キーを形成する一意の学生IDを持ちます。
- *セカンダリキー*は、関連データの検索に使用される一意または非一意のフィールドです。 たとえば、学生のマークファイルでは、学生IDが不明な場合、学生のフルネームをセカンダリキーとして使用できます。
- *記述子*フィールドは、エンティティを記述するために使用されます。 たとえば、学生のマークファイルでは、レコードに意味を追加するマークとパーセンテージフィールドは既知の記述子です。
記録
レコードは、エンティティを記述するために使用されるフィールドのコレクションです。 1つ以上のフィールドが一緒になってレコードを形成します。 たとえば、学生のマークファイル、学生ID、名前、マーク、合計マーク、およびパーセンテージが1つのレコードを形成します。 レコード内のすべてのフィールドの累積サイズは、レコードサイズと呼ばれます。 ファイルに存在するレコードは、固定長でも可変長でもかまいません。
物理記録
物理レコードは、外部デバイスに存在する情報です。 ブロックとも呼ばれます。
論理レコード
論理レコードは、プログラムで使用される情報です。 COBOLプログラムでは、どの時点でも1つのレコードのみを処理でき、論理レコードと呼ばれます。
File
ファイルは、関連するレコードのコレクションです。 たとえば、学生のマークファイルは、すべての学生のレコードで構成されます。