インフォメーショナル制約

インフォメーショナル制約 は、データへのアクセスを改善するために SQL コンパイラーが使用できる制約の属性です。 インフォメーショナル制約はデータベース・マネージャーによって適用されず、データの追加検査を行うために使用されることもありません。この制約は、照会パフォーマンスを改善するために使用されます。

CREATE TABLE ステートメントまたは ALTER TABLE ステートメントを使用して、インフォメーショナル制約を定義します。 まず制約を追加し、その制約に制約属性を関連付けて、データベース・マネージャーがその制約を適用するかどうかを指定します。 主キー制約、ユニーク制約、およびチェック制約についてはさらに、その制約が信頼できるかどうかを指定できます。 参照整合性制約については、制約が適用されない場合、その制約を信頼できるかどうかをさらに指定できます。 適用されない制約および信頼されない制約は、統計参照整合性制約とも呼ばれます。 参照整合性制約またはチェック制約を照会最適化で使用するかどうかを指定できます。

インフォメーショナル RI (参照整合性) 制約は、照会のパフォーマンス、REFRESH IMMEDIATE MQT の増分処理、およびステージング表を最適化するために使用されます。 インフォメーショナル制約に違反している場合、照会結果、MQT データ、およびステージング表が正しくなくなることがあります。

例えば、親子関係にある表が保守される順序は重要です。 親子関係にある表に行を挿入する場合、まず最初に親表に行を挿入する必要があります。 親子関係にある表から行を削除するには、まず最初に子表から行を削除する必要があります。 これにより、どのような場合でも子表に孤立した行が存在しないようにすることができます。 このようにしない場合、インフォメーショナル制約に違反していることが原因で、 表の保守中に実行される照会の正確性に影響が出ることがあります。また、従属 MQT データの増分保守およびステージング表の正確性にも影響が出る可能性があります。

カラム・オーガナイズ 表または 行オーガナイズ 表のいずれかに対して、適用されない主キーまたはユニーク制約を作成できます。 適用されない主キー制約またはユニーク制約は、適用される主キー制約やユニーク制約とは異なり、データに索引を作成しません。 インフォメーショナル制約は、表データが個別に制約に準拠していることが分かっている場合にのみ指定します。 Db2® データベース・マネージャーはこれらの制約の固有性を強制しないため、表データが適用されない制約に違反すると、誤った結果が生じる可能性があります。 適用される参照整合性定義では、適用されない主キー制約を参照できません。