データベースの基本16~リレーションシップの設定④

Pocket

これをリレーションシップの設定に反映させます。

一見見ただけでは、どこの連鎖更新が設定されているのか?はわかりません。
そのときは結合している線をダブルクリックすると結合の情板がわかります。上の図ですと、

①得意先テーブルの得意先CDと納品書テーブルの得意先CDは参照整合性と連鎖更新
②請求書テーブルの請求書NOと納品書テーブルの請求書NO、納品書テーブルの納品
書NOと納品明細テーブルの納品書NOは、参照整合性と連鎖更新と連鎖削除の設定
をしています。

リレーションシップの設定はデータベースの運用を開始する前に設定することを
おすすめします。

あとから設定しようとすると次のような警告が出るケースがあります。


これは例えば納品書テーブルの納品書NOと納品明細テーブルの納品書NOで参照整合性を
設定しようとした場合、納品書テーブルの納品書NOにはない納品書NOが
納品明細テーブルに使われているため、参照整合性の設定ができません。

すでにこの状態は参照整合性に違反した状態なので、それを解消した後でないと
設定ができません。ここで必要となる作業は納品明細テーブルの納品書NOで、
納品書テーブルにない番号を探して、削除するもしくは、納品書テーブルにある番号
に変更する作業をすれば、再設定することができます。

データの量が少なければ簡単に見つかりますが、データがある程度たまった状態で
この作業をすると、大変です。ですので、運用前に必ず設定をする、そして設定は
できるだけ参照整合性がある形で設定する様にしてください。