妥当性規則の階層
妥当性規則やトリガーには次の3つの階層があります。
フィールド単位
|
|
|
テーブル単位
|
|
|
プログラム単位
- フィールド単位の妥当性規則やトリガー は、どのような状況でも、常にフィールドに対して適用されます。例えば「郵便番号は2000~2999の範囲内でなければならない」というフィールド単位の妥当性規則は、当該フィールドがいつどのように使われる場合でも、常にこの範囲内であることを保証します。郵便番号がテーブル1、テーブル2、テーブル3で使われていれば、どのテーブルに対しても同じ規則が適用されます。
- テーブル単位の妥当性規則やトリガーは、ある特定のテーブルに属するフィールドに対してのみ適用されます。例えば、テーブル1のDATDUEフィールドに書式は「DDMMYY」であるという規則がある場合に、テーブル2のDATDUEフィールドの書式が「YYMMDD」であってもまったく問題ありません。
- プログラム単位の妥当性規則は、フィールドがあるプログラム(ファンクションまたはコンポーネント)内で使われる場合にのみ適用されます。例えば先の例で、DATDUEフィールドの値が現在日付以降30日以内である、という妥当性規則を、ORDERSというファンクションを使って設定したとすれば、これはテーブル1に対するテーブル単位の妥当性規則に追加する形で適用されます。
妥当性規則の多くは、テーブル単位で定義することになるでしょう。フィールド単位の妥当性規則は、同じフィールドが現れるテーブルすべてに適用されるので、それがアプリケーション全体に「グローバルに」通用するルールかどうか慎重に検討する必要があります(「フィールド単位の規則とテーブル単位の規則」を参照)。
次のトピックも参照してください。
妥当性規則の考え方
妥当性規則の適用順序