IPA過去問ドリル

平成31年度 春期 データベーススペシャリスト試験 午前Ⅱ 問6

テクノロジ/データベース

“学生は,学期が異なれば同じ授業科目を何度でも履修できる”を適切に表現しているデータモデルはどれか。ここで,モデルの表記にはUMLを用いる。

平成31年度 春期 データベーススペシャリスト試験 午前Ⅱ 問6の図

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

正解:エ

解説

“学生は,学期が異なれば同じ授業科目を何度でも履修できる”という状況を表すには,学生と授業科目の間の「履修する」という関連自体が,学期という属性によって区別される必要があります。すなわち,学期は学生と授業科目の間の関連(履修する)に付随する情報であり,UMLでは関連クラス(関連に付随する属性やその関連自体を表すクラス)として表現するのが適切です。エは,学生と授業科目の間の多対多の関連「履修する」を,ひし形で明示的な関連クラス(又は独立した関連エンティティ)として表現し,その関連クラスが学期(0..*)と結び付く構造になっており,学期ごとに独立した履修の記録を何度でも作成できることを表しています。アは学期を学生の上位に置き,学期1つに対して学生が複数(1-*)という誤った構造になっており,学生が複数の学期にまたがって存在する状況を表現できません。イは学期を履修する関連に対して点線(依存関係)で結んでいるだけであり,学期が履修の記録を区別するキーの一部になっていないため,学期が異なれば同じ授業科目を何度でも履修できるという多重性を正しく表現できません。ウは学生と学期の間を1-*の通常の関連とし,学期から授業科目への関連が学生を経由する形になっており,学生・学期・授業科目の組合せを一つの履修記録として表す構造にはなっていません。

選択肢ごとの解説

  • 誤り。学期を学生の上位(1側)に置いており,1つの学期に複数の学生が対応する構造になっているため,学生が学期をまたいで同じ授業科目を履修する状況を正しく表現できません。
  • 誤り。学期は履修する関連に対して点線(依存)で結ばれているだけであり,学期が履修記録を区別する要素として組み込まれていないため,学期ごとに独立した履修を表現できません。
  • 誤り。学生と学期の間が独立した1-*の関連になっており,履修する関連(学生-授業科目)と学期とが構造的に結び付いていないため,学期ごとの履修を区別できません。
  • 正しい。学生と授業科目の間の「履修する」という多対多の関連を関連クラス(ひし形)として明示し,そこに学期(0..*)を結び付けることで,学期ごとに独立した履修の組合せを何度でも作成できる構造になっています。
データベーススペシャリストの過去問を演習モードで解く