平成22年度 秋期 午前Ⅱ 問21
データベース
概念データモデルの解釈
概念データモデルの解釈として,適切なものはどれか。ここで,モデルの表記にはUMLを用いる。
概念データモデル(原典は図。UMLのクラス図。クラスと属性,関連と多重度を書き写した):
クラス 品目 (属性:品目コード,名称) 在庫品 (属性:在庫数量) 倉庫 (属性:倉庫コード,住所) 在庫取引 (属性:取引番号,取引日,計上日,移動数量) 関連(多重度) 品目 1 ── * 在庫品 倉庫 1 ── * 在庫品 在庫品 1(ロール名:移動元)── * 在庫取引 在庫品 1(ロール名:移動先)── * 在庫取引 在庫取引に付いた注記 制約:同一品目間の移動だけを許す
- ア1件の“在庫取引”データを記録する際,2件の“在庫品”データも更新する。
- イ“在庫品”データは,現在の在庫数量だけでなく,過去の在庫数量も保持する。
- ウ倉庫別,品目別に入出庫状況を把握することはできない。
- エ品目の異なる“在庫品”データ間で“在庫取引”データを記録できる。
答えと解説を見る
✓ これが正解ア1件の“在庫取引”データを記録する際,2件の“在庫品”データも更新する。
解説
在庫取引1件で、移動元と移動先の在庫品2件を更新します。
このモデルでは、在庫品が品目と倉庫の組ごとに一つあり、在庫数量をもっています。在庫取引は、移動元と移動先という二つのロールで、それぞれ一つの在庫品に関連付けられています。つまり在庫取引は、ある倉庫の在庫品から別の在庫品へ品物を移す記録です。1件の在庫取引を記録すると、移動元の在庫品の在庫数量を移動数量だけ減らし、移動先の在庫品の在庫数量を同じだけ増やす必要があるので、2件の在庫品を更新することになります。見分ける軸は、属性と多重度と制約を図のとおりに読むことです。在庫品の属性は在庫数量一つだけであり、在庫取引には同一品目間の移動だけを許す制約があります。図に書かれた関連のロールを一本ずつ追うと判断できます。
ほかの選択肢はなぜ違うのか
- イ“在庫品”データは,現在の在庫数量だけで…:在庫品の属性は在庫数量の一つだけで、過去の値を時点ごとに並べてもつ構造にはなっていません。過去の移動の記録は在庫取引の側に取引日や計上日とともに残るので、在庫品が過去の在庫数量を保持するとは読めません。
- ウ倉庫別,品目別に入出庫状況を把握すること…:在庫品は品目と倉庫のそれぞれに関連付いており、在庫取引は移動元と移動先の在庫品を参照しています。在庫取引を在庫品から倉庫や品目へたどれば、倉庫別や品目別に入出庫の状況を集計できます。
- エ品目の異なる“在庫品”データ間で“在庫取…:在庫取引には、同一品目間の移動だけを許すという制約が付いています。移動元と移動先の在庫品は品目が同じでなければならないので、品目の異なる在庫品の間で取引を記録することはできません。
出典:平成22年度 秋期 システムアーキテクト試験 午前Ⅱ 問21
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)