このページの短縮URL(リンク用) §01-07…参照整合性付きのリレーションシップ3[更新/削除制限のチェック] – オンライン無料パソコン講座 | PCセミナー

§01-07…参照整合性付きのリレーションシップ3[更新/削除制限のチェック]

(1)参照整合性を設定すると、他にも矛盾を発生させないための制限がかかります。「T開催マスター」を開きます。この[セミナーCD]「103」を「113」に変更・確定してみます。しかしうまくいきません。[セミナーCD]「103」が「T申込データ」で使用されているためです。変更できてしまうと「T申込データ」の「103」が意味をなさなくなってしまいます。

(2)参照整合性が勝手な変更を防いでくれます。他のテーブルでこの値が利用されている場合には、矛盾を発生させないために勝手な変更を許可しないのです。

(3)「103」に戻します。{Esc}キーを押せば確定前に戻ります。

(4)なお[セミナーCD]「105」は自由に変更可能です。「T申込データ」で一度も利用されていないからです。「115」に変更・確定してみましょう。

(5)さて今度は「T会員マスター」に注目します。この[会員番号]「10」のレコードを削除してみましょう。しかしうまくいきません。この値は参照整合性を設定した「T申込データ」ですでに利用されているからです。テストしましょう。

(6)これを消してしまうと、「T申込データ」における[会員番号]「10」が意味をなさなくなってしまうので、勝手な削除は許可されません。

(7)今度は[会員番号]「9」のレコードを削除してみます。こちらは削除が可能です。参照整合性を設定した「T申込データ」では一度も利用されていないレコードだからです。

(8)[はい]

(9)削除がなされました。このように参照整合性を設定しておけば、関連付けしたテーブルで一度でも利用されているデータは、マスターテーブル側で一方的に変更(更新)・削除ができないよう制限されるのです。これによりデータベースに発生する矛盾を抑えることができます。

(10)さて先ほど削除したレコードと、同じレコードを追加しましょう。追加後は{F5}キー(再読み込み)を押します。すると主キーである[会員番号]順に並べ替えて表示されます。

(11)主キー順に並べ替えられて表示されました。