応用情報技術者 2009年 秋期 午前2 問30
問題文
部品在庫管理台帳における、部品、仕入先、在庫の三つのエンティティの関係をデータモデルとして記述した。エンティティa〜cの組合せとして、適切なものはどれか。
ここで、1 * は1対多の関連を表す


選択肢
ア:
イ:
ウ:
エ:(正解)
部品在庫管理台帳におけるエンティティの関係【午前2 解説】
要点まとめ
- 結論:エンティティa〜cは「部品」「在庫」「仕入先」の順で表現し、aとbは1対多、bとcは多対1の関係が正しいです。
- 根拠:部品は複数の在庫情報を持ち、在庫は一つの仕入先に紐づくため、ER図の関係線と整合します。
- 差がつくポイント:在庫が部品と仕入先の中間的役割を果たすことを理解し、関係の向きと多重度を正確に把握することが重要です。
正解の理由
選択肢エは、aが「部品」、bが「在庫」、cが「仕入先」となっており、
- a(部品)とb(在庫)が1対多(部品1つに対し複数の在庫記録)
- b(在庫)とc(仕入先)が多対1(複数の在庫が1つの仕入先に紐づく)
というER図の関係を正しく表現しています。
部品コードを軸に複数の仕入れ(在庫)があり、それぞれの仕入れは特定の仕入先から行われるため、この構造が妥当です。
よくある誤解
在庫を最上位のエンティティと誤認しがちですが、在庫は部品と仕入先の関係をつなぐ中間的な役割です。
仕入先と部品の直接的な1対多関係と誤解すると、ER図の多重度と合わなくなります。
仕入先と部品の直接的な1対多関係と誤解すると、ER図の多重度と合わなくなります。
解法ステップ
- 問題文の表から「部品コード」「仕入先コード」「在庫数」などの属性を確認する。
- ER図の関係線の多重度(1対多、多対1)を読み取る。
- 「a」と「b」の関係が「a側1、多側b」であることから、aが「部品」、bが「在庫」と推測。
- 「b」と「c」の関係が「b側多、c側1」であることから、cが「仕入先」と判断。
- 選択肢の中でこの関係性を正しく表現しているものを選ぶ。
選択肢別の誤答解説
- ア(a:在庫、b:仕入先、c:部品):在庫が1側で仕入先が多側となり、実際の関係と逆。
- イ(a:在庫、b:部品、c:仕入先):aとbの関係が逆で、部品が多側になるため不適切。
- ウ(a:仕入先、b:部品、c:在庫):仕入先が1側で部品が多側は誤り。
- エ(a:部品、b:在庫、c:仕入先):ER図の多重度と属性の関係が正しく合致。
補足コラム
ER図の多重度は「1対多」「多対1」「多対多」などがあり、業務の実態を正確に反映することが重要です。
在庫管理では「部品」と「仕入先」の間に「在庫」という中間エンティティを設けることで、仕入れ履歴や価格変動を管理しやすくなります。
在庫管理では「部品」と「仕入先」の間に「在庫」という中間エンティティを設けることで、仕入れ履歴や価格変動を管理しやすくなります。
FAQ
Q: なぜ「在庫」が中間エンティティになるのですか?
A: 在庫は部品の仕入れ情報を具体化し、どの仕入先からいつ仕入れたかを管理するための中間的役割を持つからです。
A: 在庫は部品の仕入れ情報を具体化し、どの仕入先からいつ仕入れたかを管理するための中間的役割を持つからです。
Q: ER図の多重度はどのように判断すればよいですか?
A: 業務の実態を考え、1つのエンティティが複数の関連エンティティを持つかどうかで判断します。例えば、1つの部品に複数の在庫記録がある場合は1対多です。
A: 業務の実態を考え、1つのエンティティが複数の関連エンティティを持つかどうかで判断します。例えば、1つの部品に複数の在庫記録がある場合は1対多です。
関連キーワード: ER図、多重度、部品管理、在庫管理、仕入先管理、データモデリング

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

