過去問解きまくり研究所 ホーム

平成24年度 春期 午前Ⅱ 問3

データベース設計

汎化に関する問題

次の概念データモデルを関係データベース上に実装するとき,適切な関係スキーマ定義はどれか。ここで,モデルの表記には UML を用いる。関係スキーマ定義中の実線の下線は主キーを,破線の下線は外部キーを表す。

概念データモデル:

{抽象} 品目(品目番号,品目名)
  汎化(区分の名前:型区分)
    サブクラス:組立品
    サブクラス:部品
組立品 ―― 品目 の関連
  組立品の側の関連端:親品目 0..1
  品目の側の関連端:子品目 *
  関連に制約 {階層}
  関連クラス:部品数(数)(破線でこの関連に付く)

(原典の実線の下線は …、破線の下線は〔破線の下線〕で表した)

答えと解説を見る

✓ これが正解エ品目(品目番号,品目名,型区分) / 部品数(親品目番号〔破線の下線〕,子品目番号〔破線の下線〕,数)

解説

品目を一つの表にし、部品数の表で親と子の品目番号を組にします。

この概念データモデルでは、抽象クラスの品目を組立品と部品に汎化し、型区分で区別しています。組立品は親品目として、子品目である品目を複数もち、その組ごとに部品数の数をもちます。子品目の側は品目なので、部品だけでなく組立品も子になり得ます。そこで品目を一つの表にまとめ、品目番号を主キーとし、型区分で組立品か部品かを区別します。部品数の表は、親品目番号と子品目番号の組を主キーとし、どちらも品目の品目番号を参照する外部キーにします。こうすると、組立品の下に組立品がある階層も表せます。汎化と自己参照の関連を実装するときは、親子のそれぞれが何を参照するかをクラス図の関連端で確かめると、表の形が決まります。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:平成24年度 春期 データベーススペシャリスト試験 午前Ⅱ 問3

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)