令和7年度 秋期 午前Ⅱ 問3
データベース設計
クラス図に関する問題
UMLを用いて表した商品と倉庫のデータモデルに関する記述のうち,適切なものはどれか。ここで,商品の倉庫間の移動はないものとする。
UMLのクラス図:
クラス: 入庫(入庫年月日,数量) 出庫(出庫年月日,数量) 商品(商品コード) 在庫商品(/在庫数量) 倉庫(倉庫番号) 関連: 入庫 1..* ──── 1 在庫商品 出庫 0..* ──── 1 在庫商品 商品 1 ──── 1..* 在庫商品 在庫商品 0..* ──── 1 倉庫(倉庫側のロール名“格納先”)
- ア1種類の商品を二つの倉庫に初めて入庫すると,“在庫商品”データが2件追加される。
- イ2種類の商品を一つの倉庫に入庫すると,“入庫”データが1件追加される。
- ウ格納先となる倉庫が確定していない商品が存在する。
- エ出庫の実績がない在庫商品は存在しない。
答えと解説を見る
✓ これが正解ア1種類の商品を二つの倉庫に初めて入庫すると,“在庫商品”データが2件追加される。
解説
在庫商品は商品と倉庫の組ごとに作られ、二つの倉庫なら2件になります。
クラス図の多重度を、関連の両端から読みます。在庫商品は、商品に対して1、倉庫に対して1なので、ある商品をある倉庫に置いている、という組合せ一つにつき1件のデータです。商品の倉庫間の移動はないので、1種類の商品を二つの倉庫に初めて入庫すると、商品と倉庫の組合せが二つでき、在庫商品のデータが2件追加されます。入庫は在庫商品に対して1なので、入庫一つは在庫商品一つに対応し、在庫商品側から見ると入庫は1..*、つまり少なくとも1件あります。出庫は0..*なので、出庫がない在庫商品もあり得ます。見分ける軸は、関連の向こう側に付いた数字が、こちら側の1件に対していくつ対応するかを表す、という読み方です。
ほかの選択肢はなぜ違うのか
- イ2種類の商品を一つの倉庫に入庫すると,“…:入庫は在庫商品に対して多重度1なので、入庫一つは在庫商品一つにだけ対応します。2種類の商品を入庫すると在庫商品が二つにかかわるので、入庫のデータも2件追加されます。
- ウ格納先となる倉庫が確定していない商品が存…:在庫商品から倉庫への多重度は1なので、在庫商品は必ず一つの倉庫を格納先として持ちます。また商品から在庫商品への多重度は1..*なので、どの商品にも在庫商品があり、格納先が決まっていない商品は存在しません。
- エ出庫の実績がない在庫商品は存在しない。:在庫商品から見た出庫の多重度は0..*なので、出庫が0件の在庫商品があってもかまいません。入庫しただけでまだ出庫していない在庫商品は存在でき、出庫の実績がない在庫商品は存在しないとは言えません。
出典:令和7年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問3
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)