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