FC2ブログ

リレーションシップの設定(連鎖削除)

 前回生徒を削除しても家族が削除されないという現象が発生しました。生徒と家族を連動して削除するためにはリレーションシップを設定する必要があります。このリレーションシップはテーブル設計時に設定しておく事も出来ますが、必須ではありません。便利な面もあるのですが、逆に設定しておくと実際の開発現場では邪魔になる面もあります。例えばデータをコンバートするときなど、一時的にテーブル間で矛盾した状態を作らなければならないときがあります。そんな時データの整合性を担保するリレーションシップが作業上の邪魔になったりします。

 私の考えでは今回のように必要になった時点でリレーションシップを設定するのが実際的ではないかと思います。設定するにはまずメニューバーの「データベースツール」→「リレーションシップ」をクリックします。

 リレーションシップ

 テーブルの表示でT_生徒番号とT_家族を選びます。

リレーションシップ 

 2つのテーブルが表示されたと思いますが、そこでT_生徒番号の生徒番号からT_家族の生徒番号へドラッグすると次のウインドウが現れます。そこで「参照整合性」をチェックし、更に「レコードの連鎖削除」をチェックします。

レコードの連鎖削除 

 すると、T_生徒番号とT_家族が生徒番号同士で連結され、1対多の関係にあることがわかります。
 
リレーションシップ(連鎖削除)

 さてここでF_生徒番号を開き、削除処理を再度実行してみましょう。すると、今度は以下のような確認メッセージが出力されます。ここで「はい」を選択し、テーブルの中身を見てみましょう。

生徒の削除

 今度はT_生徒番号もT_家族も削除されていることが確認出来たと思います。

 次回はいよいよフォームの最終段階として「メニューの作成」について語りたいと思います。
関連記事
スポンサーサイト



テーマ : データベース
ジャンル : コンピュータ

コメントの投稿

非公開コメント

最新記事
全記事表示リンク

全ての記事を表示する

月別アーカイブ
カテゴリ
お問い合わせ
まずはこちらのフォームより御一報下さい。

名前:
メール:
件名:
本文:

検索フォーム
RSSリンクの表示
アクセスランキング
[ジャンルランキング]
コンピュータ
677位
アクセスランキングを見る>>

[サブジャンルランキング]
ソフトウェア
96位
アクセスランキングを見る>>
ブログランキング

FC2Blog Ranking