参照整合性には、データベースにエラーが入り込むことを防止するという意義があります。次のような部品注文表があるとします。
注文番号 | 部品番号 | 数量 |
---|---|---|
PK | ヌルではない | |
FK | FK | |
1 | 1 | 110 |
1 | 2 | 275 |
2 | 1 | 152 |
このリレーションでは、部品番号と注文番号の2つの外部キーで基本キーが構成されます。
部品番号表において、基本キーの値が1に定義された行を削除するとします。すると、基本キー1の行がなくなるので、部品注文表の1行目と3行目の外部キーが不整合となります。これは、参照整合性が失われている状態です。
Teradata Databaseでは、このような事態の発生を防ぐために、参照整合性を提供しています。あらかじめ部品番号表に参照整合性を指定しておけば、表から行を削除しようとしても、部品番号が子の表で参照されていればデータベース管理システムはその行の削除を許可しません。
参照整合性には、データ保全性やデータの首尾一貫性の維持のほかに、次のような利点があります。
利点 | 説明 |
---|---|
開発の生産性が向上する | Teradata Databaseによって参照整合性が自動的に実施されるため、SQL文をコーディングして参照整合性制約を実施する必要がありません。 |
作成するプログラム本数が軽減される | どのような環境でもTeradata Databaseによって参照整合性が実施されるため、すべての更新活動は参照整合性制約に違反しないことが保証されます。追加のプログラムは必要ありません。 |
最適化が可能になる | 参照整合性により、結合の排除などの、最適化が実行されるようになります。 |