ホーム > データベーススペシャリスト試験 > 2014年
データベーススペシャリスト試験 2014年 午前2 問02
商品と倉庫の関係を, UML を用いてデータモデルで表した。このモデルに関する記述のうち, 適切なものはどれか。ここで, 商品の倉庫間の移動はないものとする。

ア:1種類の商品を二つの倉庫に初めて入庫すると, “在庫商品” データが2件追加される。(正解)
イ:2種類の商品を一つの倉庫に入庫すると, “入庫” データが1件追加される。
ウ:格納先となる倉庫が確定していない商品が存在する。
エ:出庫の実績がない在庫商品は存在しない。
解説
商品と倉庫の関係をUMLで表したデータモデル【午前2 解説】
要点まとめ
- 結論:1種類の商品が複数倉庫に入庫されると、それぞれの倉庫ごとに「在庫商品」データが作成されるため、2件追加される。
- 根拠:「商品」と「在庫商品」は1対多(1..)の関係で、「在庫商品」と「倉庫」も1対多(0..)の関係で結ばれているため、商品ごとに倉庫単位の在庫管理がされている。
- 差がつくポイント:UMLの多重度と関連の意味を正確に理解し、商品と倉庫の関係性を正しく読み取ることが重要である。
正解の理由
選択肢アは、「商品」と「在庫商品」が1対多の関係であり、さらに「在庫商品」と「倉庫」も多対1の関係であるため、1種類の商品が2つの倉庫に入庫されると、それぞれの倉庫に対応した「在庫商品」レコードが2件作成されることを正しく表しています。
つまり、商品単位ではなく、商品×倉庫単位で在庫管理が行われているため、在庫商品は倉庫ごとに分かれて管理されます。
つまり、商品単位ではなく、商品×倉庫単位で在庫管理が行われているため、在庫商品は倉庫ごとに分かれて管理されます。
よくある誤解
「入庫」や「出庫」の件数と「在庫商品」の件数を混同しやすい点に注意が必要です。
また、倉庫が未確定の商品が存在するかどうかも誤解されやすいポイントです。
また、倉庫が未確定の商品が存在するかどうかも誤解されやすいポイントです。
解法ステップ
- UML図の多重度(1、0..、1..)を確認する。
- 「商品」と「在庫商品」の関係が1対多であることを理解する。
- 「在庫商品」と「倉庫」の関係も多対1であることを確認する。
- 商品が複数倉庫に入庫される場合、「在庫商品」データは倉庫ごとに作成されることを把握する。
- 選択肢の記述とUMLの関係を照らし合わせて正誤を判断する。
選択肢別の誤答解説
- ア: 正解。商品が複数倉庫に入庫されると、それぞれの倉庫に対応した「在庫商品」データが追加される。
- イ: 誤り。2種類の商品を1つの倉庫に入庫しても、「入庫」データは商品ごとに発生するため1件とは限らない。
- ウ: 誤り。「在庫商品」は倉庫と関連付けられており、倉庫が確定していない在庫商品は存在しない。
- エ: 誤り。出庫実績がない在庫商品も存在し得る。出庫は0..*の関係であり、出庫がない場合も許容される。
補足コラム
UMLの多重度は、オブジェクト間の関係性の数を示し、データベース設計やシステム設計で重要な指標です。
「1..」は「1以上の複数」を意味し、「0..」は「0以上の複数」を意味します。これにより、データの整合性や制約を正確に表現できます。
また、「在庫商品」のような中間エンティティは、多対多の関係を解消するために用いられ、商品と倉庫の組み合わせごとに在庫数量を管理します。
「1..」は「1以上の複数」を意味し、「0..」は「0以上の複数」を意味します。これにより、データの整合性や制約を正確に表現できます。
また、「在庫商品」のような中間エンティティは、多対多の関係を解消するために用いられ、商品と倉庫の組み合わせごとに在庫数量を管理します。
FAQ
Q: 「在庫商品」と「倉庫」の関係が「0..*」と「1」とはどういう意味ですか?
A: 「在庫商品」は複数の倉庫に存在し得るが、1つの「在庫商品」は必ず1つの倉庫に属することを示しています。
A: 「在庫商品」は複数の倉庫に存在し得るが、1つの「在庫商品」は必ず1つの倉庫に属することを示しています。
Q: 「入庫」と「出庫」の多重度が異なる理由は何ですか?
A: 「入庫」は必ず1つ以上存在するが、「出庫」は存在しない場合もあるため、多重度が異なります。
A: 「入庫」は必ず1つ以上存在するが、「出庫」は存在しない場合もあるため、多重度が異なります。
関連キーワード: UML, 多重度, データモデル, 在庫管理, エンティティ関係, データベース設計