データ階層において、フィールド(データフィールド)はレコード内の変数です。[ 1 ]データ構造とも呼ばれるレコードは、論理的に関連するデータを単一の名前で識別することを可能にします。関連するデータを単一のグループとして識別することは、理解しやすいコンピュータプログラムの構築において中心的な役割を果たします。[ 2 ]レコード内の個々のフィールドは、コンピュータプログラム内の他の変数と同様に、名前でアクセスできます。[ 3 ]
レコード内の各フィールドには 2 つのコンポーネントがあります。 1 つのコンポーネントはフィールドのデータ型宣言です。 もう 1 つのコンポーネントはフィールドの識別子です。[ 4 ]
フィールドはランダムアクセスメモリ(RAM)に格納できます。次のPascalレコード定義には、firstName、lastName、ageという3つのフィールド識別子があります。2つの名前フィールドのデータ型は文字配列です。年齢フィールドのデータ型は整数です。
type PersonRecord = record lastName : array [ 1 .. 20 ] of Char ; firstName : array [ 1 .. 20 ] of Char ; age : Integer end ;Pascalでは、識別子部分はコロンの前に、データ型部分はコロンの後に続きます。レコードが定義されると、そのレコードの変数を割り当てることができます。レコードのメモリが割り当てられると、ドット表記を使用して変数のようにフィールドにアクセスできます。
var alice :人物レコード;アリス。名:= 'アリス' ;時が経つにつれ、「フィールド」という用語は「データメンバー」[ 5 ]および「属性」[ 6 ]という用語に置き換えられてきました。次のJavaクラスには、firstName、lastName、ageという3つの属性があります。
public class PersonRecord { private String firstName ; private String lastName ; private int age ; }
フィールドはランダムアクセスファイルに格納されることがあります。[ 7 ]ファイルは任意の順序で書き込みまたは読み込みが可能です。任意のアクセスを実現するために、オペレーティングシステムはファイル内を高速にシークする方法を提供します。 [ 8 ]ディスクヘッドがレコードの先頭に移動すると、各ファイルフィールドを対応するメモリフィールドに読み込むことができます。
ファイルフィールドは、インデックス付き順次アクセス方式(ISAM)における主要なストレージ構造です。リレーショナルデータベース理論では、フィールドという用語は列と属性という用語に置き換えられています。[ 9 ]
レコードは、フィールドと呼ばれる固定数のコンポーネントで構成される構造です。
このようにデータを構造化できることは、理解しやすいプログラムを構築する上で極めて重要である。
COBOLのような言語で、ファイルに格納されるレコードの構造を定義するために使用されていました。
システムコールlseekは、実際に読み書きすることなくファイル内を移動する方法を提供します。
n項関係はn個の列を持つ表として表すことができます。この表の列は関係の属性に対応し、行はタプルに対応します。