フィールドの連鎖削除

広告

リレーションシップの設定の1つでフィールドの連鎖削除について確認します。

参照整合性が設定されている場合、一側テーブルに含まれるレコードが削除されると多側テーブルのフィールドに登録されているデータに不整合が発生する場合があります。例えば一側テーブルである「社員テーブル」のレコードの中のリレーションシップが設定されたフィールドのレコードが削除された時、多側テーブルのレコードの中に一側テーブルに無いデータが登録されているレコードが存在することになってしまいます。

ではリレーションシップが設定されている一側テーブルのレコードを削除してみます。

フィールドの連鎖削除

すると次のようなエラーが表示されます。

フィールドの連鎖削除

ここでリレーションシップの設定項目の1つである「フィールドの連鎖削除」が設定されていると、一側テーブルのレコードを削除するとに、多側テーブルのレコードの中で該当のデータが登録されているレコードのデータを合わせて削除することが出来ます。

フィールドの連鎖削除の設定

それではフィールドの連鎖削除を設定してみます。リレーションシップの詳細設定画面を表示して下さい。(リレーションシップの詳細画面の表示方法は『リレーションシップ設定画面の表示』を参照して下さい)。

フィールドの連鎖削除

画面下部に「フィールドの連鎖削除」と書かれたチェックボックスがありますので、チェックを行って下さい。(「参照整合性」にチェックが入っていないとチェックが行えません)。

フィールドの連鎖削除

「OK」ボタンをクリックすると設定は完了です。

実際に削除を行う

それでは改めてデータの削除を行ってみます。削除前のテーブルは次のようになっています。

フィールドの連鎖削除

フィールドの連鎖削除

では一側テーブルである「社員テーブル」の最後のレコードを削除してみます。

フィールドの連鎖削除

次のような確認メッセージが表示されます。

フィールドの連鎖削除

削除しても問題無い場合は「はい」ボタンをクリックして下さい。

フィールドの連鎖削除

レコードの削除が行えました。では多側テーブルである「顧客情報テーブル」を確認してみます。

フィールドの連鎖削除

一側テーブルで削除されたレコードのデータが登録されていたレコードが自動的に削除されています。

( Written by Tatsuo Ikura )