DBデータベーススペシャリスト試験 午前Ⅱ

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

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

“学生は,学期が異なれば同じ授業科目を何度でも履修できる”を適切に表現しているデータモデルはどれか。ここで,モデルの表記にはUMLを用いる。
学生,授業科目,学期の関連を,通常の関連,関連クラス,二つの二項関連,三項関連で表した四つのUMLデータモデル。
学生,授業科目,学期の関連を,通常の関連,関連クラス,二つの二項関連,三項関連で表した四つのUMLデータモデル。

選択肢

  1. ア
    図ア
  2. イ
    図イ
  3. ウ
    図ウ
  4. エ
    図エ
解き方のヒントを見る

関連の意味を読み解く視点

UMLのデータモデルを読むときは、要素同士がどのような関係を持ち、関係の範囲や役割が何を表すのかを、周囲の構造や文脈、要件と照らして丁寧に整理しましょう。まず全体像を意識します。

この問題で問われていること

一つの観点として、関連が示す対象同士の結び付きと、その結び付きがどの範囲で成り立つかに注目し、図中の表記を役割ごとに読み分け、全体との整合性を確かめてください。

視点

図の各要素を単独で判断せず、関連線がどの要素間に置かれ、両端の役割や対応関係をどのように示しているかを確認すると、モデルの意図を整理しやすくなります。

確認ポイント

  • 関連する要素の組み合わせと、線が結ぶ対象を確認する
  • 両端の役割や対応の範囲を、図全体との関係で見る
  • 一つの表記だけで決めず、周囲の構造と整合するか確かめる
正解と解説を見る

正解

エ

解説

学生、授業科目、学期の三者による履修関係として表すと、同じ学生が同じ授業科目を異なる学期に履修する状況を、それぞれ別の関連として表現できる。

理由

履修は学生と授業科目だけの関係ではなく、学期によって区別される。したがって、学生・授業科目・学期の三者を一つの履修関係に結び付け、同じ学生と授業科目の組合せが学期ごとに複数存在できる構造が必要です。

比較

二者間の関連に学期を付加するだけでは、同じ学生と授業科目の組合せを異なる学期の別履修として扱えるかが明確にならない場合がある。また、学生と学期を別々に関連付けるだけでは、どの授業科目をどの学期に履修したかを一意に表せない。

選択肢ア

これは不正解だよ。学期と学生の間を、各学期に複数の学生が属する形で表している一方、学生と授業科目の履修関係には学期による区別が組み込まれていない。同じ学生が同じ授業科目を異なる学期に履修する関係を、学期ごとの別事実として適切に表現できない。

選択肢イ

これは不正解だよ。学生と授業科目の多対多関連に学期を結び付けているが、図の表現では同じ学生と授業科目の組合せを学期ごとに複数の履修関係として区別できない。学期を記録するだけでなく、履修そのものを学期を含む関係として扱う必要がある。

選択肢ウ

これは不正解だよ。学生と授業科目、学生と学期をそれぞれ別の関連として表しているため、特定の授業科目を特定の学期に履修したという三者の対応関係が失われる。さらに、学生と授業科目の多重度も、同一科目を学期違いで何度でも履修できる条件を適切に示していない。

選択肢エ(正解)

これは正解だよ。学生、授業科目、学期を一つの履修関係に結び付け、三者の組合せを個別に表現している。各端が複数を許すため、同じ学生と同じ授業科目についても、学期が異なれば別の履修として複数回登録でき、問題文の条件に合致する。

学習のポイント

多対多の関係に第三の区別条件を加えるUML表現を理解する。

出典:独立行政法人 情報処理推進機構(IPA)平成31年度春期 データベーススペシャリスト試験 午前Ⅱ 問6(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針