妥当性規則やトリガーには次の3つの階層があります。
 
               フィールド単位
                    |
                    |
                    |
               テーブル単位
                    |
                    |
                    |
               プログラム単位


  • フィールド単位の妥当性規則やトリガー は、どのような状況でも、常にフィールドに対して適用されます。例えば「郵便番号は2000~2999の範囲内でなければならない」というフィールド単位の妥当性規則は、当該フィールドがいつどのように使われる場合でも、常にこの範囲内であることを保証します。郵便番号がテーブル1、テーブル2、テーブル3で使われていれば、どのテーブルに対しても同じ規則が適用されます。
  • テーブル単位の妥当性規則やトリガーは、ある特定のテーブルに属するフィールドに対してのみ適用されます。例えば、テーブル1のDATDUEフィールドに書式は「DDMMYY」であるという規則がある場合に、テーブル2のDATDUEフィールドの書式が「YYMMDD」であってもまったく問題ありません。
  • プログラム単位の妥当性規則は、フィールドがあるプログラム(ファンクションまたはコンポーネント)内で使われる場合にのみ適用されます。例えば先の例で、DATDUEフィールドの値が現在日付以降30日以内である、という妥当性規則を、ORDERSというファンクションを使って設定したとすれば、これはテーブル1に対するテーブル単位の妥当性規則に追加する形で適用されます。

妥当性規則の多くは、テーブル単位で定義することになるでしょう。フィールド単位の妥当性規則は、同じフィールドが現れるテーブルすべてに適用されるので、それがアプリケーション全体に「グローバルに」通用するルールかどうか慎重に検討する必要があります(フィールド単位の規則とテーブル単位の規則を参照)。



次のトピックも参照してください。

妥当性規則の考え方

妥当性規則の適用順序

  • No labels