平成26年度 春期 データベーススペシャリスト試験 午前Ⅱ 問2
テクノロジ/データベース商品と倉庫の関係を,UMLを用いてデータモデルで表した。このモデルに関する記述のうち,適切なものはどれか。ここで,商品の倉庫間の移動はないものとする。

出典:平成26年度 春期 データベーススペシャリスト試験 午前Ⅱ 問2
- ア1種類の商品を二つの倉庫に初めて入庫すると,“在庫商品”データが2件追加される。
- イ2種類の商品を一つの倉庫に入庫すると,“入庫”データが1件追加される。
- ウ格納先となる倉庫が確定していない商品が存在する。
- エ出庫の実績がない在庫商品は存在しない。
正解:ア
解説
図のモデルでは,“商品”(多重度1)と“在庫商品”(多重度1..*)が関連付けられており,一つの商品は一つ以上の“在庫商品”に対応する。また,“在庫商品”(多重度0..*)と“倉庫”(多重度1,役割名“格納先”)が関連付けられており,一つの在庫商品は一つの倉庫に格納される(0..*であるため,格納先が未確定の在庫商品も存在し得るが,商品と在庫商品の関連自体は必須である)。つまり“在庫商品”は,ある商品がある倉庫に格納されている状態(在庫)を表すエンティティであり,同じ商品でも格納先の倉庫が異なれば別々の“在庫商品”データとなる。したがって,1種類の商品を初めて二つの倉庫に入庫すると,倉庫ごとに“在庫商品”データが1件ずつ,計2件追加される。
選択肢ごとの解説
- ア正しい。“在庫商品”は商品と倉庫(格納先)の組合せごとに存在するエンティティであるため,1種類の商品を二つの倉庫に初めて入庫すると,倉庫ごとに“在庫商品”データが1件ずつ,計2件追加される。
- イ誤り。“商品”と“在庫商品”の多重度は1対1..*であり,2種類の商品を一つの倉庫に入庫すると,商品ごとに対応する“在庫商品”データが必要になるため,“入庫”データではなく“在庫商品”データが2件追加されると考えられる。また“入庫”は“在庫商品”との関連が1..*対1であり,1回の入庫操作に対して1件の“入庫”データが追加されるかどうかは,何種類の商品を入庫したかとは直接対応しない。
- ウ誤り。“在庫商品”から“倉庫”への多重度は0..*対1であるが,これは在庫商品側から見た多重度であり,“商品”から“在庫商品”への多重度は1..*(必須)である。設問は“格納先となる倉庫が確定していない商品”について述べているが,モデル上,在庫商品は必ず一つの倉庫(格納先)に対応付けられるため,格納先が未確定の商品が存在するとはいえない。
- エ誤り。“在庫商品”と“出庫”の多重度は1対0..*であり,0..*は「0以上」を意味するため,出庫の実績が一度もない(出庫が0件の)在庫商品も存在し得る。したがって「出庫の実績がない在庫商品は存在しない」とはいえない。