物理ファイルは、データをプログラムにどのように渡すかまたはプログラムからどのように受け取るか、お よび、データを実際にどのようにデータベースに保管するかについての記述です。物理ファイルには、1 つ のレコード様式と 1 つ以上のメンバーが入ります。従来のシステム・インターフェースを使用することに よって、物理ファイルを作成し記述することができます。
関連概念:
91ページの『データベース・ファイルのアクセス・パスの記述』
アクセス・パスは、データベース・ファイル内のレコードが取り出される方法を記述します。データベー ス・ファイルのアクセス・パスは、さまざまな方法で定義することができます。
関連資料:
21ページの『例: DDS を使用して物理ファイルを記述する』
この例では、DDS を使用して物理ファイルを記述する方法を説明します。
物理ファイルの作成:
データ記述仕様 (DDS) を使用して物理ファイルを作成できます。
物理ファイルを作成する前に、ライブラリーおよびソース・ファイルを作成する必要があります。
物理ファイルを作成するには、以下のステップに従ってください。
1. DDS を使用する場合、物理ファイルの DDS をソース・ファイルに入力します。 これは、原始ステー
トメント入力ユーティリティー (SEU) を使用して行うことができます。 SEU は、IBM Rational Development Studio for i ライセンス・プログラムの一部です。
2. 物理ファイルを作成します。 「物理ファイルの作成 (CRTPF)」コマンド、または「ソース物理ファイ ルの作成 (CRTSRCPF)」コマンドを使用できます。
以下のコマンドは、DDS を使用して 1 メンバーのファイルを作成し、それを DSTPRODLB と呼ばれるラ イブラリーに配置します。
CRTPF FILE(DSTPRODLB/ORDHDRP)
TEXT('Order header physical file')
示されているように、このコマンドでは省略時が使用されています。システムは SRCFILE パラメーターと SRCMBR パラメーターに対して、 QDDSSRC と呼ばれるソース・ファイルと ORDHDRP (ファイル名と 同じ) という名前のメンバーの中にある DDS を使用します。ファイルと同じ名前のメンバーが 1 つある ファイル ORDHDRP がライブラリー DSTPRODLB に配置されます。
表は物理ファイルと似ています。 System i ナビゲーターまたは CREATE TABLE SQL ステートメントを 使用して表を作成できます。
関連概念:
15ページの『ライブラリーの作成』
ライブラリーは、他のオブジェクトへのディレクトリーとしての役割を果たすシステム・オブジェクトで す。 ライブラリーは関連したオブジェクトをグループ化したもので、オブジェクトを名前によって検索で きるようにします。ライブラリーを作成するには、System i ナビゲーターまたは「ライブラリー作成 (CRTLIB)」コマンドを使用します。
16ページの『ソース・ファイルの作成』
ソース・ファイルを作成する前に、まず、ライブラリーを作成する必要があります。 次に、「ソース物理 ファイル作成 (CRTSRCPF)」、「物理ファイル作成 (CRTPF)」、または「論理ファイル作成 (CRTLF)」コ マンドを使用して、ソース・ファイルを作成します。
271ページの『ソース・ファイルの処理』
さまざまな方法を使用して、データをソース・ファイルに入力して保守できます。
19ページの『データベース・ファイルの記述』
IBM i データベース・ファイルを記述するには、いくつかの方法を使用できます。このトピックでは、
DDS にはデータの定義のための最も多くのオプションがあるため、データ記述仕様 (DDS) を使用してデ ータベース・ファイルを記述する方法に焦点を当てます。
System i ナビゲーターを初めて使用する場合 (Getting started with System i Navigator) 関連資料:
物理ファイルの作成 (CRTPF) コマンド
ソース物理ファイルの作成 (CRTSRCPF) コマンド CREATE TABLE
物理ファイルとメンバー属性の指定:
「物理ファイルの作成 (CRTPF)」、「ソース物理ファイルの作成 (CRTSRCPF)」、「物理ファイルの変更 (CHGPF)」、「ソース物理ファイルの変更 (CHGSRCPF)」、「物理ファイル・メンバーの追加
(ADDPFM)」、「物理ファイル・メンバーの変更 (CHGPFM)」コマンドで、物理ファイルおよびメンバー
の属性を指定することができます。
満了日:
EXPDATE パラメーターでは、物理ファイル内の各メンバーの満了日を指定します (ADDPFM、
CHGPFM、 CRTPF、 CHGPF、 CRTSRCPF、および CHGSRCPF コマンド)。
満了日が経過している場合、ファイルがオープンされたときに、システム操作員にその旨が通知されます。
その時点でシステム操作員は、満了日を指定変更して続行したり、またはジョブを停止したりすることがで きます。各メンバーは別個の満了日を持つことができ、この日付はメンバーをファイルに追加するときに指 定します。
関連概念:
116ページの『物理ファイル・メンバーの満了日の検査』
システムは、物理ファイル・メンバー内のデータが現行のままかどうかを検査できます。「データベース・
ファイルによる一時変更 (OVRDBF)」コマンドで EXPCHK パラメーターを使用して、システムが物理フ ァイル・メンバーの満了日を検査するかどうかを指定できます。
関連資料:
物理ファイル・メンバーの追加 (ADDPFM) コマンド 物理ファイルの変更 (CHGPF) コマンド
物理ファイル・メンバーの変更 (CHGPFM) コマンド ソース物理ファイルの変更 (CHGSRCPF) コマンド 物理ファイルの作成 (CRTPF) コマンド
ソース物理ファイルの作成 (CRTSRCPF) コマンド 物理ファイル・メンバーのサイズ:
SIZE パラメーターでは、各物理ファイル・メンバーに入れることができる最大レコード数を指定します (CRTPF、CHGPF、CRTSRCPF、および CHGSRCPF コマンド)。
最大値を判別するには、以下の式を使用することができます。
R + (I * N)
各文字の意味は以下のとおりです。
R 開始レコード数
I 各回に加算するレコード (増分) 数 N 増分を加算する回数
SIZE パラメーターの省略時は以下のとおりです。
R 10 000
I 1000
N 3 (CRTPF コマンド) 499 (CRTSRCPF コマンド)
たとえば、5000 レコード用に作成されたファイルに、それぞれ 1000 レコードの増分を 3 回加えたものが R であるとします。システムは、初期レコード数 5000 に 1000 を 3 回追加して、合計最大値を 8000 に することができます。合計最大値に達すると、システム操作員は、ジョブを停止するか、またはシステムに レコードの増分をもう一度追加し、続行するよう指示します。増分が追加されると、システム活動記録ログ にメッセージが送られます。ファイルがその最大サイズを超えて拡張されるときには、最小拡張は現行サイ
ズの 10% です (それが指定された増分より大きい場合でも)。省略時のサイズを使用するかまたはサイズを
指定する代わりに、 *NOMAX を指定することができます。
関連資料:
8ページの『データベース・ファイルのサイズ』
データベース・ファイルを設計して作成する前に、ファイルの許容最大サイズを知っておく必要がありま す。
物理ファイルの変更 (CHGPF) コマンド
ソース物理ファイルの変更 (CHGSRCPF) コマンド 物理ファイルの作成 (CRTPF) コマンド
ソース物理ファイルの作成 (CRTSRCPF) コマンド 記憶域の割り振り:
ALLOCATE パラメーターは、各メンバーを物理ファイルに追加するとき、それに対して割り振る記憶域を
制御するためのものです (CRTPF、CHGPF、CRTSRCPF、および CHGSRCPF コマンド)。
割り振る記憶域は 1 メンバーの初期レコード数を含むのに十分な大きさとします。メンバーを追加すると きにユーザーが記憶域を割り振らなかった場合には、必要に応じてシステムが自動的に記憶域割り振りを拡 張します。SIZE パラメーターで最大サイズを指定した場合に限って、ALLOCATE パラメーターを使用す ることができます。SIZE(*NOMAX) を指定すると、ALLOCATE(*YES) は指定することができません。
関連資料:
物理ファイルの変更 (CHGPF) コマンド
ソース物理ファイルの変更 (CHGSRCPF) コマンド 物理ファイルの作成 (CRTPF) コマンド
ソース物理ファイルの作成 (CRTSRCPF) コマンド 記憶域を割り振る方法:
CONTIG パラメーターは、各物理ファイル・メンバーに物理記憶域を割り振る方法を制御します (CRTPF
および CRTSRCPF コマンド)。
記憶域を割り振る場合、メンバーの開始レコード数の記憶域が連続するよう要求することができます。すな わち、メンバー内のすべてのレコードは物理的にまとまって配置されます。連続した記憶域が十分にない場 合は、連続した記憶域割り振りは使用されず、メンバーを追加するときに、割り振りを要求するジョブに情 報メッセージが送られます。
注: 物理ファイルを初めて作成する場合、システムは常に初期の記憶域を連続して割り振ろうとします。
CONTIG(*NO) を使用するときと、CONTIG(*YES) を使用するときの唯一の相違点は、CONTIG(*YES) を 使用すると、ファイルを作成するときに連続した記憶域を割り振ることができない場合にシステムがメッセ ージをジョブ・ログに送るということです。作成後にファイルを拡張するときは、CONTIG パラメーター で何を指定していても、メッセージは送られません。
関連資料:
物理ファイルの作成 (CRTPF) コマンド
ソース物理ファイルの作成 (CRTSRCPF) コマンド レコード長:
RCDLEN パラメーターは、物理ファイル内のレコードの長さを指定します (CRTPF および CRTSRCPF コ マンド)。
ファイルをレコード・レベルだけで記述する場合には、ファイルを作成するときに RCDLEN パラメーター を指定します。DDS、IDDU または SQL を用いてファイルを記述する場合には、このパラメーターを指定 することはできません (システムはフィールド・レベル記述からファイルのレコード長を自動的に判別しま す)。
関連資料:
物理ファイルの作成 (CRTPF) コマンド
ソース物理ファイルの作成 (CRTSRCPF) コマンド 削除済みレコード:
DLTPCT パラメーターは、システムがシステム活動記録ログにメッセージを送る前に、各物理ファイル・
メンバーに含めることができる削除済みレコードのパーセントを指定します (CRTPF、 CHGPF、
CRTSRCPF、および CHGSRCPF コマンド)。
ファイルがクローズするとき、システムは削除済みレコードのパーセントを判別するためにメンバーを検査 します。そのパーセントが DLTPCT パラメーターで指定した値を超えている場合には、メッセージが活動 記録ログに送られます。(活動記録ログの処理に関する詳細は、制御言語トピックの集合を参照してくださ い。ファイル内の削除済みレコードが一定のパーセンテージに達したことを知る理由の 1 つは、削除済み レコードに使用されていたスペースを再利用することです。削除済みレコードについてのメッセージを受け 取った後、スペースを再使用するために「物理ファイル・メンバーの再編成 (RGZPFM)」コマンドを使用 することができます。また、DLTPCT パラメーターに *NONE 値を使用することによって、削除済みレコ ードの検査を省略するよう指定することもできます。DLTPCT パラメーターの省略時は *NONE です。
REUSEDLT パラメーターには、削除済みレコードのスペースを、今後の書き込み操作で再使用するかどう
かを指定します (CRTPF および CHGPF コマンド)。REUSEDLT パラメーターに *YES と指定すると、そ のファイルに対するすべての挿入要求で、削除済みレコードのスペースが再使用が試行されます。削除済み レコードのスペースを再使用することによって、RGZPFM コマンドを出さなくても、削除済みレコードで 使われていたスペースを再使用することができます。CHGPF コマンドを使用して削除済みレコードを再使 用するようにファイルを変更する場合、特にファイルが大きく、その中にすでに多くの削除済みレコードが あると、コマンドの実行時間が長くなります。以下の点に注意しておくことは重要です。
v 到着順 は、削除済みレコードのスペースを再使用するファイルについては意味がなくなります。削除済 みレコードのスペースが再使用されると、レコードは必ずしもファイルの終わりに挿入されなくなりま す。
v 削除済みレコードのスペース再使用属性を付けて新しい物理ファイルを作成した場合に、そのファイル がキー順のときは、 FIFO または LIFO アクセス・パス属性をその物理ファイルに指定することはでき ません。また、FIFO または LIFO アクセス・パス属性を持つどのようなキー順論理ファイルも、その物 理ファイルを基として作成することはできません。
v 重複キーについて FIFO または LIFO の順序付けが指定された物理ファイルを基礎としている論理ファ イルがある場合、または物理ファイルの重複キーの順序付けが FIFO または LIFO である場合には、そ の既存の物理ファイルを、削除済みレコードのスペースを再使用するように変更することはできませ ん。
v 削除済みレコードのスペースは、直接ファイルとして処理されるファイル、あるいは相対レコード番号 を用いて処理されるファイルに指定してはなりません。
関連概念:
233ページの『物理ファイル・メンバーの再編成』
物理ファイル・メンバーを再編成して、IBM i オペレーティング・システムでレコードが保管される方法 を変更することができます。