フィールドの連鎖削除
リレーションシップの設定の1つでフィールドの連鎖削除について確認します。
参照整合性が設定されている場合、一側テーブルに含まれるレコードが削除されると多側テーブルのフィールドに登録されているデータに不整合が発生する場合があります。例えば一側テーブルである「社員テーブル」のレコードの中のリレーションシップが設定されたフィールドのレコードが削除された時、多側テーブルのレコードの中に一側テーブルに無いデータが登録されているレコードが存在することになってしまいます。
ではリレーションシップが設定されている一側テーブルのレコードを削除してみます。
すると次のようなエラーが表示されます。
ここでリレーションシップの設定項目の1つである「フィールドの連鎖削除」が設定されていると、一側テーブルのレコードを削除するとに、多側テーブルのレコードの中で該当のデータが登録されているレコードのデータを合わせて削除することが出来ます。
フィールドの連鎖削除の設定
それではフィールドの連鎖削除を設定してみます。リレーションシップの詳細設定画面を表示して下さい。(リレーションシップの詳細画面の表示方法は『リレーションシップ設定画面の表示』を参照して下さい)。
画面下部に「フィールドの連鎖削除」と書かれたチェックボックスがありますので、チェックを行って下さい。(「参照整合性」にチェックが入っていないとチェックが行えません)。
「OK」ボタンをクリックすると設定は完了です。
実際に削除を行う
それでは改めてデータの削除を行ってみます。削除前のテーブルは次のようになっています。
では一側テーブルである「社員テーブル」の最後のレコードを削除してみます。
次のような確認メッセージが表示されます。
削除しても問題無い場合は「はい」ボタンをクリックして下さい。
レコードの削除が行えました。では多側テーブルである「顧客情報テーブル」を確認してみます。
一側テーブルで削除されたレコードのデータが登録されていたレコードが自動的に削除されています。
( Written by Tatsuo Ikura )