正答3
解説
正解は3です。
多重度を表記したE-R図を読み取る問題です。
表記法では、線の相手側に書かれた数が、自分のデータ1個に対応する相手のデータの個数を表します。
例えば「A 1 ―― 0..* B」なら、A1個にBが0個以上、B1個にAが1個対応します。
【図の読み取り】
商品と仕入先は「商品 0..* ―― 1..* 仕入先」で、商品1個に仕入先が1個以上、仕入先1個に商品が0個以上対応します。
発注明細と発注は「発注明細 1..* ―― 1 発注」で、発注1個に発注明細が1個以上、発注明細1個に発注が1個対応します。
商品と発注明細は「商品 1 ―― 0..* 発注明細」で、発注明細1個に商品が1個対応します。
仕入先と発注は「仕入先 1 ―― 0..* 発注」で、発注1個に仕入先が1個だけ対応します。
発注と納品は「発注 1 ―― 0..* 納品」、納品と納品明細は「納品 1 ―― 1..* 納品明細」です。
【選択肢別解説】
1:× 商品1個に対して仕入先は1..*(1個以上)なので、同じ商品を複数の仕入先から仕入れることがあります。
2:× 発注明細と納品明細を直接結ぶ関連は図にありません。
しかも発注1個に納品が0個以上対応するので、1対1に対応するとはいえません。
3:○ 発注1個に対応する仕入先は「1」なので、1つの発注の相手は必ず1つの仕入先です。
複数の仕入先に発注することはありません。
4:× 発注1個に発注明細が1..*対応し、発注明細ごとに商品が1個対応します。
したがって、1つの発注で複数の商品を発注できます。
【ポイント】
多重度は、相手側の端に書かれた数字を読むのがコツです。
「1」なら必ず1個、「0..*」なら0個以上、「1..*」なら1個以上を表します。