アプリケーション・データベースを設計する上で、「参照整合性」への配慮は欠かせません。これは、あるデータから別のデータへの参照関係が損なわれないよう保証する、データベースの機能です。テーブル間のデータ参照関係は、いかなる場合でも維持しなければなりません。例えば人事管理アプリケーション用のデータベースで、部課テーブルの各レコードには、その部課が所属する部門コードを設定する必要があります。この部門コードは部門テーブルに登録されているものでなければなりません。この関係が損なわれた場合、データベース全体の参照整合性が崩れたことになります。
参照整合性を保つため、テーブル間に次のような規則を設けてあります。
1. 他のテーブルから参照されているデータは削除できない。
あるレコードを削除するためには、関連テーブル内に、これを参照しているレコードがあってはならない、とする規則です。
2. 不完全なデータは追加できない。
データを追加するためには、関連テーブル内に、参照先のレコードが存在しなければならない、とする規則です。
この2つの規則は、テーブル間の依存関係を表します。参照整合性には正逆の2方向があり、「前方参照整合性」、「後方参照整合性」などと呼ぶこともあります。考え方はアクセス経路の場合と同様です。テーブル1からテーブル2に対する関係があれば、逆にテーブル2からもテーブル1に対する関係があります。参照整合性規則をデータベースに組み込むためには、適用業務の内容を把握しておく必要があります。
LANSA では、参照整合性をテーブル単位の妥当性規則 (参照制約) の形でリポジトリに定義しているので、特定のデータベースには依存しません。これはさまざまなプラットフォーム上でアプリケーションを稼動させる上で有利でしょう。
次のトピックも参照してください。