制約付きファイルの処理

データベース物理ファイル (SQL TABLE) のフィールド内のデータは、制約関係を加えることで、特定の値に限定することができます。 制約には、以下の 4 つのタイプがあります。

制約関係を用いて、ファイル間の依存関係を定義することができます。 定義した関係は、ファイル内の情報に変更が生じたときにシステムにより強制されます。 制約関係を定義すると、処理されるデータの参照保全を制御することになります。

検査制約は、データベースの物理ファイル (SQL テーブル) のフィールド (列) に対して行う妥当性検査で、データの保全性を増加させます。

制約付きフィールドで挿入もしくは更新が行われるときは、データはまずそのフィールドに対して行われる妥当性検査を満足させなければ、 挿入もしくは更新操作を完了することはできません。 制約のすべてが満たされなかった場合は、その入出力要求は実行されずに、 メッセージがプログラムに戻され、制約違反があったことを示します。 COBOL の入出力ステートメントの実行中に検査制約の違反があると、ファイル状況 9W が設定されます。 参照制約の違反があると、ファイル状況 9R が設定されます。

制約を持てるのは物理ファイルのみですが、制約付きの物理ファイル上に作成された論理ファイルで入出力を行う場合も、制約が実施されます。 検査制約は、1 つまたは多数のフィールドに使用することができますが、 フィールドとフィールドの比較、またはフィールドとリテラルの比較に使用することができます。

制約の詳細については、Web サイト http://www.ibm.com/eserver/iseries/infocenter にある iSeries Information Center の 「データベース」カテゴリーを参照してください。