平成25年度 春期 データベーススペシャリスト試験 午前Ⅱ 問1
テクノロジ/データベースUMLを用いて表した図のデータモデルの解釈として,適切なものはどれか。

出典:平成25年度 春期 データベーススペシャリスト試験 午前Ⅱ 問1
- ア1件の“在庫取引”データを記録する際,2件の“在庫品”データも更新する。
- イ“在庫品”データは,現在の在庫数量だけでなく,過去の在庫数量も保持する。
- ウ倉庫別,品目別に入出庫の状況を把握することはできない。
- エ品目の異なる“在庫品”データ間で“在庫取引”データを記録できる。
正解:ア
解説
図のデータモデルでは,“品目”(1)と“在庫品”(*)が関連付けられ,一つの品目は倉庫ごとに複数の“在庫品”(在庫レコード)をもつ。また,“在庫品”は“倉庫”(1)とも関連付けられており,各“在庫品”は特定の倉庫に格納された特定の品目の在庫を表す。“在庫品”と“在庫取引”は,移動元(1対*)・移動先(1対*)という二つの異なるロールをもつ関連で結ばれており,1件の“在庫取引”は必ず移動元となる1件の“在庫品”と移動先となる1件の“在庫品”を参照する。さらに,“制約:同一品目間の移動だけを許す”という注記から,移動元と移動先の“在庫品”は同一の品目に属する(倉庫だけが異なる)ものに限られる。したがって,1件の“在庫取引”(在庫の移動)を記録する際には,移動元の“在庫品”の在庫数量を減らし,移動先の“在庫品”の在庫数量を増やすという,2件の“在庫品”データの更新が必要になる。
選択肢ごとの解説
- ア正しい。“在庫取引”は移動元・移動先という2件の“在庫品”をそれぞれ参照するため,1件の“在庫取引”データを記録する際には,移動元・移動先それぞれの“在庫品”の在庫数量を更新する必要があり,結果として2件の“在庫品”データが更新される。
- イ誤り。“在庫品”がもつ属性は「在庫数量」だけであり,過去の在庫数量を保持する属性は図中に存在しない。図のモデルからは,“在庫品”は現在の在庫数量だけを保持していると解釈するのが適切である。
- ウ誤り。“在庫品”は品目と倉庫の組合せに対応するエンティティであり,“在庫取引”が移動元・移動先として“在庫品”を参照する構造になっているため,倉庫別・品目別の入出庫(移動)の状況は“在庫取引”をたどることで把握できる。
- エ誤り。“在庫取引”には“同一品目間の移動だけを許す”という制約が明記されているため,品目の異なる“在庫品”データ間で“在庫取引”データを記録することはできない。