Accessのリレーション保護機能:参照整合性(Referential Integrity)とは?
参照整合性(Referential Integrity)とは、Accessのリレーションシップにおいて、親テーブルと子テーブルのデータ整合性を保つための制約です。
関連づけられたテーブル間で「存在しないデータを参照する」ことを防ぐ仕組みであり、信頼性の高いデータベース設計に不可欠です。
例:顧客と注文テーブル
- 親テーブル(顧客): 顧客ID、顧客名
- 子テーブル(注文): 注文ID、顧客ID、商品名
参照整合性を設定することで、注文テーブルの「顧客ID」には必ず顧客テーブルに存在するIDしか登録できなくなります。
参照整合性の主なルール
- 親が存在しないと、子のレコードを作成できない
- 親レコードを削除・変更するとき、子レコードとの整合性を確認する
- エラー防止・データの論理的なつながりを保つ
参照整合性の設定方法
- [データベースツール]タブ → [リレーションシップ]を開く
- 対象のテーブル同士をドラッグしてリレーションを作成
- リレーションシップの編集画面で「参照整合性を保持する」にチェック
- 必要に応じて「連鎖更新」や「連鎖削除」も選択
追加オプション
- 関連フィールドの連鎖更新: 親のIDを変更すると子のIDも自動で更新
- 関連レコードの連鎖削除: 親を削除すると子も自動削除(慎重に利用)
メリット
- データの信頼性が向上し、不整合を防止
- リレーション構造が明確になり、運用しやすい
- 不正なデータ入力や削除を未然にブロックできる
注意点
- すでに不整合なデータが存在する場合は設定できない
- 連鎖削除は誤ってすべて削除されるリスクがあるため注意
- 複雑なリレーションでは循環参照に注意
まとめ
- 参照整合性: 親子テーブル間でデータの一貫性を守る仕組み
- Accessでのリレーション管理の基本であり、信頼性の高いデータベース構築に必須
- 「連鎖更新・連鎖削除」は使い方に注意
Accessの参照整合性は、正しいデータ設計とリレーションシップ構築の基本です。
データベースの信頼性を保ち、エラーを防ぐ安全装置として有効に活用しましょう。