IPA過去問ドリル

平成28年度 春期 データベーススペシャリスト試験 午前Ⅱ 問1

テクノロジ/データベース

UMLを用いて表した商品と倉庫のデータモデルに関する記述のうち,適切なものはどれか。ここで,商品の倉庫間の移動はないものとする。 〔データモデルの概要〕 商品(商品コード)と在庫商品(/在庫数量)は,商品側の多重度1,在庫商品側の多重度1..*で関連付けられる(一つの商品には一つ以上の在庫商品が対応する)。 在庫商品と倉庫(倉庫番号)は「格納先」の関連で,在庫商品側の多重度0..*,倉庫側の多重度1で関連付けられる(一つの倉庫には0以上の在庫商品が対応し,一つの在庫商品には必ず一つの倉庫が対応する)。 入庫(入庫年月日,数量)と在庫商品は,入庫側の多重度1..*,在庫商品側の多重度1で関連付けられる(一つの在庫商品には一つ以上の入庫が対応し,一つの入庫は一つの在庫商品に対応する)。 出庫(出庫年月日,数量)と在庫商品は,出庫側の多重度1,在庫商品側の多重度0..*で関連付けられる(一つの在庫商品には0以上の出庫が対応し,一つの出庫は一つの在庫商品に対応する)。 (注:本サイトでは原問題の図を文字表記に変換しています)

出典:平成28年度 春期 データベーススペシャリスト試験 午前Ⅱ 問1

正解:ア

解説

設問のモデルでは,商品(1)と在庫商品(1..*)が対応し,一つの商品には一つ以上の在庫商品が対応します。また,在庫商品(1)と倉庫(0..*)が「格納先」の関連で結び付けられ,一つの在庫商品は必ずただ一つの倉庫に対応します(一つの倉庫には0以上の在庫商品が対応)。商品の倉庫間の移動はないため,同じ商品を複数の倉庫に格納する場合は,倉庫の数だけ別々の“在庫商品”データが必要になります。したがって,1種類の商品を二つの倉庫に初めて入庫すると,倉庫ごとに異なる“在庫商品”が1件ずつ,計2件追加されます。

選択肢ごとの解説

  • 正しい。在庫商品は必ずただ一つの倉庫に対応するため,同じ商品を二つの倉庫に初めて格納する場合は,倉庫ごとに別々の“在庫商品”データが必要になり,2件追加されます。
  • 誤り。2種類の商品を一つの倉庫に入庫する場合,商品ごとに別々の在庫商品データ(と,それに対応する入庫データ)が必要になるため,“入庫”データは2件追加されることになり,1件ではありません。
  • 誤り。在庫商品と倉庫の関連は,在庫商品側の多重度が1(必ずただ一つの倉庫に対応)であるため,格納先の倉庫が確定していない在庫商品(商品)は存在し得ません。
  • 誤り。在庫商品と出庫の関連は出庫側の多重度が0..*であり,出庫の実績が全くない在庫商品(入庫はされたがまだ一度も出庫されていない状態)が存在することを許しています。したがって「出庫の実績がない在庫商品は存在しない」とは言えません。
データベーススペシャリストの過去問を演習モードで解く