データベーススペシャリスト令和2年秋期 午前T 問9

午前T 問9

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

am1/27.gif/image-size:317×81

  • 同一の部品を同一のメーカから複数回納入することは許されない。
  • "納入"表に外部キーは必要ない。
  • 部品番号とメーカ番号の組みを"納入"表の候補キーの一部にできる。
  • "メーカ"表は,外部キーとして部品番号をもつことになる。
  • [この問題の出題歴]
  • 応用情報技術者
    令和2年秋期 問27と同題

分類

テクノロジ系 » データベース » データベース設計

正解

解説

UMLのクラス図ではクラス同士の多重度を以下の表記で表します。
am1/27_1.gif/image-size:197×127
1対多で関連付けられるクラス同士を関係データベースとして実装すると、"1"側に主キーが含まれ、"多"側に外部キーが含まれる関係になります。これを踏まえて図のデータモデルを関係データベースとして定義すると次のようになります。
am1/27_2.gif/image-size:383×139
  • "納入"表には、部品番号とメーカ番号が同じで納入日が異なるレコードを追加できるので、同一の部品を同一のメーカから複数回納入することが許されていると解釈できます。
  • "納入"表には少なくとも"部品番号"と"メーカ番号"の2つの外部キーが含まれます。
  • 正しい。"納入"表の主キーとしては以下の2つのパターンが考えられます。
    • 納入番号のように重複のない連番の属性(サロゲートキー)を用意して、主キーとする
    • 納入日、部品番号、メーカ番号の複合主キーにする
    複合主キーを採用した場合には、部品番号とメーカ番号を候補キーの一部として使うことになります。候補キーとは、ある表の1つのレコードを一意に決定できる属性、または属性の組合せで極小のものです。
  • "部品"クラスと"メーカ"クラスは、"納入"クラスを介した多対多の関係になります。クラス間に直接の関連はありませんので、"メーカ"表が外部キーとして部品番号を持つことはありません。
© 2016-2020 データベーススペシャリストドットコム All Rights Reserved.

Pagetop