HOME»応用情報技術者令和2年秋期»午前問27
応用情報技術者令和2年秋期 午前問27
問27
UMLを用いて表した図のデータモデルから,"部品"表,"納入"表及び"メーカー"表を関係データベース上に定義するときの解釈のうち,適切なものはどれか。
- 同一の部品を同一のメーカーから複数回納入することは許されない。
- "納入"表に外部キーは必要ない。
- 部品番号とメーカ番号の組みを"納入"表の候補キーの一部にできる。
- "メーカー"表は,外部キーとして部品番号をもつことになる。
分類
テクノロジ系 » データベース » データベース設計
正解
ウ
解説
UMLのクラス図ではクラス同士の多重度を以下の表記で表します。1対多で関連付けられるクラス同士を関係データベースとして実装すると、"1"側に主キーが含まれ、"多"側に外部キーが含まれる関係になります。これを踏まえて図のデータモデルを関係データベースとして定義すると次のようになります。
- "納入"表には、部品番号とメーカ番号が同じで納入日が異なるレコードを追加できるので、同一の部品を同一のメーカーから複数回納入することが許されていると解釈できます。
- "納入"表には少なくとも"部品番号"と"メーカ番号"の2つの外部キーが含まれます。
- 正しい。"納入"表の主キーとしては以下の2つのパターンが考えられます。
- 納入番号のように重複のない連番の属性(サロゲートキー)を用意して、主キーとする
- 納入日、部品番号、メーカ番号の複合主キーにする
- "部品"クラスと"メーカー"クラスは、"納入"クラスを介した多対多の関係になります。クラス間に直接の関連はありませんので、"メーカー"表が外部キーとして部品番号を持つことはありません。