IPA過去問ドリル

平成21年度 秋期 応用情報技術者試験 午前 問30

テクノロジ/データベース

部品在庫管理台帳における,部品,仕入先,在庫の三つのエンティティの関係をデータモデルとして記述した。エンティティa~cの組合せとして,適切なものはどれか。ここで,1_*は1対多の関連を表す。 部品在庫管理台帳 部品コード|部品名|仕入先コード|仕入先名|仕入日付|仕入価格|在庫数 001|R部品|Z010|A商会|9月1日|1,500|1,000 001|R部品|Z010|A商会|10月15日|1,400|1,500 002|S部品|Z010|A商会|9月20日|800|500 003|T部品|Z015|B商店|10月8日|1,600|1,450 003|T部品|Z020|C商店|9月15日|1,200|800 (注:本サイトでは原問題の表を文字表記に変換しています) 〔エンティティの関連〕 a −(1_*)→ b −(*_1)→ c

出典:平成21年度 秋期 応用情報技術者試験 午前 問30

正解:エ

解説

表を見ると,同一の部品コードに対して複数の仕入(在庫)レコードが存在し(例えば部品001は2件),また同一部品でも異なる仕入先から仕入れている例(部品003)があります。したがって部品(1)と在庫(多)が1対多,在庫(多)と仕入先(1)が多対1の関係になり,a=部品,b=在庫,c=仕入先が対応します。

選択肢ごとの解説

  • 誤り。aを在庫としていますが,部品コードに対して複数の在庫レコードが存在することから,1側(a)は部品であるべきです。
  • 誤り。aを在庫,cを仕入先としていますが,1対多の起点となる1側のエンティティ(a)は部品です。
  • 誤り。aを仕入先としていますが,表から一つの仕入先が複数の在庫(仕入)レコードに関わることが分かり,仕入先はc(多側からみた1側)に対応します。
  • 正しい。部品(1)に対して在庫(多)が対応し,在庫(多)に対して仕入先(1)が対応するため,a:部品,b:在庫,c:仕入先です。
応用情報技術者の過去問を演習モードで解く