応用情報22年秋 午前 問32

【中分類】
データベース−3. データ操作−(2)データベース言語

2データベース言語(SQL)−(a)データ定義言語
     −用語例:参照制約

【問題を解く前に】

 この状況をクラス図で図示すると、こんなかんじ

(ごめんなさい。Astah*、コミュニティ版しかもっていないので、
 ER図が、かけないのです・・・かわりにメソッドなしのクラス図)

図でわかるように、製品が親、在庫が子
(一般に1対Nのとき、1が親、Nが子
 また、原則1が、主キーのほう、Nが参照キーのほう)

具体的に考えましょう

製品番号1 あひる隊長

在庫番号0101−製品番号1−在庫量50
在庫番号0201−製品番号1−在庫量150

このとき、

 親は製品、子は在庫となります。

さて、もし

・製品番号1のアヒル隊長を削除してしまうと、在庫0101と0201は、
 なにを在庫にしているのかわかりません。なので困ります
   →製品(=親)を削除されると困ります

 なお、これは、可能性の話であって、もちろん、はじめに、
 製品番号1の在庫を削除していれば良いわけです。


・ここで、
  在庫番号0202−製品番号2−在庫量100
 というのを追加することを考えます。
 製品番号2は、登録していません。したがって、
 なにを在庫にしているのかわかりません。なので困ります
   →在庫(=子)を追加されると困ります

 なお、これは、可能性の話であって、もちろん、はじめに、
 製品番号2の製品を登録していれば良いわけです。


ということです。

【解き方】

上記より、
   →製品(=親)を削除されると困ります
   →在庫(=子)を追加されると困ります
ですので、選択肢から、これを探すと・・・

【答え】
(ウ)

【解き終わって】
 特に、難しいところはないですね!