平成31年度 春期 データベーススペシャリスト試験 午前II 問6
2025年6月30日
【問題6】
“学生は,学期が異なれば同じ授業科目を何度でも履修できる”という要件を適切に表現しているデータモデルはどれか。ここで,モデルの表記にはUMLを用いる。
【解説】
本要件を満たすには,以下の点をデータモデルで表現する必要があります。
1. 学生と授業科目は多対多の関係
– 1人の学生は複数の授業科目を履修できる。
– 1つの授業科目も複数の学生に履修され得る。
2. “学期”の違いによって,同じ学生が同じ授業科目を何度でも履修できる
– つまり,(学生 × 授業科目) の組合せが同じでも,学期が異なれば別の履修として扱います。
– これを表すには,学生・授業科目に加えて“学期”を組み合わせたデータ(履修情報)を管理する必要があります。
– 多くの場合,学生,学期,授業科目の三者を関連づける“履修”エンティティ(または多重関連)を作り,そこに学期を含めて主キーとすることで実現します。
各選択肢の概要
ア
学期と学生,学生と授業科目の二つの二者関係が示されている。学期と授業科目の関係が明確でなく,“同じ学生・同じ授業科目でも学期が違えば別に扱う”構造をモデル化できていません。
イ
学生と学期,学期と授業科目がそれぞれどのように対応しているかが図から明確に読み取れず,多対多の履修情報としては不十分です。
ウ
「学生」から「学期」「授業科目」へ1対多の関係があるように見えるが,“学生 × 授業科目 × 学期”の3者関係が必要であるところを2者関係の組合せのように扱っており,やはり要件を満たし切れていません。
エ
学生・学期・授業科目の三者を結び付ける“履修する”という中央の菱形(アソシエーションクラスまたは関連クラス)があり,そこに「同じ学生・同じ授業科目でも学期が違えば別の履修レコードとして扱う」ことを表現できます。学期ごとに同一授業科目の履修が何度でも可能になります。
正しい
出典:平成31年度 春期 データベーススペシャリスト試験 午前II 問6