平成21年秋期試験午前問題 問30

部品在庫管理台帳における,部品,仕入先,在庫の三つのエンティティの関係をデータモデルとして記述した。エンティティa~cの組合せとして,適切なものはどれか。ここで,1 *は1対多の関連を表す。
30.gif

30a.gif
正解 問題へ
分野:テクノロジ系
中分類:データベース
小分類:データベース設計
台帳を見ると、A商会からはR部品とS部品の少なくとも2つの部品を仕入れています。1つの仕入先が複数の部品に関連しているので、仕入先から見た部品の多重度は「多」となります。

また、T部品についてはB商店とC商店の少なくとも2ヶ所から仕入れています。1つの部品が複数の仕入先に関連しているので、部品から見た仕入先の多重度も「多」となります。

つまり、部品エンティティと仕入先エンティティは「多対多」の関係を持ちます。

多対多の関係は関係データベースとして実装することができない(非正規形になる)ので、連関エンティティという項目を新たに設け、「1対多」の関係2つに分解します。この設問では、在庫エンティティが連関エンティティに該当します。
30_1.gif
したがって、bが在庫エンティティになっている「エ」が正解です。

なお、この台帳から導かれる各表は以下のようになります。

 部品表(部品コード, 部品名)
 在庫表(部品コード, 仕入先コード, 仕入日付, 仕入価格, 在庫数)
 仕入先表(仕入先コード, 仕入先名)

在庫表を間に入れることで、多対多の関係が1対多の関係になり関係データベースで表現することができるようになります。これは正規化後の表の構成と同じです。

この問題の出題歴


Pagetop