データベース設計(全64問中8問目)

UMLを用いて表した図のデータモデルから,"部品"表,"納入"表及び"メーカー"表を関係データベース上に定義するときの解釈のうち,適切なものはどれか。
27.gif

出典:令和2年秋期 問27

  • 同一の部品を同一のメーカーから複数回納入することは許されない。
  • "納入"表に外部キーは必要ない。
  • 部品番号とメーカ番号の組みを"納入"表の候補キーの一部にできる。
  • "メーカー"表は,外部キーとして部品番号をもつことになる。
正解 問題へ
分野:テクノロジ系
中分類:データベース
小分類:データベース設計
解説
UMLのクラス図ではクラス同士の多重度を以下の表記で表します。
27_1.gif
1対多で関連付けられるクラス同士を関係データベースとして実装すると、"1"側に主キーが含まれ、"多"側に外部キーが含まれる関係になります。これを踏まえて図のデータモデルを関係データベースとして定義すると次のようになります。
27_2.gif
  • "納入"表には、部品番号とメーカ番号が同じで納入日が異なるレコードを追加できるので、同一の部品を同一のメーカーから複数回納入することが許されていると解釈できます。
  • "納入"表には少なくとも"部品番号"と"メーカ番号"の2つの外部キーが含まれます。
  • 正しい。"納入"表の主キーとしては以下の2つのパターンが考えられます。
    • 納入番号のように重複のない連番の属性(サロゲートキー)を用意して、主キーとする
    • 納入日、部品番号、メーカ番号の複合主キーにする
    複合主キーを採用した場合には、部品番号とメーカ番号を候補キーの一部として使うことになります。候補キーとは、ある表の1つのレコードを一意に決定できる属性、または属性の組合せで極小のものです。
  • "部品"クラスと"メーカー"クラスは、"納入"クラスを介した多対多の関係になります。クラス間に直接の関連はありませんので、"メーカー"表が外部キーとして部品番号を持つことはありません。

Pagetop