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

平成29年度 秋期 午前Ⅱ 問21

データベース

外部キーに関する問題

UMLを用いて表した図のデータモデルを基にして設計したテーブルのうち,適切なものはどれか。ここで,“担当委員会ID”と“所属委員会ID”は“委員会ID”を参照する外部キーである。“役員ID”と“委員ID”は“生徒ID”を参照する外部キーである。実線の下線は主キー,破線の下線は外部キーを表す。

データモデル(UMLのクラス図):

[委員会]属性:委員会名
[生徒]  属性:氏名

関連「担当する」(◀の向き=生徒から委員会へ読む)
  委員会側:多重度 0..1,関連端名 担当委員会
  生徒側  :多重度 1..*,関連端名 役員

関連「所属する」(◀の向き=生徒から委員会へ読む)
  委員会側:多重度 0..*,関連端名 所属委員会
  生徒側  :多重度 1..*,関連端名 委員

選択肢の下線(下線):

答えと解説を見る

✓ これが正解ア委員会(委員会ID,委員会名) 所属関連(所属委員会ID,委員ID) 生徒(生徒ID,氏名,担当委員会ID〔破線の下線〕)

解説

一対多は生徒に外部キー、多対多は所属関連テーブルに分けます。

関連の多重度からテーブルの分け方を決めます。担当するの関連は、生徒側が 1..*、委員会側が 0..1 なので、一人の生徒が担当する委員会は多くても一つです。このような一対多の関連は、多の側である生徒テーブルに、相手を指す外部キーとして担当委員会ID を持たせれば表せます。一方、所属するの関連は委員会側が 0..*、生徒側が 1..* の多対多なので、どちらかのテーブルに外部キーを一つ置くだけでは表せません。そこで、所属委員会ID と委員ID を組にして主キーとする所属関連テーブルを別に設けます。見分けるときは、多重度の上限が両側とも * になる関連は関連用のテーブルに分ける、と覚えておきます。

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

出典:平成29年度 秋期 システムアーキテクト試験 午前Ⅱ 問21

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